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

Dinh Thi Minh Hang

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 (186.87 KB, 5 trang )

ĐỀ THI HỌC SINH GIỎI TIN HỌC 9 – VỊNG LOẠI
NGÀY THI: 25/12/2010 - THỜI GIAN: 150 PHÚT
HỌ VÀ TÊN HỌC SINH: §INH THÞ MINH H»NG…………………………………
I. PHẦN TRẮC NGHIỆM: (10điểm)
Câu 1: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i
phải được khai báo là kiểu dữ liệu gì?
A. Interger; B. real; C. string; D. Tất cả các kiểu trên đều được
Câu 2: Hµm copy(‘Thoi_khoa_bieu’, 6,3) tr¶ vỊ gi¸ trÞ:
A. ‘khoa’ B. ‘tho’ C. ‘hoi’ D. ‘kho’
Câu 3: Nếu A là biến xâu; B là biến kiểu mảng. Lệnh nào sau đây đúng:
A. Readln(A, B); B. Readln(B); C. Readln(A); D. Tất cả đều sai;
Câu 4: Khai báo nào sau đây đúng:
A. Type s=string(10); B. type st=tring{10};
C. Type st=string10; D. Type st = string[10];
Câu 5: St:=’Dai_hoc_tap_trung'. Thđ tơc Delete(st,1,4), st cho kÕt qu¶ là:
A. ‘hoc_tap_trung’ B. ‘tap_trung’ C. ‘Dai_hoc’ D. ‘Dai_tap_trung’
Câu 6: Hµm length(‘Cai_cach_hanh_hinh_nha_nuoc’) mod 3 tr¶ vỊ gi¸ trÞ:
A. 1 B. 0 C. 3 D. 2
Câu 7: X©u ký tù st:=’Nguyen_Trai_highschool’ th× st[2]+st[14] cho kÕt qu¶:
A. ‘gi’ B. ‘Ng’ C. ‘gl’ D. ‘go’
Câu 8: Để tham chiếu đến phần tử có chỉ số i trong biến mảng một chiều B. Ta viết:
A. B{i} B. B(i) C. B[i] D. B.i
Câu 9: Một biến kiểu xâu có thể nhận số kí tự tối đa:
A. 255 B. 225 C. 127 D. 256
Câu 10: Khai b¸o nµo sau ®©y lµ ®óng
A. Var B: array[1…20] of integer; B. Var M: array[1:10] of real;
C. Var A: array[1..20] of real; D. Var C: array[1.20] of real;
II. TỰ LUẬN: (20Đ)
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:\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:\TUMAX.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:\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:\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Ó 2 TRANG - HẾT
(L ưu ý: Học sinh làm bài vào ngay đề thi này)
BÀI LÀM
I. Trắc nghiệm:
Câu
1 2 3 4 5 6 7 8 9 10
Đáp án
A D C D A B A C B C
II. Tự luận:
Bài 1: PROGRAM TIM_CHUOI;
VAR S1,S:STRING;
N:INTEGER;
BEGIN
WRITE('NHAP XAU S1:');READLN(S1);
WRITE('NHAP XAU CON S CAN KIEM TRA:');READLN(S);
REPEAT
N:=POS(S,S1);
BEGIN
IF N<>0 THEN BEGIN WRITE(N,' ');
S1[N]:='#';
END
ELSE WRITE('XAU CON KO XUAT HIEN');
END;
UNTIL N=0;
READLN;
END.
Bài 3a: PROGRAM MA_HOA;

VAR S,s1:STRING;
I,J,n:byte;
BEGIN
WRITE('NHAP XAU CAN MA HOA:');READLN(S);
FOR I:=1 TO LENGTH(S) DO
IF (S[I]>='a') AND (S[I]<='z') THEN S[I]:=UPCASE(S[I]);I:=0;
FOR I:=1 TO LENGTH(S) DO
WRITE(ORD(S[I])); I:=0;
{IF (S[I]>='1') AND (S[I]<='9') THEN
n:=pos(32,s);s[n]:=#32;
repeat
if (s[i]:=1)and(s[i+1]<=4) and(s[i+2]<=9) then s1:=s[i]+s[i+1]+s[i+2]
FOR I:=1 TO LENGTH(S) DO
FOR J:=97 TO 149 DO if j<123 then j:=j+32;
IF S[I]=J THEN WRITE(ORD(J)); }
READLN;
END.
ĐIỂM:
I. Trắc nghiệm: 9/10đ
II. Tự luận:
Bài 1: Timchuoi 5/6đ
Bài 2: Tumax 0/6đ
Bài 3:
a/ Mahoa 3/4đ
b/ Giaima 0/4đ
Tổng điểm: 17/30đ
* Nhận xét:
- Bài trình bày có tính cấu trúc, song cần rõ ràng hơn nữa.
- Đã làm được 9/10 câu trắc nghiệm, có ý tưởng trong bài 1 (timchuoi).
- Bài 1 cần xem lại trường hợp “xâu con không xuất hiện”

- Bài 3a đã làm được nhưng trình bày chưa tốt (cần xoá những phần không cần thiết).
- Tham khảo đáp án ở trang sau.
ÑAÙP AÙN VOØNG LOAÏI -NGÀY THI: 25/12/2010
I. Trắc nghiệm:
Câu
1 2 3 4 5 6 7 8 9 10
Đáp án
A D C D A B A C A C
II. Tự luận:
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
×