Đề thi+đa học sinh giỏi tin 9 vòng 1 Tam Dương VP

5 635 3
Đề thi+đa học sinh giỏi tin  9 vòng 1  Tam Dương VP

Đang tải... (xem toàn văn)

Thông tin tài liệu

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. . Bailam2.inp 0 0 0 1 1 1 2 5 7 4 5 50 10 6 24 2 10 0 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 2 01 103… 0 Bài 3: ( 2 điểm). đú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)

Ngày đăng: 10/11/2013, 11:11

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan