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[r]
(1)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 nhập, xuất liệu từ file văn từ bàn phím
Bài 1: ( điểm ) Tên file làm là: bailam1.pas
Với số tự nhiên N ( N 1000) Tìm số tự nhiên M N thoả mãn:
+/ M số nguyên tố.
+/ Tổng chữ số M 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 số tự nhiên M thỏa
mãn yêu cầu trên, số nào?
Dữ liệu vào từ file: bailam1.inp
Dòng 1: Số tự nhiên N
Dữ liệu file: bailam1.out
Dòng 1: Ghi số M thỏa mãn yêu cầu
Dòng 2: Số lượng số tự nhiên M thỏa mãn
Ví dụ:
Dữ liệu vào từ file: bailam1.inp
10
Dữ liệu file: bailam1.out
2 7
4
Bài 2: ( điểm) Tên file làm là: bailam2.pas
Dãy số a
1, a
2, a
3, ……, a
nđịnh nghĩa sau:
+ a
1= m;
+ a
i+1số đảo ngược số a
i+ k (1 i n-1)
Yêu cầu:
1/ Với số tự nhiên khác m, k, n nhập in dãy số a
1, a
2, a
3,… , a
n.
2/ In số i mà 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 file: bailam2.out
Dòng 1: Dãy số a
1, a
2, a
3, ……, a
n.
Dòng 2: số i mà a
i= 1
Ví dụ:
Dữ liệu vào từ file: bailam2.inp
1 10
(2)Bài 3: ( điểm) Tên file làm là: bailam3.pas
Một cơng ty có nhu cầu cần mua máy chun dụng, có N xí nghiệp nhận gia công
loại máy ( 1 N 20) Với xí nghiệp thứ i ( 1 i N), thời gian gia công máy
là T[i] bán máy với giá C[i] Yêu cầu:
a/ Liệu cơng ty mua máy xí nghiệp mà thời gian gia công nhanh và
bán với giá rẻ khơng ? Nếu có xí nghiệp ?
b/ Trong trường hợp khơng có xí nghiệp thỏa mãn u cầu cơng ty ưu
tiên mua xí nghiệp có thời gian gia cơng nhanh với điều kiện giá mua không
cao 10% giá rẻ Liệu cơng ty có thực ý muốn khơng ? Nếu được
thì thơng báo xí nghiệp ?
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 xí nghiệp thứ i
Dịng 3: Giá thành xí nghiệp thứ i
Dữ liệu file: bailam3.out
Dịng 1: Ghi xí nghiệp chọn, khơng chọn xí nghiệp ghi số 0
Ví dụ:
Ví dụ 1
Ví dụ 2
Ví dụ 3
bailam3.inp
3
5 7
4 5
4
20 12.5
15 10 11 13
3
18.5 9
9 8.5 4.5
bailam3.out
2
3
0
Bài 4: (2 điểm) Tên file làm là: bailam4.pas
Một nhóm gồm N học sinh thực trò chơi loại người khỏi vòng tròn Luật chơi
như sau: N học sinh đánh số hiệu từ đến N xếp thành vòng tròn học sinh thứ M bị
loại khỏi vịng trịn tính theo chiều kim đồng hồ Khi học sinh bị loại khỏi vịng trịn,
thì vịng trịn thu hẹp lại đếm thứ tự từ học sinh lại bên cạnh để xác định học sinh bị
loại tiếp theo, vòng tròn học sinh Nhập hai số tự
nhiên N, M số hiệu học sinh lại 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 file: bailam4.out
Dòng 1: Số hiệu học sinh cịn lại vịng trịn
Ví dụ:
Dữ liệu vào từ file: bailam4.inp
10 5
Dữ liệu file: bailam4.out
3
(3)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 nhập, xuất liệu từ file văn từ bàn phím
Bài 1: ( điểm ) bailam1.pas: Mỗi Test đúng: 0.5 điểm
bailam1.inp
15
1
0
1000
1001
7
bailam1.out
2 11
5
0
0
2 5…
89
0
2 7
4
Bài 2: ( điểm) bailam2.pas
Mỗi Test đúng: 0.5 điểm
Bailam2.inp
0 0
1 1
2 7
4 50
10 24
2 100 50
Bailam2.out
0
0
1
1
2 21 62 76 18 32
0
4 31 73….
2 32
10 61 76…
7
2 201 103…
0
Bài 3: ( điểm) bailam3.pas
Mỗi Test đúng: 0.5 điểm
Bailam3.inp
2
1 1
1 1
3
1 4
5 3
4
15 20.5 12
17 16.5 10
7
5 5.5 6
15 20 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
(4)-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
If N mod i = 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:= to N
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 a[i+1]:=dao(a[i]+k); For i:=1 to n write(a[i]:5);
Writeln;
Writeln(' CAC VI TRI MA a[i]=1 LA:'); For i:=1 to n
(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
begin
write('t[', i,']='); readln(t[i]); write('c[', i,']='); readln(c[i]); End;
min1:=t[1]; For i:=2 to n
If min1>t[i] then min1:=t[i]; min2:=c[1];
For i:=2 to n min2:=c[i]; k:=0;
For i:=1 to n 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(' '); Readln;
end
Bai 4
Var m,n,i,j,d,loai:Byte; a:array[1 100] of 1; Begin
Write(' Nhap so hoc sinh:'); Readln(N);
Write(' Hoc sinh bi loai dau tien: '); Readln(M); For i:=1 to n 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 If a[i]=1 then Begin
write(i:5); Inc(d); End;
If d=0 then write('0'); Readln;