Câu 4: (3 đ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. II. LẬP TRÌNH BẰNG NGÔN NGỮ SCRATCH (2đ) Đề Bài: Vẽ hình vuông xoay. Yêu cầu: Nhập vào cạnh của hình vuông và số bước lệch để vẽ hình trên.
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.SP2 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
I LẬP TRÌNH BẰNG NGÔN NGỮ PASCAL HOẶC C
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: (3 đ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
II LẬP TRÌNH BẰNG NGÔN NGỮ SCRATCH (2đ)
Đề Bài: Vẽ hình vuông xoay
Yêu cầu: Nhập vào cạnh của hình vuông và số bước lệch để vẽ hình
trên.
––––––––––––––––––– Hết ––––––––––––––––––––
Họ và tên thí sinh SBD
Chú ý: Cán bộ coi thi không giải thích gì thêm
Trang 2ĐÁP ÁN VÀ THANG ĐIỂM
(Học sinh có thể làm bằng cách khác)
I LẬP TRÌNH BẰNG NGÔN NGỮ PASCAL HOẶC 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đ
Trang 3End
Bài 4 (3 đ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
Trang 4II LẬP TRÌNH BẰNG NGÔN NGỮ SCRATCH
HS sử dụng 1 trong 2 cách giải, cách gải thứ nhất thường dành cho học sinh tiểu học, cách giải thứ 2 dùng cho học sinh trung học (sử dụng Pitago)
Cách 1: Sử dụng một nhân vật sau đó sẽ tạo ra một bản sao di chuyển đến vị trí kế tiếp sau
đó tiến hành đo khoảng cách và góc giữa bản sao và bản chính
Cách 2: sử dụng định lý Pitago để tính cạnh huyền và tính góc lệnh giữa hình vuông ban
đầu và hình vuông mới (Khuyến khích học sinh sử dụng)
Lời giải tham khảo