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

1. Các hoạt động lặp với số lần chưa biết trước:

- Em 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.

 

ppt28 trang | Chia sẻ: gaobeo18 | Lượt xem: 857 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Tin học 8 Bài 8: Lặp với số lần chưa biết trước ( tiết 1), để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
KIỂM TRA BÀI CŨHãy nêu cú pháp câu lệnh lặp ForDo và cho ví dụ? Câu hỏi Cú pháp: For := to do ;VD: For i:= 1 To 4 Do	 Writeln(‘Day la so lan lap thu: ‘ ,i);VD1: Viết chương trình tính tổng các số tự nhiên từ 1 đến 100S = 1 + 2 + 3 + . . .+100Lặp 99 lầnHãy quan sátVD2: Viết chương trình nhập vào các số cho đến khi gặp 0 thì dừng lại. Tính tổng các số vừa nhập.Chưa biết lặp mấy lầnLặp với số lần biết trước, sử dụng câu lệnh lặp ForDo để viết chương trìnhLặ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?BÀI 8: LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)Tiết 49:  Em 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à.Các em hãy cho thêm những ví dụ về hoạt động 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: Tôi phải nhập dữ liệu vào máy tính cho đến khi nhập xong. Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1) VD1(Sgk):Long sẽ lặp lại hoạt động gọi điện mấy lần?1. Các hoạt động lặp với số lần chưa biết trước:Chưa thể biết trước được. Điều kiện để kết thúc hoạt động lặp đó là có người nhấc máy. 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. Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)VD2(Sgk):1. Các hoạt động lặp với số lần chưa biết trước:Điều kiện như thế nào thì kết thúc hoạt động lặp?Điều kiện: Khi tổng Tn nhỏ nhất lớn hơn 1000 thì kết thúc hoạt động lặptăng dầnTiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)1. Các hoạt động lặp với số lần chưa biết trước:nTổng TnĐiều kiện Tn ≤ 10001T1 = 1Đúng 2T2 = 1 + 2 ĐúngĐúng ?Tn = 1 + 2 + 3 +  +? (Sao cho Tn nhỏ nhất lớn hơn 1000)Sai, kết thúc việc tính tổng3T3 = 1 + 2 + 3 Phân tích bài toán:Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)S  0, n  0.Nếu S≤1000, n  n+1; Ngược lại, chuyển tới bước 4.S  S + n và quay lại bước 2.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.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 toán như sau:Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào cái gì và chỉ dừng lại khi nào?* Có thể diễn tả bài toán trên bằng sơ đồ như sau:S1000?Sain  n+1;S  S+n;ĐúngTiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)2. Ví dụ về lệnh lặp với số lần chưa biết trước:VD1: While ab do Begin 	write(‘a>b’); 	a:=a-1; 	 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 là Write(‘a>b’) và a:=a-1 (câu lệnh ghép). Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)2. Ví dụ về lệnh lặp với số lần 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 như thế nào?Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)2. Ví dụ về lệnh lặp với số lần chưa biết trước:Cú pháp:	While Do ;Trong đó: While, do là các từ khóa. Đ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 hoặc là câu lệnh ghép. Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)2. Ví dụ về lệnh lặp với số lần chưa biết trước:Câu lệnh lặp While  Do được thực hiện như sau: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à kết thúc vòng lặp. Bước 3: Ngược lại, nếu điều kiện đúng thì thực hiện câu lệnh và quay lại bước 1.Điều kiện?Câu lệnhSaiĐúng Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)2. Ví dụ về lệnh lặp với số lần chưa biết trước:VD1: While ab do Begin 	write(‘a>b’); 	a:=a-1; 	 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 là Write(‘a>b’) và a:=a-1 (câu lệnh ghép).  Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)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ậy với giá trị nào của n thì 1/n =sai_so do begin n:=n+1; x:=1/n ; end;writeln('So n nho nhat de 1/n 1000 la ’, n);Writeln(‘Tong dau tien >1000 la ‘, s);Readln;End.So n nho nhat de tong >1000 la 45Tong dau tien >1000 la 1034Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)var T,i: integer;beginT:=0;for i:=1 to 100 do T:=T+1/i;writeln(T); end.Hãy sử dụng lệnh lặp với số lần lặp biết trước fordo để viết chương trình tính tổng Viết chương trình tính tổng 2. Ví dụ về lệnh lặp với số lần chưa biết trước:Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)VD5(Sgk):Nếu sử dụng lệnh lặp whiledo, đoạn chương trình dưới đây cũng cho cùng một kết quả:Viết chương trình tính tổng var T,i: integer;beginT:=0; i:=1;while i5.2 do S:= S-x;Writeln(S); - Xem trước Lặp vô hạn lần - Lỗi lập trình cần tránh. DẶN DÒ - 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. - Về nhà học bài. Làm bài tập 2 Sgk trang 71.Tiết 49:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC ( Tiết 1)Cảm ơn quý thấy, côCác em học sinh&

File đính kèm:

  • pptLap voi so lan chua biet truoc.ppt
Bài giảng liên quan