Câu lệnh lặp... Câu lệnh lặp.[r]
(1)1
(2)2 1 Câu lệnh lặp Một lệnh thay cho nhiều lệnh
Ví dụ 1: vẽ hình vng có cạnh đơn vị (các em nghiên cứu sgk)
(3)3 1 Câu lệnh lặp Một lệnh thay cho nhiều lệnh
Ví dụ 2: tính tổng 100 số tự nhiên
BÀI 7: CÂU LỆNH LẶP
Thuật toán;
Bước 1:S0;i0 Bước 2: ii+1
(4)4 2 Câu lệnh lặp for…do:
a/ Cú pháp: b/ Trong đó:
• For, to, do: là từ khóa
•Biến đếm: biến kiểu nguyên
•Giá trị đầu, giá trị cuối: là biểu thức kiểu với
biến đếm (giá trị đầu phải nhỏ giá trị cuối)
•Câu lệnh: Khơng làm thay đổi giá trị biến
đếm, có nhiều lệnh phải đặt cặp từ khoá Begin end;
BÀI 7: CÂU LỆNH LẶP
(5)2 Câu lệnh lặp for…do
SƠ ĐỒ KHỐI
Biến đếm:=giá trị đầu
Biến đếm<=giá trị cuối
Thực câu lệnh, biến đếm tăng 1 Đúng
Sai c/ Hoạt động câu lệnh:
Quan sát sơ đồ khối, cho biết thực hiện máy?
• Bước 1: tính giá trị đầu,
gán cho biến đếm
• Bước 2: Nếu biến đếm <=
giá trị cuối thì:
- thực lệnh cần lặp
(6)6 d Ví dụ câu lệnh lặp:
Ví dụ 3: Chương trình sau sẽ in màn hình thứ tự lần lặp:
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= to 10 do
Writeln (‘day la lan lap thu ’, i ); Readln;
end.
BÀI 7: CÂU LỆNH LẶP
day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu 10
Theo em dự đốn hình hiển thị lên kết sau chạy chương trình?
Lần lặp thứ i Kết viết hình
1 Day la lan lap thu
2 Day la lan lap thu
3 Day la lan lap thu
4 Day la lan lap thu
5 Day la lan lap thu
6 Day la lan lap thu
7 Day la lan lap thu
8 Day la lan lap thu
9 Day la lan lap thu
10 10 Day la lan lap thu 10 Số lần lặp= 10-1+1=10(lần)
Số lần lặp= ?
(7)7 2 Câu lệnh lặp for…do :
Áp dụng:
Hãy viết chương trình in màn hình số từ đến 10
BÀI 7: CÂU LỆNH LẶP
Program lap; Uses crt;
Var i: integer; Begin
For i:= to 10
Writeln (‘day la lan lap thu ’, i ); Readln;
end.
day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu day la lan lap thu 10
(8)8 2 Câu lệnh lặp for…do :
Áp dụng:
Hãy viết chương trình in màn hình số từ đến 10
BÀI 7: CÂU LỆNH LẶP
Program lap; Uses crt;
Var i: integer; Begin
For i:= to 10 Writeln ( i );
Readln; end.
(9)9 2 Câu lệnh lặp for…do :
BÀI 7: CÂU LỆNH LẶP
Để in một chữ “O” màn hình ta sử dụng lệnh nào? Để in nhiều chữ “O” màn hình ta làm nào?
(10)10 2 Câu lệnh lặp for…do :
BÀI 7: CÂU LỆNH LẶP
Ví dụ 4: Hiệu ứng trứng rơi
For i:= to 20 do
begin Writeln (‘O’); delay(100) end; O O O O O O O O O O O O O O O O O O O O Uses crt;
Var i: integer; Begin
For i:= to 20 do
(11)11
Bài (SGK-61) Sau thực đoạn chương
trình sau, giá trị j bao nhiêu?
j:=0;
For i:=0 to j:=j+2;
Số lần lặp = – + = (Lần)
(12)12 Nhận biết câu lệnh lặp
Bài (SGK-61) Các câu lệnh Pascal sau có hợp
lệ hay khơng, sao?
a/ For i:=100 to writeln(‘A’); b/ For i:=1.5 to 10.5 writeln(‘A’); c/ For i=1 to 10 writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’); e/ Var x:Real;
Begin
For x:=1 to 10 writeln(‘A’); End
Nhận biết câu lệnh lặp
Bài (SGK-61) Các câu lệnh Pascal sau có hợp
lệ hay khơng, sao?
a/ For i:=100 to writeln(‘A’); b/ For i:=1.5 to 10.5 writeln(‘A’); c/ For i=1 to 10 writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’); e/ Var x:Real;
Begin
(13)3) Tính tổng tích câu lệnh lặp:
VÍ DỤ: TÍNH TỔNG CỦA 100 SỐ TỰ NHIÊN ĐẦU TIÊN: S = + + + + + 100
NH N Ậ
XÉT S = 0
S = S + 1 S = S + 2 S = S + 3
S = S + 100
VI C Ệ TÍNH S TH C HI N THEO Ự Ệ QUY LU TẬ
Ssau = Strước+ i <=> S := S + i ; L P L I 100 L N Ặ Ạ Ầ TÍNH T NGỔ
1
(14)Bước 1: Bắt đầu
Bước 2: S ; i 1
Bước 3: i := i +
Bước 4: Nếu i <=100 thì S := S + i quay lại bước
Bước 5: Nếu i = 100 thì kết thúc
Diễn tả thuật toán:
Hãy diễn tả thuật toán ?
Thế cịn viết chương trình ?
(15)15 3 Tính tổng tích câu lệnh lặp:
BÀI 7: CÂU LỆNH LẶP
Ví dụ 5: Tính tổng S = 1+2+3+…+N Uses crt;
Var N, i: integer; S: longint; Begin
Write(‘nhap so N=‘); readln(N); S:=0;
For i:= to N S:= S + i; Writeln (‘Tong S= ‘, S); Readln
(16)16 3 Tính tổng tích câu lệnh lặp:
BÀI 7: CÂU LỆNH LẶP
Ví dụ 6: Tính Tích N! = 1*2*3*…*N
Uses crt;
Var N, i: integer; P: longint; Begin
Write(‘nhap so N=‘); readln(N);
P:=1;
For i:= to N p:=p*i; Writeln (N ,’ != ’, p);
Readln end.
Ví dụ 5: Tính tổng S = 1+2+3+…+N Uses crt;
Var N, i: integer; S: longint; Begin
Write(‘nhap so N=‘); readln(N); S:=0;
For i:= to N S:= S + i; Writeln (‘Tong S= ‘, S); Readln
(17)17 3 Tính tổng tích câu lệnh lặp:
BÀI 7: CÂU LỆNH LẶP
Ví dụ 6: Tính Tích N! = 1*2*3*…*N
Program Tinh_Giai_thua; Uses crt;
Var N, i: integer; P: longint; Begin
Write(‘nhap so N=‘); readln(N);
P:=1;
For i:= to N p:=p*i;
Writeln (N ,’ != ’, p); Readln
end.
Ví dụ 5: Tính tổng S = 1+2+3+…+N
Program Tinh_tong; Uses crt;
Var N, i: integer; S: longint; Begin
Write(“nhap so N=‘); readln(N);
S:=0;
For i:= to N S:= S + i;
Writeln (‘Tong S= ‘, S); Readln
(18)18 Ghi nhớ
1 Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại mợt vài hoạt đợng
mợt điều kiện được thoả mãn
2 Mọi ngơn ngữ lập trình đều có câu lệnh lặp để thể hiện cấu trúc lặp
(19)19