CHUẨN BỊ: Giỏo viờn: Giỏo ỏn, bài soạn trờn PP Học sinh: Chuẩn bị theo sự dặn dũ cuối tiết

Một phần của tài liệu Giao an tin 8 2017 (Trang 121 - 123)

- Học sinh: Chuẩn bị theo sự dặn dũ cuối tiết 49

D. TIẾN TRèNH LấN LỚP: I. Ổn định: I. Ổn định:

II. Kiểm tra bài cũ:

1. Hồn thành chương trỡnh với ngụn ngữ PASCAL để tớnh tổng A=+++…+ (sử dụng cõu lệnh FOR…TO…DO, dựa trờn thuật toỏn đĩ nờu trong bài tập 3, tiết 49)

III. BÀI MỚI:

* Hoạt động 1: Giới thiệu bài

- Trong bài trước chỳng ta đĩ làm quen với cỏc hoạt động lặp và cỏch chỉ thị cho mỏy tớnh thực hiện cỏc hoạt động lặp với số lần đĩ được xỏc định trước, chẳng hạn, để tớnh tổng cỏc số nguyờn từ 1 đến 100. Trong thực tế cú nhiều hoạt động được thực hiện được lặp đi lặp lại với số lần chưa biết trước. Để thực hiện được cỏc cõu lệnh lặp như thế này trong pascal, hụm nay ta đi vào nội dung mới.

Hoạt động 1: Tỡm hiểu cỏc hoạt động lặp lại với số lần chưa biết trước

Hoạt động của giỏo viờn và học sinh Nội dung

* GV: Chiếu VD1-SGK-T67 * HS: Đọc đề

?Hoạt động nào được nờu trong VD1? * HS: Gọi điện thoại

?Hoạt động đú xảy ra mấy lần?

* HS: Chưa xỏc định được số lần, chỉ gọi cho đến khi nào cú người nhấc mấy? *GV: - Vậy hoạt động gọi điện thoại được lặp lại với số lần chưa biết trước. - Chiếu VD2-SGK-T67

* HS: Đọc đề

* GV: Thuật toỏn của bài toỏn tớnh tổng s=1+2+3+….n cỏc em đĩ được tỡm hiểu trong cỏc tiết trước.

?Em cho biết VD2 lặp lại việc gỡ? Lặp lại

1. Cỏc hoạt động lặp với số lần chưa biết trước: trước:

VD1-SGK-T67:

VD2-SGK-T67:

Thuật toỏn tỡm số tự nhiờn n để tổng

s = 1 + 2 + 3 +….n nhỏ nhất lớn hơn 1000.

bao nhiờu lần?

* HS: Lặp lại việc cộng 1 số tự nhiờn khỏc khụng i vào tổng S, số lần lặp chưa xỏc định được.

?Điều kiện nào thỏa mĩn thỡ sẽ lặp lại việc tớnh tống S = S + i?

* HS: Khi S >1000

?Xỏc định INPUT, OUTPUT của bài toỏn?

* HS: INPUT: cỏc số tự nhiờn 1, 2, 3… - OUTPUT: số n để S >1000

* GV: Gợi ý để HS viết thuật toỏn * HS: Viết thuật toỏn theo nhúm * GV: Sửa bài, chốt lại thuật toỏn

* GV: Việc thực hiện phộp cộng ở thuật toỏn trờn được lặp lại với số lần chưa biết trước được và việc lặp đú phụ thuộc vào điều kiện nào? Và dừng lại việc lặp khi điều kiện đú ntn?

* HS: Phụ thuộc vào điều kiện S <= 1000 và dừng lại khi điều kiện đú SAI

* Thuật toỏn:

B1: S  0; n  0;

B2: Nếu S <= 1000 thỡ n  n+1; Ngược lại qua B4

B3: S  S + n; Quay lại b2

B4: In ra số S và n nhỏ nhất sao cho S > 1000 và kết thỳc thuật toỏn.

* Để chỉ dẫn chương trỡnh mỏy tớnh thực hiện cỏc hoạt động lặp như trong cỏc VD trờn, ta sử dụng cõu lệnh lặp với số lần chưa biết trước

Hoạt động 2: Tỡm hiểu vớ dụ về cõu lệnh lặp với số lần chưa biết trước.

Hoạt động của giỏo viờn và học sinh Nội dung

* GV: Giới thiệu chương trỡnh chào hỏi viết bằng cõu lệnh WHILE…DO

PROGRAM chaohoi; VAR

Ttuc : char; ten : string; BEGIN

Ttuc := ’C’;

WHILE Ttuc = ’C’ DO BEGIN

READLN(ten); WRITELN(‘chao ten ‘, ten); WRITELN(‘tiep tuc ? c/k’); READLN(Ttuc); END; READLN; END.

* GV: Dựa vào chương trỡnh trờn giới thiệu dạng lệnh và hoạt động của cõu lệnh WHILE…DO

* GV: Nờu cỏc thành phần cú trong dạng

2. Vớ dụ về lệnh lặp với số lần chưa biết trước: trước:

lệnh?

* HS: Điều kiện thường là một phộp so sỏnh.

Cõu lệnh là lệnh đơn hay lệnh ghộp

* GV: Chiếu và mụ tả hoạt động của cõu lệnh bằng sơ đồ

* HS: Theo dừi và mụ tả lại

* GV: Chiếu lại thuật toỏn trong VD2 B1: S0; n0;

B2: Nếu S <= 1000 thỡ n  n +1; Ngược lại qua B4

B3: SS+n;

Quay lại b2

B4: In ra số S và n nhỏ nhất sao cho S >1000 và kết thỳc thuật toỏn

* HS: Hoạt động theo nhúm, viết chương trỡnh thể hiện thuật toỏn trờn bằng cõu lệnh while...do

* GV: Sửa bài nhúm, chiếu chương trỡnh mẫu

* GV: Chỉ và mụ tả rừ hoạt động của cõu lệnh while...do trờn

a. Dạng lệnh:

while <điều kiện> do <cõu lệnh>;

Trong đú: - Điều kiện thường là một phộp so sỏnh.

- Cõu lệnh cú thể là cõu lệnh đơn giản hay cõu lệnh ghộp (cõu lệnh ghộp được nằm trong cặp từ khúa Begin … End;)

b. Hoạt động:

Cõu lệnh này được thực hiện bằng cỏc bước như sau:

1. Kiểm tra điều kiện.

2. Nếu điều kiện SAI, cõulệnh sẽ bị bỏ qua và kết thỳc lệnh lặp. Nếu điều kiện đỳng, thực hiện cõu lệnh và quay lại bước 1.

c. Sơ đồ hoạt động của cõu lệnh lặp với số lần chưa biết trước:

Vớ dụ 4: Viết chương trỡnh thể hiện thuật toỏn tớnh tổng của n số trong vớ dụ 2. Var s,n:integer; Begin S:=0; n:=1; While s<=1000 do Begin S:=s+n; N:=n+1 End;

Writeln ('So n nho nhat de tong >1000 la' , n) Writeln ('Tong dau tien >1000 la', s);

Readln; End.

Một phần của tài liệu Giao an tin 8 2017 (Trang 121 - 123)