
Trường THPT Đức Trọng
Tổ: Tin học
NỘI DUNG ÔN TẬP CHƢƠNG III – MÔN TIN HỌC 11
CHỦ ĐỀ
MỨC ĐỘ CẦN ĐẠT
Chƣơng III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9:
Cấu trúc rẽ
nhánh
Kiến thức
- Hieåu nhu caàu cuûa caáu truùc reõ nhaùnh trong vieäc giaûi quyeát caùc
baøi toaùn.
- Hieåu cô cheá hoaït ñoäng cuûa caâu leänh reõ nhaùnh daïng thieáu vaø
daïng ñuû
- Hieåu caâu leänh gheùp
Kĩ năng
- Söû duïng caáu truùc reõ nhaùnh trong moâ taû thuaät toaùn cuûa moät
soá baøi toaùn ñôn giaûn
- Vieát ñöôïc caùc leänh reõ nhaùnh daïng thieáu, reõ nhaùnh daïng ñaày ñuû
vaø aùp duïng ñeå theå hieän ñöôïc thuaät toaùn cuûa moät soá baøi toaùn ñôn giaûn
- Bieát taïo caâu leänh gheùp khi caàn thieát
Bài 10:
Cấu trúc lặp
Kiến thức
- Hieåu nhu caàu cuûa caáu truùc laëp trong bieåu dieãn thuaät toaùn
- Hieåu caáu truùc laëp vôùi soá laàn bieát tröôùc, caáu truùc laëp kieåm tra
ñieàu kieän tröôùc
- Hieåu caáu truùc laëp vôùi soá laàn chưa bieát tröôùc, caáu truùc laëp kieåm
tra ñieàu kieän tröôùc
- Bieát caùch vaän duïng ñuùng ñaén töøng loaïi caáu truùc laëp vaøo tình
huoáng cuï thể
Kĩ năng
- Moâ taû ñöôïc thuaät toaùn cuûa moät soá baøi toaùn ñôn giaûn coù söû duïng
leänh laëp
- Vieát ñuùng caùc leänh laëp kieåm tra ñieàu kieän tröôùc, leänh laëp vôùi soá
laàn ñònh tröôùc
- Vieát ñöôïc thuaät toaùn giaûi moät soá baøi toaùn ñôn giaûn
A/ TÓM TẮT LÍ THUYẾT
Các ngôn ngữ lập trình đều có câu lệnh thể hiện cấu trúc rẽ nhánh và cấu trúc lặp
Câu lệnh rẽ nhánh có hai dạng:
a/ Dạng thiếu;
b/ Dạng đủ.
Có thể gộp dãy câu lệnh thành câu lệnh ghép
Các câu lệnh mô tả cấu trúc lặp:
a/ Lặp với số lần biết trước và câu lệnh For – do
b/ lặp với số lần chưa biết trước và câu lệnh While – do
B/ CÂU HỎI VÀ BÀI TẬP
Câu hỏi 1 : Cấu trúc lặp tiến trong Pascal được viết
A.for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>;
B.for <biến đếm>:=<giá trị cuối> to <giá trị đầu> do <câu lệnh>;

C.for <biến đếm>:=<giá trị đầu> downto <giá trị cuối> do <câu lệnh>;
D.for <biến đếm>:=<giá trị đầu> do <câu lệnh> to <giá trị cuối>;
Câu hỏi 2: Câu lệnh lặp While-do trong Pascal được viết
A.while <công việc> do <câu lệnh>; B.while <điều kiện> do <câu lệnh>;
C.while <câu lệnh> do <điều kiện>; D. tất cả đều sai
Câu hỏi 3: Cho biết kết quả của đoạn chương trình sau:
S:=0; i:=1;
while (S<10) do
Begin
S:=S+i; i:=i+2;
End;
Writeln(S);
A. 0 B. 9 C. 8 D. 16
Câu hỏi 4: Cho S kiểu số thực, i và n thuộc kiểu số nguyên. Để tính tổng bình phương các
số chẵn từ 1 đến n, câu lệnh nào sau đây đúng?
A. For i:=3 to n do If i mod 2=0 then S:=S+sqt(i);
B. For i:=1 to n do S:=S+sqt(i);
C. For i:=1 to n do If i mod 2=0 then S:=S+sqr(i);
D. For i:=n downto 1 do If i mod 2<>0 then S:=S+sqt(i);
Câu hỏi 5: Kiểm tra 3 số a, b, c đều lớn hơn 1 và xuất ra màn hình số 1. Chọn lệnh nào
trong các lệnh sau đây?
A. If (a>1) or (b>1)or (c>1) then write(1); B. If a, b, c>1 then write(1);
C. If a>1 and b>1 and c>1 then write(1); D. if (a>1) and (b>1) and(c>1) then
write(1);
Bài 1: Tìm giá trị lớn nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím).
Program TIM_SO_LON_NHAT;
Uses crt;
Var a,b,c,d,max:real;
Begin
Clrscr;
Writeln('TIM SO LON NHAT TRONG BON SO A, B, C, D');
Writeln('---------------------------------------------------------------');
Write('Nhap a='); Readln(a);
Write('Nhap b='); Readln(b);
Write('Nhap c='); Readln(c);
Write('Nhap d='); Readln(d);
max:=a;
If b>max then max:=b;
If c>max then max:=c;
If d>max then max:=d;
Writeln('So lon nhat la:',max:4:2);
Readln;
End.
Bài 2: Tìm giá trị nhỏ nhất trong 4 số a, b, c, d (a, b, c, được nhập từ bàn phím).
Program TIM_SO_NHO_NHAT;
Uses crt;
Var a,b,c,d,min:real;
Begin
Clrscr;
Writeln('TIM SO NHO NHAT TRONG BON SO A, B, C, D');
Writeln('---------------------------------------------------------------'); Write('Nhap a=');

