You are on page 1of 7

Các dạng đề kiểm tra của thầy Uẩn.

Đề số 1
(Thời gian 45 phút, nộp đề sau khi kiểm tra)
1.(5 điểm) Cho một danh sách gồm họ tên và tuổi của n công nhân. Viết chương trình để tìm tuổi trẻ nhất và
in họ tên của người có tuổi trẻ nhất ấy.
2.(5 điểm) Một đề thi trắc nghiệm có 2 phần. Mỗi câu trả lời đúng thuộc phần 1 được 15 điểm. Mỗi câu trả
lời đúng thuộc phần 2 được 20 điểm. Có n thí sinh dự thi. Cho biết họ tên, số câu trả lời đúng thuộc phần 1 và
số câu trả lời đúng thuộc phần 2 của từng thí sinh. Viết chương trình để tính số điểm mỗi thí sinh đạt được và in
bảng KẾT QUẢ THI gồm 3 cột: TT, Họ tên, Số điểm. In theo thứ tự giảm dần của số điểm.

Đề số 2
1.(5 điểm) C1,C2,…,Cn là tiền công của n công nhân. Viết chương trình tìm tiền công cao nhất và đếm xem có
bao nhiêu người đạt mức công cao nhất ấy.
2.(5 điểm) Một đĩa CD-ROM ghi được n bài hát. Cho biết tên và chiều dài tính bằng bai (byte) của mỗi bài.
Thời gian trung bình để 1 máy vi tính “hát” xong một bai là 0,002 giây. Viết chương trình tính thời gian cần
thiết để hát từng bài. In bảng DANH MỤC BÀI HÁT theo vần abc của tên bài. Bảng gồm 3 cột: TT, Tên bài,
Thời gian.

Đề số 3
1.(5 điểm) Có một mẫu điều tra gồm n trẻ em. Cho biết tuổi, chiều cao và trọng lượng của từng em. Viết chương
trình tính chiều cao trung bình và trọng lượng trung bình của các em trong độ tuổi từ 10 đến 15.
2.(5 điểm) Có n điểm bán vé số, cho biết tên điểm bán, số vé loại 1 và số vé loại 2 bán được ở từng điểm sau
một tuần. Giá vé loại 1 là 20000đ, loại 2 là 10000đ. Viết chương trình tính số tiền bán vé thu được ở từng điểm
và in bảng TIỀN BÁN VÉ SỔ SỐ TRONG TUẦN. Bảng gồm 3 cột: TT, Tên điểm bán, Tiền bán vé. In theo thứ
tự giảm dần của tiền bán vé.

Đề số 4
1.(5 điểm) Có n phụ nữ. Cho biết tuổi và số con của từng phụ nữ. Viết chương trình tính số con trung bình của
các chị em trong độ tuổi sinh đẻ (15 ≤ tuổi ≤ 49).
2.(5 điểm) Một huyện có n xã. Cho biết tên xã, số phụ nữ trong độ tuổi sinh đẻ và số phụ nữ đang dùng các biện
pháp tránh thai trong độ tuổi ấy của từng xã. Viết chương trình tính tỷ lệ % phụ nữ trong độ tuổi sinh đẻ đang
dùng các biện pháp tránh thai trong từng xã. In bảng TỶ LỆ % DÙNG BIỆN PHÁP TRÁNH THAI theo vần
abc của tên xã. Bảng gồm 3 cột: TT, Tên xã, % tránh thai.

Copyright: Hoàng Mạnh Cường


