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]
(1)KIỂM TRA BÀI CŨ
Hãy nêu cú pháp câu lệnh lặp: For…to…do?
Cú pháp:
For <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
Khi sử dụng lệnh lặp For… to…do Số lần lặp tính nào?
(2)KIỂM TRA BÀI CŨ Bài tập
For i:= To Do
Writeln(‘Day la so lan lap thu’ ,i); Số lần lặp = 4- 1+1=
(3)VD1: Viết chương trình tính tổng số tự nhiên từ đến 100
S = + + + +100
Lặp với số lần biết trước, sử dụng câu lệnh lặp
For…Do để viết chương trình
VD2: Viết chương trình tính
tổng n số tự nhiên để ta nhận tổng Tn nhỏ lớn 1000?
Lặ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?
Theo em phép cộng trên có biết trước số lần lặp khơng? Có sử dụng lệnh lặp
for…to…do không?
Không thể biết trước số lần lặp
và không sử dụng lệnh
for…to…do Theo em sử dụng lệnh
lặp for…to…do để viết chương trình phép cộng lặp lại mấy lần?
Lặp 100 lần
(4)LẶP VỚI SỐ LẦN
(5) Nam học thuộc
Cô phải tới nhà Tơi phải nhập liệu vào máy tính
(6)1 Lệnh lặp với số lần chưa biết trước: Bài 8
Ví dụ 1:
Một ngày, Long quyết định cứ 10 phút gọi điện lần cho Trang có người nhấc máy thơi
Hoạt động lặp ?
Khi 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ơi
(7)1 Lệnh lặp với số lần chưa biết trước: Bài 8
Ví dụ 2:
Nếu cộng n số tự nhiên (n=1,2,3,…) Ta kết quả:
T2 = + T1 =
T3 = + + … tăng dần
Điều kiện kết thúc hoạt động lặp? Điều kiện: Khi tổng Tn nhỏ
(8)1 Lệnh lặp với số lần chưa biết trước: Bài 8
Ví dụ 2:
Phân tích tốn: T0:=0; n:=0;
n Tổng Tn Điều kiện Tn ≤ 1000
1 T1 = Đúng
2 T2 = + Đúng
3 T3 = + + Đúng
… … …
n
Tn = + + + … +n (Sao cho Tn nhỏ
lớn 1000)
(9)1 Lệnh lặp với số lần chưa biết trước: Bài 8
Ví dụ 2: Ta có thuật tốn sau: Kí hiệu S tổng cần tìm
Bước 1: S 0, n
Bước 2: Nếu S≤1000, thì: n n+1; S S + n quay lại bước 2. Ngược lại, chuyển tới bước
In kết quả: n số tự nhiên để tổng S nhỏ sao cho S>1000 Kết thúc thuật tốn
* Có thể diễn tả toán trên sơ đồ sau:
S1000? Sai
n n+1; S S+n;
Đúng
Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào gì dừng lại khi nào?
Việc lặp lại nhóm hoạt động với số lần chưa xác định trước phụ
thuộc vào điều kiện cụ thể
được thỏa mãn dừng lại điều kiện không thỏa mãn
(10)1 Lệnh lặp với số lần chưa biết trước: Bài 8
S1000?
Sai
n n+1; S S+n;
Đúng
Điều kiện Sai
Câu lệnh
Đúng
Để dẫn máy tính thực hoạt động lặp 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
(11)Bài 8
Ví dụ lệnh lặp với số lần chưa biết trước
Điều kiện
Câu lệnh
while
do
Cú pháp:
While <điều kiện> <câu lệnh >;
Trong đó:
While, do: từ khóa
Điều kiện: thường phép so sánh
(12)KẾT THÚC Bài 8
Ví dụ lệnh lặp với số lần chưa biết trước
Quan sát sơ đồ khối, cho biết
cách thực câu lệnh lặp?
Bước : Kiểm tra điều kiện
Bước : - Nếu điều kiện sai, câu lệnh bị bỏ qua việc thực lệnh lặp kết thúc
- Nếu điều kiện đúng, thực
câu lệnh quay lại bước
(13)Bài 8
Ví dụ lệnh lặp với số lần chưa biết trước
VD1: While a<=b a:=a+1;
While, do là 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 Begin
write(‘a>b’); a:=a-1;
End;
While, do là từ khóa Điều kiện là a>b (chứa phép so sánh)
(14)1 Lệnh lặp với số lần chưa biết trước: Bài 8
Bước 1: S 0, n
Bước 2: Nếu S≤1000, thì: n n+1; S S + n quay lại bước 2. Ngược lại, chuyển tới bước
In kết quả: n số tự nhiên để tổng S nhỏ sao cho S>1000 Kết thúc thuật toán
VD 3: Dùng câu lệnh lặp While … do để viết chương trình thể
hiện thuật tốn Ví dụ (Sgk)
(15)Bài 8
Ví dụ lệnh lặp với số lần chưa biết trước
VD 3: Dùng câu lệnh lặp While … do để viết chương trình thể
hiện thuật tốn Ví dụ (Sgk)
var S,n: integer;
Begin
S:=0; n:=0;
while S<=1000 do
begin
n:=n+1; S:=S+n ;
end;
writeln(‘So tu nhien n de tong > 1000 la : ’, n); writeln(‘Tong dau tien > 1000 la: ’, S);
Readln;
(16)(17)(18)Nếu S=10, x=2 Sau thực câu lệnh While S>5 do
S:=S-x;
writeln(S);
Thì giá trị S là:
D A
B
C 10
Câu
(19)a) X:= 10; while X:= 10 X:= X + 5;
b) X:= 10; while X = 10 X = X + 5;
c) S:= 0; n:=0; while S <= 10 n:= n + 1; S:= S + n ;
Thiếu dấu :
Thieáu Begin
Thieáu End
Câu 2: Hãy lỗi câu lệnh sau đây?
(20)In số từ đến In số từ đến 10
In số
Khơng phương án A
B C D
Câu 3: Đoạn lệnh sau cho kết gì? S:=1; While s < 10
(21)Viết câu lệnh in số tự nhiên liên tiếp bắt đầu số
Sử 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 begin
writeln(n); n:=n+1; end;
(22)Mô thuật toán:
Bt đầu
n := 1
1 <= 5?
Viết hình
n:= 1+1=2 2 <= 5?
Viết hình n:= 2+1=3
3 <= 5?
Viết hình n:= 3+1=4
4<= 5?
Viết hình n:= 4+1=5
Sai
Đúng 5<= 5?
Viết hình n:= 5+1=6
6 <= 5?
Kết thúc
Kết
n:=1
while n<=5 begin
(23)• Về nhà học thuộc
• Làm tập 1,2,3a SGK