Readln(a);
Write('Nhap b='); Readln(b);
Write('Nhap c='); Readln(c);
Write('Nhap d='); Readln(d);
min:=a;
If b<min then min:=b;
If c<min then min:=c;
If d<min then min:=d;
Writeln('So nho nhat la:',min:4:2);
Readln;
End.
Bài 3: Nhập vào thời gian 1 công việc nào đó là x giây. Hãy chuyển đổi và viết ra màn
hình số thời gian trên dưới dạng bằng bao nhiêu giờ, bao nhiêu phút, bao nhiêu giây.
Program DOI_GIO_PHUT_GIAY;
Uses crt;
Var gio, phut,giay, x: longint;
Begin
Clrscr;
Writeln('DOI SANG GIO PHUT GIAY');
Writeln('---------------------------------');
Write('Nhap vao so giay: ');readln(x);
gio:= x div 3600;
x:=x mod 3600;
phut:=x div 60;
x:=x mod 60;
Writeln('Ket qua = ', gio,'gio : ', phut, 'phut : ', x, 'giay');
Readln;
End.
Bài 4: Tính x
n
(Với n là số nguyên không âm).
Program TINH_X_LUY_THUA_N;
Uses crt;
Var i,n,x:integer;
lt:real;

Begin
Writeln(' TINH X LUY THUA Y:');
Writeln('----------------------------------');
Write('Nhap x ='); readln(x);
Write('Nhap n ='); readln(n);
lt:=1;
For i:=1 to n do lt:=lt*x;
Writeln(x, '^',n,' = ',lt:4:2);
Readln;
End.
Bài 5: Tính n!
Program TINH_N_GIAI_THUA; Uses crt;
Var i,n,gt:integer;
Begin
Clrscr;
Writeln(' TINH N GIAI THUA:');
Writeln('----------------------------------');
Write('Nhap n ='); readln(n);
gt:=1;
For i:=1 to n do gt:=gt*i; Writeln(n, '!= ',gt);
Readln;
End.
Baøi 6: Vieát chöông trình Tính toång caùc soá leû töø 1 ñeán N, vôùi N nhaäp töø baøn phím. Haõy
xuaát toång S ra maøn hình
Program Tong_cac_so_le;
Uses crt;
Var i,n:Integer;
T:Longint;
Begin
clrscr;
Write('Nhap N : '); Readln(n);
T:=0;
For i:=1 to n do
If (i mod 2 <> 0) then T:=T+i;
Write('Tong binh phuong cua cac so le la : ',T);
Readln
End.
Baøi 7: Viết chương trình tính: S=a(a+1)(a+2)…(a+n) với a, n nguyên dương nhập từ bàn
phím.
Program Bai7;
Uses Crt;
Var a,i,n:byte; S:Longint;
Begin
Clrscr;

Write('Nhap vao mot so nguyen duong n : ');
Readln(n);
Write('Nhap vao mot so nguyen duong a : ');
Readln(a);
S:=a;
For i:=1 to n do S:=S*(a+i);
Write('S = ',S);
Readln
End.
Một số bài tập tự giải:
Câu 1: Sử dụng NNLT Pascal, viết chương trình nhập vào từ bàn phím một số nguyên.
Hãy cho biết số vừa nhập là chẵn hay lẻ?
Câu 2: Sử dụng NNLT Pascal, viết chương trình nhập vào từ bàn phím một số nguyên.
Hãy cho biết số vừa nhập là âm hay dương?
Câu 3: Sử dụng NNLT Pascal, viết chương trình nhập vào từ bàn phím 3 số A, B và C.
Xuất ra màn hình giá trị nhỏ nhất Max của 3 số đó.
Câu 4: Viết chương trình tính giá trị của biểu thức sau:
8
ab
a
nếu a
8
M =
22 ba
nếu a =8
Câu 5: Sử dụng cấu trúc If – then để viết chương trình nhập vào từ bàn phím giờ của
một ngày (Lưu ý: chỉ được nhập từ 0 đến 24). Xuất ra màn hình thông báo sau:
-Nếu giờ được nhập từ 0 đến dưới 12 thì thông báo “Chào buổi sáng!”
-Nếu giờ được nhập từ 12 đến dưới 18 thì thông báo “Chào buổi chiều!”
-Nếu giờ được nhập từ 18 đến dưới 24 thì thông báo “Chào buổi tối!”
Câu 6: Sử dụng cấu trúc If – then để viết chương trình nhập vào từ bàn một số nguyên
dương. Xuất ra màn hình thông báo sau:
-Nếu số vừa nhập 1 thì thông báo “Khoi 10 dang hoc phong may tinh!”
-Nếu số vừa nhập 2 thì thông báo “Khoi 11 dang hoc phong may tinh!”
-Nếu số vừa nhập 3 thì thông báo “Khoi 12 dang hoc phong may tinh!”
Sách giáo khoa
Ví dụ 1; ví dụ 2 trang 41
Bài toán 1 trang 42
Ví dụ 2 trang 45
Câu 4a; 4b; câu 5a trang 51