ĐỀ THI THỰC HÀNH – BẢNG B KHỐI THCS Thời gian: 120 phút (không kể thời gian giao đề) Yêu cầu chung: Học sinh viết chương trình bằng ngôn ngữ Pascal. Tên các File chương trình được đặt là BAI1.PAS, BAI2.PAS, BAI3.PAS, BAI4.PAS, BAI5.PAS lưu trong thư mục có tên là số báo danh của thí sinh trên ổ D: Ví dụ: D:DuongthiHoa_01BAI1.PAS Câu 1: (1,5 điểm) Chia hết Cho hai số nguyên dương m, n và số nguyên dương k. Đếm xem có bao nhiêu số tự nhiên trong đọan m..n chia hết cho k Câu 2: (1,5 điểm) Viết chương trình giải quyết các yêu cầu sau: Một ngân hàng có mức huy động vốn với lãi suất hàng năm là 10%. Một người có số tiền là 10,000,000 đồng (Mười triệu đồng) và gửi tiết kiệm ở ngân hàng trên. Cứ sau mỗi năm tiền lãi được cộng gộp vào vốn để trở thành vốn mới để tính lãi cho năm sau. Hỏi để bao lâu (bao nhiêu năm) người đó được 100,000,000 đồng (một trăm triệu đồng)? Lưu ý: Số tiền 100,000,000 đồng là số tiền ít nhất có được sau khi gộp lãi vào vốn, không nhất thiết là phải số tiền chính xác cần tìm.
Trang 1ĐỀ THI THỰC HÀNH – BẢNG B - KHỐI THCS
Thời gian: 120 phút (không kể thời gian giao đề)
Yêu cầu chung: Học sinh viết chương trình bằng ngôn ngữ Pascal Tên các File
chương trình được đặt là BAI1.PAS, BAI2.PAS, BAI3.PAS, BAI4.PAS, BAI5.PAS lưu trong thư mục có tên là số báo danh của thí sinh trên ổ D:\
Ví dụ: D:\DuongthiHoa_01\BAI1.PAS
Câu 1: (1,5 điểm) Chia hết
Cho hai số nguyên dương m, n và số nguyên dương k
Đếm xem có bao nhiêu số tự nhiên trong đọan [m n] chia hết cho k
Câu 2: (1,5 điểm)
Viết chương trình giải quyết các yêu cầu sau:
Một ngân hàng có mức huy động vốn với lãi suất hàng năm là 10% Một người có
số tiền là 10,000,000 đồng (Mười triệu đồng) và gửi tiết kiệm ở ngân hàng trên Cứ sau mỗi năm tiền lãi được cộng gộp vào vốn để trở thành vốn mới để tính lãi cho năm sau Hỏi
để bao lâu (bao nhiêu năm) người đó được 100,000,000 đồng (một trăm triệu đồng)?
Lưu ý: Số tiền 100,000,000 đồng là số tiền ít nhất có được sau khi gộp lãi vào vốn,
không nhất thiết là phải số tiền chính xác cần tìm
Câu 3: (2 điểm)
Viết chương trình giải quyết yêu cầu sau:
Viết chương trình nhập vào một số nguyên dương N, Với 2<=N<=100 In ra màn hình các
số nguyên tố nhỏ hơn N và đếm xem có bao nhiêu số nguyên tố
Câu 4: (2,5 điểm)
Viết chương trình cho phép nhập một dãy gồm n số nguyên từ bàn phím và thực hiện:
a Sắp xếp và in dãy số vừa nhập theo thứ tự giảm dần
b In ra phần tử có giá trị tuyệt đối lớn nhất trong dãy
c In ra các số chính phương có trong dãy
Ví dụ:
Với n = 6 cho phép nhập một dãy gồm 6 số
Nếu nhập dãy số: -5; -2; 0; -2; 4; -2
a Cho kết quả là: 4; 0; -2; -2; -2; -5
b Phan tu can tim : -5
c Phan tu chinh phuong: 0; 4
Câu 5: (2,5 điểm)
Viết hương trình thực hiện nhập dữ liệu cho mảng số nguyên 2 chiều Nhập vào giá trị số hàng, số cột (nhỏ hơn 20) và trị số các phần tử của mảng (số nguyên) Chương trình thực hiện công việc in ra mảng số dạng ma trận sau đó thực hiện tìm các phần tử có giá trị lớn nhất của các hàng rồi in ra màn hình
––––––––––––––––––– Hết ––––––––––––––––––––
Họ và tên thí sinh SBD
Trang 2ĐÁP ÁN VÀ THANG ĐIỂM
(Học sinh có thể làm bằng cách khác)
Bài 1: (1,5 điểm)
var m,n,k,d,i:integer; 0,25đ begin
repeat
write('Nhap doan m, n: '); readln(m,n);
write('Nhap so nguyen k: '); readln(k); 0,5đ
if (m<0) or (n<0) or (k<0) then writeln('nhap lai!');
until (m>0) and (n>0) and (k>0);
for i:=m to n do
writeln('co tat ca ',d,' trong doan', m,'den ',n,' chia het cho ',k);
readln end
Bài 2: (1,5 điểm)
var thang : Byte ; 0,25đ
a , lai , b : Real ; BEGIN
a:=10; b:=100;
thang :=1 ; repeat lai := a * 10 / 100 ; 0,75đ
a := a + lai ; thang := thang + 1 ; until a >= b ;
writeln (' Ban phai gui tien trong ', thang div 12 , ' nam ', thang mod 12 ,' thang ') ;
writeln (' Khi do so tien ban rut ra duoc la ', a ,',000,000 dong ') ; 0,5đ readln
END
Bài 3: (2 điểm)
Var i,n,j,d : integer; 0,25đ
Begin
repeat Write ('Nhap n:');Readln(n);
if (n<2) or (n>100) then writeln('Nhap lai!'); 0,5đ until (n>=2) and (n<=100);
Write ('Cac so nguyen to nho hon ',n,' la:');
For i:=2 to n-1 do Begin
While i mod j <>0 do j:=j+1;
If i=j then begin d:=d+1; write (i:3); end;
end;
writeln(' Co tat ca ',d,' so nguyen to nho hon ',n); 0,25đ readln;
Trang 3Bài 4 (2,5 điểm)
Var M: array[1 20] of integer;
n,i,j,tg:integer; 0,25đ
Begin
repeat
Write('Nhap n: ');Readln(n);
if n<0 then writeln(' Nhap lại n!');
For i:= 1 to n do
Begin
Write('M[',i,']='); Readln(M[i]);
End;
For i:=1 to n-1 do
For j:=i+1 to n do
if M[j]> M[i] then
Begin
Tg:=M[i]; 1đ
M[i]:=M[j];
M[j]:=Tg;
End;
Write('Day so sau khi sap xep: ');
For i:=1 to n do Write(M[i],';');
Writeln;
Write('Phan tu co gia tri tuyet doi lon nhat:');
For i:= 1 to n do
if abs(M[i])>abs(M[n]) then write(M[i]) else write(M[n]); 0,5đ Writeln;
Write('Cac phan tu la so chinh phuong: ');
For i:=1 to n do
if sqr(trunc(sqrt(M[i]))) = M[i] then write(M[i],';');
Readln;
End
Bài 5 (2,5 điểm)
uses crt;
var A: array[1 20,1 20] of integer; 0,25đ
cot,hang: integer; i,j, max: integer;
sumcan:real;
begin
clrscr;
write('So hang: '); readln(hang);
write('So cot: '); readln(cot);
writeln('Nhap gia tri cua mang:');
For i := 1 to hang do
For j:= 1 to cot do
Trang 4Write('Nhap phan tu a[' ,i ,',',j,']: '); Readln(a[i,j]); End;
End;
clrscr;
writeln('Mang da nhap:');
For i := 1 to hang do
Begin
For j:= 1 to cot do
Write(a[i,j]:5,' ');
End;
writeln;
End;
writeln('Gia tri lon nhat cua hang: ');
For i := 1 to hang do
Begin
max := a[i,1];
For j:= 1 to cot do
if a[i,j] > max then max := a[i,j];
End;
writeln('Hang ':0, i:2,': ', max);
End;
readln;
End