Thông tin tài liệu
Së GI¸O DôC Vµ §µO T¹O
QU¶NG B×NH
§Ò chÝnh thøc
SBD
kú thi CHäN häc sinh giái líp 11
n¨m häc 2008-2009
m«n: tin häc – KHèI kh«ng CHUY£N
Thêi gian 180 phót, kh«ng kÓ thêi gian giao ®Ò
®Ò ra
Sö dông ng«n ng÷ lËp tr×nh Pascal ®Ó lËp tr×nh gi¶i c¸c bµi to¸n sau:
C©u 1 (3,0 ®iÓm): TÝnh tæng gi¸ trÞ c¸c ch÷ sè
TONG.PAS
Cho mét sè nguyªn d¬ng N.
Yªu cÇu: H·y tÝnh tæng gi¸ trÞ c¸c ch÷ sè cña N.
D÷ liÖu vµo: Cho trong file v¨n b¶n TONG.INP cã cÊu tróc nh sau:
- Dßng 1: Ghi sè nguyªn d¬ng N (10 < N < 109).
D÷ liÖu ra: Ghi ra file v¨n b¶n TONG.OUT theo cÊu tróc nh sau:
- Dßng 1: Ghi ra tæng gi¸ trÞ c¸c ch÷ sè cña N.
VÝ dô:
TONG.INP
TONG.OUT
13
4
C©u 2 (3,5 ®iÓm): T×m kÝ tù
KITU.PAS
Cho mét x©u St gåm c¸c kÝ tù tõ 'a' ... 'z' cã ®é dµi tèi ®a kh«ng qu¸ 255 kÝ tù.
Yªu cÇu: H·y t×m tÊt c¶ c¸c kÝ tù xuÊt hiÖn trong x©u St Ýt nhÊt hai lÇn.
D÷ liÖu vµo: Cho trong file v¨n b¶n KITU.INP cã cÊu tróc nh sau:
- Dßng 1: Ghi c¸c kÝ tù cña x©u St, c¸c kÝ tù ®îc viÕt liÒn nhau.
D÷ liÖu ra: Ghi ra file v¨n b¶n KITU.OUT theo cÊu tróc nh sau:
- Dßng 1: NÕu kh«ng t×m ®îc kÝ tù tháa m·n yªu cÇu th× ghi sè -1. Ngîc l¹i th× ghi c¸c kÝ tù t×m ®îc theo thø tù t¨ng dÇn cña m· ASCII, c¸c kÝ tù ghi liÒn nhau.
VÝ dô:
KITU.INP
KITU.OUT
KITU.INP
KITU.OUT
hchcsucaaf
ach
hkcsuaf
-1
C©u 3 (3,5 điểm): Sắp xÕp d·y số gi¶m dÇn
SXDS.PAS
Cho d·y sè gåm N phÇn tö cã gi¸ trÞ nguyªn d¬ng a1, a2, ..., aN
Yªu cÇu: H·y s¾p xÕp d·y sè theo thø tù gi¶m dÇn.
D÷ liÖu vµo: Cho trong file v¨n b¶n SXDS.INP cã cÊu tróc nh sau:
- Dßng 1: Ghi sè nguyªn d¬ng N (1 ≤ N ≤ 32000).
- Dßng 2: Ghi N sè nguyªn d¬ng xi lµ gi¸ trÞ cña c¸c phÇn tö trong d·y. C¸c sè ®îc ghi c¸ch nhau
Ýt nhÊt mét dÊu c¸ch (0 < xi ≤ 16000; 1 ≤ i ≤ N).
D÷ liÖu ra: Ghi ra file v¨n b¶n SXDS.OUT theo cÊu tróc nh sau:
- Dßng 1: Ghi N sè nguyªn d¬ng lµ gi¸ trÞ cña N phÇn tö trong d·y sau khi ®· s¾p xÕp. C¸c sè ®îc
ghi c¸ch nhau Ýt nhÊt mét dÊu c¸ch.
Giíi h¹n thêi gian thùc hiÖn ch¬ng tr×nh kh«ng qu¸ 0,5 gi©y ®èi víi mét bé d÷ liÖu vµo. Trong ®ã
cã 85% bé d÷ liÖu vµo cã gi¸ trÞ cña N> 16000.
VÝ dô:
SXDS.INP
SXDS.OUT
7
16000 10 9 6 2 2 1
6 9 2 10 2 16000 1
Së GI¸O DôC Vµ §µO T¹O
QU¶NG B×NH
Híng dÉn chÊm
==== HÕt ====
kú thi CHäN häc sinh giái líp 11
n¨m häc 2008-2009
m«n: tin häc – KHèI kh«ng CHUY£N
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.
1
- 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 bµi
cã 3 ®iÓm th× gi¸m kh¶o ph¶i t¹o 6 bé test.
- §èi víi c©u 3: Giíi h¹n thêi gian thùc hiÖn ch¬ng tr×nh kh«ng qu¸ 0,5 gi©y ®èi víi
mét bé d÷ liÖu vµo. Trong ®ã cã 85% bé d÷ liÖu vµo cã gi¸ trÞ cña N> 16000.
II- Ch¬ng tr×nh gîi ý:
C©u 1 (3,0 ®iÓm): TÝnh tæng gi¸ trÞ c¸c ch÷ sè
Program tongcs;
Const
fi='Tong.inp';
fo='Tong.out';
Var N:Longint;
Procedure Doc;
Var f:Text;
Begin
Assign(f,fi);
Reset(f);
Readln(f,N);
Close(f);
End;
Function Tong:Longint;
Var T:Longint;
Begin
T:=0;
While N > 0 do
Begin
T:=T+N mod 10;
N:= N Div 10;
End;
Tong:=T;
End;
Procedure Ghi;
Var f:Text;
Begin
Assign(f,fo);
ReWrite(f);
Write(f,tong);
Close(f);
End;
BEGIN
Doc; Ghi;
END.
C©u 2 (3,5 ®iÓm): T×m kÝ tù
Program Tim_ki_tu;
Const
fi='Kitu.inp';
fo='Kitu.out';
Type
mmc=Array['a'..'z'] of Byte;
Var A:mmc;
St:String;
f:text;
Procedure Doc;
begin
assign(f,fi);
reset(f);
readln(f,st);
close(f);
end;
procedure xl;
var i:byte;
begin
fillchar(a,sizeof(a),0);
for i:=1 to length(st) do a[st[i]]:=a[st[i]] +1;
end;
procedure xuat;
var ch:char; kt:boolean;
begin
assign(f,fo);
rewrite(f);
kt:=false;
for ch:='a' to 'z' do
2
if a[ch]>=2 then
begin
kt:=true;
write(f,ch);
end;
if kt=false then write(f,-1);
close(f);
end;
Begin
doc;xl;xuat;End.
C©u 3 (3,5 ®iÓm): S¾p xÕp d·y sè gi¶m dÇn
Program Sap_xep_day_so;
Const fi='SXDS.inp';
fo='SXDS.out';
MaxN=16000;
Type mmc = Array[1..MaxN] of word;
Var
A:mmc;
N:word;
Procedure Doc;
Var f:Text;
i,so:word;
Begin
Fillchar(A,sizeof(A),0);
Assign(f,fi);
Reset(f);
Readln(f,N);
For i:=1 to N do
Begin
Read(f,so);
A[so]:= A[so] + 1;
End;
Close(f);
End;
Procedure Ghi;
Var i,j:Word;
f:Text;
Begin
Assign(f,fo);
Rewrite(f);
For i:=maxn downto 1 do
For j:=1 to A[i] do Write(f,i,' ');
Close(f);
End;
BEGIN
Doc; Ghi;
END.
3
... Chơng trình học sinh test, giám khảo cho 0,5 điểm Nh vậy, có điểm giám khảo phải tạo test - Đối với câu 3: Giới hạn thời gian thực chơng trình không 0,5 giây liệu vào Trong có 85% liệu vào có giá
Ngày đăng: 13/10/2015, 16:15
Xem thêm: Download đề và đáp án thi học sinh giỏi môn tin học lớp 11 2008 2009 tỉnh quảng bình (khối không chuyên) , Download đề và đáp án thi học sinh giỏi môn tin học lớp 11 2008 2009 tỉnh quảng bình (khối không chuyên)