B, Hudng dan ch$m phiin viet chuung trinh va thuat toan.[r]
Trang 1S& GD - DT LAO CAI
D$ THI CHINH THOC
KV THI HOC SINH GIOI CAP T ~ N H
L ~ P 12 NAM HOC : 2007-2008
~ N DAN G C H ~ I - M ~ N : Tin hoe
( Hu6ng ddn chc4m gdm 2 trang )
A, TEST: Ph$n thi l$p trhh
CSlu 1: ( 7 di6m )
Did
m
1
1
1
1
1
1
1
Output DAYSO.0UT
a So tu trong xau st: 4
b Ky tu c xuat hien 2 lan, vi tri xuat hien dau tien 7
c Co 1 tu duoc bat dau boi ky tu t hoac ky a T
d Ki tu N xuat hien nhieu nhat 3
a So tu trong xau st: 8
b Ky tu c xuat hien 1 lan, vi tri xuat hien dau tien 17
c Khong co tu nao duoc bat dau boi ky tu t hoac ky tu T
d Ki tu A xuat hien nhieu nhat 4
a So tu trong xau st: 6
b Ky tu c xuat hien 2 Ian, vi tri xuat hien dau tien 3
c Co 1 tu duoc bat dau boi ky tu t hoac ky tu T
d Ki tu H xuat hien nhieu nhat 3
a So tu trong xau st: 7
b Ky tu c xuat hien 1 lan, vi tri xuat hien dau tien 16
c Co 3 tu duoc bat dau boi ky tu t hoac ky tu T
d Ki tu 0 xuat hien nhieu nhat 5
a So tu trong xau st: 3
b Ky tu c khong xuat hien trong xau
c Khong co tu nao duoc bat dau boi ky tu t hoac ky tu T
d Ki tu N xuat hien nhieu nhat 4
a So tu trong xau st: 3
b Ky tu c khong xuat hien trong xau
c Co 1 tu duoc bat dau boi ky tu t hoac ky tu T
d Ki tu A xuat hien nhieu nhat 3
a So tu trong xau st: 4
b Ky tu c khong xuat hien trong xau
c Co 1 tuduocbatdauboi kytu thoac kytuT
d Ki tu N xuat hien nhieu nhat 5
Test
1
2
3
4
5
6
7
Input DAYSO.INP
chu nghia
Narn
Doc lap tu do hanh
phuc
truong trung hoc
pho thong so 1
nguyen van an
tran ba hoang
nguyen thi hang
nhung
Trang 2C l u 2: ( 7 di&m ) DCTANG.PAS
C l u 3:( 6 diim ) MUAVE-PAS
Test
1
3
6
7
Output DAYCON.OUT Day con tang lon nhat gom 4 pt: 1 2
3 4 Day con tang lon nhat gom 2 pt: 23 31
Day con tang lon nhat gom 3 pt: 23 65
76
Day con tang lon nhat gom 0 pt:
-
Day con tang lon nhat gom 3 pt: 5 6
7 Day con tang lon nhat gom 6 pt: 1 6
7 8 9 23
Day con tang Lon nhat gom 5 pt: 2 3
4 5 6
Input DAYCON.I[NP
7
4 2 1 2 3 4 1
4
233121209
10
965213423657643
24 27
5
2 2 2 2 2
8
4321 5 6 7 2 2 3
15
2 3 4 5 6 1 6 7 8 9 2 3 4 5
3 3
13
2 3 4 5 6 1 6 7 8 9 5 3 3
Test
1
2
3
4
5
6
Di6
m
1
1
1
Input
Luoi.inp
5
4
3 5 1 7
6 7 1
7
12 3 4 12 5 6 3 3
4 5 6
10 6
6
34 54 23 12 4 3
21 23 45 3 1 13
2
3 8
6
Output
Luoi.out
17
2 4
7
2 4
22
2 7
10
3
63
2
6
2
Didm
1
1
1
1
1
1
Trang 3B, Hudng dan ch$m phiin viet chuung trinh va thuat toan ( gbm 4 trang )
Hudng d&n chung
Thu& t d n hqp 19: 1 didm
Khai Mo bign, h h g hqp 19: 0.5 didm
Khai biio d c chucmg trinh con hqp 19: 0.5 didm
EM cuc chucmg trinh h q ~ 19: 0.5 didm
C l u 1 ( 2.5 diem )
program bail;
uses crt;
Const
fi='c:\xau.inp' ;
fo='c:\xau.outl;
var
st: string;
d: array[1 100] of integer;
f,fl:text;
{ - - - - - doc du lieu - I
Procedure nhap;
Var i,dem j,k,t,dl,d2,il:integer;
ch:char;
vt:array[l SO] of integer;
luu: string;
Begin
assign(f,fi);
reset(f);
assign(fl,fo);
rewrite(f1);
read(f,st);
Writeln(' Xau st: ',st);
{ - dem tu -I
st := ' ' + st;
dem := 0;
for i := 1 to length(st) do
if (st[i] = ' ') and (st[i+l] o ' ') then dem := dem + 1;
Writeln(fl,' a So tu trong xau st: ',dem);
{ - - - kiem tra ky tu c -I
delete(st,l,l);
il:= 0; dl:=O;
for i := 1 to length(st) do
if st[i] = 'c' then
Begin
inc(d1);
inc(i1);
vt[il] := i;
end;
if d l > 0 then
Writeln(f1,' b Ky tu c xuat hien ',dl, ' lan, vi tri xuat hien dau tien ',vt[l])
else
Writeln(f1,' b Ky tu c khong xuat hien trong xau');
d2 :=O; st := ' ' + st;
for i := 1 to length(st) do
if ((st[i] = ' ') and (st[i+ll = 't')) or ((st[i] = ' ' ) and (st[i+l] = IT1)) then
inc(d2);
Trang 4if d2 > 0 then
Writeln(f1,' c Co ',d2,' tu duoc bat dau boi ky tu t hoac ky tu T') else
{ - dem ki tu xuat hien nhieu nhat trong xau -I
k:=O; j:= 0;
for ch := 'A' to '2' do
begin
for i := 1 to length(st) do
if upcase(st[i]) = ch then inc(k);
if j < k then
begin
j := k;
luu := ch;
end;
k := 0;
end;
W r i t ! ~ 1 1 l h ' , h l l , h m ~ ~ ' & - -
Close(f);
Close(f1);
End;
{ - - - - - - - 1
BEGIN
clrscr ;
nhap;
readln;
END
C i u 2 ( 2.5 di&m ) DAYCT.PAS
uses crt ;
Const fi = 'c:\dayso.inpt;
fo = 'c:\dayso.out';
type mang = array[l 50] of longint;
n:integer ;
f,fl:text ;
{ - - - - - - - nhap du lieu -
p r o c e d u S ~ n p u t ; - - -
var i:integer ;
begin
as&!!n(f,fi) ;
reset(f) ;
Writeln('Doc day so:');
readln(f,n) ;
for i:=l to n do
begin
read(f,a[i]) ;
write(a[i],' ');
end;
close(f) ;
Trang 5end;
{ - x u ly - 1
procedure daytang;
Var i j,dem,max,vtl,vt2:integer;
Begin
dem := 1; max := 0;
for i := 1 to n-1 do
if a[i]ca[i+l] then
begin
j := i;
while (au] c alj+l]) and (j <= n) do
Begin
inc(dem);
inc(j);
end;
if max c dem then
Begin
max := dem;
vtl:= i;
vt2:= j;
end;
dem := 1;
end;
Writeln;
Write(' Day con tang Ion nhat gom: ',max,' phan tu: '); for i := vtl to vt2 do
Write(a[i]:4);
{ - - - Ghi file }
assign(f1,fo) ;
Rewrite(f1) ;
Writeln;
Write(f1,'Day con tang Ion nhat gom ',max,' pt:'); for i := vtl to vt2 do
Write(fl,a[i]:4);
Close(f1);
end;
begin
clrscr ;
input;
daytang;
readln ;
end
Cilu 3 (2.5 di6m)
Program muave;
Uses crt;
const inp='c:huave.inp1;
out= 'c:\muave.out';
max = 100;
Var f,t,R: Array[O max+l] of Integer;
pass:Array[O max+l] of Boolean;
N:integer;
Trang 6( - - - - - - - - Input - 1
Procedure nhap;
Var i:integer;
fl:text;
Begin
Assign(fl,inp);
Reset(fi) ;
Readln(fi,N);
for i := 1 to N do
Read(fl,t[il);
for i := 1 to N - 1 do
Read(fl,R[i]);
close(fl);
End;
{ - - - - - x u ly - 1
Procedure Solve;
Var i : integer;
Begin
R[O]:= 0 ;
no] := 0;
fCl] := T[1];
Fillc har (pass,sizeof(pass),O); For i := 2 to n do
if fli-2]+ R[i-11 c T[i] + fli-11 then Begin
pass[i] := True;
pass[i-1] := False;
f[i] := fli-21 + R[i-11
end
Else
fCi] := T[i] + fCi-11;
end;
( -.-xuat -. 1
Procedure xuat;
Var
i:integer;
fo:text;
begin
Assign(fo,out);
Rewrite(f0);
Writeln(fo,f[N]);
For i := 1 to N do
if pass[i] then Write(fo,i,' ');
close(f0);
End;
{ - - - - - - - - 1
Begin
Clrscr ;
nhap;
Solve;
xuat;
readln ;
end