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

60 Câu hỏi ôn tập học kỳ 2

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 (91.23 KB, 10 trang )

Trường THPT Thiên Hộ Dương
Tổ : Toán – Tin
CÂU HỎI ÔN TẬP HỌC KỲ II
MÔN: TIN HỌC
Để lưu trữ ngày, tháng, năm, một HS đã định nghĩa và khai báo biến 1 bản ghi như sau:
Type date = record
day, month, year : integer;
End;
Var D: date;
Câu 1)Để nhập giá trị cho trường day ta viết lệnh nào sau đây:
a) Readln(day);
b) Readln (date.day);
c) Readln (D.date);
d) Readln (D.day);
Câu 2)Lệnh gán nào sau đây là không hợp lệ:
a) D.day:= - 28;
b) D.year:= 2010;
c) D. Month:= 10.5;
d) D. Day:= 0;
Câu 3)Với khai báo Var birthdays : array[1 10] of date, lệnh gán nào sau đây không hợp lệ:
a) Birthdays.month := 3;
b) Birthdays[2].day := 26;
c) Birthday[1].year := birthdays[10].year;
d) Birthdays[4].month := 12;
Câu 4)Để lưu trữ danh sách học sinh gồm các thông tin: họ tên, lớp, điểm trung bình, ta dùng kiểu dữ
liệu nào sau đây:
a) Xâu, số nguyên, số thực.
b) Một mảng các xâu, số thực.
c) Một mảng các bản ghi.
d) Xâu và số thực.
Câu 5)Khai báo biến xâu nào sau đây là không hợp lệ:


a) Var st: string[1];
b) Var st:string [256];
c) Var st: string;
d) Var st: string[100];
Câu 6)Cho 2 xâu sau: a:= ‘ thien ho duong’;
b:= ‘THIENHODUONG’;
Phát biểu nào là đúng:
a) Xâu a bằng xâu b.
b) Xâu a > xâu b.
c) Xâu a < xâu b.
d) Xâu a < = xâu b
Câu 7)Cho xâu s1:= ‘hau my’. Để có xâu ‘my’, ta dùng chương trình con nào sau đây:
a) delete(s1,1,4)
b) delete(s1,5,2)
c) copy(s1,5,2)
d) d. cả a và c đều đúng.
Câu 8)Hàm pos(‘la’, ‘la la la’) trả lại giá trị là bao nhiêu:
a) 1
b) 2
c) 4
1
d) 7
Câu 9)Để đọc tệp, ta theo trình tự nào sau đây:
a) Mở tệp gắn tên tệp đọc tệp  đóng tệp.
b) Gắn tên tệp  mở tệp  đọc tệp  đóng tệp
c) Mở tệp  đọc tệp  gắn tên tệp  đóng tệp
d) Một trình tự khác.
Câu 10) Ý nghĩa của đoạn chương trình sau:
for i:=1 to n do
if a[i] mod 2 = 0 then write(a[i],’la so chan’)

else write(a[i],’ la so le’);
a) Đếm số lượng số chẵn, số lẻ trong chương trình.
b) Kiểm tra các phần tử trong dãy là số chẵn hay số lẻ.
c) Tính tổng số chẵn trong dãy.
d) Tính tổng số lẻ trong dãy.
Câu 11) Trong NNLT Pascal đoạn chương trình sau thực hiện việc nào trong các việc sau (a là mảng
có N phần tử)
S:=0;
For i:=1 to n do S:=S+a[i];
a) Tính tổng các phần tử của mảng a.
b) In ra màn hình mảng a
c) Đếm số phần tử của mảng a.
d) Không thực hiện việc gì cả.
Câu 12) Trong NNLT Pascal để nhập các phần tử cho mảng hai chiều A, ta sử dụng lệnh nào sau đây?
a) for i:=1 to n do
for j:=1 to m do
begin
write(‘Phan tu o dong’, i, ’cot ‘,j);
readln(A[i,j]);
end;
b) for i:=1 to n do
for j:=1 to m do
begin
write(‘Phan tu o dong’, i, ’cot ‘,j);
write(A[i,j]);
end;
c) for i:=1 to n do
for j:=1 to m do
begin
write(‘Phan tu o dong’, i, ’cot ‘,j);

