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

ppt 11 trang Thủy Hạnh 13/12/2023 420
Bạn đang xem tài liệu "Bài giảng Tin học 8 - Bài 8: Lệnh 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_tin_hoc_8_bai_8_lenh_lap_voi_so_lan_chua_biet_truo.ppt

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

  1. BÀI 8: LỆNH LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC 1
  2. 1. Các hoạt động lặp với số lần cha biết trớc Hãy kể tên những hoạt động đợc thực hiện lặp đi lặp lại với số lần lặp không thể xác định trớc?  Học cho đến khi thuộc bài  Nhặt từng cọng rau cho đến khi hết rau  Bài toán: Viết chơng trình nhập vào một dãy số cho đến khi gặp 0 thì dừng lại, tính tổng các số vừa nhập
  3. 2. Ví dụ về lệnh lặp với số lần cha xác định Bài toán 1: Tính tổng S = 1+ 2 + 3 + 4 + + N Bài toán 2: Tính tổng S = 1+ 2 + 3 + 4 + + N Cho đến khi S>1000. Cho biết N
  4. Cùng tìm thuật toán Xuất phát Lần 1 Lần 2 Lần N S = 0 + 1 + 2 + + N  Sau? mỗiMỗi lần lần thực thực hiện hiện giá giá trị trịtổng tổng S t ăSng tă ngthêm thêm i đơn bao vị nhiêu? với i= 1;2;3;.N
  5. tìm sự khác biệt Bài toán 1: Bài toán 2: S = 1+ 2 + 3 + + N S = 1+ 2 + 3+ + N Cho đến khi S>1000 ❖ Việc tăng giá trị cho ❖ Việc tăng giá trị cho tổng S đợc lặp đi tổng S đợc lặp đi lặp lặp lại N lần. lại cho đến khi S>1000  Số lần lặp xác định  Số lần lặp cha xác định.
  6. 3. Lệnh lặp với số lần cha xác định ❖ Câu lệnh lặp với số lần lặp cha xác định trong Pascal: WHILE DO ; Trong đó: Sai Điều kiện Điều kiện: thờng là một phép Ví dụ: While S<100 do S:= S+1; so sánh Đúng Câu lệnh: là câu lệnh đơn hay Câu lệnh câu lệnh ghép
  7. Ví dụ 1 : Tính tổng cho đến khi S>1000. Cho biết N S = 1+ 2 + 3 + 4 + + N Thuật toán Chơng trình B1: Khởi tạo S=0; N:=0; S:=0; N:=0; B2: Nếu S sang B2 S:=S+N; END; B4: In kết quả: N là số tự nhiên Writeln(‘Số N nhỏ nhất để S>1000’, N) nhỏ nhất sao cho S>1000, Writeln(‘ Tổng đầu tiên >1000’,S); Tổng S và kết thúc
  8. Program Bai_toan; Uses Crt; Var N:Integer; Hãy hoàn thiện S:Real; chơng trình giải bài toán trên? BEGIN Clrscr; S:=0;N:=0; WHILE s 1000 la’,N); Writeln(‘Gia tri cua tong S =',S); Readln; END.
  9. Ví dụ 2 : Tính tổng 1 1 1 1 S = 1 + + + + + 2 3 4 100 Dùng lệnh FOR DO Dùng lệnh Whie Do S:=0; S:=0; i:=1; For i:=1 to 100 do S:=S + 1/i; While i<=100 do begin Writeln( S = , S:7:2); ‘ ’ S:=S + 1/i; i:=i+1; end;  Có thể sử dụng lệnh While do Writeln(‘ S = ’, S:7:2); thay cho câu lệnh For Do
  10. 4. Lặp vô hạn -Lỗi lập trình cần tránh Ví dụ : Var a:integer; Begin a:=5; While a<6 do Write(' Chuong trinh chay mai khong thoat duoc'); End. Lu ý: Khi viết chơng trình với câu lệnh lặp, điều kiện phải đ- ợc thay đổi để chơng trình không gặp lỗi lặp vô hạn.
  11. Ghi nhớ! ❖ Ngoài cấu trúc lặp với số lần lặp xác định trớc, các ngôn ngữ lập trình còn có các câu lệnh lặp với số lần cha biết trớc. ❖ While. . . do là câu lệnh lặp với số lần cha biết trớc trong Pascal