Kết thúc vòng lặp: Có người nhấc máy thì thôi.. Số lần lặp đã biết chưa?..[r]
Trang 1Hãy nêu cú pháp câu lệnh lặp: For…to…do?
Trang 3for…to…do được không?
Không thể biết trước số lần lặp
và không sử dụng được lệnh for…to…do
Trang 4CHƯA BiẾT TRƯỚC
Trang 5 Nam học cho đến khi thuộc bài
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
Trang 6Một ngày, 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 thì thôi
Hoạt động lặp là gì ? Khi nào thì kết thúc vòng lặp?
Hoạt động lặp: Gọi điện Kết thúc vòng lặp: Có người nhấc máy thì thôi
Số lần lặp đã biết chưa?
Trang 8Phân tích bài toán:
Sai, kết thúc việc tính tổng
Trang 9Ví dụ 2: Ta cĩ thuật tốn như sau:
Kí hiệu S là tổng cần tìm
Bước 1: S 0, n 0
Bước 2: Nếu S≤1000, thì: n n+1; S S + n và quay lại bước 2.
Ngược lại, chuyển tới bước 3
In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000 Kết thúc thuật tốn
* Cĩ thể diễn tả bài tốn
trên bằng sơ đồ như sau:
Việc lặp lại một nhĩm hoạt động với
số lần chưa xác định trước phụ
thuộc vào một điều kiện cụ thể
được thỏa mãn và chỉ dừng lại khi
điều kiện khơng thỏa mãn
Bước 3:
Trang 11While, 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 giản hay câu lệnh ghép
Trang 12KẾT THÚC
Quan sát sơ đồ khối, hãy cho biết cách thực hiện câu lệnh lặp?
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
Chừng nào điều kiện còn đúng thì câu lệnh còn thực hiện
Trang 13VD1: While a<=b do a:=a+1;
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)
Trang 14Bước 1: S 0, n 0
Bước 2: Nếu S≤1000, thì: n n+1; S S + n và quay lại bước 2.
Ngược lại, chuyển tới bước 3
In kết quả: n là số tự nhiên để tổng S nhỏ nhất sao cho S>1000 Kết thúc thuật tốn
hiện thuật tốn trong Ví dụ 2 (Sgk)
Bước 3:
Trang 15VD 3: Dùng câu lệnh lặp While … do để viết chương trình thể hiện thuật toán trong Ví dụ 2 (Sgk)
writeln(‘So tu nhien n de tong > 1000 la : ’, n);
writeln(‘Tong dau tien > 1000 la: ’, S);
Readln;
End
Trang 20In ra các số từ 1 đến 9
In ra các số từ 1 đến 10
In ra các số 1 Không phương án nào đúng
A
B
C
D
Trang 21Sử dụng lệnh lặp với số lần lặp chưa biết trước while…do
n:=1 while n<=5 do begin
writeln(n);
n:=n+1;
end;
Trang 22n := 1
1 <= 5?
Viết 1 ra màn hình n:= 1+1=2 1 2 3 4 5
2 <= 5?
Viết 2 ra màn hình n:= 2+1=3
3 <= 5?
Viết 3 ra màn hình n:= 3+1=4
4<= 5?
Viết 4 ra màn hình n:= 4+1=5
Sai
Đúng 5<= 5?
Viết 5 ra màn hình n:= 5+1=6
6 <= 5?
Kết thúc
Kết quả n:=n+1;
end;
Trang 23• Đọc trước phần còn lại của bài