writeln(A[i,j]);
end;
d) for i:=1 to n do
for j:=1 to m do
begin
write(‘Phan tu o dong’, i, ’cot ‘,j);
readln(A[i.j]);
end;
Câu 13) Trong NNLT Pascal để in các phần tử cho mảng hai chiều A ra màn hình, ta sử dụng lệnh nào
sau đây?
a) for i:=1 to n do
2
begin
for j:=1 to m do write(A[i,j]);
writeln;
end;
b) for i:=1 to n do
begin
for j:=1 to m do write(A[i;j]);
writeln;
end;
c) for i:=1 to n do
begin
for j:=1 to m do read(A[i,j]);
writeln;
end;
d) for i:=1 to n do
begin
for j:=1 to m do readln(A[i,j]);
writeln;

end;
Câu 14) Trong NNLT Pascal , để nhập các phần tử cho mảng một chiều A, ta viết lệnh như thế nào là
đúng ?
a) for i:=1 to n do
begin
write(‘Phan tu thu: ‘,i, ‘ la’);
read(A.i);
end;
b) for i:=1 to n do
begin
write(‘Phan tu thu: ‘,i, ‘ la’);
read(A[i]);
end;
c) for i:=1 to n do
begin
write(‘Phan tu thu: ‘,i, ‘ la’);
read(A(i));
end;
d) for i:=1 to n do
begin
write(‘Phan tu thu: ‘,i, ‘ la’);
read(A-i);
end;
Câu 15) Trong NNLT Pascal, để in các phần tử cho mảng một chiều A ra màn hình, ta viết lệnh như
thế nào là đúng ?
a) for i:=1 to n do write(A[i]);
b) for i:=1 to n do read(A[i]);
c) for i:=1 to n do write(A.i);
d) for i:=1 to n do readln(A[i]);
Câu 16) Trong NNLT Pascal với việc khai báo như sau:Var A : array [1 100,1 100] of integer; Thì

việc truy xuất đến các phần tử như thế nào là đúng ?
a) A(i,j)
3
b) A[i,j]
c) A[i][j]
d) A[i;j]
Câu 17) Trong NNLT Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng ?
a) Var mang = array [ 1 100] of char;
b) Var mang: array [ 1 100] of char;
c) Var mang : array [ 1- 100] of char;
d) Var mang : array ( 1 100) of char;
Câu 18) Trong NNLT Pascal khai báo nào sau đây là đúng?
a) Var < tên biến mảng> = array [ kiểu chỉ số] of < kiểu phần tử>;
b) Var < tên biến mảng> : array [ kiểu chỉ số] of < kiểu phần tử>;
c) Var < tên biến mảng> : array [ kiểu chỉ số] of < kiểu phần tử>
d) Var < tên biến mảng> := array [ kiểu chỉ số] of < kiểu phần tử>;
Câu 19) Trong NNLT Pascal khai báo nào sau đây là đúng?
a) Var < tên biến mảng> = array [ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử>;
b) Var < tên biến mảng> : array [ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử>;
c) Var < tên biến mảng> : array [ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử>
d) Var < tên biến mảng> := array [ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử>;
Câu 20) Trong NNLT Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng ?
a) Type mang2c = array [1 100,1 100] of integer;
b) Type mang2c = array [1 - 100,1 - 100] of integer;
c) Type mang2c : array [1 100,1 100] of integer;
d) Type mang2c := array [1 100,1 100] of integer;
Câu 21) Trong NNLT Pascal với việc khai báo như sau:Var A : array [1 100] of integer;
Để nhập giá trị cho phần tử thứ 10 ta dùng lệnh:
a) Readln(A[10]);
b) Readln(A(10));

c) Readln(A.10);
d) Readln(A-10);
Câu 22) Với khai báo type arr = array[1 5,1 10] of real; var A: arr; thì tham chiếu đến phần tử ở hàng
5 cột 9 của biến mảng ta viết:
a) arr[5,9]
b) A[1 5,1 9]
c) arr[1 5,1 9]
d) A[5,9]
Câu 23) Kết quả sau khi chạy đoạn chương trình sau là gì?
Uses crt;
Var f:text;
a, b, x, y: integer;
Begin
Assign (f, ‘d:\tep.txt’);
Rewrite (f);
a:= 5; b:=10;
write (f,a:4,b:4);
reset (f);
readln (f,x,y);
x:= x*2; y:= y*2;
write (x:4, y:4);
close (f);
readln;
4
end.
a) Ghi vào tep.txt giá trị 5 và 10.
b) Hiển thị ra màn hình giá trị 10 và 20.
c) Ghi vào tep.txt giá trị 5 và 10 đồng thời hiển thị ra màn hình giá trị 10 và 20.
d) Ghi vào tep.txt giá trị 5 và 10 và không hiển thị ra màn hình kết quả nào cả.
Câu 24) Kiểu phần tử của mảng 1 chiều là:

