Gieo hai hạt xúc sắc cho đến khi được hai mặt có cùng số nút. Thử nhiều chìa khóa vào một ổ khóa cho đến khi tìm được đúng chìa khóa của ổ khóa. 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?
Trang 1Trường THCS Trần Văn Trà
Giáo sinh: Phạm Thị Lắm
Trang 2KIỂM TRA BÀI CŨ
Hãy ghi cú pháp của câu lệnh lặp For…do ?
For <biến đếm>:= <giá trị đầu> to <giá trị cuối>
do <câu lệnh>;
Trang 4(tiết 1)
Trang 5Em 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:
Gieo hai hạt xúc sắc cho đến khi được hai mặt
cĩ cùng số nút
Thử nhiều chìa khĩa vào một ổ khĩa cho đến khi tìm được đúng chìa khĩa của ổ khĩa.
Trang 6Long 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:
• * Ví dụ 1:
Xảy ra 2 tình huống:
– Tình huống 1: Bạn Long gọi cho Trang nhưng
không có người nhấc máy và bạn Long quyết định
gọi thêm 2 lần nữa
3 lần
Trang 7Long 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.
* Ví dụ 1:
- Tình huống 2: 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
Trang 81 Các hoạt động lặp với số lần chưa biết:
Trang 91 Các hoạt động lặp với số lần chưa biết:
Trang 101 Các hoạt động lặp với số lần chưa biết:
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
Trang 111 Các hoạt động lặp với số lần chưa biết:
Sơ đồ khối :
Điều kiện?
Kết thúc Câu lệnh
Đúng
Sai
- 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
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?
Kiểm tra ĐK
Thực hiện lệnh
Trang 121 Các hoạt động lặp với số lần chưa biết:
Trang 13Mô tả thuật toán với S > 10
Vậy sau đoạn chương trình thì S= , n=
15 5
Trang 141 Các hoạt động lặp với số lần chưa biết:
Để viết chương trình chỉ dẫn máy tính thực hiện các hoạt động lặp như trong các ví dụ trên, ta có thể sử dụng câu lệnh có dạng lặp với
số lần chưa biết trước Nói chung các ngôn ngữ lập trình đều có câu lệnh lặp này
Trang 152 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ó cú pháp While … doWhile <điều kiện> do <câu lệnh >;
Điều kiện: biểu thức quan hệ hoặc biểu thức logic
Câu lệnh: là môt câu lệnh trong Pascal (có thể là câu lệnh đơn giản hay câu lệnh ghép)
Trong Pascal câu lệnh lặp với số lần chưa biết
trước có dạng:
Trang 162 Ví dụ về lệnh lặp với số lần chưa biết trước
Quan sát sơ đồ khối, hãy cho biết câu lệnh
lặp được thực hiện như thế nào?
• Bước 1: Kiểm tra điều kiện.
• Bước 2: Nếu điều kiện đúng thì:
• thực hiện lệnh cần lặp.
• quay lại bước 1.
Trang 172 Ví dụ về lệnh lặp với số lần chưa biết trước
VD1: While a<=b do a:=a+1;
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à a:=a+1 (câu lệnh đơn)
VD2: While a>b 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)
Trang 18Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số
Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số
hoạt động nào là hoạt động lặp với số lần chưa biết trước?
Trang 19Câu 2: Hãy xác định những trường hợp sau có phải là trường hợp lặp với số lần chưa biết trước hay không?
1.Sửa lỗi một đoạn văn bản sau khi đánh máy
2.Đếm số bước đi từ nhà tới trường
3.Đếm số giây một học sinh giải một bài toán
4.Tìm số n sao cho n là số nguyên dương lớn nhất nhỏ hơn 100
5.Đếm số xe máy chạy ngang qua một đoạn đường trong một ngày
6.Tính tổng n số nguyên dương với n nhập từ bàn
Trang 20-Về xem lại cấu trúc của lệnh lặp While do,
so sánh sự khác nhau giữa câu lệnh
For to do với While do.
- Đọc trước bài mới