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
/ Các hoạt động lặp với số lần chưa biết trước
Lan nhặt từng cọng rau giúp mẹ cho đến khi nhặt xong.
♦ Nam học bài thơ cho đến khi thuộc lòng.
♦ Nhập một đoạn văn bản vào máy tính cho đến khi nhập xong.
Tìm thêm những ví dụ về hoạt động 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
Ví dụ 1 (Sgk/67):
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.
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.
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 100 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?LẶP VỚI SỐ LẦN CHƯA BiẾT trướcBÀI 8LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCBài 8:1/ Các hoạt động lặp với số lần chưa biết trước♦ Lan nhặt từng cọng rau giúp mẹ cho đến khi nhặt xong.♦ Nam học bài thơ cho đến khi thuộc lòng.♦ Nhập một đoạn văn bản vào máy tính cho đến khi nhập xong.Tìm thêm những ví dụ về hoạt động lặp với số lần chưa biết trướcLẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCBài 8:1/ Các hoạt động lặp với số lần chưa biết trướcVí dụ 1 (Sgk/67): 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 điện mấy lần?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.Bài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC1/ Các hoạt động lặp với số lần chưa biết trướcVí dụ 2 (Sgk/67):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 T nhỏ nhất lớn hơn 1000?Đ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ặpBài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCnTổng TnĐiều kiện Tn ≤1000* Phân tích bài toán:1T1 = 1ĐúngĐúngĐúng2T2 = 1+23T3 = 1+2+3?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ổngBài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCKý hiệu S là tổng cần tìm và ta có thuật toán 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 toán.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ơ đồ sau:S1000?Sain n+1;S S+n;ĐúngBài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCvar S,n:integer;begin S:=0; n:=0; S 1000 la ‘, n); writeln(‘Tong dau tien > 1000 la ‘, S); readlnend.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 toán.S1000?Sain n+1;S S+n;ĐúngdowhilebeginendBài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC2/ Ví dụ về lệnh lặp với số lần chưa biết trước While x>5 do x:=x-1;Câu lệnh đơn While Sdo[câu lệnh];2/ Ví dụ về lệnh lặp với số lần chưa biết trướcTrong đó:-While, do là từ khóa-Điều kiện là biểu thức logic có giá trị đúng hoặc sai;-Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. Nếu là câu lệnh ghép thì câu lệnh phải đặt trong cặp từ khóa beginend;Cú pháp:Bài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCNguyên lý hoạt động:1/ Kiểm tra điều kiện.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 1Kết thúc vòng lặpBài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚC‡ Một số chú ý trong lệnh lặp whiledoNếu ngay lần kiểm tra điều kiện mà kết quả là sai thì các câu lệnh trong vòng lặp sẽ không được thực hiện lần nào.Số lần kiểm tra chính là số lần lặp.Tùy theo điều kiện mà viết các câu lệnh trong vòng lặp cho phù hợp.Bài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCVí dụ 3: Viết chương trình tìm số tự nhiên n nhỏ nhất sao cho 2n > 100. Điều kiện để kết thúc hoạt động lặp?x 100. Kết thúc thuật toán.Bài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCBài 8:LẶP VỚI SỐ LẦN CHƯA BiẾT TRƯỚCGHI NHỚ: 1/ Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào điều kiện cụ thể và chỉ dừng lại khi điều kiện sai. 2/ whiledo là câu lệnh lặp với số lần chưa biết trước trong Pascal.BÀI TẬP CỦNG CỐ Tính tổng các số từ 1 đến 1000 Mỗi ngày em học bài 2 lần Tìm từ nhất định bị gõ sai chính tả tả trong văn bản và sửa lại cho đúngCâ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?ABC20191817161514131211109876543210SAISAIĐÚNGBÀI TẬP CỦNG CỐ x:=5; while x<=10 do x:=x+5; x:=5; while x:=10 do x:=x+5; x:=5; while x<=10 do x=x+5;ABC20191817161514131211Câu 1: Đoạn lệnh nào sau đây viết đúng?109876543210SAISAIĐÚNGDẶN DÒ Về nhà học bài. Làm bài tập 3 sgk/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.
File đính kèm:
- LAP VOI SO LAN BIET TRUOC.ppt