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.. c) Phần đầu của chương trình con có thể có hoặc không. Câu 45) Chọn phát biểu đúng:. a) Biến cục bộ được[r]
(1)Câu hỏi ôn tâp học kỳ 2
Để lưu trữ ngày, tháng, năm, HS định nghĩa khai báo biến ghi 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 sau đây: a) Readln(day);
b) Readln (date.day); c) Readln (D.date); d) Readln (D.day);
Câu 2)Lệnh gán sau 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 sau 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 thông tin: họ tên, lớp, điểm trung bình, ta dùng kiểu liệu sau đây:
a) Xâu, số nguyên, số thực b) Một mảng xâu, số thực c) Một mảng ghi d) Xâu số thực
Câu 5)Khai báo biến xâu sau 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 xâu sau: a:= ‘ thien ho duong’; b:= ‘THIENHODUONG’; Phát biểu đúng:
a) Xâu a 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 sau đây: a) delete(s1,1,4)
b) delete(s1,5,2) c) copy(s1,5,2)
d) d a c
(2)b) c) d)
Câu 9)Để đọc tệp, ta theo trình tự 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 đoạn chương trình sau: for i:=1 to n
if a[i] mod = then write(a[i],’la so chan’) else write(a[i],’ la so le’);
a) Đếm số lượng số chẵn, số lẻ chương trình b) Kiểm tra phần tử dãy số chẵn hay số lẻ c) Tính tổng số chẵn dãy
d) Tính tổng số lẻ dãy
Câu 11) Trong NNLT Pascal đoạn chương trình sau thực việc việc sau (a mảng có N phần tử)
S:=0;
For i:=1 to n S:=S+a[i]; a) Tính tổng phần tử mảng a b) In hình mảng a
c) Đếm số phần tử mảng a d) Khơng thực việc
Câu 12) Trong NNLT Pascal để nhập phần tử cho mảng hai chiều A, ta sử dụng lệnh sau đây? a) for i:=1 to n
for j:=1 to m begin
write(‘Phan tu o dong’, i, ’cot ‘,j); readln(A[i,j]);
end; b) for i:=1 to n
for j:=1 to m begin
write(‘Phan tu o dong’, i, ’cot ‘,j); write(A[i,j]);
end; c) for i:=1 to n
for j:=1 to m begin
write(‘Phan tu o dong’, i, ’cot ‘,j); writeln(A[i,j]);
end; d) for i:=1 to n
(3)write(‘Phan tu o dong’, i, ’cot ‘,j); readln(A[i.j]);
end;
Câu 13) Trong NNLT Pascal để in phần tử cho mảng hai chiều A hình, ta sử dụng lệnh sau đây?
a) for i:=1 to n begin
for j:=1 to m write(A[i,j]); writeln;
end;
b) for i:=1 to n begin
for j:=1 to m write(A[i;j]); writeln;
end;
c) for i:=1 to n begin
for j:=1 to m read(A[i,j]); writeln;
end;
d) for i:=1 to n begin
for j:=1 to m readln(A[i,j]); writeln;
end;
Câu 14) Trong NNLT Pascal , để nhập phần tử cho mảng chiều A, ta viết lệnh ?
a) for i:=1 to n begin
write(‘Phan tu thu: ‘,i, ‘ la’); read(A.i);
end;
b) for i:=1 to n begin
write(‘Phan tu thu: ‘,i, ‘ la’); read(A[i]);
end;
c) for i:=1 to n begin
write(‘Phan tu thu: ‘,i, ‘ la’); read(A(i));
end;
d) for i:=1 to n begin
(4)end;
Câu 15) Trong NNLT Pascal, để in phần tử cho mảng chiều A hình, ta viết lệnh ?
a) for i:=1 to n write(A[i]); b) for i:=1 to n read(A[i]); c) for i:=1 to n write(A.i); d) for i:=1 to n readln(A[i]);
Câu 16) Trong NNLT Pascal với việc khai báo sau:Var A : array [1 100,1 100] of integer; Thì việc truy xuất đến phần tử ?
a) A(i,j) b) A[i,j] c) A[i][j] d) A[i;j]
Câu 17) Trong NNLT Pascal, mặt cú pháp câu lệnh sau ? a) Var mang = array [ 100] of char;
b) Var mang: array [ 100] of char; c) Var mang : array [ 1- 100] of char; d) Var mang : array ( 100) of char;
Câu 18) Trong NNLT Pascal khai báo sau đúng?
a) Var < tên biến mảng> = array [ kiểu số] of < kiểu phần tử>; b) Var < tên biến mảng> : array [ kiểu số] of < kiểu phần tử>; c) Var < tên biến mảng> : array [ kiểu số] of < kiểu phần tử> d) Var < tên biến mảng> := array [ kiểu số] of < kiểu phần tử>; Câu 19) Trong NNLT Pascal khai báo sau đúng?
a) Var < tên biến mảng> = array [ kiểu số dòng, kiểu số cột ] of < kiểu phần tử>; b) Var < tên biến mảng> : array [ kiểu số dòng, kiểu số cột ] of < kiểu phần tử>; c) Var < tên biến mảng> : array [ kiểu số dòng, kiểu số cột ] of < kiểu phần tử> d) Var < tên biến mảng> := array [ kiểu số dòng, kiểu số cột ] of < kiểu phần tử>; Câu 20) Trong NNLT Pascal, mặt cú pháp câu lệnh sau ?
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 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; tham chiếu đến phần tử hàng cột 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]
(5)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; end
a) Ghi vào tep.txt giá trị 10
b) Hiển thị hình giá trị 10 20
c) Ghi vào tep.txt giá trị 10 đồng thời hiển thị hình giá trị 10 20 d) Ghi vào tep.txt giá trị 10 khơng hiển thị hình kết Câu 24) Kiểu phần tử mảng chiều là:
a) Kiểu nguyên b) Kiểu ghi c) Kiểu Mảng d) Kiểu
Câu 25) Kiểu số mảng : a) Kiểu số nguyên
b) Kiểu số thực c) Kiểu ký tự
d) Cả a c
Câu 26) Đoạn chương trình sau làm gì? S:= 0;
For i:= to m For j:= to n
if i = j then s := s+ a[i,j];
a) Tổng phần tử giống mảng chiều b) Tổng phần tử giống mảng chiều
c) Tổng phần tử đường chéo mảng chiều d) Tổng phần tử có số hàng bẳng số cột
Câu 27) Đoạn chương trình sau làm gì? S:= 0;
For i:= to m For j:= to n
(6)d) Tổng phần tử số lẻ mảng chiều Câu 28) Chọn phát biểu đúng:
a) Dữ liệu kiểu ghi dùng mô tả đối tượng có số thuộc tính mà thuộc tính có kiểu liệu giống
b) Dữ liệu kiểu ghi đùng để mô tả đối tượng có số thuộc tính mà thuộc tính có kiểu liệu khác
c) Dữ liệu kiểu ghi dùng để mô tả đối tượng có thuộc tính khác d) Cả a, b, c 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 chuẩn bị ghi, ta dùng thủ tục: a) Reset
b) Rewrite c) Close d) Writeln
Câu 31) Qui trình làm việc với tệp gồm 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 b
Câu 32) Để đọc 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 liệu vào tệp, ta dùng cú pháp 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 liệu từ tệp ta dùng cú pháp sau đây: a) While EOF (< biến tệp>) readln(<biến tệp>, <danh sách biến>); b) While not EOLN (< biến tệp>) readln(<biến tệp>, <danh sách biến>); c) While not EOF (< biến tệp>) readln(<biến tệp>, <danh sách biến>); d) Cả b c
Câu 35) Giả sử ta có ghi học sinh khai báo sau: Type hocsinh = record
Sobaodanh: integer; Hoten: string [32];
Toan, van, trungbinh: real; End;
Var hs1, hs2: hocsinh;
(7)a) Hocsinh.hoten b) Hoten
c) Hs.hoten
d) Hs1.hoten hs2.hoten
Câu 36) Với khai báo ghi câu 35 biến hs1 chiếm dung lượng byte? a) 34
b) 36 c) 40 d) 52
Câu 37) Với khai báo biến ghi câu 35, đó: a) hs1:= hs2;
b) hs2:= hs1;
c) Cả a b sai d) Cả a b
Câu 38) Để tính điểm trung bình cho 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 mảng số nguyên tìm số lớn mảng số nguyên đó, ta dùng chương trình sau đây:
a) Procedure nhap (var A: mang; N: integer); function max (A: mang; N: integer): integer; 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
Câu 40) Kết đoạn chương trình sau gì? Nếu nhập x = 2, y = 3, z = 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) b) 12 c) 12 d)
(8)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 chương trình gồm có phần
b) Phần đầu chương trình có khơng c) Phần đầu chương trình có khơng d) Phần thân chương đặt cặp begin …end; Câu 43) Xét hàm:
Function f(k: integer): string; Begin
If k mod = then f:= ‘chan’ else f:= ‘le’; End;
Muốn gán X:= f (5) biến X phải khai báo kiểu gì? a) Byte
b) Integer c) String
d) Một kiểu liệu khác Câu 44) Xét hàm:
Function f (k: integer): string; Begin
If k mod = then f:= ‘chan’ else f:= ‘le’; End;
Muốn write (f(y)); biến y phải khai báo kiểu nào? a) String
b) Byte c) Integer
d) Một kiểu liệu khác Câu 45) Chọn phát biểu đúng:
a) Biến cục khai báo chương trình b) Biến cục sử dụng nơi chương trình c) Biến cục có tên giống biến toàn cục
d) Tên biến cục 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 hàm kết trả kiểu xác định
b) Khai báo phần đầu hàm sau: function <tên hàm> (<danh sách tham số>); c) Trong phần thân hàm cần có lệnh: <tên hàm>:= <kết trả 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
(9)Y:= 15;
Write ( f(x, y): 4:1); End
a) 10 b) 15 c)
d) Một kết 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 sau hợp lệ: a) Hoandoi(4,7);
b) Hoandoi(m,n); c) Cả a, b d) Hoandoi;
Câu 49) Chọn phát biểu sai:
a) Kiểu mảng, kiểu ghi,kiểu xâu, kiểu tệp kiểu liệu có cấu trúc b) Lập trình theo kiểu chương trình lập trình có cấu trúc
c) Có thể xây dựng kiểu liệu chuẩn dựa vào kiểu liệu có cấu trúc d) Kiểu liệu có cấu trúc xây dựng dựa kiểu liệu chuẩn Câu 50) Nói biến tồn cục, phát biểu sau đúng: