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

ppt 28 trang phanha23b 26/03/2022 4030
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng môn 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:

  • pptbai_giang_mon_tin_hoc_lop_8_bai_8_lap_voi_so_lan_chua_biet_t.ppt

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

  1. Câu hỏi - Hãy nêu cú pháp câu lệnh lặp For Do. KIỂM TRA BÀI CŨ Cú pháp: For := to do ;
  2. VD1: Viết chương VD2: Viết chương trình tính tổng trình nhập vào các số các số tự nhiên từ 1 cho đến khi gặp 0 đến 100 thì dừng lại. Tính S = 1 + 2 + 3 + . . tổng các số vừa nhập. .+100 Lặp 100 lần Chưa biết lặp mấy lần Lặp với số lần biết trước, sử Lặp với số lần chưa biết dụng câu lệnh lặp For Do trước, sử dụng câu lệnh gì để viết chương trình để viết chương trình?
  3. 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. Các em hãy nêu thêm những hoạt động lặp với số lần chưa biết trước ?
  4. 1. Các hoạt động lặp với số lần chưa biết trước. VD1(Sgk): Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi nào cĩ người nhấc máy. Long sẽ lặp lại hoạt động gọi bao nhiêu lần ?
  5. 1. Các hoạt động lặp với số lần chưa biết trước. T1 = 1 T2 = 1 + 2 T3 = 1 + 2 + 3 tăng dần Cần cộng bao nhiêu số tự nhiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000? Điều kiện: Khi tổng T nhỏ Điều kiện như thế nàon nhất lớn hơn 1000 thì kết thì kết thúc hoạt động thúc hoạt động lặp lặp?
  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. 1. 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 tố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 tốn. Sai * Cĩ thểCác diễn hoạt tả bài động tốn lặp với số lần S 1000? chưa biết trước phụ thuộc trên bằng sơ đồ như sau: Đúng vào cái gì và chỉ dừng lại khi nào? n  n+1; S  S+n;
  8. Bài 8 2. Ví dụ về lệnh lặp với số lần chưa biết trước Cú pháp: while While do ; Điều kiện Trong đĩ: do While, do: là các từ khĩa. Câu lệnh Đ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.
  9. Bài 8 2. Ví dụ về lệnh lặp với số lần chưa biết trước Bước Quan1 : Kiểm sát tra sơ điều đồ kiện. Bướckhối, 2 : - hãyNếu cho điều biết kiện sai, câu lệnh sẽcách bị bỏ thực qua hiện và việc thực hiện lệnh lặpcâu kết lệnh thúc. lặp? - Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1. KẾT THÚC Chừng nào điều kiện cịn đúng thì câu lệnh cịn thực hiện.
  10. Bài 8 2. Ví dụ về lệnh lặp với số lần chưa biết trước VD1: While a b do While, do là các từ khĩa. Begin Điều kiện là a>b (chứa phép write(‘a>b’); so sánh). a:=a-1; Câu lệnh là Write(‘a>b’) và End; a:=a-1 (câu lệnh ghép).
  11. Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC II. 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 • Ví dụ 3: chúng ta biết rằng, nếu n(n>0) 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?
  12. 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 ➢Phân tích bài tốn: n x=1/n Điều kiện x>0.003 1 X1=1/1 Đúng 2 X2=1/2 Đúng . m Xm=1/m ( Đk 1/m<Sai,kết0.003 thúc) quá trình lặp
  13. Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT Chương trình tính số n nhỏ nhất để 1/n nhỏ hơn một sai số cho trước: Var x: Real; n: Integer; Const Sai_So=0.003; Begin 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:6:4, ‘ la ‘,n); Readln; End.
  14. Tiết 42- Bài 8 1. Các hoạt động lặp với số lần chưa biết trước: VD 4: 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) Bước 1: S  0, n  0. Bước 2: Nếu S≤1000, thì: n  n+1; S  S + n và quay lại bước 2. Ngược lại, chuyển tới bước 3. Bước 3: In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000. Kết thúc thuật tốn.
  15. Tiết 42- Bài 8 2. Ví dụ về lệnh lặp với số lần chưa biết trước VD 4: 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 la ’, n); write(‘Tong dau tien >1000 la’, S); Readln; End.
  16. 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 Ví dụ 5: Viết chương trình tính tổng 1 1 1 T =1 + + + + 2 3 100 Bài tốn này lặp với số lần biết trước hay chưa biết trước? ➔ Bài tốn lặp với số lần biết trước •Tìm input và output của bài tốn: Input: 1+1/2+1/3+ +1/100 Output: Tổng T
  17. Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC •Chương trình sử dụng• Chươnglệnh lặp trình sử dụng câu lệnh lặp với số lần biết trước với số lần chưa biết trước: Program vidu5_1; Program vidu5_2; Var i: integer; Var i: integer; T: real; T: real; Begin Begin T:=0; T:=0; For i:=1 to 100 do i:=1; T:=T+1/i; while i<=100 do Writeln (T); begin Readln; T:=T+1/i; End. i:=i+1; end; Writeln(T); Readln; end. Kết quả hai chương trình như nhau.
  18. Bài 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC * Lưu ý: - Chúng ta cĩ thể sử dụng câu lệnh while do thay cho câu lệnh for to do. - Tùy trường hợp mà chúng ta sử dụng câu lệnh while do thay cho câu lệnh for to do Vì lệnh lặp while do phù hợp cho bài tốn với số lần lặp chưa biết trước cịn câu lệnh for to do phù hợp với bài tốn cĩ số lần lặp biết trước.
  19. CâÂU 1 CâÂU 2 CâÂU 3 CâÂU 4 Học sinh thảo luận theo nhĩm (2 bàn 1 nhĩm) - Cĩ 4 câu hỏi. Mỗi nhĩm chỉ được phép chọn 1 câu hỏi, nhĩm chọn câu hỏi, cử đại diện đứng lên đọc đề. Sau đĩ tất cả các nhĩm cùng thảo luận. - Cách thức trả lời: + Nếu câu hỏi trắc nghiệm: tất cả các nhĩm cùng giơ đáp án lên. + Nếu câu hỏi tự luận: nhĩm chọn câu hỏi cử đại diện đứng lên trả lời. Các nhĩm khác nhận xét.
  20. CâÂU 1: Trong các hoạt động này, hoạt động nào là hoạt động lặp 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.
  21. Câu 2: Hãy chỉ ra lối trong các câu lệnh sau? a) X:= 10; while X:= 10 do X:= X + 5; 3029282627252422212019181716151413121110237698543210 Thừa dấu : b) X:= 10; while X = 10 do X = X + 5; Thiếu dấu : c) S:= 0; n:=0; while S <= 10 do n:= n + 1; S:= S + n ; Thiếu Begin Thiếu End
  22. Câu 3: Đoạn lệnh sau này cho kết quả là gi? S:=1; While s < 10 do 3029282627252422212019181716151413121110237698543210 Begin 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á số 1 ra các số 1 D Khơng phương án nào đúng
  23. Câu 4: Thuật tốn nào sau thực hiện bao nhiêu vịng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? - Bước 1: S  10, x  0.5. 3029282627252422212019181716151413121110237698543210 - Bước 2: Nếu S 5.2 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. 9 vịng lặp, S=5.5 C. 11 vịng lặp, S=4.5 B.B. 1010 vòngvịng llặp,ặp, S=S=55 D. 12 vịng lặp, S=4 SAISAISAI RỒI!RỒI!RỒI!
  24. - 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 ;
  25. - Về nhà học bài, làm bài tập 2 sgk trang 71. - 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
  26. Pass: thuthuat.chiplove.biz