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

Đê+ĐA HSGTin Học 9 huyện Tam Dương 2010-2011

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 (152.27 KB, 5 trang )

UBND HUYỆN TAM DƯƠNG
PHÒNG GD-ĐT
----------
ĐỀ CHÍNH THỨC
ĐỀ THI HỌC SINH GIỎI VÒNG 1
Môn: Tin học 9
Thời gian làm bài: 150 phút
(Không kể thời gian giao đề)
(Lưu ý đề thi có 02 trang)
Ghi chú: Học sinh có thể nhập, xuất dữ liệu từ file văn bản hoặc từ bàn phím
Bài 1: ( 3 điểm ) Tên file bài làm là: bailam1.pas
Với mỗi số tự nhiên N ( 1 ≤ N ≤ 1000). Tìm các số tự nhiên M ≤ N thoả mãn:
+/ M là một số nguyên tố.
+/ Tổng các chữ số của M cũng là một số nguyên tố.
Yêu cầu: Nhập số tự nhiên N (1 ≤ N ≤ 1000). Thông báo số lượng các số tự nhiên M thỏa mãn
các yêu cầu trên, đó là các số nào?
Dữ liệu vào từ file: bailam1.inp
Dòng 1: Số tự nhiên N
Dữ liệu ra file: bailam1.out
Dòng 1: Ghi các số M thỏa mãn yêu cầu
Dòng 2: Số lượng các số tự nhiên M thỏa mãn
Ví dụ:
Dữ liệu vào từ file: bailam1.inp
10
Dữ liệu ra file: bailam1.out
2 3 5 7
4
Bài 2: ( 3 điểm) Tên file bài làm là: bailam2.pas
Dãy số a
1
, a


2
, a
3
, ……, a
n
được định nghĩa như sau:
+ a
1
= m;
+ a
i+1
là số đảo ngược của số a
i
+ k (1 ≤ i ≤ n-1)
Yêu cầu:
1/ Với mỗi bộ 3 số tự nhiên khác 0 là m, k, n được nhập hãy in ra dãy số a
1
, a
2
, a
3
,… , a
n
.
2/ In ra các chỉ số i mà tại đó a
i
= 1.
Dữ liệu vào từ file: bailam2.inp
Dòng 1: Số tự nhiên m, k, n
Dữ liệu ra file: bailam2.out

Dòng 1: Dãy số a
1
, a
2
, a
3
, ……, a
n
.
Dòng 2: chỉ số i mà tại đó a
i
= 1
Ví dụ:
Dữ liệu vào từ file: bailam2.inp
1 4 10
Dữ liệu ra file: bailam2.out
15 9 31 53 75 97 101 501 505
1
Bài 3: ( 2 điểm) Tên file bài làm là: bailam3.pas
Một công ty có nhu cầu cần mua 1 máy chuyên dụng, có N xí nghiệp nhận gia công loại
máy này ( 1≤ N ≤ 20). Với mỗi xí nghiệp thứ i ( 1≤ i ≤ N), thời gian gia công chiếc máy là T[i]
và bán máy với giá C[i]. Yêu cầu:
a/ Liệu công ty có thể mua máy của xí nghiệp nào mà thời gian gia công nhanh nhất và
bán với giá rẻ nhất không ? Nếu có đó là xí nghiệp nào ?
b/ Trong trường hợp không có xí nghiệp nào thỏa mãn cả 2 yêu cầu trên thì công ty ưu
tiên mua của xí nghiệp có thời gian gia công nhanh nhất nhưng với điều kiện giá mua không cao
hơn quá 10% của giá rẻ nhất. Liệu công ty có thực hiện được ý muốn không ? Nếu được thì
thông báo đó là xí nghiệp nào ?
Dữ liệu vào từ file: bailam3.inp
Dòng 1: Số tự nhiên N

Dòng 2: Thời gian gia công của xí nghiệp thứ i
Dòng 3: Giá thành của xí nghiệp thứ i
Dữ liệu ra file: bailam3.out
Dòng 1: Ghi xí nghiệp được chọn, nếu không chọn được xí nghiệp nào thì ghi số 0
Ví dụ:
Ví dụ 1 Ví dụ 2 Ví dụ 3
bailam3.inp 3
5 2 7
4 3 5
4
20 6 5 12.5
15 10 11 13
3
18.5 5 9
9 8.5 4.5
bailam3.out 2 3 0
Bài 4: (2 điểm) Tên file bài làm là: bailam4.pas
Một nhóm gồm N học sinh thực hiện trò chơi loại người ra khỏi vòng tròn. Luật chơi
như sau: N học sinh được đánh số hiệu từ 1 đến N xếp thành vòng tròn và học sinh thứ M bị
loại ra khỏi vòng tròn tính theo chiều kim đồng hồ. Khi một học sinh bị loại khỏi vòng tròn, thì
vòng tròn thu hẹp lại và đếm thứ tự từ học sinh còn lại bên cạnh để xác định học sinh bị loại
tiếp theo, cứ như vậy cho đến khi nào trên vòng tròn chỉ còn một học sinh. Nhập hai số tự nhiên
N, M hãy chỉ ra số hiệu của học sinh còn lại trên vòng tròn.
Dữ liệu vào từ file: bailam4.inp
Dòng 1: Số tự nhiên N, M
Dữ liệu ra file: bailam4.out
Dòng 1: Số hiệu của học sinh còn lại trên vòng tròn
Ví dụ:
Dữ liệu vào từ file: bailam4.inp
10 5

