Caû hai baïn ñeàu coù chöông trình maõ hoaù caùc con soá thaønh nhöõng kyù töï vaø ngöôïc laïi giaûi maõ caùc con soá thaønh kyù töï, theo qui ñònh hai baïn seõ chuyeån nhöõng kyù töï m[r]
(1)ĐỀ THI HỌC SINH GIỎI TIN HỌC 9– VÒNG 3
THỜI GIAN: 150 PHÚT NGÀY THI: 13/10/2008
1. Viết chương trình tìm vị trí xuất chuổi S1 chuổi S? (6đ)
Dữ liệu vào:Chuổi s chuổi s1.
Kết ra:Các vị trí tìm thấy s1 s.
Ví dụ:
Input Output
Test 1 ‘aaahocjhochoc’ ‘hoc’
11 Test 2 ‘adddddee’
‘dd’ 5
Tên tập tin:D:\thi\vong3\timchuoi.pas
2. Nhập vào chuổi sau xuất (các)từ dài chuổi? (6Đ)
Dữ liệu vào: Một chuổi.
Kết ra: Các từ dài chuổi. Ví dụ:
Input Output
Test 1 Tran Nguyen dao Nguyen Test 2 Tran quang dao bgggg quang
bgggg
Teân taäp tin:D:\thi\vong3\Tu-max.pas
3. Bờm cuội học sinh giỏi tin học thường liên lạc với thư điện tử (Email) Nhưng thư mà hai bạn gởi cho toàn dãy chữ số liền Cả hai bạn có chương trình mã hố số thành ký tự ngược lại giải mã số thành ký tự, theo qui định hai bạn chuyển ký tự định gởi thành số thứ tự của ký tự bảng mã ASCII (ví dụ : A:65; B:66) từ chữ thường máy chuyển thành chữ hoa rồi mã hố thành số.(ví dụ: aA65, bB66) Sau mã hoá chuyển thư Người nhận có chương trình để giải mã số thành ký tự in hoa (vdụ: 6566326768AB CD). Em viết
a Chương trình (d:\thi\vong3\MAHOA.pas) để mã hoá xâu ký tự thành chữ số
(4Đ)
Ví dụ:
Input Output
Di an che? 68733265783267726963
b Chương trình (d:\thi\vong3\GIAIMA.PAS) để giải mã chuổi số thành ký tự. (4Đ) Ví dụ:
Input Output
79326865853286658963 O dau vay?
(2)ĐÁP ÁN VÒNG -NGÀY THI: 13/10/2008 1 Timchuoi.pas var s,s1:string; begin readln(s); readln(s1);
while pos(s1,s)>0 then begin write(pos(s1,s):4); s[pos(s1,s)]:=chr(1); end; readln; end 2 Tu-max.pas var s,s1:string; a:array[1 128]of string; i,j,max:integer; begin readln(s);
while s[1]=#32 delete(s,1,1);
while s[length(s)]=#32 delete(s,length(s),1); while pos(#32#32,s)>0 delete(s,pos(#32#32,s),1); j:=1;
for i:=1 to length(s) begin
if s[i]<>#32 then a[j]:=a[j]+s[i] else inc(j);
end;
max:=length(a[1]); for i:=1 to j
if length(a[i])>max then max:=length(a[i]); writeln('(cac) tu dai nhat: (co ',max,' ky tu:)'); for i:=1 to j
if length(a[i])=max then writeln(a[i]); readln;
end
3 chuong trinh a Mahoa.pas uses crt; var s:string; i:integer; begin clrscr;
writeln('Nhap chuoi can ma hoa:'); readln(s);
writeln('Ma hoa cac so la:'); for i:=1 to length(s)
begin s[i]:=upcase(s[i]); write(ord(s[i])); end; readln; end b Giaima.pas uses crt; var s,s2:string; ch:char; i,x,d:integer; begin clrscr;
(3)writeln('Giai ma chuoi so tren la:'); while length(s)>0
begin
s2:=copy(s,1,2); {lay moi lan ky tu dau tien} delete(s,1,2); {xoa ky tu da lay di}
val(s2,x,i); {chuyen so x} write(chr(x)); {chuyen ma asscii} end;