Tải bản đầy đủ (.pdf) (3 trang)

Đáp án HSG tin học lớp 9 Ninh Bình 2012-2013 - Học Toàn Tập

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 (337.6 KB, 3 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Trang 1/ 3


<b>SỞ GD&ĐT NINH BÌNH </b> <b>HDC ĐỀ THI CHỌN HSG LỚP 9 THCS </b>


<b>Năm học 2012 – 2013 </b>
<b>MÔN: Tin học </b>


<i>(Hướng dẫn chấm gồm 03 trang) </i>
<b>I. HƯỚNG DẪN CHUNG </b>


Chấ m tự đô ̣ng bằ ng phần mềm AMM2 với các bô ̣ test có sẵn trên đĩa CD.
<b>II. ĐÁP ÁN VÀ THANG ĐIỂM </b>


<b>1. Cấu tru<sub>́ c bô ̣ test và thang điểm </sub></b>


<b>Ba<sub>̀i </sub></b> <b>Test </b> <b>Điểm </b>


<b>Ba<sub>̀i 1 </sub></b> Gồ m 16 bộ test, mỗi bô ̣ 0.5 điểm. 8 điểm


<b>Ba<sub>̀i 2 </sub></b> Gồ m 16 bộ test, mỗi bô ̣ 0.5 điểm. 8 điểm


<b>Bài 3 </b> Gồ m 16 bộ test, mỗi bô ̣ 0.25 điểm. 4 điểm


<b>2. Đáp án</b>
Bài 1:


Const fi = 'SNT.INP';
Fo = 'SNT.OUT';


var n: longint; f:text; kq: boolean;
function nt(n: longint):boolean;



var i: longint;
begin


if n<2 then exit(false);
if n=2 then exit(true);


for i:=2 to trunc(sqrt(n)) do


if n mod i = 0 then exit(false);
exit(true);


end;
begin


assign(f,fi); reset(f);
readln(f,n);


close(f);
kq:= true;
while n<>0 do
begin


kq:= kq and nt(n);


n:= n div 10;
end;


assign (f,fo); rewrite(f);



if kq then write(f,'1') else write(f,'0');
close(f);


end.
Bài 2:
const


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Trang 2/ 3
a, s: array[0..1001] of longint;


res: longint;


function ok(t: longint): boolean;
var i,u,tong: longint;


begin


tong:=0;


for i:=1 to n do if a[i]<>0 then
begin


tong:=tong+a[i];


if tong=t then tong:=0;
end;


exit(tong=0);
end;



procedure main;


var j,u,i,k,t: longint;
begin


assign(input,tfi); reset(input);
assign(output,tfo); rewrite(output);
read(n);


for i:=1 to n do read(a[i]);
s[0]:=0;


for i:=1 to n do s[i]:=s[i-1]+a[i];


for k:=n downto 1 do if s[n] mod k=0 then
begin


t:=s[n] div k;
if ok(t) then
begin


res:=k;
break;
end;


end;


writeln(res);


close(input); close(output);


end;


BEGIN
main;
END.
Bài 3


const fi='SQUARE.INP';
fo='SQUARE.OUT';
var f:text;


a,nga,doc:array[1..1000,1..1000] of integer;
i,m,n,d,j:longint;


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Trang 3/ 3
var i,j:integer;


begin


assign(f,fi); reset(f);
readln(f,m,n);


for i:=1 to m do
begin


for j:=1 to n-1 do
read(f,nga[i,j]);
readln(f);


end;



for i:=1 to m-1 do
begin


for j:=1 to n do read(f,doc[i,j]);
readln(f);


end;
end;
begin
nhap;
d:=0;


for i:=1 to m-1 do
for j:=1 to n-1 do


if nga[i,j]+nga[i+1,j]+doc[i,j]+doc[i,j+1]=4 then
inc(d);


assign(f,fo); rewrite(f);
write(f,d);


</div>

<!--links-->

×