a) Kiểu nguyên.
b) Kiểu bản ghi.
c) Kiểu Mảng.
d) Kiểu bất kỳ.
Câu 25) Kiểu chỉ số của mảng là :
a) Kiểu số nguyên.
b) Kiểu số thực.
c) Kiểu ký tự
d) Cả a và c đều đúng.
Câu 26) Đoạn chương trình sau làm gì?
S:= 0;
For i:= 1 to m do
For j:= 1 to n do
if i = j then s := s+ a[i,j];
a) Tổng các phần tử giống nhau trong mảng 1 chiều.
b) Tổng các phần tử giống nhau trong mảng 2 chiều.
c) Tổng các phần tử trên các đường chéo của mảng 2 chiều.
d) Tổng các phần tử có chỉ số hàng bẳng chỉ số cột.
Câu 27) Đoạn chương trình sau làm gì?
S:= 0;
For i:= 1 to m do
For j:= 1 to n do
if d[i,j] mod 2 <> 0 then s := s+ 1;
a) Tổng các phần tử ở vị trí lẻ trong mảng 2 chiều.
b) Tổng các phần tử là số chẵn trong mảng 2 chiều.
c) Đếm các phần tử là số lẻ trong mảng 2 chiều.
d) Tổng các phần tử là số lẻ trong mảng 2 chiều.
Câu 28) Chọn phát biểu đúng:
a) Dữ liệu kiểu bản ghi dùng mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có
kiểu dữ liệu giống nhau.

b) Dữ liệu kiểu bản ghi đùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính
có kiểu dữ liệu khác nhau.
c) Dữ liệu kiểu bản ghi dùng để mô tả các đối tượng có các thuộc tính khác nhau.
d) Cả a, b, c đều sai.
Câu 29) Để gán tên tệp ta dùng thủ tục
a) Clrscr.
b) Readln
c) Assign
d) Close.
Câu 30) Để mở tệp ra chuẩn bị ghi, ta dùng thủ tục:
a) Reset.
b) Rewrite
c) Close
d) Writeln
5
Câu 31) Qui trình làm việc với tệp gồm các thủ tục
a) Gán tên tệp mở tệp chuẩn bị ghi ghi tệp  đóng tệp.
b) Gán tên tệp  mở tệp chuẩn bị đọc  đọc tệp  đóng tệp.
c) Gán tên tệp  mở tệp  đọc tệp  ghi tệp  đóng tệp.
d) Cả a và b đều đúng.
Câu 32) Để đọc dữ liệu từ tệp, ta dùng cú pháp:
a) Readln(<tên tệp>, <danh sách biến>);
b) Readln(< biến tệp>,< danh sách kết quả>);
c) Readln(<Biến tệp>,< danh sách biến>);
d) Readln(<tên tệp>, < danh sách kết quả>);
Câu 33) Để ghi dữ liệu vào tệp, ta dùng cú pháp nào sau đây:
a) Write/ writeln (<danh sách kết quả>);
b) Write/ writeln (< biến tệp>, <danh sách biến>);
c) Write/ writeln (<biến tệp>, <danh sách kết quả>);
d) Write/ writeln (<tên tệp>, <danh sách kết quả>);

Câu 34) Để đảm bảo đọc hết dữ liệu từ tệp ta dùng cú pháp nào sau đây:
a) While EOF (< biến tệp>) do readln(<biến tệp>, <danh sách biến>);
b) While not EOLN (< biến tệp>) do readln(<biến tệp>, <danh sách biến>);
c) While not EOF (< biến tệp>) do readln(<biến tệp>, <danh sách biến>);
d) Cả b và c đều đúng.
Câu 35) Giả sử ta có bản ghi học sinh được khai báo như sau:
Type hocsinh = record
Sobaodanh: integer;
Hoten: string [32];
Toan, van, trungbinh: real;
End;
Var hs1, hs2: hocsinh;
Để truy cập vào thuộc tính hoten của bản ghi học sinh ta dùng cú pháp nào sau đây:
a) Hocsinh.hoten
b) Hoten.
c) Hs.hoten
d) Hs1.hoten hoặc hs2.hoten
Câu 36) Với khai báo bản ghi ở câu 35 biến hs1 chiếm dung lượng bao nhiêu byte?
a) 34
b) 36
c) 40
d) 52
Câu 37) Với khai báo biến bản ghi ở câu 35, khi đó:
a) hs1:= hs2;
b) hs2:= hs1;
c) Cả a và b đều sai.
d) Cả a và b đều đúng.
Câu 38) Để tính điểm trung bình cho các học sinh ở câu 35, ta dùng câu lệnh nào:
a) Trungbinh:= (toan + van)/ 2;
b) Trungbinh:= (hocsinh.toan + hocsinh.van)/ 2;

