Phụ thuộc vào điều kiện S≤1000 và chỉ dừng lại khi S>1000 Các hoạt động lặp với số lần * Có thể diễn bàitrước toánphụ thuộc vào chưa tả biết trên bằngcái sơ gì đồvànhư chỉsau: dừng lại [r]
(1)Lớp Trường: THCS Lê Quang Sung GV: Nguyễn Thị Mỹ Hạnh (2) KIỂM TRA BÀI CŨ - Hãy nêu cú pháp câu lệnh lặp For…to…do Viết chương trình tính tổng n số tự nhiên đầu tiên N là số nguyên nhập vào từ bàn phím (3) Vd1: Viết chương trình tính tổng các số tự nhiên từ đến 100 S = + + + +100 Lặp 100 lần Lặp với số lần biết trước, sử dụng câu lệnh lặp For…Do để viết chương trình Vd2: Viết chương trình nhập vào các số gặp thì dừng lại Tính tổng các số vừa nhập Chưa biết lặp lần Lặp với số lần chưa biết trước, sử dụng câu lệnh gì để viết chương trình? (4) I Các hoạt động lặp với số lần chưa biết trước: Nam làm bài tập làm xong Cô phải tới nhà Tôi phải nhập liệu vào máy tính nhập xong Em hãy cho ví dụ hoạt động lặp với số lần chưa biết trước? (5) I Các hoạt động lặp với số lần chưa biết trước: Một ngày khác, Long định 10 phút gọi điện Vd1(Sgk): Vd1 lần cho Trang nào có người nhấc máy - Chưa thể biết trước số lần lặp - Khi có người nhấc máy Điềusẽkiện Long lặp để lại kết hoạtthúc động hoạt độngmấy lặp lần? là gì? gọi điện (6) I Các hoạt động lặp với số lần chưa biết trước: Vd2(Sgk) : Vd2 Nếu cộng n số tự nhiên đầu tiên (n=1,2,3,…), ta kết quả: tăng dần Cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận tổng Tn nhỏ lớn 1000 ? Điều kiện: Khi tổng Tn (nhỏ nhất) lớn 1000 thì kết thúc hoạt động lặp Điều kiện nào thì kết thúc hoạt động lặp? (7) I Các hoạt động lặp với số lần chưa biết trước: Phân tích bài toán: n … ? Tổng Tn T1 = T2 = + T3 = + + … Tn = + + + … +? (Sao cho Tn nhỏ lớn 1000) Điều kiện Tn ≤ 1000 Đúng Đúng Đúng … Sai, kết thúc việc tính tổng Thảo luận nhóm phút và tìm thuật toán cho bài toán trên? (8) I Các hoạt động lặp với số lần chưa biết trước: Kí hiệu S là tổng cần tìm và ta có thuật toán sau: S 0, n Nếu S≤1000, n n+1; Ngược lại, chuyển tới bước S S + n và quay lại bước In kết quả: S và n là số tự nhiên nhỏ cho S>1000 Kết thúc thuật toán Phụ thuộc vào điều kiện (S≤1000 ) và dừng lại S>1000 Các hoạt động lặp với số lần * Có thể diễn bàitrước toánphụ thuộc vào chưa tả biết trên bằngcái sơ gì đồvànhư chỉsau: dừng lại nào? S1000? Đúng n n+1; S S+n; Sai (9) I Các hoạt động lặp với số lần chưa biết trước: Quan sát sơ đồ khối sau: - Để dẫn máy tính thực các hoạt động lặp 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 (10) I Các hoạt động lặp với số lần chưa biết trước: II Ví dụ lệnh lặp với số lần chưa biết trước: Vd1: While a<=b a:=a+1; Trong đó : a<=b là điều kiện a:=a+1là câu lệnh(câu lệnh đơn) Vd2: While S<=10 Begin n:=n-1; S:=S+n; End; Trong đó : S<=10 là điều kiện Begin N:=n-1; S:=S+n; end; là câu lệnh (câu lệnh ghép thì phải có begin….end;) Hãy nêu cú pháp câu lệnh while do? (11) I Các hoạt động lặp với số lần chưa biết trước: II Ví dụ lệnh lặp với số lần chưa biết trước: While <điều kiện> <câu lệnh >; Điều kiện: thường là phép so sánh Câu lệnh: là môt câu lệnh Pascal (có thể là câu lệnh đơn hay câu lệnh ghép) While, do: là các từ khóa Vd3: While i<=100 Begin T:=T+1/i; i:=i+1; End; (12) I Các hoạt động lặp với số lần chưa biết trước: II Ví dụ lệnh lặp với số lần chưa biết trước: Vd4: Dùng câu lệnh lặp While … Do để viết chương trình thể thuật toán Ví dụ (Sgk) Begin end; End Program vd4: Var S,n:Integer; Begin S:=0; n:=1; While S<=1000 Begin S:=S+n; n:=n+1; Sử dụng câu lệnh ghép End; Writeln(‘So n nho nhat de tong > 1000 la ‘,n); Writeln(‘Tong dau tien lon hon n la ‘,S); Readln; End (13) I Các hoạt động lặp với số lần chưa biết trước: II Ví dụ lệnh lặp với số lần chưa biết trước: 1 Vd5: Để viết chương trình tính tổng: T 1 100 sử dụng for…do: Begin T:=0; for i:=1 to 100 T:=T+1/i; writeln(T); begin end; sử dụng while…do T:=0; i:=1; while i<=100 begin T:=T+1/i; i:=i+1 end; writeln(T); Nhận xét : Qua ví dụ này cho thấy chúng ta có thể sử dụng câu lệnh while…do thay cho câu lệnh for…to…do End (14) Câu Học sinh thảo luận Câu (15) Câu 1: Hoạt động nào sau đây lặp với số lần chưa biết trước? A Tính tổng các số tự nhiên từ đến 20 B Nhập các số nguyên từ bàn phím đủ 50 số C Mỗi ngày học bài lần D Nhập vào số số nhập vào là số chẵn thì dừng 23 30 29 28 26 27 24 25 10 11 12 13 14 15 16 17 18 19 20 21 22 (16) Câu 2: Hãy lỗi sai các câu sau: 23 30 29 28 26 27 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 a) X:= 10; while X:= 10 X:= X + 5; Thiếu dấu : b) X:= 10; while X = 10 X = X + 5; Thiếu dấu : c) S:= 0; n:=0; while S <= 10 n:= n + 1; S:= S + n ; Thiếu Begin Thiếu End (17) - Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào điều kiện cụ thể và dừng lại điều kiện đó sai - 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> <câu lệnh>; (18) - Về nhà học bài và làm bài tập 3, Sgk trang 71 (19)