SỞ GD - ĐT NINH THUẬN TRƯỜNG THPT TRƯỜNG CHINH
ĐỀ KIỂM TRA HỌC KÌ II LỚP 11 NĂM HỌC: 2012- 2013 Môn: TIN HỌC Thời gian làm bài: 45 phút (Không kể thời gian phát, chép đề)
MÃ ĐỀ: 103
NỘI DUNG ĐỀ: (Gồm 30 câu_4 trang, mỗi câu 1/3 điểm)
Câu 1: Chương trình sau, biến nào là biến toàn cục?
i:=a; a:=b; b:=i;
Program test; var x,y: integer; procedure hoandoi(var a,b:integer); var i:integer; begin end; Begin x:= 5; y:=11; hoandoi(x,y); Writeln('x=',x,' y=',y); End.
A. x, i, b B. x,y C. i D. a, b
Câu 2: Để gán tệp data.inp đã lưu trên ổ đĩa D cho biến tệp f ta sử dụng câu lệnh:
A. assign(‘D:\data.inp’, f ); C. assign(f, ‘D:\data.inp’); B. assign(f, D:\data.inp); D. assign(‘f ’, ‘D:\data.inp’);
Câu 3: Xác định biểu thức cho giá trị đúng (true) trong các biểu thức sau đây.
‘Ninh thuan que toi’ < ‘Ninh thuan’ ‘Anh’ > ‘Em’ ‘Truong chinh’ = ‘TRUONG CHINH’ ‘Tin hoc’ > ‘Tien hoc le – Hau hoc van’ A. C. B. D.
Câu 4: Đoạn lệnh nào sau đây tính tổng các số lẻ trong dãy gồm n số nguyên?
A. S:=0; for i:=1 to n do if A[i] mod 2=1 then s:=s+a[i]; B. S:=0; for i:=1 to n do if A[i] mod 2=0 then s:=s+a[i]; C. S:=0; for i:=1 to n do if i mod 2=0 then s:=s+i; D. S:=0; for i:=1 to n do if i mod 2=0 then s:=s+a[i];
Câu 5: Trong Pascal, để khai báo một xâu có độ dài không quá 40 kí tự khai báo thế nào? B. Var S:[40]string; A. Var S[40]:string; C. Var s:string; D. Var S:string[40];
Câu 6: Hàm nào sau đây cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2?
Insert(s1, s2); A. Pos(s1, s2, vt); B. C. Upcase(s1, s2,vt); D. Pos(s1, s2);
Câu 7: Dữ liệu kiểu xâu có độ dài tối đa là:
A. 256 kí tự C. 255 kí tự D. 128 kí tự
B. 102 kí tự Câu 8: Cho hai xâu s, p. Thực hiện đoạn lệnh sau thì p nhận giá trị nào sau đây?
begin
s:= ‘1 cay lam chang len non, 3 cay chum lai len hon nui cao’ p:= ‘’;
for i:= length(s) downto 1 do if (s[i]>=’0’) and (s[i] <= ‘9’) do p:=p+s[i];
‘31’ ‘13’ A. C. B. D.
end; ‘0123456789’ ‘cay lam chang len non, cay chum lai len hon nui cao’ Câu 9: Trong chương trình con, khẳng định nào sau đây là sai ?
A. Phần khai báo bắt buộc phải có; C. Phần tên bắt buộc phải có; B. Tham số trong phần đầu không bắt buộc phải có; D. Phần thân chương trình bắt buộc phải có;
Câu 10: Cú pháp nào sau đây là cú pháp của lệnh ghi dữ liệu vào tệp?
A. Readln(
Câu 11: Khẳng định về kiểu dữ liệu tệp văn bản (Text) nào sau là đúng nhất?
B. Chỉ được lưu trữ trên đĩa cứng; D. Được lưu trữ trên ROM;
A. Được lưu trữ trên RAM;
C. Được lưu trữ trên bộ nhớ ngoài;
Câu 12: Thủ tục Reset(
A. Mở tệp văn bản để ghi; C. Ghi dữ liệu lên tệp văn bản;
B. Mở tệp văn bản để đọc; D. Đọc dữ liệu từ tệp văn bản; Câu 13: Mảng A gồm bao nhiêu phần tử? Cho mảng A được nhập ở đoạn chương trình sau:
for i:=1 to 6 do begin write('a[',i,']='); readln(a[i]); end;
6 i A. N B. 1 C. D.
Câu 14: Với f là tệp văn bản, đoạn chương trình sau thực hiện công việc gì?
Assign(f, ‘in.txt’); Rewrite(f); For i:= ‘A’ to ‘Z’ do writeln(f, i);
A. Ghi vào tệp in.txt các chữ cái in hoa từ A đến Z, mỗi chữ cái nằm trên 1 dòng; B. Đưa ra màn hình các chữ cái in hoa trong bộ mã ASCII; C. Ghi vào tệp in.txt các chữ cái in hoa từ A đến Z, tất cả các chữ cái nằm trên 1 dòng; D. Đưa ra màn hình các chữ số từ 1 đến 26;
Câu 15: Đoạn lệnh nào sau đây thực hiện ghi vào tệp hocsinh.dat họ tên của 20 học sinh, biết họ tên của mỗi người ghi trên 1 dòng.
A. Assign(f,'hocsinh.dat'); rewrite(f);
for i:=1 to 20 do begin write('nhap ho ten hoc sinh thu ',i,':'); readln(ht); write(f,ht); end;
B. Assign(f,'hocsinh.dat'); rewrite(f);
for i:=1 to 20 do write('nhap ho ten hoc sinh thu ',i,':'); readln(ht); writeln(f,ht);
C. Assign(f,'hocsinh.dat'); rewrite(f);
for i:=1 to 20 do begin write('nhap ho ten hoc sinh thu ',i,':'); readln(ht); writeln(f,ht); end;
D. Assign(f,'hocsinh.dat'); reset(f);
for i:=1 to 20 do begin readln(f,ht); write(ht); end;
Câu 16: Khai báo xâu nào sau đây là hợp lệ?
A. Var st : string[256]; B. Var st: string[255]; C. Var: st: string; D. Var st string;
Câu 17: Xét chương trình sau, rồi chọn đáp án đúng?
Var t,m,c,d: word;
Function ucln(a,b:word):word; Begin While a<>b do if a>b then a:=a-b else b:=b-a; end; Begin Write('nhap tu va mau cua phan so:'); readln(t,m); c:=t div ucln(t,m); d:=m div ucln(t,m); writeln('ket qua la:',c,'/',d); End.
A. a, b, t, m là tham số thực sự C. a, b, t, m là tham số hình thức a, b là tham số thực sự còn t, m là tham số hình thức B. D. a, b là tham số hình thức còn t, m là tham số thực sự
Câu 18: Chọn phương án đúng, phương án nào sau đây là thực hiện chương trình con?
A. Max(a,b:real):real; B. Max(var a,b:byte):byte; C. Max(a,b); D. Max(a,b:byte):byte;
Câu 19: Cho mảng A gồm 8 phần tử. Biến F nhận giá trị nào sau khi chạy đoạn chương trình sau đây:
2 begin A[1]:=1; A[2]:=1; for i:= 3 to 8 do A[i]:=A[i-2]+A[i-1]; F:=A[i]; end; A. 33 B. 21 C. 52 D.
Câu 20: Hãy chọn khai báo biến cho các biến trong thân chương trình sau:
Begin Assign(f1,'data.txt'); Reset(f1); Assign(f2,'ketqua.txt'); Rewrite(f2); While not eof(f1) do Begin Read(f1,a); if a mod 2 =0 then write(f2,a,' '); End; Close(f1); Close(f2); End.
A. Var f1,f2:text; a:integer; C. Var data.txt: text; ketqua.txt: text; a:char; B. Var f1,f2,a:text; D. Var f1,f2:text; a:char;
Câu 21: Để khai báo một biến tệp, khai báo nào sau đây hợp lệ ?
A. Var :f text; B. Var f: byte; C. Var f: text; D. Var f = text;
Câu 22: Tệp songuyen.dat lưu n số nguyên của mảng 1 chiều, để in tất cả các số nguyên trong tệp ra màn hình thì sau khi thực hiện 2 thủ tục Assign(f,'songuyen.dat'); reset(f); ta thực hiện lệnh nào?
A. While not eof(f) do begin read(f,a); write(a:5);end; C. For i:=1 to n do begin read(f,a); write(a:5); end; B. For i:=1 to n do read(f,a); write(a:5); D. While not eof(f) do read(f,a); write(a:5);
Câu 23: Cho đoạn chương trình sau:
var f: text; i:byte; begin
assign(f, ‘c:\kq.txt’); rewrite(f); for i:=1 to 10 do if i mod 2 =1 then write(f, i); close(f); readln
end. Sau khi thực hiện chương trình trên, nội dung tệp ‘kq.txt’ gồm những phần tử nào?
A. 2; 4; 6; 8;10 B. 4; 6; 8;10 C. 1; 3; 5; 9 D. 1; 3; 5; 7; 9
B. Procedure (a: integer); D. Procedure vidu: integer;
Câu 24: Khai báo thủ tục nào sau đây là hợp lệ? A. Procedure vidu(var a: integer); C. Procedure vidu(a: integer): integer; Câu 25: Thủ tục dưới đưa ra hình nào sau đây ?
A. B. * * * *
procedure Tamgiac; var i, j:byte ; begin for i:= 4 downto 1 do begin for j:= 1 to i do write( '*':2) ; writeln; end ; end; * * * * * * * * * *
C. *
* * * * * * * * * * * * * * * D. * * * * * * * * * *
Câu 26: Giả sử: st:=’abcd’; Sau khi thực hiện thủ tục Insert(‘ab’, st, 2); cho kết quả là:
aabbcd A. ababad B. abcdab C. ababcd D.
Câu 27: Trong Pascal, với khai báo Var A: Array[1..100] of integer; thì biến A thuộc kiểu dữ liệu nào?
Integer Xâu A. C. D. Tệp
B. mảng 1 chiều Câu 28: Sự khác nhau cơ bản giữa thủ tục và hàm là:
A. Hàm luôn trả về kết quả qua tên còn thủ tục không trả về kết quả; B. Thủ tục không có tham số còn hàm có tham số; C. Thủ tục trả về kết quả qua tên còn hàm không trả về kết quả; D. Hàm không có tham số còn thủ tục có tham số;
B. Var A:Array[1....60]of integer; D. Var A:Array[1..60]of integer;
Câu 29: Trong Pascal, khai báo nào sau đây là đúng? A. Var i:byte; A:Array[i..100]of integer; C. Var i:byte; A:Array[1..i]of integer; Câu 30: Chọn phương án ghép đúng? Mảng 1 chiều:
là dãy số nguyên là dãy hữu hạn các phần tử cùng kiểu là dãy hữu hạn các phần tử khác kiểu là dãy kí tự A. C. B. D.
----- HẾT-----