Tải bản đầy đủ (.doc) (3 trang)

DE + DAP AN THI HSG TIN 9 (THO)

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 (97.42 KB, 3 trang )

ĐỀ 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 các vị trí xuất hiện chuổi S1 trong chuổi S? (6 đ)
Dữ liệu vào: Chuổi s và chuổi s1.
Kết quả ra: Các v ị trí tìm thấy s1 trong s.
Ví dụ:
Input Output
Test 1 ‘aaahocjhochoc’
‘hoc’
4 8 11
Test 2 ‘adddddee’
‘dd’
2 3 4 5
Tên tập tin:D:\thi\vong3\timchuoi.pas
2. Nhập vào một chuổi sau đó xuất ra (các)từ dài nhất trong chuổi? (6Đ)
Dữ liệu vào: Một chuổi.
Kết quả ra: Các từ dài nhất trong chuổi.
Ví dụ:
Input Output
Test 1 Tran Nguyen dao Nguyen
Test 2 Tran quang dao bgggg quang
bgggg
Tên tập tin:D:\thi\vong3\Tu-max.pas
3. Bờm và cuội là 2 học sinh rất giỏi tin học và thường liên lạc với nhau bằng thư điện tử
(Email). Nhưng những bức thư mà hai bạn gởi cho nhau chỉ toàn là dãy những chữ số liền nhau. Cả hai
bạn đều có chương trình mã hoá các con số thành những ký tự và ngược lại giải mã các con số thành
ký tự, theo qui đònh hai bạn sẽ chuyển những ký tự mình đònh gởi thành các con số là thứ tự của ký tự
đó trong 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ã hoá
thành các con số.(ví dụ: aA65, bB66). Sau khi mã hoá sẽ chuyển thư đi. Người nhận có
chương trình để giải mã các con số thành những ký tự in hoa (vdụ: 6566326768AB CD). Em hãy


viết
a. Chương trình 1 (d:\thi\vong3\MAHOA.pas) để mã hoá 1 xâu ký tự thành các chữ số. (4Đ)
Ví dụ:
Input Output
Di an che? 68733265783267726963
b. Chương trình 2 (d:\thi\vong3\GIAIMA.PAS) để giải mã 1 chuổi số thành các ký tự. (4Đ)
Ví dụ:
Input Output
79326865853286658963 O dau vay?
ĐỀ THI CÓ 1 TRANG - HẾT
ÑAÙP AÙN VOØNG 3 -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 do delete(s,1,1);

while s[length(s)]=#32 do delete(s,length(s),1);
while pos(#32#32,s)>0 do delete(s,pos(#32#32,s),1);
j:=1;
for i:=1 to length(s) do
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 do
if length(a[i])>max then max:=length(a[i]);
writeln('(cac) tu dai nhat: (co ',max,' ky tu:)');
for i:=1 to j do
if length(a[i])=max then writeln(a[i]);
readln;
end.
3. 2 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 thanh cac con so la:');
for i:=1 to length(s) do
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;
writeln('Nhap chuoi so mat ma:');
readln(s);
writeln('Giai ma chuoi so tren la:');
while length(s)>0 do
begin
s2:=copy(s,1,2); {lay moi lan 2 ky tu dau tien}
delete(s,1,2); {xoa 2 ky tu da lay di}
val(s2,x,i); {chuyen thanh so x}
write(chr(x)); {chuyen thanh ma asscii}
end;
readln;
end.

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×