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

Một phần của tài liệu Giáo án Tin học lớp 8 cả năm_CKTKN_Bộ 4 (Trang 72 - 74)

- Cõu hỏi: ?Em hóy cho biết phần mềm Sun Time dựng để làm gỡ?

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

Phộp cộng chỉ dừng khi nào?

- HS trả lời: Điều kiện s<=1000 và chỉ dừng khi kết quả kiểm tra là sai.

- GV : Giới thiệu sơ đồ khối

- HS theo dừi và tiếp thu

b/ Vớ dụ 2: Nếu cộng lần lượt n số

tự nhiờn đầu tiờn (n = 1, 2, 3,...), Cần cộng bao nhiờu số tự nhiờn đầu tiờn để ta nhận được tổng Tn

nhỏ nhất lớn hơn 1000?

Giải :

Kớ hiệu S là tổng cần tỡm và ta cú thuật toỏn như sau:

+ Bước 1. S ← 0, n ← 0.

+ Bước 2. Nếu S ≤ 1000, n ← n + 1; ngược lại chuyển tới bước 4.

+ Bước 3.S ← S + n và quay lại bước 2.

+ Bước 4.In kết quả : S và n là số tự nhiờn nhỏ nhất sao cho S > 1000. Kết thỳc thuật toỏn.

* Nhận xột : Để viết chương trỡnh

chỉ dẫn mỏy tớnh thực hiện cỏc hoạt động lặp như trong cỏc vớ dụ trờn, ta cú thể sử dụng cõu lệnh cú dạng

lặp với số lần chưa biết trước.

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

- Trước khi đi tỡm hiểu cỳ phỏp của cõu lệnh lặp với số lần chưa biết trứơc GV gọi HS nhắc lại cỳ phỏp của cõu lệnh lặp với số lần biết trước.

- HS trả lời

- GV chốt ý:

For<điều kiện>:=<gt đầu> to <gt cuối> do

lệnh;

- GV: Cú thể sử dụng lệnh lặp với số lần lặp chưa biết trước trong cỏc chương trỡnh lập trỡnh. Sau đõy ta xột cõu lệnh và vớ dụ trong TP.

- GV: Giới thiệu cỳ phỏp lệnh:

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

Trong đú:

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

Trong Pascal cõu lệnh lặp với số lần chưa biết trước cú dạng:

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. * Hoạt động:

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

+ Điều kiện thường là phộp toỏn so sỏnh

+ Cõu lệnh cú thể là cõu lệnh đơn giản hay cõu lệnh phức tạp.

- HS: chỳ ý lắng ghe và ghi chộp.

- GV: Dựa vào cỳ phỏp hóy nờu hoạt động của cõu lệnh lặp với số lần chưa biết trước?

- HS nờu hoạt động của cõu lệnh lặp với số lần

chưa biết trước.

- GV: Giới thiệu chương trỡnh mẫu. - GV: Xột vớ dụ 3

Chỳng ta biết rằng, nếu n càng lớn thỡ 1

n càng nhỏ, nhưng luụn luụn lớn hơn 0. Với giỏ trị nào của n thỡ

1

n < 0.005 hoặc 1

n < 0.003 ?

- GV cho HS độc vớ dụ 3 trong SGK

- 2 – 3 HS đọc vớ dụ 3

- GV: Giới thiệu chương trỡnh mẫu sgk ( Giỏo viờn in chương trỡnh mẫu trờn)

- HS: Quan sỏt

- GV: Chạy tay cho học sinh xem

- HS: chỳ ý nghe và tự chạy tay lại

- GV: Yờu cầu học sinh mở mỏy tớnh và mở chương trỡnh vớ dụ 3 ( giỏo viờn chuẩn bị chương trỡnh mẫu và đưa lờn cỏc mỏy )

- HS: thực hiện

- GV: Cho học sinh chạy chương trỡnh trờn mỏy

- HS: thực hiện

- GV: Yờu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ...

- HS: thực hiện

- GV yờu cầu HS đọc vớ dụ 4/

- HS đọc vớ dụ 4

- GV: Cho học sinh quan sỏt chương trỡnh

- HS quan sỏt chương trỡnh

- GV: Chạy tay cho học sinh xem chương trỡnh mẫu

- HS: Chỳ ý nghe và tự chạy tay lại

- GV: Cho học sinh chạy chương trỡnh trờn mỏy.

- HS thực hiện yờu cầu

- GV: Chạy chương trỡnh này, ta nhận được giỏ trị ntn?

- HS: Nếu chạy chương trỡnh này ta sẽ nhận được n = 45 và tổng đầu tiờn lớn hơn 1000 là 1034.

- GV: Giới thiệu vớ dụ 5.

- GV: Cho học sinh quan sỏt chương trỡnh

Bước 1 : Kiểm tra điều kiện.

Bước 2 : Nếu điều kiện SAI, cõu

lệnh sẽ bị bỏ qua và việc thực hiện

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

Vớ dụ 3.

Với giỏ trị nào của n ( n>o ) thỡ 1

n

< 0.005 hoặc 1

n < 0.003? Chương trỡnh dưới đõy tớnh số n nhỏ nhất để 1

n nhỏ hơn một sai số cho trước : uses crt; var x: real; n: integer; const sai_so=0.003; begin clrscr; x:=1; n:=1;

while x>=sai_so do begin

n:=n+1; x:=1/n end;

writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n);

readln

end.

Vớ dụ 4 . Chương trỡnh Pascal dưới

đõy thể hiện thuật toỏn tớnh số n 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);

HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG

- HS quan sỏt chương trỡnh

- GV: Vớ dụ này cho thấy rằng chỳng ta cú thể sử dụng cõu lệnh while…do thay cho cõu lệnh for…

do. end. Vớ dụ 5: Viết chương trỡnh tớnh tổng 1 1 1 ... 1 2 3 100 T = + + + +

Một phần của tài liệu Giáo án Tin học lớp 8 cả năm_CKTKN_Bộ 4 (Trang 72 - 74)

Tải bản đầy đủ (DOC)

(113 trang)
w