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
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);
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;
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);