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ố a1, a2, a3, ……, an định nghĩa sau:
+ a1= m;
+ ai+1 số đảo ngược số ai + 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ố a1, a2, a3,… , an.
2/ In số i mà ai = 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ố a1, a2, a3, ……, an.
Dòng 2: số i mà ai = 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.pasMỗ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;