Bài giải
Đề 1
Câu 1:
Program CongNhanTreNhat;
Var
n,i,min: integer;
hoten: string[20];
Ten: array[1..300] of string[20]; {Giả sử n≤300}
Tuoi: array[1..300] of integer;
Begin
Write(‘Co bao nhieu cong nhan? ‘); readln(n);
for i:=1 to n do
begin
write(‘Ten cua cong nhan thu ‘,i,’ la? ‘);
readln(Ten[i]);
write(‘Tuoi cua cong nhan thu ‘,i,’ la? ‘);
readln(Tuoi[i]);
end;
min:=Tuoi[1];
hoten:=Ten[1];
for i:=2 to n do
if min>Tuoi[i] then
begin
min:=Tuoi[i]; hoten:=Ten[i];
end;
writeln(‘Cong nhan tre nhat la: ‘,hoten:20);
readln
end.
Câu 2:
Program KetQuaThi;
Var
n,i,j: integer;
Ten: array[1..300] of string[25];
Diem,P1,P2: array[1..300] of real; {Giả sử n ≤ 300}
TG2: string[25];
TG1: real;
Begin
Write(‘Co bao nhieu thi sinh? ‘); readln(n);
for i:=1 to n do
begin
write(‘Ho ten cua thi sinh thu ‘,i,’ la? ‘);
readln(Ten[i]);
write(‘So cau tra loi dung thuoc phan 1 va phan 2 cua thi sinh thu ‘,i,’ la? ‘);
readln(P1[i],P2[i]);
Diem[i]:= 15*P1[i] + 20*P2[i];
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if Diem[i]<Diem[j] then
begin
TG1:=Diem[i]; Diem[i]:=Diem[j]; Diem[j]:=TG1;
TG2:=Ten[i]; Ten[i]:=Ten[j]; Ten[j]:=TG2;
end;
writeln(‘’:15,’KET QUA THI’);
writeln(‘------------------------------------------‘);
writeln(‘| TT |’,’’:19,’HO TEN| SO DIEM|’);
writeln(‘------------------------------------------‘);
for i:=1 to n do
begin
writeln(‘|’,i:4,’|’,Ten[i]:25,’|’,Diem[i]:8:0,’|’);
end;
writeln(‘------------------------------------------‘);
readln
end.

Đề 2
Câu 1:
Program TienCongCaoNhat;
Var
n,i,m,max: longint;
C: array[1..300] of longint; {giả sử n ≤ 300}
Begin
Write(‘Co bao nhieu cong nhan? ‘); readln(n);
for i:=1 to n do
begin
write(‘Tien cong cua cong nhan thu ‘,i,’ la? ‘);
readln(C[i]);
end;
max:=0;
m:=0;
for i:=1 to n do
begin
if max<C[i] then max:=C[i];
end;
for i:=1 to n do
begin
if max=C[i] then m:= m+1;
end;
writeln(‘Tien cong cao nhat la: ‘,max:10,’ va co ‘,m:3,’ nguoi dat muc tien cong nay’);
readln
end.
Câu 2:
Program DanhMucBaiHat;
Var
n,i,j: integer;
Ten: array[1..100] of string[20];
Bai,Time: array[1..100] of real;
TG1: string[20];
TG2: real;
Begin
Write(‘Co bao nhieu bai hat? ‘); readln(n);
for i:=1 to n do
begin
write(‘Ten cua bai hat thu ‘,i,’ la? ‘); readln(Ten[i]);
write(‘Chieu dai tinh bang bai cua bai hat thu ‘,i,’ la? ‘); readln(Bai[i]);
Time[i]:=Bai[i]*0.002;
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if Ten[i]>Ten[j] then
begin
TG1:=Ten[i]; Ten[i]:=Ten[j]; Ten[j]:=TG1;
TG2:=Time[i]; Time[i]:=Time[j]; Time[j]:=TG2;
end;
writeln(‘’:12,’DANH MUC BAI HAT’);
writeln(‘---------------------------------------‘);
writeln(‘| TT |',’’:13,’TEN BAI|',’’:3,’THOI GIAN|’);
writeln(‘---------------------------------------‘);
for i:=1 to n do
begin
writeln(‘|’,i:4,’|’,Ten[i]:20,’|’,Time[i]:7:3,’ Giay|’);
end;
writeln(‘---------------------------------------‘);
readln
end.
Đề 3
Câu 1:
Program TrungBinh;
Var
TC,TN: real;
m,n,i: integer;
Tuoi,Cao,Nang: array[1..200] of real; {Giả sử n ≤ 200}
Begin
Write(‘Co bao nhieu tre em? ‘); readln(n);
For i:=1 to n do
Begin
Write(‘Cho biet tuoi, chieu cao va trong luong cua em thu ‘,i,’ ? ‘);
Readln(Tuoi[i],Cao[i],Nang[i]);
End;
TC:=0;
TN:=0;
m:=0;
for i:=1 to n do
if Tuoi[i]>=10 then if Tuoi<=15 then
begin
m:=m+1;
TC:=TC+Cao[i];
TN:=TN+Nang[i];
end;
writeln(‘Chieu cao trung binh cua cac em trong do tuoi tu 10 den 15 la ‘,TC/m:6:2);
writeln(‘Trong luong trung binh cua cac em trong do tuoi tu 10 den 15 la ‘,TN/m:6:2);
readln
End.

