Đề thi chọn HSG cấp Huyện Tin học 9 - Năm học 2013-2014 - PGD Thanh Sơn (Có đáp án)
Bạn đang xem nội dung tài liệu Đề thi chọn HSG cấp Huyện Tin học 9 - Năm học 2013-2014 - PGD Thanh Sơn (Có đáp án), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
UBND HUYỆN THANH SƠN ĐỀ THI CHỌN HỌC SINH GIỎI LỚP 9 - THCS CẤP HUYỆN
PHềNG GD&ĐT NĂM HỌC 2012 - 2013
Mụn: Tin học
ĐỀ CHÍNH THỨC (Thời gian làm bài 150 phỳt khụng kể thời gian giao đề )
( Đề thi cú 01 trang )
Bài 1 (4,0 điểm). Khởi động chương trỡnh PASCAL, viết chương trỡnh nhập số tự
nhiờn n sao cho 5 < n ≤100, nếu nhập sai yờu cầu nhập lại khi nào nhập đỳng thỡ tớnh
tổng sn:
1.2 2.3 3.4 n.(n 1)
S ...
n 3.4 4.5 5.6 (n 2)(n 3)
- Lưu bài với tờn tệp tin: D:\THIHUYEN\B1SBDxxx.pas (trong đú xxx là số
bỏo danh của thớ sinh).
Bài 2 (6,0 điểm). Viết chương trỡnh trờn ngụn ngữ lập trỡnh PASCAL, nhập vào hai số
tự nhiờn x, y sao cho chương trỡnh chỉ cho nhập cỏc số tự nhiờn x, y thỏa món 4 x
< 53 và 59 < y 121.
- In ra màn hỡnh cỏc số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm cú bao
nhiờu số như vậy?
- In ra màn hỡnh cỏc số chớnh phương m sao cho x < m < y và đếm cú bao
nhiờu số m?
- Lưu bài với tờn tệp tin: D:\THIHUYEN\B2SBDxxx.pas (trong đú xxx là số
bỏo danh của thớ sinh).
Bài 3 (4,0 điểm). Lập chương trỡnh PASCAL thực hiện yờu cầu sau:
Anh Việt đi chợ mua một mặt hàng cú giỏ trị là N đồng. Trong tỳi anh Việt cú
nhiều tờ tiền với mệnh giỏ là 100 đồng, 200 đồng và 1000 đồng. Anh Việt cú thể cú
nhiều cỏch trả tiền để mua mặt hàng đú (anh Việt chỉ dựng cỏc tờ tiền mà anh cú sẵn.
Anh khụng đưa thừa tiền cho người bỏn vỡ người bỏn khụng cú tiền trả lại).
Yờu cầu: nhập vào từ bàn phớm số N (N nguyờn và 2<N<100 000); đưa ra màn
hỡnh tất cả cỏc cỏch trả tiền của anh Việt thỏa món. (Mỗi cỏch trả tiền trờn một dũng,
nếu khụng cú cỏch trả tiền thỡ khụng cần thụng bỏo gỡ; chương trình không cần kiểm
tra dữ liệu vào từ bàn phím).
- Lưu bài với tờn tệp tin: D:\THIHUYEN\B3SBDxxx.pas (trong đú xxx là số
bỏo danh của thớ sinh).
Bài 4 ( 6,0 điểm). Khởi động chương trỡnh PASCAL, viết chương trỡnh nhập vào một
dóy số nguyờn n phần tử, n nhập từ bàn phớm.
- In ra màn hỡnh dóy số vừa nhập xếp theo thứ tự tăng dần.
- In ra màn hỡnh cỏc số nguyờn tố trong dóy số vừa nhập và đếm xem đó nhập vào bao
nhiờu số nguyờn tố.
- Lưu bài với tờn tệp tin: D:\THIHUYEN\B4SBDxxx.pas (trong đú xxx là số
bỏo danh của thớ sinh).
––––––––––––––––––– Hết ––––––––––––––––––––
Họ và tờn thớ sinh ........................................................................... SBD.......
Chỳ ý: Cỏn bộ coi thi khụng giải thớch gỡ thờm PHềNG GD&ĐT THANH SƠN
HƯỚNG DẪN CHẤM THI CHỌN HSG LỚP 9 - THCS CẤP HUYỆN
NĂM HỌC 2012 – 2013
Mụn: Tin học
Yờu cầu chung:
Yờu cầu chương trỡnh chạy thụng suốt. ( 2-3 điểm)
+ Hoàn thành đỳng phần khai bỏo cỏc biến: (0,25 điểm)
+ Viết đỳng chương trỡnh nhập mảng: (0,25 điểm)
+ Viết đỳng thuật toỏn (cỏch giải) tớnh tổng: (1-2 điểm)
+ Viết đỳng thủ tục tạo và ghi kết quả vào tệp: (0,5 điểm)
- Chương trỡnh chạy cho kết quả đỳng (cú thể làm theo cỏch khỏc đỏp ỏn):
khai bỏo đầy đủ, trỡnh bày cú cấu trỳc rừ ràng cho điểm tối đa. Khụng khai bỏo
mỗi biến trừ 0.25 điểm.
- Chương trỡnh cho kết quả sai: Chỉ chấm phần cỏc ý chớnh của thuật toỏn,
mỗi ý đỳng cho điểm khụng vượt quỏ 40% số điểm của cõu.
Bài 1 (4,0 điểm). Khởi động chương trỡnh PASCAL, viết chương trỡnh nhập số
tự nhiờn n sao cho 5 < n ≤100, nếu nhập sai yờu cầu nhập lại khi nào nhập đỳng
thỡ tớnh tổng sn:
1.2 2.3 3.4 n.(n 1)
S ...
n 3.4 4.5 5.6 (n 2)(n 3)
Chương trỡnh tham khảo Điểm
Uses Crt;
Var
0,5
n,i:Integer;
s:Real;
BEGIN
ClrScr;
Write(‘Nhap so tu nhien n=');Readln(n);
While ((n 100) do 1
Begin
Write(‘Nhap lai n thoa man 5 < n <=100, n = ');Readln(n);
end;
s:=0;
1,5
For i:=1 to n do s:=s+i*(i+1)/((i+2)*(i+3));
Write(‘s=’,s:4:3); 0,5
Readln
0,5
END.
Bộ Test thử
n nhập vào Kết quả thụng bỏo hoặc kết quả S trờn màn hỡnh
4 Nhap lai n thoa man 5 < n <=100, n =
5 1.879
6 2.462
1 Bài 2 (6,0 điểm). Viết chương trỡnh trờn ngụn ngữ lập trỡnh PASCAL, nhập vào
hai số tự nhiờn x, y sao cho chương trỡnh chỉ cho nhập cỏc số tự nhiờn x, y thỏa
món 4 x < 53 và 59 < y 121.
- In ra màn hỡnh cỏc số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm
cú bao nhiờu số như vậy.
- In ra màn hỡnh cỏc số chớnh phương m sao cho x < m < y và đếm cú
bao nhiờu số m.
Chương trỡnh tham khảo Điểm
Uses Crt;
var x,y,i,d:longint;
0,5
BEGIN
ClrScr;
d:=0;
Write(‘Nhap so tu nhien x, y =');Readln(x,y);
0,5
While ((x =53) OR ( y 121) ) do
Begin
Write(‘Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121’);
0,5
Readln(n);
end;
0,5
writeln(‘Cac so le chia het cho 3 thoa man la:');
for i:=x to y do 0,5
if (i mod 2<>0)and(i mod 3=0) then
begin 0,5
write(i:6);
d: = d+1; end; 0,5
writeln;
writeln('Co tat ca:',d,' so le chia het cho 3'); 0,5
writeln('Cac so chinh phuong lon hon’, x:4,’va nho hon’, y:4, ‘la: ‘);
d:=0; 0,5
For i: = x +1 to y -1 do
IF sqr(trunc(sqrt(i))) = i then 0,5
Begin write (I: 7); d:=d+1; end;
writeln; writeln(‘ Co tat ca ‘,d:6,’ so chinh phuong’); 0,5
readln;
End. 0,5
Bộ Test thử
Dữ liệu vào Dữ liệu ra
3 64 Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121
4 64 Cac so le chia het cho 3 thoa man la:
9 15 21 27 33 39 45 51 57 63
Co tat ca: 10 so le chia het cho 3
Cac so chinh phuong lon hon 4 va nho hon 64 la:
9 16 25 36 49
Co tat ca 5 so chinh phuong
2 Bài 3 (4,0 điểm). Lập chương trỡnh thực hiện yờu cầu sau:
Anh Việt đi chợ mua một mặt hàng cú giỏ trị là N đồng. Trong tỳi anh
Việt cú nhiều tờ tiền với mệnh giỏ là 100 đồng, 200 đồng và 1000 đồng. Anh
Việt cú thể cú nhiều cỏch trả tiền để mua mặt hàng đú (anh Việt chỉ dựng cỏc tờ
tiền mà anh cú sẵn. Anh khụng đưa thừa tiền cho người bỏn vỡ người bỏn khụng
cú tiền trả lại).
Yờu cầu: nhập vào từ bàn phớm số N (N nguyờn và 2<N<100 000); đưa ra
màn hỡnh tất cả cỏc cỏch trả tiền của anh Việt thỏa món. (Mỗi cỏch trả tiền trờn
một dũng, nếu khụng cú cỏch thỡ khụng cần thụng bỏo gỡ)
Lưu bài với tờn tập tin: D:\THI\CAPHUYEN\Bai3.pas
Chương trỡnh tham khảo Điểm
Program tinhtien;
0,5
Var N,K,a,b,c:Longint;
Begin
Write('Vao N='); Readln(N); 0.5
K:=0;
If N mod 100=0 Then 0,5
For a:=0 to N div 1000 do 0,5
For b:=0 to (N-1000*a) div 200 do 0,5
Begin c:=(N-1000*a-200*b) div 100; 1,0
Writeln(c,' x 100 +',b,' x 200 + ',a,' x 1000'); 0,5
End;
readln;
End.
Bộ Test thử
Vao N=1000
10 x 100 + 0 x 200 + 0 x 1000
8 x 100 + 1 x 200 + 0 x 1000
6 x 100 + 2 x 200 + 0 x 1000
4 x 100 + 3 x 200 + 0 x 1000
2 x 100 + 4 x 200 + 0 x 1000
0 x 100 + 5 x 200 + 0 x 1000
0 x 100 + 0 x 200 + 1 x 1000
Bài 4 ( 6,0 điểm). Khởi động chương trỡnh PASCAL, viết chương trỡnh nhập
vào một dóy số nguyờn n phần tử, n nhập từ bàn phớm
- In ra màn hỡnh dóy số vừa nhập xếp theo thứ tự tăng dần.
- In ra màn hỡnh cỏc số nguyờn tố trong dóy số vừa nhập và đếm xem đó nhập
vào bao nhiờu số nguyờn tố.
Lưu bài với tờn tập tin: D:\THI\CAPHUYEN\Bai4.pas
Chương trỡnh tham khảo Điểm
Uses crt;
Var
3 A: Array[1..100] of Integer;
n,i,j,dem: Byte; 0,5
tg: Integer;
function NT(n:longint):boolean;
var i:longint;
Kt:boolean;
begin
Kt:=true; 1,5
for i:=2 to round(sqrt(n)) do
if n mod i=0 then Kt:=false;
NT:=Kt;
end;
Begin
Write('Hay nhap vao so phan tu cua mang:');
Readln(n);
For i:= 1 to n do
Begin 0,5
Write('Nhap a[',i,']= '); Readln(a[i]);
End;
For i:= 1 to n-1 do
For j:= i to n do
If a[i]>a[j] then
Begin 1,5
tg:= a[i]; a[i]:=a[j]; a[j]:= tg;
End;
Writeln('Mang sau khi da sap xep la');
For i:= 1 to n do Write(a[i]:6);
Writeln;dem:=0; 0,5
Writeln('Nhung so nguyen to trong mang la');
For i:=1 to n do
If (a[i]>=2) and NT(a[i]) then
Begin 0,5
Write(a[i]:7); dem:= dem+1;
End; 0,5
Writeln; Writeln('so phan tu la so nguyen to trong mang la:',dem) ;
Readln;End. 0,5
Ghi chỳ: Học sinh cú thể khụng sử dụng chương trỡnh con nhưng chạy đỳng
kết quả test vẫn cho điểm tối đa.
Bộ Test thử
N = 6;a[1]=3; a[2]=-12; a[3]=-789; a[4]=71; a[5]=8; a[6]=3456;
Mang sau khi sap xep: -789 -12 3 8 71 3456
Nhung so nguyen to trong mang 3 71
So phan tu la so nguyen to trong mang la: 2
4
File đính kèm:
de_thi_chon_hsg_cap_huyen_tin_hoc_9_nam_hoc_2013_2014_pgd_th.doc