c) Hocsinh.trungbinh:= (hocsinh.toan + hocsinh.van)/ 2;
d) Hs1.trungbinh:= (hs1.toan + hs1.van)/ 2;
Câu 39) Để nhập vào 1 mảng các số nguyên và tìm số lớn nhất của mảng số nguyên đó, ta dùng các
chương trình con nào sau đây:
a) Procedure nhap (var A: mang; N: integer); function max (A: mang; N: integer): integer;
6
b) Procedure nhap (var A: mang; Var N: integer); function max (A: mang; N: integer): integer;
c) Procedure nhap (A: mang; N: integer); function max (A: mang; N: integer): integer;
d) Cả a, b, c đều đúng.
Câu 40) Kết quả đoạn chương trình sau là gì? Nếu nhập x = 2, y = 3, z = 4
Program thamtri_thambien;
Var x, y: integer;
Procedure nhan ( var so2: integer ; so1, sonhan: integer);
Begin
So1:= so1*sonhan;
So2:=so2*sonhan;
End;
Begin
Write (‘nhap x, y, z:’);
Readln(x, y, z);
Nhan(x, y, z);
Write (x:4, y:4);
End.
a) 8 3
b) 8 12
c) 2 12
d) 2 3
Câu 41) Chọn phần đầu chương trình con sai:
a) Function f (r,i: real, t:integer): real;
b) Function f (a, b, c: integer): integer;

c) Function f ( x: real; var y: real): real;
d) Function f (var x, y: integer) : real;
Câu 42) Chọn phát biểu sai:
a) Cấu trúc của chương trình con gồm có 3 phần.
b) Phần đầu của chương trình con có thể có hoặc không.
c) Phần đầu của chương trình con có thể có hoặc không.
d) Phần thân của chương con được đặt trong cặp begin …end;
Câu 43) Xét hàm:
Function f(k: integer): string;
Begin
If k mod 2 = 0 then f:= ‘chan’ else f:= ‘le’;
End;
Muốn gán X:= f (5) thì biến X phải khai báo kiểu gì?
a) Byte
b) Integer.
c) String
d) Một kiểu dữ liệu khác.
Câu 44) Xét hàm:
Function f (k: integer): string;
Begin
If k mod 2 = 0 then f:= ‘chan’ else f:= ‘le’;
End;
Muốn write (f(y)); thì biến y phải khai báo kiểu nào?
a) String.
b) Byte.
c) Integer.
7
d) Một kiểu dữ liệu khác.
Câu 45) Chọn phát biểu đúng:
a) Biến cục bộ được khai báo trong chương trình chính.

b) Biến cục bộ có thể sử dụng ở mọi nơi trong chương trình.
c) Biến cục bộ có thể có tên giống biến toàn cục.
d) Tên biến cục bộ phải khác biến toàn cục.
Câu 46) Chọn phát biểu sai:
a) Chọn chương trình con là hàm nếu kết quả trả về là một kiểu xác định.
b) Khai báo phần đầu của hàm như sau: function <tên hàm> (<danh sách tham số>);
c) Trong phần thân của hàm cần có lệnh: <tên hàm>:= <kết quả trả về cuối cùng>.
d) Pascal dùng từ khóa var để phân biệt tham biến với tham trị
Câu 47) Khi chạy chương trình:
Var x, y: real;
Function f(x, y: real): real;
Begin
F:= x;
If x< y then f:= y;
End;
Begin
X:= 10;
Y:= 15;
Write ( f(x, y): 4:1);
End.
a) 10
b) 15.
c) 0
d) Một kết quả khác.
Câu 48) Xét thủ tục:
procedure hoandoi(var x, y: integer);
var tg: integer;
begin
tg:= x;
x:= y;