Dữ liệu ra file: bailam4.out
3
-----------------------------o0o-----------------------------------
Cán bộ coi thi không giải thích gì thêm.
UBND HUYỆN TAM DƯƠNG
PHÒNG GD-ĐT
----------
HƯỚNG DẪN CHẤM THI HSG VÒNG 1
Môn: Tin học 9
Thời gian làm bài: 150 phút
Ghi chú: Học sinh có thể nhập, xuất dữ liệu từ file văn bản hoặc từ bàn phím
Bài 1: ( 3 điểm ) bailam1.pas: Mỗi Test đúng: 0.5 điểm
bailam1.inp 15 1 0 1000 1001 7
bailam1.out 2 3 5 7 11
5 0 0
2 3 5…
89 0
2 3 5 7
4
Bài 2: ( 3 điểm) bailam2.pas
Mỗi Test đúng: 0.5 điểm
Bailam2.inp 0 0 0 1 1 1 2 5 7 4 5 50 10 6 24 2 100 50
Bailam2.out 0
0
1
1
2 7 21 62 76 18 32
0
4 1 7 31 73….
2 32

10 61 76…
7
2 201 103…
0
Bài 3: ( 2 điểm) bailam3.pas Mỗi Test đúng: 0.5 điểm
Bailam3.inp 2
1 1
1 1
3
1 2 4
5 6 3
4
15 20.5 7 12
17 16.5 8 10
7
5 7 5.5 9 6 4 6
15 9 7 20 8 7.5 10
Bailam3.out 1
2
0 3 6
Bài 4: (2 điểm) Tên bailam4.pas Mỗi Test đúng: 0.5 điểm
Bailam 4.inp 1 1 15 4 50 56 100 100
Bailam 4.out 1 13 27 22
-----------------------------o0o-----------------------------------
BỘ CHƯƠNG TRÌNH NGUỒN MẪU
(Sử dụng nhập, xuất từ bàn phím)
Program bai1;
Var m,n,i,j,k,d:Longint;
Function nto(n:Longint):Longint;
Var i:Longint;

Begin
d:=0;
For i:=2 to n div 2 do
If N mod i = 0 then Inc(d);
If (d=0)and(n<>1) then nto:=n;
End;
Function Sum(m:Longint):Longint;
Var s:Longint;
Begin
s:=0;
Repeat
s:=s+ m mod 10;
m:= m div 10;
Until m=0;
Sum:=s;
End;
Procedure XULI;
Var n,d:Longint;
Begin
Write(' N= '); Readln(N);
if (n>=1) and (n<=1000) then
begin
d:=0;
For i:= 2 to N do
If (nto(i)=i)and(nto(Sum(i))=Sum(i)) then
Begin
Inc(d);
Write(i:5);
End;
Writeln;

Writeln(' TIM THAY ',d:5,' SO THOA MAN');
End
else write('0');
END;
Begin
XULI;
Readln;
End.
Program bai2;
Var m,n,i,k,d:Longint;
a:Array[1..1000] of longint;
Function dao(n:Longint):Longint;
Var s,i:Longint;
Begin
s:=0;
Repeat
s:=s*10 + n mod 10;
n:=n div 10;
Until n=0;
dao:=s;
End;
Begin
Write('m,k,n'); Readln(m,k,n);
a[1]:=m;
For i:=1 to n-1 do a[i+1]:=dao(a[i]+k);
For i:=1 to n do write(a[i]:5);
Writeln;
Writeln(' CAC VI TRI MA a[i]=1 LA:');
For i:=1 to n do
If a[i]=1 then write(i:5);

Readln;End.
Program Bai3;
Type Mang=array[1..100] of real;
Var n,i,j,k:integer;
t,c:Mang;
min1,min2:real;
Begin
write('Nhap so xi nghiep n= '); Readln(n);
writeln('Nhap thoi gian gia cong va gia thanh:');
for i:=1 to n do
begin
write('t[', i,']='); readln(t[i]);
write('c[', i,']='); readln(c[i]);
End;
min1:=t[1];
For i:=2 to n do
If min1>t[i] then min1:=t[i];
min2:=c[1];
For i:=2 to n do min2:=c[i];
k:=0;
For i:=1 to n do
begin
if (t[i]=min1) and (c[i]=min2) then
begin
inc(k);
writeln(' Lua chon XN thu:',i)
end
else
if (t[i]=min1) and (c[i]<=min2*1.1) then
begin

inc(k);
writeln(' Lua chon XN thu:',i);
end
end;
if k=0 then Writeln(' 0 ');
Readln;
end.
Bai 4
Var m,n,i,j,d,loai:Byte;
a:array[1..100] of 0..1;
Begin
Write(' Nhap so hoc sinh:'); Readln(N);
Write(' Hoc sinh bi loai dau tien: '); Readln(M);
For i:=1 to n do a[i]:=1;
loai:=0; i:=0; d:=0;
Repeat
i:=i mod n + 1;
If (a[i]<>0) and (d<M) then
Begin
inc(d);
if d=M then
Begin
a[i]:=0;
d:=0;
Inc(loai);
End;
End;
Until loai >= N-1;
Writeln(' CON NGUOI THU:');
d:=0;

For i:=1 to N do
If a[i]=1 then
Begin
write(i:5);
Inc(d);
End;
If d=0 then write('0');
Readln;
End.

×