KIỂM TRA BÀI CŨ
Câu 1: Kết quả của đoạn lệnh sau đây trong Pascal?
x:=0;
For i:=5 to 9 do
begin
x:=x+i;
writeln(i, ‘: ’,x);
end;
In ra màn hình các số tự nhiên từ 5 đến 9,
Mỗi số trên một dòng và tổng từ 5 đến số
đó
Lần lặp i x
1 5 5
2 6 11
3 7 18
4 8 26
5 9 35
KIỂM TRA BÀI CŨ
Câu 2: Các câu lệnh Pascal sau đúng hay sai? Chỉ ra
chỗ sai và sửa lại cho đúng.
a) For i:=1 to 10; do x:=x+1
b)For i:=10 to 1 do x:=x+1;
c) For i:=1 to 10 do x:=x+1;
d)For i:=1 to 10 do x=x+1;
S
S
S
Đ
Dấu ; sai vị trí
Giá trị đầu phải nhỏ hơn
giá trị cuối
Sau Do là một lệnh chứ
không thể là phép so sánh
a) For i:=1 to 10 do x:=x+1;
b)For i:=1 to 10 do x:=x+1;
c) For i:=1 to 10 do x:=x+1;
d)For i:=1 to 10 do x:=x+1;
LUYỆN TẬP
CÂU LỆNH LẶP
Bài 1: Sử dụng câu lệnh lặp tính tích của các số từ
6 đến 20.
P:=1; i:=5
i=i+1;
P:=P*i;
i=11?
S
Đ
Lưu đồ
P:=1;
For i:=6 to 20 do p:=p*i;
Writeln(‘Tich can tinh la:’,p);
Program tich_cac_so;
Uses Crt;
Var i: Integer; p: Longint;
BEGIN
Clrscr;
p:=1;
For i:=6 to 20 do p:=p*i;
Writeln(‘Tich cac so tu 6 ->20 la:’, p);
Readln;
END.
Bài 2: In ra màn hình các số lẻ trong khoảng từ a đến b
với a và b nhập từ bàn phím.
B1: Nhập a và b
B2: Duyệt vòng FOR từ a đến b thực hiện
Nếu số nào chia 2 dư 1 thì in ra màn hình số đó
For i:=a to b do
if i mod 2 = 1 then writeln(i);
If i mod 2 = 1 then writeln(i);
For i:=a to b do
if i mod 2 = 1 then writeln(i);
Kiểm tra số có phải số lẻ không?
Vòng FOR lồng nhau:
Viết chương trình in ra màn hình các số từ 10 đến 99
theo dạng bảng
10 11 12 13
20 21 22 23
90 91 92 93
Biến j chạy theo cột
Biến i
chạy
theo
hàng
Khi i = 1 thì thực
hiện: Cho j chạy từ 0
đến 9, thực hiện 2
việc:
+ in ra giá trị của i, j.
+ Xuống dòng.
Lặp lại với mỗi i
For i:=1 to 9 do
for j:=0 to 9 do
Begin
write(i,j,‘ ’); writeln;
End;
Program vong_FOR;
Uses Crt;
Var i,j:Integer;
BEGIN
Clrscr;
For i:= 1 to 9 do
For j:=0 to 9 do
begin
write(i,j,‘ ’);
writeln;
end;
Readln;
END.
BTVN: Nghiên cứu – Viết chương
trình in ra màn hình các số là ước
của một số nhập từ bàn phím.