y:= tg;
end;
Lời gọi thủ tục nào sau đây là hợp lệ:
a) Hoandoi(4,7);
b) Hoandoi(m,n);
c) Cả a, b đều đúng.
d) Hoandoi;
Câu 49) Chọn phát biểu sai:
a) Kiểu mảng, kiểu bản ghi,kiểu xâu, kiểu tệp là những kiểu dữ liệu có cấu trúc.
b) Lập trình theo kiểu chương trình con là lập trình có cấu trúc.
c) Có thể xây dựng kiểu dữ liệu chuẩn dựa vào kiểu dữ liệu có cấu trúc.
d) Kiểu dữ liệu có cấu trúc được xây dựng dựa trên kiểu dữ liệu chuẩn.
Câu 50) Nói về biến toàn cục, phát biểu nào sau đây là đúng:
a) Biến toàn cục chỉ có tác dụng trong chương trình chính.
b) Biến toàn cục chỉ có tác dụng trong chương trình con.
c) Biến toàn cục có tác dụng trong toàn bộ chương trình.
d) Tên biến toàn cục phải khác tên biến cục bộ.
8
Câu 51) Cho biết kết quả đoạn chương trình sau:
Var s1, s2: string;
Kq: boolean;
Begin
S1:= ‘abCde’;
S2:= ‘abc’
Kq:= s1>s2;
Write (kq);
End.
a) s1>s2
b) s2>s1
c) True

d) false
Câu 52) Cho biết đoạn chương trình sau làm gì?
Var i, count: integer;
S:string;
Begin
Count:= 0;
For i:= 1 to length (s) do
If s[i] = ‘ ‘ then count:= count + 1;
Write (count + 1);
End.
a) Đếm số ký tự trong xâu s.
b) Đếm số khoảng trắng trong xâu s.
c) Đếm số từ trong xâu s.
d) Tất cả đều sai.
Câu 53) Câu lệnh sau đây làm gì?
For i:= length (s) downto 1 do Write(upcase(s[i]));
a) Viết ra xâu hoa.
b) Viết ra xâu đảo của xâu s.
c) Viết ra xâu đảo hoa của xâu s.
d) Viết ra xâu s.
Câu 54) Kết quả của đoạn chương trình sau là gì?
Var st:string;
begin
St:=’ABCDEF’;
Delete(St, 3, 2);
Insert(‘XYZ’, St, 2);
Write(St);
end.
Kết quả in lên màn hình là:
a) ABXYZEF

b) AXYZBCDEF
c) AXYZEF
d) AXYZBEF
Câu 55) Kết quả của đoạn chương trình sau là gì?
Var s: string;
Begin
S:= ‘AAABAAB’;
While s[1] = ‘A’ do delete (s,1,1);
9
Write (s);
End.
a) AABAAB
b) BAAB
c) BB
d) Một kết quả khác.
Câu 56) Phần câu lệnh viết ra màn hình là?
Var s, x:string;
i: integer;
Begin
Write (‘s :’);
Readln (s);
x:=’’;
For i:= length(s) downto 1 do x:= x + s[i];
If s = x then write (‘ ’) else write (‘ ’);
End.
a) Xâu s bằng xâu x ( xâu s không bằng xâu x.)
b) Xâu x là xâu đảo của xâu s (xâu x không là xâu đảo của xâu s)
c) Xâu x là xâu đối xứng của xâu s (xâu x không là xâu đối xứng của xâu s)
d) Cả 3 đều sai.
Câu 57) Cho biến SS kiểu Boolean. Lệnh nào làm SS có gía trị là TRUE :

SS := 'a'< 'A';
SS := 'A' = 'a';
SS := 'an' < 'a';
SS := 'PASCAL' < 'pascal';
Câu 58) Trong pascal, xâu không chứa ký tự nào gọi là:
a) Xâu trắng.
b) Xâu rỗng.
c) Không phải là xâu.
d) Xâu 0.
Câu 59) Giá trị của biến s sau khi thực hiện đoạn chương trình sau là gì?
S:= ‘ha noi mua thu’;
Delete(s,7,8);
Insert(‘mua thu’, s, 1);
a) ha noi mua thu
b) mua thu ha noi mua thu
c) ha noi
d) mua thu ha noi
Câu 60) ta cần viết 1 chương trình con để nhập vào 1 mảng số nguyên có n phần tử, khai báo nào sau
đây là đúng:
a) function (a: mang; n: integer);
b) procedure (a: mang; n:integer);
c) procedure (var a: mang; n: integer);
d) procerdure (var a:mang; var n : integer);
10

×