Ví dụ 1: Một ngày chủ nhật, bạn Long gọi điện cho Trang. Không có ai nhấc máy. Long quyết định gọi thêm hai lần nữa. Nếu vẫn không có ai nhấc máy thì chắc là không có ai ở nhà. Như vậy Long đã biết trước là mình sẽ lặp lại hoạt động gọi điện thêm hai lần. 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.
Giáo viên: Phan Thế DụcXin kính chào quí thầy cơ và các em học sinh...!1Phan Thế DụcKIỂM TRA BÀI CŨ:Câu hỏi: Nêu cú pháp của câu lệnh lặp với số lần biết trước trong Pascal: for..to..do?TRẢ LỜI:2Phan Thế DụcCú pháp câu lệnh lặp ForDoFor := to do ;Trong đó: For, to, do: là các từ khóa: là biến có kiểu dữ liệu nguyên, : là các số nguyên: có thể là lệnh đơn hoặc lệnh ghép. 3Phan Thế DụcCác em hãy quan sátVD1: 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 100 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ìnhVD2: 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 chưa biết trước, sử dụng câu lệnh gì để viết chương trình?4Phan Thế DụcBµi 8:LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC5Phan Thế Dục1. Các hoạt động lặp với số lần chưa biết trướcVí dụ 1: Một ngày chủ nhật, bạn Long gọi điện cho Trang. Không có ai nhấc máy. Long quyết định gọi thêm hai lần nữa. Nếu vẫn không có ai nhấc máy thì chắc là không có ai ở nhà. Như vậy Long đã biết trước là mình sẽ lặp lại hoạt động gọi điện thêm hai lần. 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. 6Phan Thế Dục?Lần nàyLong sẽ lặp lại hoạt động gọi mấy lần??Điều kiện để kết thúc hoạt động lăp là gì?Trả lời:Long chưa biết được sẽ lặp lại hoạt động gọi điện mấy lần.Điều kiện kết thúc hoạt động lặp là cĩ người nhấc máy7Phan Thế DụcVí dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n=1, 2, 3,), Ta sẽ đượ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 dể ta nhân được tổng Tn nhỏ nhất lớn hơn 1000 ?8Phan Thế Dục tăng dầnĐ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ặp9Phan Thế DụcPhân tích bài tốn:nTổng TnĐiều kiện Tn ≤ 10001T1 = 1Đúng 2T2 = 1 + 2 Đúng3T3 = 1 + 2 + 3 Đú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ổng10Phan Thế Dục Kí hiệu S là tổng cần tìm và ta cĩ thuật tốn như sau: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 tốn.11Phan Thế DụcCá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 tốn trên bằng sơ đồ như sau:S1000?Sain n+1;S S+n;ĐúngĐiều kiện?SaiCâu lệnhĐúngSơ đồ khối12Phan Thế DụcTrong Pascal, cú pháp câu lệnh lặp với số lần chưa biết trước có dạng:While do ;Trong đó: Đ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.2. Ví dụ về lệnh lặp với số lần chưa biết trước13Phan Thế Dục* Câu lệnh lặp này đượ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à việc thực hiện lệnh lặp kết thúc. Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1.* Ý nghĩa: Trong khi còn đúng thì thực hiên 14Phan Thế DụcSƠ ĐỒ KHỐIĐiều kiệnCâu lệnhĐúngSai15Phan Thế DụcVD1: 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). 17Phan Thế DụcHoạt động nhómCâu 1: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước? Vì sao?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.DNhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng.18Phan Thế DụcĐáp án đúng là: DVì: Khi nhập vào một số ta chưa biết khi nào mới nhập được số chẵn19Phan Thế DụcBài dạy đến đây tạm ngừng.20Phan Thế Dục
Tài liệu đính kèm: