De thi Dap an HSG mon Tin tinh Quang Binh 20122013

4 35 0
De thi Dap an HSG mon Tin tinh Quang Binh 20122013

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

Thông tin tài liệu

- Dòng 2: Ghi N số nguyên dương lần lượt là điểm tích lũy của N học sinh, các số được ghi cách nhau ít nhất một dấu cách.. Dữ liệu ra: Ghi ra file văn bản PT.OUT theo cấu trúc như sau: -[r]

(1)Së Gd&§t Qu¶ng b×nh §Ò thi chÝnh thøc Sè B¸o Danh: kú thi CHäN häc sinh giái líp tHCS n¨m häc 2012- 2013 M«n thi: tin häc (Khãa thi ngµy 27 th¸ng n¨m 2013) Thời gian làm bài: 150 phút (không kể thời gian giao đề) (Đề thi gồm có 02 trang) ĐỀ RA Sử dụng ngôn ngữ lập trình Turbo Pascal để lập trình giải các bài toán sau: Câu 1: (3,0 điểm) Phần thưởng PT.PAS Trong thi giải toán qua mạng internet học sinh có số điểm tích lũy riêng mình Số điểm tích lũy học sinh là số nguyên dương K (0 < K ≤ 2´109) Đội tuyển trường THCS Tài Năng có N học sinh tham gia dự thi (2 ≤ N ≤ 100) Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu trưởng định thưởng cho các học sinh đội tuyển Q triệu đồng, biết điểm tích lũy học sinh chia hết cho Q Yêu cầu: Hãy tìm số nguyên dương Q lớn Dữ liệu vào: Cho file văn PT.INP có cấu trúc sau: - Dòng 1: Ghi số nguyên dương N là số lượng học sinh - Dòng 2: Ghi N số nguyên dương là điểm tích lũy N học sinh, các số ghi cách ít dấu cách Dữ liệu ra: Ghi file văn PT.OUT theo cấu trúc sau: - Dòng 1: Ghi số nguyên dương Q tìm Ví dụ: PT.INP PT.OUT 15 24 45 36 27 Thời gian thực chương trình không quá giây cho liệu vào Câu 2: (3,5 điểm) Mật MK.PAS Cu Tí thường xuyên tham gia thi lập trình trên mạng Vì đạt thành tích cao nên Tí gửi tặng phần mềm diệt virus Nhà sản xuất phần mềm cung cấp cho Tí mã số là số nguyên dương N có không quá 255 chữ số Để cài đặt phần mềm, Tí phải nhập vào mật phần mềm Mật là số nguyên dương M tạo cách tính tổng giá trị các chữ số N Yêu cầu: Hãy tìm số nguyên dương M Dữ liệu vào: Cho file văn MK.INP có cấu trúc sau: - Dòng 1: Ghi số nguyên dương N Dữ liệu ra: Ghi file văn MK.OUT theo cấu trúc sau: - Dòng 1: Ghi số nguyên dương M tìm Ví dụ: MK.INP MK.OUT 84915388247 59 (2) Câu 3: (3,5 điểm) Tần suất TS.PAS Cho tập hợp S có N phần tử nguyên dương {s1, s2,…, sN} (1 ≤ N ≤ 32000; < si ≤ 32000; ≤ i ≤ N) Yêu cầu: Hãy liệt kê các phần tử S có số lần xuất lớn lần Dữ liệu vào: Cho file văn TS.INP có cấu trúc sau: - Dòng 1: Ghi số nguyên dương N - Dòng 2: Ghi N số nguyên dương là giá trị các phần tử tập hợp S, các số ghi cách ít dấu cách Dữ liệu ra: Ghi file văn TS.OUT trên nhiều dòng, dòng thứ i ghi số s i di, hai số cách dấu cách Trong đó si là phần tử xuất S lớn lần và di tương ứng là số lần si xuất Ví dụ: TS.INP TS.OUT 5 ==HẾT== Së Gd&§t Qu¶ng b×nh kú thi CHäN häc sinh giái líp THCS n¨m häc 2012 - 2013 m«n: tin häc híng dÉn chÊm I- Phương pháp: - Giám khảo tạo liệu vào, tính toán kết Thực chương trình học sinh và so sánh kết - Giám khảo có thể sử dụng chương trình gợi ý đây để tính toán kết liệu vào - Chương trình học sinh đúng test, giám khảo cho 0.5 điểm Như vậy, câu có điểm thì giám khảo phải tạo test (3) - Đối với câu 1: Giám khảo phải tạo 01 test có N = 100, 01 test có các giá trị K > 65535 và 01 test chấm thời gian thực chương trình học sinh với N=100 và K > 65000´103 - Đối với câu 2: Giám khảo phải tạo 01 test có K > 200 - Đối với câu 3: Giám khảo phải tạo 01 test có N = 32000 II- Chương trình gợi ý: Câu 1: (3,0 điểm) Phần thưởng Program Phan_thuong; Const fi='PT.INP'; fo='PT.OUT'; Type mmc=Array[0 101] of Longint; Var N:Longint; A:mmc; Function UCLN(x,y:Longint):Longint; Var sodu:Word; Begin sodu:=x mod y; While sodu<>0 Begin x:=y; y:=sodu; sodu:=x mod y; End; UCLN:=y; End; Procedure Read_Data; Var f:text; i:Longint; Begin Assign(f,fi); Reset(f); Readln(f,N); For i:=1 to N Read(f,A[i]); Close(f); End; Function USC:Longint; Var f:text; i,mUSC:longint; Begin mUSC:=UCLN(A[1],A[2]); for i:= to N mUSC:=UCLN(mUSC,A[i]); USC:=mUSC; End; Procedure Write_Data; Var f:Text; Begin Assign(f,fo); Rewrite(f); Write(f,USC); Close(f); End; BEGIN Read_Data; Write_Data; End Câu 2: (3,5 điểm) Mật Program Mat_khau; Const fi='MK.INP'; fo='MK.OUT'; A:Array['0' '9'] of Byte = (0,1,2,3,4,5,6,7,8,9); Var N:byte; St:String; Procedure Read_Data; Var f:text; Begin Assign(f,fi); Reset(f); Readln(f,St); Close(f); (4) End; Function Tong:Longint; Var f:text; i,T:Longint; Begin T:=0; For i:=1 to Length(St) T:=T+A[St[i]]; Tong:=T; End; Procedure Write_Data; Var f:Text; Begin Assign(f,fo); Rewrite(f); Write(f,Tong); Close(f); End; BEGIN Read_Data; Write_Data; End Câu 3: (3,5 điểm) Tần suất {$R+} const fi='TS.INP'; fo='TS.INP'; type mmc=array[0 32000] of word; var a:mmc; f:text; n,d:word; i,x:word; Time:Longint;Times:Longint absolute 0:$46C; Begin Time:=Times; Fillchar(A,sizeof(A),0); assign(f,fi); reset(f); readln(f,n); For i:=1 to n Begin read(f,x); a[x]:=a[x]+1; End; close(f); assign(f,fo); rewrite(f); For i:=0 to 32000 if a[i]>1 then writeln(f,i,' ',a[i]); close(f); Writeln((Times-Time)/18.2:0:0); Readln; End (5)

Ngày đăng: 30/06/2021, 00:05

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