Mô tả:
SỞ GD&ĐT NINH BÌNH
HDC ĐỀ THI CHỌN HSG LỚP 9 THCS
Năm học 2012 – 2013
MÔN: Tin học
(Hướng dẫn chấm gồm 03 trang)
I. HƯỚNG DẪN CHUNG
Chấm tự đô ng bằng phần mềm AMM2 với các bô ô test có sẵn trên đĩa CD.
ô
II. ĐÁP ÁN VÀ THANG ĐIỂM
1. Cấu trúc bô ô test và thang điểm
Bài
Test
Bài 1
Gồm 16 bô ô test, mỗi bô ô 0.5 điểm.
Bài 2
Gồm 16 bô ô test, mỗi bô ô 0.5 điểm.
Bài 3
Gồm 16 bô ô test, mỗi bô ô 0.25 điểm.
2. Đáp án
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.
Điểm
8 điểm
8 điểm
4 điểm
Bài 2:
const
tfi='DIV.INP';
tfo='DIV.OUT';
var n: longint;
Trang 1/ 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;
procedure nhap;
Trang 2/ 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);
close(f);
end.
Trang 3/ 3
- Xem thêm -