Tải bản đầy đủ (.doc) (5 trang)

Đề thi đáp án thi học sinh giỏi tin lớp 9

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (134.06 KB, 5 trang )

PHềNG GIO DCO TO
TRC NINH

THI CHN HC SINH GII NM HC 2009-2010
Mụn: TIN HC Lp 9
Thi gian lm bi: 120 phỳt (khụng k thi gian giao )
ơ

CHNH THC

Lập chơng trình giải các bài toán sau:
Bài 1 (6,0 điểm): Dãy số

Nhập vào một dãy số nguyên, mỗi số nằm trên một dòng
cho đến khi gặp số 0 thì dừng lại (số 0 không đợc tính vào
dãy). Yêu cầu in ra màn hình:
- Số lợng các số thoả mãn trong dãy
- Số lợng các số nguyên dơng
- Số lợng các số là số nguyên tố
- Số lợng các số chia hết cho 3
Ví dụ minh hoạ màn hình thực hiện chơng trình:
Nhap mot day so nguyen vao:
2
3
11
12
6
9
17
-8
2009


0
So cac so thoa man la:9
So cac so nguyen duong la:8
So cac so nguyen to la:4
So cac so chia het cho 3 la:4

Bài 2 (7,0 điểm): Trả tiền
Anh Nam đi chợ mua một mặt hàng có giá trị là N đồng.
Trong túi anh Nam có nhiều tờ tiền với mệnh giá là 50 đồng, 100
đồng và 200 đồng. Anh Nam có thể có nhiều cách trả tiền để
mua mặt hàng đó (anh Nam 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: Cho biết số tiền N (N nguyên và 10<=N<=30000);
đa ra tất cả các cách trả tiền của anh Nam thỏa mãn.
Input: Vo t file vn bn TRATIEN.INP cha duy nht s t nhiờn N
(10<= N<=30000)
Output: Ghi ra file vn bn TRATIEN.OUT nu cú nhiu cỏch thỡ in mi
cỏch trờn mt dũng, nu khụng cú cỏch no thỡ in ra s -1
Ví dụ minh hoạ màn hình thực hiện chơng trình:
TRATIEN.INP

TRATIEN.OUT


200

0
0
2

4

x
x
x
x

50
50
50
50

+
+
+
+

0
2
1
0

x
x
x
x

100
100
100

100

+
+
+
+

1
0
0
0

x
x
x
x

200
200
200
200

Bài 3. ( 7,0 điểm) Mật khẩu
Một nhóm gồm k học sinh góp tiền mua một phần mềm dùng chung. Khi cài
đặt phần mềm này, người sử dụng cần phải nhập vào một mật khẩu Khi biết các
khách hàng của mình là các học sinh say mê tin học, chủ cửa hàng thay vì đưa mật
khẩu đã đưa cho mỗi bạn một con số khác nhau và sau đó nói rằng: Mật khẩu để cài
đặt phần mềm là số nguyên dương nhỏ nhất gồm không quá chín chữ số chia hết
cho bất cứ số nào trong các số tôi đã đưa cho các bạn.
Yêu cầu: Biết tất cả các số mà chủ cửa hàng đã đưa cho các học sinh, hãy

tìm mật khẩu để cài đặt phần mềm.
Input: Vào từ file văn bản MATKHAU.INP. Dòng đầu tiên chứa số học
sinh k (k <20). Dòng thứ hai chứa k số nguyên dương nhỏ hơn 20 mà ông chủ cửa
hàng đã đưa cho các học sinh, hai số liên tiếp cách nhau bởi dấu cách.
Output: Ghi ra file văn bản MATKHAU.OUT mật khẩu tìm được.
Ví dụ về input và output:
MATKHAU.INP
MATKHAU.OUT
3
12
463

Chú ý: Bài 1 đặt tên là DAYSO.PAS
Bài 2 đặt tên là TRATIEN.PAS
Bài 3 đặt tên là MATKHAU.PAS
------ Hết ------


HNG DN CHM
Bài 1: 6,0 điểm
Văn bản chơng trình
- Mỗi Text đúng cho (chạy chơng trình để cho điểm)
2,0 đ
- Đa ra khuôn dạng không đúng yêu cầu trừ
0,5đ
- Thuật toán không tối u trừ
0,5đ
uses crt;
var N,dem,demd,dem3,snt,i:longint;
Nt:boolean;

g:text;
begin
clrscr;
writeln('Nhap mot day so nguyen vao:');
dem:=0;demd:=0;dem3:=0;snt:=0;
repeat
readln(N);inc(dem);
if N>0 then inc(demd);
if N>1 then
begin
Nt:=true;
for i:=2 to trunc(sqrt(N)) do
if N mod i=0 then NT:=False;
if NT then inc(snt);
end;
if N mod 3=0 then inc(dem3);
until N=0;
writeln('So cac so thoa man la:',dem-1);
writeln('So cac so nguyen duong la:',demd);
writeln('So cac so nguyen to la:',snt);
writeln('So cac so chia het cho 3 la:',dem3-1);
readln;
end.

Bài 2: 7,0 điểm
- Mỗi Text đúng cho
- Đa ra khuôn dạng không đúng yêu cầu trừ
0,5đ
- Nếu dùng 3 vòng for trừ
0,5đ

Văn bản chơng trình
Var

N,a,b:Integer;
f,g:text;
kt:boolean;

Begin

assign(f,'tratien.inp');reset(f);
assign(g,'tratien.out');rewrite(g);
read(f,N);
kt:=true;
If N mod 50=0 Then

1,0 đ


For a:=0 to N div 50 do
For b:=0 to (N-50*a) div 100 do
If (N-50*a-100*b) mod 200 = 0 then
begin
Writeln(g,a,' x 50 + ',b,' x 100 + ',(N-50*a-100*b) div 200,' x 200');
kt:=false;
end;
if kt then write(g,-1);
close(f);close(g);
End.

TRATIEN.INP

200

500

1120
1000
10000
20000
30000

Bài 3: 7,0 điểm
- Mỗi Text đúng cho
1,0 đ
- Thuật toán không tối u trừ
0,5đ
Văn bản chơng trình
var f,g:text;
b,a:array[1..19] of Byte;
T,kq,du:longint;
N,i:Byte;
begin
assign(f,'matkhau.inp');reset(f);
assign(g,'matkhau.out');rewrite(g);
readln(f,N);
for i:=1 to N do read(f,a[i]):
kq:=a[1];
for i:=2 to N do
begin
T:=kq*a[i];
du:=kq mod a[i];

while du<>0 do

TRATIEN.OUT
0 x 50 + 0 x 100 + 1 x 200
0 x 50 + 2 x 100 + 0 x 200
2 x 50 + 1 x 100 + 0 x 200
4 x 50 + 0 x 100 + 0 x 200
0 x 50 + 1 x 100 + 2 x 200
0 x 50 + 3 x 100 + 1 x 200
0 x 50 + 5 x 100 + 0 x 200
2 x 50 + 0 x 100 + 2 x 200
2 x 50 + 2 x 100 + 1 x 200
2 x 50 + 4 x 100 + 0 x 200
4 x 50 + 1 x 100 + 1 x 200
4 x 50 + 3 x 100 + 0 x 200
6 x 50 + 0 x 100 + 1 x 200
6 x 50 + 2 x 100 + 0 x 200
8 x 50 + 1 x 100 + 0 x 200
10 x 50 + 0 x 100 + 0 x 200
-1
In ra 36 cach
In ra 2601 cach
In ra 10201 cach
In ra 22801 cach


begin
kq:=a[i];
a[i]:=du;
du:=kq mod a[i];

end;
kq:=T div a[i];
end;
writeln(g,kq);
close(f);close(g);
end.

MATKHAU.INP
3
463
5
15 16 17 18 19
5
9 10 11 12 13
10
1 2 3 4 5 6 7 8 9 10
10
10 11 12 13 14 15 16 17 18 19
15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

MATKHAU.OUT
12
232560
25740
2520
232792560
360360

232792560



×