Bài giảng Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước

pptx 19 trang phanha23b 26/03/2022 4550
Bạn đang xem tài liệu "Bài giảng Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_tin_hoc_lop_8_bai_8_lap_voi_so_lan_chua_biet_truoc.pptx

Nội dung text: Bài giảng Tin học Lớp 8 - Bài 8: Lặp với số lần chưa biết trước

  1. Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC NỘI DUNG 1. Các hoạt động lặp với số lần chưa biết trước 2. Ví dụ về lệnh lặp với số lần chưa biết trước 3. Lặp vơ hạn lần – Lỗi lập trình cần tránh 2
  2. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 1. 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 cho đến khi làm xong.  Cơ ấy phải đi bộ như vậy cho đến khi về tới nhà.  Tơi phải nhập dữ liệu vào máy tính cho đến khi nhập xong. HoạtHoạt độngđộng sẽnào kết được thúc lặp khi nào?lại?
  3. 1. Các hoạt động lặp với số lần chưa biết - Các bạn học sinh nhặt rác ở cơng viên. - Nam học từ vựng tiếng anh bằng cách viết lại nhiều lần cho đến khi thuộc. Các em hãy cho thêm những - Con quạ nhặt đá bỏ vào bình cho đếnví khidụ nướcvề hoạttràn độngra. lặp với số lần chưa biết trước? 4
  4. 1. Các hoạt động lặp với số lần chưa biết Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1,2,3, ), ta được các kết quả T1 = 1 T2 = 1 + 2 T3 = 1 + 2 + 3 tăng dần 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 ? ĐiềuĐiều kiệnkiệ nnhư: Khi thế tnàoổng thìT n kếtnh thúcỏ nh hoạtất độnglớn hlặp?ơn 1000 thì kết thúc hoạt động lặp
  5. 1. Các hoạt động lặp với số lần chưa biết THUẬT TOÁN: Kí hiệu S là tổng cần tìm, ta có thuật toán sau: Em hãy viết thuật tốn ◆Bước 1: S  0; n 1; cho ví dụ trên? ◆Bước 2: Nếu S 1000. Kết thúc thuật toán; 6
  6. 1. Các hoạt động lặp với số lần chưa biết trước: ➢Phân tích bài tốn: n Tổng Tn Điều kiện Tn ≤ 1000 1 T1 = 1 Đúng 2 T2 = 1 + 2 Đúng 3 T3 = 1 + 2 + 3 Đúng Tn = 1 + 2 + 3 + +? ? Sai, kết thúc việc tính (Sao cho Tn nhỏ nhất lớn hơn 1000) tổng
  7. Sai S<=1000 Đúng S ← S + n; n ← n +1; •Việc thực hiện lặp lại các phép cộng trên với số lần chưa biết trước phụ thuộc vào điều kiện gì? Phép cộng chỉ dừng khi nào? 8
  8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 2. Ví dụ về lệnh lặp với số lần chưa biết trước VD1: Trong khi a bé hơn VD2: Trong khi a lớn hoặc bằng b thì a tăng hơn b thì a giảm xuống lên 1 đơn vị 1 đơn vị, b tăng lên 2 đơn vị. While a b do a:=a+1; Begin a:=a-1; b:=b+2; End; Trong đĩ :  While, do: là các từ khĩa.  Điều kiện: là a>b (chứa phép so sánh).  Câu lệnh: câu lệnh đơn hoặc câu lệnh ghép.
  9. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 2. Ví dụ về lệnh lặp với số lần chưa biết trước Hãy nêu Cú Pháp câu lệnh lặp với số lần chưa biết trước? Begin begin end; End.
  10. Bài 8. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 2. Ví dụ về lệnh lặp với số lần chưa biết trước Cú pháp: WHILE DO ; Chú ý : Trong trường hợp câu lệnh ghép: While do Begin câu lệnh 1; câu lệnh 2; End; 11
  11. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 2. Ví dụ về lệnh lặp với số lần chưa biết trước VD: Dùng câu lệnh lặp While Do để viết chương trình thể hiện thuật tốn trong Ví dụ 2 (Sgk) var S,n: integer; Begin S:=0; n:=0; while S 1000
  12. Câu 1 Câu 2 Câu 3 Câu 4 Lưu ý: - Mỗi một câu hỏi sẽ cĩ 30 giây để suy nghĩ. - Sau 30 giây giáo viên sẽ gọi 1 học sinh bất kì để trả lời. Nếu trả lời đúng sẽ được 1 điểm cộng. - Học sinh khác cĩ thể bổ sung ý kiến nếu học sinh trước đĩ trả lời sai.
  13. Câu 1: Trong các hoạt động dưới đây, hoạt động nào là hoạt động với số lần 3029282627252422212019181716151413121110237698543210 chưa biết trước? A Tính tổng các số tự nhiên từ 1 đến 20. B Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số. C Mỗi ngày học bài 2 lần. D Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.
  14. Câu 2: Hãy chỉ ra lỗi trong các câu lệnh sau đây? 3029282627252422212019181716151413121110237698543210 a) X:= 10; While X:= 10 do X:= X + 5; b) X:= 10; Thừa dấu : While X = 10 do X = X + 5; c) S:= 0; n:=0; Thiếu dấu : While S <= 10 do n:= n + 1; S:= S + n ; Thiếu Begin Thiếu End;
  15. Câu 3: Câu lệnh sau đây cho kết quả là gì? S:=1; While s < 10 do Begin 3029282627252422212019181716151413121110237698543210 writeln(s); s:=s+1; end; A In ra các số từ 1 đến 9 B In ra các số từ 1 đến 10 C In ra các số 1 D Khơng phương án nào đúng
  16. Câu 4: Thuật tốn sau khi thực hiện vịng lặp? Khi kết thúc giải thuật của S bằng bao nhiêu? - Bước 1: S  10, x  2. 3029282627252422212019181716151413121110237698543210 - Bước 2: Nếu S 5 chuyển tới bước 4. - Bước 3: S  S – x và quay lại bước 2. - Bước 4: Thơng báo S và kết thúc thuật tốn. A. 2 vịng lặp, S=8 C. 3 vịng lặp, S=6 B.B. 104 vịng vòng lặp, lặp, S= S=45 D. 5 vịng lặp, S=2 SAISAISai RỒI!RỒI! rồi
  17. LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC - Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể và chỉ dừng lại khi đ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 do ;
  18. - Về nhà học bài. Làm bài tập 2 Sgk trang 66. - Tìm thêm một vài ví dụ về hoạt động lặp với số lần chưa biết trước. - Xem trước VD3, VD4, VD5, Lặp vô hạn lần–Lỗi lập trình cần tránh.