Câu 2:
Program TienBanVeTrongTuan;
Var
n,i,j: integer;
Ten: array[1..300] of string[20]; {Giả sử n ≤ 300}
Loai1,Loai2,Tien: array[1..300] of real;
TG1: real;
TG2: string[20];
Begin
Write(‘Co bao nhieu diem ban ve so? ‘); readln(n);
for i:=1 to n do
begin
write(‘Ten diem ban ve thu ‘,i,’ la? ‘);
readln(Ten[i]);
write(‘So ve loai 1 va loai 2 ban duoc trong tuan o diem ban ve thu ‘,i,’ la? ‘);
readln(Loai1[i],Loai2[i]);
Tien[i]:=20000*Loai1[i] + 10000*Loai2[i];
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if Tien[i]<Tien[j] then
begin
TG1:=Tien[i]; Tien[i]:=Tien[j]; Tien[j]:=TG1;
TG2:=Ten[i]; Ten[i]:=Ten[j]; Ten[j]:=TG2;
writeln(‘’:6,’TIEN BAN VE SO SO TRONG TUAN’);
writeln(‘----------------------------------------‘);
writeln(‘| TT |’,’’:5,’TEN DIEM BAN VE| TIEN BAN VE|’);
writeln(‘----------------------------------------‘);
for i:=1 to n do
begin
writeln(‘|’,i:4,’|’,Ten[i]:20,’|’,Tien[i]:10:0,’ d|’);
end;
writeln(‘----------------------------------------‘);
readln
end.
Đề 4
Câu 1:
Program SoConTrungBinh;
Var
n,i,m,T: integer;
Tuoi,SoCon: array[1..300] of integer; {Giả sử n ≤ 300}
Begin
Write(‘Co bao nhieu phu nu? ‘); readln(n);
for i:=1 to n do
begin
write(‘Cho biet so tuoi va so con cua phu nu thu ‘,i,’ la? ‘);
readln(Tuoi[i],SoCon[i]);
end;
T:=0;
m:=0;
for i:=1 to n do
if Tuoi[i]<=49 then if Tuoi[i]>=15 then
begin
m:=m+1;
T:=T + SoCon[i];
end;
write(‘So con trung binh cua cac chi em trong do tuoi sinh de la ‘,T/m:4:2);
readln
end.
Câu 2:
Program TyLe;
Var
Ten: array[1..300] of string[20]; {Giả sử n ≤ 300}
SoNguoi, Dung,Tyle: array[1..300] of real;
n,i,j: integer;
TG1: string[20];
TG2: real;
Begin
Write(‘Co bao nhieu xa? ‘); readln(n);
for i:=1 to n do
begin
write(‘Ten cua xa thu ‘,i,’ la? ‘); readln(Ten[i]);
write(‘So phu nu trong do tuoi sinh de va so phu nu dang dung bien phap tranh thai cua xa thu ‘,i,’ la? ‘);
readln(SoNguoi[i],Dung[i]);
Tyle[i]:=100*Dung[i]/SoNguoi[i];
End;
for i:=1 to n-1 do
for j:=i+1 to n do
if Ten[i]>Ten[j] then
begin
TG1:=Ten[i]; Ten[i]:=Ten[j]; Ten[j]:=TG1;
TG2:=Tyle[i]; Tyle[i]:=Tyle[j]; Tyle[j]:=TG2;
end;
Writeln(‘ TY LE % DUNG BIEN PHAP TRANH THAI’);
Writeln(‘----------------------------------------------------------‘);
Writeln(‘| TT |’,’’:14,’TEN XA|% TRANH THAI|’);
Writeln(‘----------------------------------------------------------‘);
for i:=1 to n do
begin
writeln(‘|’,i:4,’|’,Ten[i]:20,’|’,Tyle[i]:10:2,’ %|’);
end;
writeln(‘-----------------------------------------------------------‘);
readln
end.