Tải bản đầy đủ (.docx) (2 trang)

DAP AN DE HSG TIN HOC 9 QB

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 (87.9 KB, 2 trang )

<span class='text_page_counter'>(1)</span>Së Gd&§t Qu¶ng b×nh. kú thi CHäN häc sinh giái líp 9 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 bộ dữ liệu vào, tính toán kết quả. Thực hiện chương trình của học sinh và so sánh kết quả. - Giám khảo có thể sử dụng chương trình gợi ý dưới đây để tính toán kết quả của dữ liệu vào. - Chương trình học sinh đúng một bộ test, giám khảo cho 0.5 điểm. Như vậy, nếu một câu có 3 điểm thì giám khảo phải tạo 6 bộ test. - Đối với câu 1: Giám khảo phải tạo được 01 bộ test có N = 100, 01 bộ test có các giá trị K > 65535 và 01 bộ test chấm được thời gian thực hiện chương trình của 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 được 01 bộ test có K > 200. - Đối với câu 3: Giám khảo phải tạo được 01 bộ 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 do 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 do 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:= 3 to N do 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;.

<span class='text_page_counter'>(2)</span> Write_Data; End.. Câu 2: (3,5 điểm) Mật khẩu. 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); End; Function Tong:Longint; Var f:text; i,T:Longint; Begin T:=0; For i:=1 to Length(St) do 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 do Begin read(f,x); a[x]:=a[x]+1; End; close(f); assign(f,fo); rewrite(f); For i:=0 to 32000 do if a[i]>1 then writeln(f,i,' ',a[i]); close(f); Writeln((Times-Time)/18.2:0:0); Readln; End..

<span class='text_page_counter'>(3)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×