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 (104.26 KB, 4 trang )
<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>
SỞ GD&ĐT QUẢNG NINH
<b>TRƯỜNG THPT TIÊN YÊN</b> KIM TRA HC Kè IINăm học 2010 2011
Mụn: Tin - Khối 11
Thời gian: 45 phút (Không kể thời gian giao đề)
Họ và tên: ... Lớp: 11... SBD:... Điểm:...
<b>I. TRẮC NGHIỆM: (7 điểm)</b>
Câu 1: Chọn khai báo đúng cho khai báo xâu kí tự có tên là Name chứa tối đa 50 kí tự?
A. Var Name: String(50); B. Var Name: String;
C. Var Name: String[50]; D. Var Name = String[50];
Câu 2: Hãy cho biết kết quả của phép ghép xâu: ‘que ’ + ‘huong’ + ‘toi’ là:
A. que toi huong. B. que huong toi C. quehuongtoi D. que huongtoi
Câu 3: Cho St:= ‘Chao cac ban’ . Kết quả hàm length(St) là:
A. 11 B. 13 C. 10 D. 12
Câu 4: Cho xâu kí tự sau: a:= ‘nguyen du’. Lệnh nào sau đây cho kết quả ‘nguyen ’ :
A. Copy(a,4,2); B. Copy(a,6,5); C. Delete(a,8,2); D. Delete(a,7,3);
Câu 5: Giả sử: st:=’Thuan Hoa’; hàm Pos(‘n’,st); cho kết quả là:
A. 4 B. 3 C. 2 D. 5
Câu 6: Cho xâu a:= ‘nguyen binh’. Lệnh nào sau đây cho kết quả ‘nguyen ’
A. Delete(a,7,4); B. Copy(a,1,7); C. Delete(a,7,5); D. Copy(a,1,6);
A. ‘abdefc’ B. ‘abcdef’ C. ‘abdef’ D. ‘abedfc’
Câu 8: Trong Pascal, để khai báo biến tệp văn bản ta sử dụng cú pháp:
A. var <tên tệp>:text B. var <biến tệp>:text;
C. var <tên tệp>:string; D. var <biến tệp>:string;
Câu 9: Để gán tên tệp cho biến tệp ta sử dụng câu lệnh:
A. <biến tệp>:=<tên tệp> B. <tên tệp>:=<biến tệp>;
C. assign(<biến tệp>,<tên tệp>); D. assign(<tên tệp>,<biến tệp>);
Câu 10: Câu lệnh dùng thủ tục ghi có dạng:
A. Writeln(<biến tệp>, <danh sách kết quả>); B. Writeln(<danh sách kết quả>,(<biến tệp>);
C. Writeln(<biến tệp>); D. Writeln(<danh sách kết quả>);
Câu 11: Muốn khai báo x là tham số giá trị, y, z là tham số biến (x, y, z thuộc kiểu integer) trong thủ
tục có tên là “KDT” thì khai báo nào sau đây đúng?
A. procedure KDT(x, y, z :integer); B. Procedure KDT(var x, y, z :integer) ;
C. procedure KDT(x: integer; var y, z:integer) ;
D. procedure KDT(var x: integer; y, z:integer) ;
Câu 12: Giả sử ta có hàm USCLN(A,B:integer):integer; để tìm ước số chung lớn nhất của A và B. Cần
sử dụng hàm USCLN trên như thế nào để tìm được ước số chung lớn nhất của bốn số A, B, C, D ?
A. USCLN(A,B,C,D); B. USCLN(USCLN(A;B);USCLN(C,D));
C. USCLN(A;B;C;D); D. USCLN(USCLN(USCLN(A,B),C),D);
Câu 13: Trong các chương trình sau đây, chương trình chuẩn nào là thủ tục chuẩn?
A. Sin(x); B. Length(S); C. Sqrt(x); D. Delete(S,5,1)
Câu 14: Xét chương trình sau:
Var a,b:longint;
f:text;
begin
assign(f, ‘A.TXT’); rewrite(f);
a:=12; b:=3;
writeln(f,a, ‘ x ‘,b, ‘ = ‘, a*b);
close(f);
end.
Sau khi thực hiện chương trình, tập tin ‘A.TXT’ có nội dung như thế nào?
A. 36; B. 12 x 3 = 36; C. a x b = 36; D. Tất cả A, B, C đều sai.
<b>II. TỰ LUẬN: (3 điểm)</b>
<b>Bài 1: (1 điểm) Viết hàm ChiaHet(a,b:integer):boolean; để kiểm tra số nguyên a có chia hết </b>
<b>cho số b hay không (hàm trả về giá trị bằng TRUE nếu số nguyên a chia hết cho số b, hàm trả </b>
<b>về giá trị bằng FALSE nếu số nguyên a không chia hết cho b).</b>
<b>Bài 2: (2 điểm) Cho 20 số nguyên được ghi trong tệp văn bản ‘A.INT’, viết chương trình đọc </b>
<b>20 số ngun đó và ghi ra tệp ‘B.OUT’ các phần tử có giá trị dương và tính tổng của chúng.</b>
<b>BÀI LÀM</b>
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Môn: Tin - Khối 11
Thời gian: 45 phút (Không kể thời gian giao đề)
Họ và tên: ... Lớp: 11... SBD:... Điểm:...
<b>I. TRẮC NGHIỆM: (7 điểm)</b>
Câu 1: Chọn khai báo đúng cho khai báo xâu kí tự có tên là Name chứa tối đa 50 kí tự?
A. Var Name: String(50); B. Var Name: String;
<b>C. Var Name: String[50];</b> D. Var Name = String[50];
Câu 2: Hãy cho biết kết quả của phép ghép xâu: ‘que ’ + ‘huong’ + ‘toi’ là:
A. que toi huong. B. que huong toi C. quehuongtoi <b> D. que huongtoi</b>
Câu 3: Cho St:= ‘Chao cac ban’ . Kết quả hàm length(St) là:
A. 11 B. 13 C. 10 <b>D. 12</b>
Câu 4: Cho xâu kí tự sau: a:= ‘nguyen du’. Lệnh nào sau đây cho kết quả ‘nguyen ’ :
A. Copy(a,4,2); B. Copy(a,6,5); <b>C. Delete(a,8,2);</b> D. Delete(a,7,3);
Câu 5: Giả sử: st:=’Thuan Hoa’; hàm Pos(‘n’,st); cho kết quả là:
A. 4 B. 3 C. 2 <b>D. 5</b>
Câu 6: Cho xâu a:= ‘nguyen binh’. Lệnh nào sau đây cho kết quả ‘nguyen ’
A. Delete(a,7,4); B. Copy(a,1,7); C. Delete(a,7,5); D. Copy(a,1,6);
Câu 7: Cho S1:= ‘abc’; S2:= ‘def’. Kết quả thủ tục Insert(S2,S1,3) là:
<b>A. ‘abdefc’</b> B. ‘abcdef’ C. ‘abdef’ D. ‘abedfc’
Câu 8: Trong Pascal, để khai báo biến tệp văn bản ta sử dụng cú pháp:
A. var <tên tệp>:text <b>B. var <biến tệp>:text; </b>
C. var <tên tệp>:string; D. var <biến tệp>:string;
Câu 9: Để gán tên tệp cho biến tệp ta sử dụng câu lệnh:
A. <biến tệp>:=<tên tệp> B. <tên tệp>:=<biến tệp>;
C. assign(<biến tệp>,<tên tệp>); D. assign(<tên tệp>,<biến tệp>);
Câu 10: Câu lệnh dùng thủ tục ghi có dạng:
A. Writeln(<biến tệp>, <danh sách kết quả>); B. Writeln(<danh sách kết quả>,(<biến tệp>);
C. Writeln(<biến tệp>); D. Writeln(<danh sách kết quả>);
Câu 11: Muốn khai báo x là tham số giá trị, y, z là tham số biến (x, y, z thuộc kiểu integer) trong thủ
tục có tên là “KDT” thì khai báo nào sau đây đúng?
A. procedure KDT(x, y, z :integer); B. Procedure KDT(var x, y, z :integer) ;
C. procedure KDT(x: integer; var y, z:integer) ;
D. procedure KDT(var x: integer; y, z:integer) ;
Câu 12: Giả sử ta có hàm USCLN(A,B:integer):integer; để tìm ước số chung lớn nhất của A và B. Cần
sử dụng hàm USCLN trên như thế nào để tìm được ước số chung lớn nhất của bốn số A, B, C, D ?
A. USCLN(A,B,C,D); B. USCLN(USCLN(A;B);USCLN(C,D));
A. Sin(x); B. Length(S); C. Sqrt(x); <b>D. Delete(S,5,1)</b>
Câu 14: Xét chương trình sau:
Var a,b:longint;
begin
assign(f, ‘A.TXT’); rewrite(f);
a:=12; b:=3;
writeln(f,a, ‘ x ‘,b, ‘ = ‘, a*b);
close(f);
end.
Sau khi thực hiện chương trình, tập tin ‘A.TXT’ có nội dung như thế nào?
A. 36; B. 12 x 3 = 36; C. a x b = 36; D. Tất cả A, B, C đều sai.
<b>II. TỰ LUẬN: (3 điểm)</b>
<b>Bài 1: (1 điểm) Viết hàm ChiaHet(a,b:integer):boolean; để kiểm tra số nguyên a có chia hết </b>
<b>cho số b hay không (hàm trả về giá trị bằng TRUE nếu số nguyên a chia hết cho số b, hàm trả </b>
<b>về giá trị bằng FALSE nếu số nguyên a không chia hết cho b).</b>
<b>Bài 2: (2 điểm) Cho 20 số nguyên được ghi trong tệp văn bản ‘A.INT’, viết chương trình đọc </b>
<b>20 số ngun đó và ghi ra tệp ‘B.OUT’ các phần tử có giá trị dương và tính tổng của chúng.</b>
<b>BÀI LÀM</b>
<b>Bài 1:</b>
<b> Function Chihet(a,b:integer):boolean;</b>
<b> Begin</b>
<b> If a mod b = 0 then chiahet:=true else chiahet:=false;</b>
<b> End;</b>
<b>Bài 2:</b>
<b>Program B2;</b>
<b>Var a:array[1..20] of integer;</b>
<b> i, s: integer; f,g:text;</b>
<b>Begin</b>
<b> Assign(f,'e:\A.INT'); reset(f);</b>
<b> Assign(g,'e:\B.OUT'); rewrite(g); s:=0;</b>
<b> For i:=1 to 20 do read(f,a[i]);</b>
<b> write(g,'Cac so duong trong day la:');</b>
<b> For i:=1 to 20 do if a[i] >0 then</b>
<b> begin</b>
<b> write(g,a[i],' ');</b>
<b> s:=s+a[i];</b>
<b> end;</b>
<b> write(g,' Tong cac so duong:',s);</b>
<b> close(f); close(g);</b>