Tải bản đầy đủ (.docx) (15 trang)

Câu hỏi ôn tập học kì 1

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 (93.71 KB, 15 trang )

CÂU HỎI ƠN TẬP CUỐI HỌC KÌ II. MƠN TIN HỌC 11. NĂM HỌC 2021-2022
Lưu ý: đáp án chỉ dùng để tham khảo (nếu có vấn đề sai sót, HS trao đổi với GV dạy để được
hướng dẫn).
Câu 1: Cho đoạn chương trình sau:
T:=0;
For i:=1 to 6 do
If i mod 2 = 0 then t:=t+i;
Write(t);
Đoạn chương trình trên cho kết quả như thế nào?
A. 12
B. 21
C. 7
D. 2 4 6
Câu 2: Cho mảng một chiều A gồm N phần tử, muốn nhập giá trị cho tất cả các phần tử của
mảng A, ta dùng lệnh nào?
A. For i := 1 to N do write(A[i]);
B. For i := 1 to N do readln(A[i]);
C. Readln(A[i]);
D. Writeln(A[i]);
Câu 3: Phát biểu nào dưới đây về kiểu mảng là phù hợp ?
A. Là một tập hợp các số nguyên
B. Độ dài tối đa của mảng là 255
C. Là một dãy hữu hạn các phần tử cùng kiểu
D. Mảng khơng thể chứa kí tự
Câu 4: Phát biểu nào sau đây về mảng là khơng chính xác:
A. Chỉ số của mảng không nhất thiết bắt đầu từ 1
B. Có thể xây dựng mảng nhiều chiều
C. Xâu kí tự cũng có thể xem như là một loại mảng
D. Độ dài tối đa của mảng là 255
Câu 5: Cú pháp khai báo mảng 1 chiều sau là hợp lệ?
A. Var <tên biến mảng>: arry [<chỉ số đầu>..<chỉ số cuối>] of <kiểu phần tử>;


B. Var <tên biến mảng>: array [<chỉ số cuối>..<chỉ số đầu>] of <kiểu phần tử>;
C. Var <tên biến mảng>: array [<chỉ số đầu>..<chỉ số cuối>] of <kiểu phần tử>;
D. Var <tên biến mảng>: array[<chỉ số đầu>..<chỉ số cuối>] of <kiểu dữ liệu>;
Câu 6: Phương án nào dưới đây là khai báo mảng hợp lệ ?
A. Var A: ARRAY[0..10] OF INTEGER;
B. Var A: ARRAY[0..10] : INTEGER;
C. Var A: INTEGER OF ARRAY[0..10];
D. Var A: ARRAY(0..10) : INTEGER;
Câu 7: Cú pháp nào sau đây đâu là cú pháp tham chiếu tới phần tử của mảng?
A. <Tên biến mảng> [chỉ số phần tử];
1


B. <Chỉ số phần tử> [Tên biến mảng];
C. <Tên biến mảng> <chỉ số phần tử>;
D. [Tên biến mảng] <chỉ số phần tử>;
Câu 8: Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?
Var A: array[1..10] of integer;
A. A[10];
B. A(10);
C. A<10>;
D. A10;
Câu 9: Phương án nào dưới đây chỉ phần tử thứ 10 của mảng ?
Var A: array[0..10] of integer ;
A. A[10];
B. A(10);
C. A[9];
D. A(9);
Câu 10: Cho đ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 số có N
ptử)?

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âu 11: Cho khai báo sau:
Var a : array[0..16] of integer;
Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên?
A. For k:=1 to 16 do write(a[k]);
B. For k:=0 to 16 do write(a[k]);
C. For k:=15 downto 0 do write(a[k]);
D. For k:=1 to 15 do write(a[k]);
Câu 12: Cho đoạn lệnh xử lí mảng 1 chiều sau, cho biết kết quả sau khi thực hiện:
1
2
3
4 5
S

1
2

1
4

1
3

Var S: array[1..6] of integer;

i:byte;
begin
for i:=1 to 5 do
If i mod 2 <> 0 then write(S[i]:3);
end;
A. 14 8 9
2

8

9


B. 12 13 9
C. 12 14 13 8 9
D. 14 8
Câu 13: Cho mảng 1 chiều sau, cho biết kết quả sau khi thực hiện tham chiếu S[4]
1
2
3
4 5
S 12 14 13 8 9
A. 14
B. 12
C. 9
D. 8
Câu 14: Cho khai báo sau:
Var a : array[1..16] of integer;
Câu lệnh nào dưới đây sẽ in ra tất cả các phần tử của mảng trên?
A. For i:=15 downto 0 do write(a[i]);

B. For i:=1 to 15 do write(a[i]);
C. For i:=1 to 16 do write(a[i]);
D. For i:=0 to 16 do write(a[i]);
Câu 15: Khai báo sau đây thì mảng A có tối đa bao nhiêu phần tử?
Var A:array [-10..10] of byte;
A. 11
B. 21
C. 10
D. 9
Câu 16: Cho đ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 số có N
phần tử)?
S:=0;
For i:=1 to n do
If A[i] > 0 then S:=S+A[i];
A. Tính tổng các phần tử có giá trị chẵn của mảng A
B. Tính tổng các phần tử có giá trị khơng âm của mảng A
C. Tính tổng các phần tử của mảng A
D. Tính tổng các phần tử có giá trị dương của mảng A
Câu 17: Chương trình sau sẽ in ra màn hình cơng việc gì?
For i:=1 to n do
If a[i] mod 2 <> 0 then Write(a[i]);
A. In ra giá trị các phần tử chẵn của mảng a
B. In ra giá trị các phần tử lẻ của mảng a
C. In ra tất cả giá trị các phần tử của mảng a
D. In ra tổng giá trị các phần tử của mảng a
Câu 18: Cho đ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 số có N
phần tử)?
For i:= 1 to n do
3



If A[i] > 0 then Tong := Tong + A[i];
Writeln(Tong);
A. In ra các giá trị các phần tử dương của mảng a
B. In ra các giá trị các phần tử âm của mảng a
C. In ra tổng các giá trị các phần tử dương của mảng a
D. In ra tổng các giá trị các phần tử âm của mảng a
Câu 19: Đoạn lệnh nào dưới đây thực hiện công việc in giá trị các phần tử có chỉ số chẵn lên
màn hình?
A. For i:= 1 to n do If A[i] mod 2 = 0 then write(A[i]);
B. For i:= 1 to n do If A[i] < 0 then write(A[i]);
C. For i:= 1 to n do If i mod 2 = 0 then write(A[i]);
D. For i:= 1 to n do If i mod 2 <> 0 then write(A[i]);
Câu 20: Cho đ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 số có N
phần tử)?
For i:= 1 to n do
If A[i] = 10 then Dem := Dem + 1;
A. Đếm số lần xuất hiện phần tử có giá trị bằng 10;
B. Đếm số lần xuất hiện phần tử có chỉ số bằng 10;
C. In ra tổng các giá trị các phần tử có giá trị bằng 10;
D. In ra các phần tử có giá trị bằng 10;
Câu 21: Xâu kí tự là
A. Dãy các kí tự trong bảng mã ASCII.
B. Dãy các kí tự trong bảng chữ cái từ A đến Z.
C. Tập hợp các kí tự chỉ gồm các chữ cái và chữ số.
D. Dãy các kí tự gồm các chữ số.
Câu 22: Phát biểu nào sau đây là đúng ?
A. Trong xâu thì mỗi kí tự là một phần tử của xâu.
B. Trong xâu, số lượng kí tự trong một xâu là vơ hạn.
C. Xâu khơng chứa các kí tự đặc biệt như: ?, @,$...

D. Xâu chí chứa các kí tự gồm các chữ cái và chữ số.
Câu 23: Xâu có độ dài bằng 0 là xâu
A. Rỗng
B. Xâu chứa các kí tự là khoảng trắng
C. Rỗng hoặc chỉ chứa các kí tự là khoảng trắng.
D. Chứa kí tự đặc biệt.
Câu 24: Phát biểu nào sau đây là đúng nhất ?
A. Số lượng kí tự trong một xâu là độ dài của xâu.
B. Độ dài của xâu chỉ gồm các kí tự là chữ cái khơng tính khoảng trắng
C. Xâu lúc nào cũng có độ dài là 255 kí tự.
D. Độ dài của xâu có tối đa 256 kí tự.
Câu 25: Chọn cú pháp đúng khi muốn tham chiếu đến phần tử của xâu?
4


A. <Tên biến xâu>[Chỉ số]
B. <Tên kiểu xâu>[Chỉ số]
C. <Chỉ số>[Tên biến xâu]
D. <Chỉ số >[Tên kiểu xâu ]
Câu 26: Cách biểu diễn xâu nào sau đây là đúng?
A. TIN HOC
B. “TIN HOC”
C. 'TIN HOC '
D. (TIN HOC)
Câu 27: Xâu 'NGON NGU LAP TRINH' có độ dài là?
A. 18
B. 15
C. 4
D. 0
Câu 28: Giả sử biến xâu S Chứa xâu 'NGON NGU LAP TRINH', ta viết S[8] thì kết quả của

phép tham chiếu này cho ta kết quả?
A. 'N '
B. 'G '
C. 'U '
D. 'L '
Câu 29: Cú pháp khai báo xâu nào sau đây là đúng nhất?
A. Var <Tên biến xâu> : String[độ dài lớn nhất của xâu];
B. Var <Tên biến xâu> : Char[độ dài lớn nhất của xâu];
C. Var String[độ dài lớn nhất của xâu] : <Tên biến xâu> ;
D. Var Char[độ dài lớn nhất của xâu] : <Tên biến xâu> ;
Câu 30: Kiểu dữ liệu dùng để khai báo biến xâu là?
A. Char
B. String
C. Kiểu xâu
D. Tên biến xâu
Câu 31: Cho khai báo xâu Var S : String[20]; Hỏi độ dài lớn nhất của xâu trên là?
A. 0
B. 10
C. 20
D. 255
Câu 32: Cho khai báo xâu Var S : String[20]; Hỏi tên biến xâu của khai báo xâu là?
A. Var
B. String;
C. 20
D. S
Câu 33: Để khai báo xâu S có tối đa 150 phần tử thì khai báo nào sau đây là đúng nhất?
5


A. Var S : String[150];

B. Var S : Char[150];
C. Var S : String;
D. Var S : Char;
Câu 34: Xác định số lượng phần tử của khai báo xâu sau:
Var xau : String;
A. 0
B. 100
C. 200
D. 255
Câu 35: Trong Pascal, phép ghép xâu sử dụng kí hiệu nào?
A. +
B. &
C. *
D. Câu 36: Phép so sánh xâu sử dụng những kí hiệu nào?
A. >, >=, <, <=, =, <>.
B. >, >=, <, <=, =, ≠.
C. >, ≥, <, ≤, =, <>.
D. >, ≥, <, ≤, =, ≠.
Câu 37: Xâu A lớn hơn xâu B khi
A. Xâu A dài hơn xâu B.
B. Kí tự đầu tiên khác nhau giữa xâu A và xâu B kể từ trái sang trong xâu A có mã ASCII lớn
hơn.
C. Trong xâu A xuất hiện kí tự có mã ASCII lớn hơn bất kì kí tự nào trong xâu B
D. Xâu A nhiều kí tự hơn xâu B.
Câu 38: Nếu xâu A và xâu B là các xâu có độ dài khác nhau và xâu A là đoạn đầu của xâu B
thì.
A. Xâu A nhỏ hơn xâu B.
B. Xâu A lớn hơn xâu B.
C. Xâu A bằng xâu B.
D. Xâu A lớn hơn hoặc bằng xâu B.

Câu 39: Trong thủ tục delete(st, vt, n) thì st là:
A. Xâu kí tự cần xóa.
B. Vị trí bắt đầu xóa.
C. Số lượng kí tự cần xóa.
D. Xâu kết quả trả về.
Câu 40: Thủ tục Insert(s1, s2, vt); là thực hiện:
A. Chèn xâu s1 vào xâu s2 tại vị trí vt.
B. Chèn xâu s2 vào xâu s1 tại vị trí vt.
C. Chèn xâu s1 vào xâu s2 tại gồm vt kí tự.
6


D. Chèn xâu s2 vào xâu s1 tại gồm vt kí tự.
Câu 41: Hàm Copy(S, vt, N); thực hiện
A. Sao chép N kí tự của xâu S bắt đầu vị trí vt.
B. Sao chép vt kí tự của xâu S bắt đầu vị trí N.
C. Sao chép S kí tự của xâu N bắt đầu vị trí vt.
D. Co Sao chép S kí tự của xâu vt bắt đầu vị trí N.
Câu 42: Hàm Length(s); thực hiện
A. Đếm số lượng kí tự của xâu S.
B. Xóa xâu S.
C. Xác định số lượng kí tự tối đa của xâu S trong phần khai báo.
D. Xác định vị trí của xâu S.
Câu 43: Để tìm vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2 ta dùng hàm nào?
A. Pos
B. Length
C. Upcase
D. Delete
Câu 44: Hàm Upcase là hàm dùng để
A. Chuyển chữ cái in hoa sang in thường.

B. Chuyển chữ cái in thường sang in hoa.
C. Tính độ dài của xâu.
D. Chèn xâu.
Câu 45: Cho câu lệnh :
S := copy( 'Tin Hoc va Cuoc Song ',12,10) + copy( 'Quanh Ta',1,8) ;
Hỏi, sau khi thực hiện xong lệnh trên thì giá trị của S là
A. Tin Hoc Quanh Ta
B. Cuoc Song Tin Hoc
C. Cuoc Song Quanh Ta
D. Quanh Ta Cuoc Song
Câu 46: Cách so sánh xâu nào sau đây cho kết quả là đúng ?
A. 'Thong tin ' < 'Thong Tin '
B. 'Thong tin ' > 'Thong Tin '
C. 'Thong tin ' = 'Thong Tin '
D. 'Thong Tin ' <> 'Thong Tin '
Câu 47: Cách so sánh xâu nào sau đây cho kết quả là đúng ?
A. 'Truong Sa ' > 'Truong Sa'
B. 'Truong Sa ' < 'Truong Sa'
C. 'Truong Sa ' = 'Truong Sa'
D. 'Truong Sa ' <> 'Truong Sa'
Câu 48: Cho câu lệnh : S := '123' + '456' ;
Hỏi sau khi thực hiện xong câu lệnh trên thì giá trị của S là
7


A. '123456'
B. '579 '
C. '456123 '
D. '975 '
Câu 49: Cho câu lệnh : A := copy( 'Cong nghe thuc pham ',11,9) ; hỏi kết quả sau khi thực hiện

lệnh trên là:
A. Cong nghe
B. thuc pham
C. nghe thuc
D. Cong nghe thuc pham
Câu 50: Cho S := 'Tai nguyen moi truong' ;
i := length(s) ;
Hỏi sau khi thực hiện xong hai câu lệnh trên thì giá trị của i là
A. 21
B. 20
C. 22
D. 19
Câu 51: Dữ liệu kiểu tệp
A. được lưu trữ trên ROM.
B. được lưu trữ trên RAM.
C. chỉ được lưu trữ trên đĩa cứng.
D. được lưu trữ trên bộ nhớ ngoài
Câu 52: Phát biểu nào sau đây là sai ?
A. Trong lập trình, muốn thao tác trên tệp dữ liệu phải thao tác gián tiếp qua biến tệp.
B. Biến tệp là biến kiểu xâu.
C. Trong Pascal, biến tệp văn bản có kiểu text.
D. Trong chương trình, tên tệp có thể là biến xâu hoặc hằng xâu .
Câu 53: Phát biểu nào sau đây là sai ?
A. Muốn đọc/ghi dữ liệu trong một tệp, sau khi gắn biến tệp với tên tệp cần phải thực hiện thao
tác mở tệp đó;
B. Trong lệnh mở tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa.
C. Trong lệnh gán tên tệp với biến tệp, cần khai báo tên tệp để xác định đúng vị trí tệp trên đĩa.
D. Sau khi mở tệp, con trỏ tệp ở vị trí đầu tệp.
Câu 54: Chọn mệnh đề sai trong các mệnh đề sau :
A. Sau khi đọc xong tệp, khơng đóng tệp cũng khơng gây ảnh hưởng gì cho việc quản lí tệp

B. Một tệp văn bản đang mở và con trỏ tệp không ở phần tử đầu tiên, muốn làm việc với phần
tử đầu tiên của tệp cần đóng tệp và mở lại.
C. Khi mở lại tệp, nếu không thay đổi biến tệp thì khơng cần gán lại biến tệp với tên tệp.
D. Khi ghi xong dữ liệu vào tệp, cần đóng tệp.
Câu 55: Cách thức truy cập tệp văn bản là
A. Truy cập tuần tự.
B. Truy cập ngẫu nhiên.
C. Truy cập trực tiếp
D. Vừa truy cập tuần tự vừa truy cập trực tiếp.
Câu 56: Số lượng phần tử trong tệp
8


A. Không được lớn hơn 128
B. Không được lớn hơn 255.
C. Phải được khai báo trước.
D. Không bị giới hạn mà chỉ phụ thuộc vào dung lượng đĩa.
Câu 57: Hãy chọn thứ tự hợp lí nhất khi thực hiện các thao tác đọc dữ liệu từ tệp :
A. Mở tệp => Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Đóng tệp .
B. Mở tệp => Đọc dữ liệu từ tệp => Gán tên tệp với biến tệp => Đóng tệp.
C. Gán tên tệp với biến tệp => Mở tệp => Đọc dữ liệu từ tệp => Đóng tệp .
D. Gán tên tệp với biến tệp => Đọc dữ liệu từ tệp => Mở tệp => Đóng tệp.
Câu 58: Trong PASCAL, để khai báo hai biến tệp văn bản f1, f2 ta viết
A. Var f1 f2 : Text;
B. Var f1 ; f2 : Text;
C. Var f1 , f2 : Text;
D. Var f1 : f2 : Text;
Câu 59: Để thao tác với tệp
A. Ta có thể gán tên tệp cho biến tệp, hoặc sử dụng trực tiếp tên tệp cũng được.
B. Ta nhất thiết phải gán tên tệp cho biến tệp.

C. Ta nên sử dụng trực tiếp tên tệp trong chương trình.
D. Ta nhất thiết phải sử dụng trực tiếp tên tệp trong chương trình.
Câu 60: Để gán tên tệp cho tên biến tệp ta sử dụng câu lệnh
A. <tên tệp> := <biến tệp> ;
B. <biến tệp> := <tê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 61: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh
A. f1 := 'KQ.TXT';
B. KQ.TXT := f1;
C. Assign('KQ.TXT',f1);
D. Assign(f1,'KQ.TXT');
Câu 62: Trong PASCAL mở tệp để đọc dữ liệu ta phải sử dụng thủ tục
A. Reset(<biến tệp>);
B. Reset(<tên tệp>);
C. Rewrite(<biến tệp>);
D. Rewrite((<tên tệp>);
Câu 63: Trong PASCAL mở tệp để ghi kết quả ta phải sử dụng thủ tục
A. Reset(<biến tệp>);
B. Reset(<tên tệp>);
C. Rewrite(<biến tệp>);
D. Rewrite((<tên tệp>);
Câu 64: Vị trí của con trỏ tệp sau lời gọi thủ tục Reset
A. Nằm ở đầu tệp.
B. Nằm ở cuối tệp.
C. Nằm ở giữa tệp.
D. Nằm ngẫu nhiên ở bất kỳ vị trí nào.
Câu 65: Để đọc dữ liệu từ tệp văn bản ta có thể sử dụng thủ tục
A. Read(<biến tệp>, <danh sách biến vào>);
9



B. Read(<danh sách biến vào>,<biến tệp>);
C. Write(<biến tệp>, < danh sách kết quả >);
D. Write(<danh sách kết quả >,<biến tệp>);
Câu 66: Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục
A. Read(<biến tệp>, <danh sách biến vào>);
B. Read(<danh sách biến vào>,<biến tệp>);
C. Write(<biến tệp>, <danh sách kết quả>);
D. Write(<danh sách kết quả >,<biến tệp>);
Câu 67: Nếu hàm eof(<tên biến tệp>) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí
A. Đầu dịng.
B. Đầu tệp.
C. Cuối dòng.
D. Cuối tệp.
Câu 68: Nếu hàm eoln(<tên biến tệp>) cho giá trị bằng true thì con trỏ tệp nằm ở vị trí
A. Đầu dịng.
B. Đầu tệp.
C. Cuối dịng.
D. Cuối tệp.
Câu 69: Trong Pascal để đóng tệp ta dùng thủ tục
A. Close(<biến tệp>);
B. Close(<tên tệp>);
C. Stop(<biến tệp>);
D. Stop(<tên tệp>);
Câu 70: Trong Pascal, thực hiện chương trình VD_bt1_txt dưới đây sẽ ghi kết quả nào trong
các kết quả cho dưới đây vào tệp văn bản BT1.TXT ?
Program VD_bt1_txt ;
Var f : text ;
Begin

Assign(f, 'BT1.TXT ') ;
Rewrite(f) ;
Write(f, 123 + 456) ;
Close(f) ;
End.
A. 123 + 456
B. 123456
C. 579
D. 123 456
Câu 71: Trong Pascal, cho trước tệp văn bản BT2.TXT chỉ có một dịng, chứa dịng chữ :
CHAO MUNG BAN DEN VOI LAP TRINH ngay ở đầu dịng. Thực hiện chương
trình VD_bt2_txt , trên màn hình sẽ hiện kết quả nào trong các kết quả cho dưới đây ?
Program VD_bt2_txt ;
Var f : text ;
S : string[13] ;
Begin
Assign(f, 'BT2.TXT ') ;
Reset(f) ;
10


Read(f, S) ;
Write(S) ;
Close(f) ;
End .
A. CHAO MUNG BAN DEN VOI LAP TRINH
B. CHAO MUNG BAN
C. CHAO MUNG BAN DEN VOI
D. CHAO MUNG
Câu 72: Kiểu của một hàm được xác định bởi

A. Kiểu của các tham số
B. Kiểu giá trị trả về
C. Tên hàm
D. Địa chỉ mà hàm trả về
Câu 73: Mô tả nào dưới đây về hàm là sai ?
A. Phải trả lại kết quả
B. Phải có tham số
C. Trong hàm có thể gọi lại chính hàm đó
D. Có thể có các biến cục bộ
Câu 74: Giả sử có hai biến xâu x và y (y đã có giá trị) câu lệnh nào sau đây là không hợp lệ?
A. x := Copy(y,5,3);
B. x := y;
C. x := Delete(y,5,3);
D. Delete(y,5,3);
Câu 75: Nói về cấu trúc của một chương trình con, khẳng định nào sau đây là không đúng?
A. Phần đầu và phần thân nhất thiết phải có, phần khai báo có thể có hoặc khơng.
B. Phần khai báo có thể có hoặc khơng có tùy thuộc vào từng chương trình cụ thể.
C. Phần đầu có thể có hoặc khơng có cũng được.
D. Phần đầu nhất thiết phải có để khai báo tên chương trình con.
Câu 76: Khẳng định nào sau đây là đúng?
A. Một chương trình con nhất thiết phải có tham số hình thức.
B. Một chương trình con nhất thiết phải có biến cục bộ.
C. Một chương trình con nhất thiết phải có tham số hình thức, khơng nhất thiết phải có biến cục
bộ.
D. Một chương trình con có thể khơng có tham số hình thức và cũng có thể khơng có biến cục
bộ.
Câu 77: Khẳng định nào sau đây là đúng?
A. Biến cục bộ là biến được dùng trong chương trình con chứa nó và trong chương trình chính.
B. Biến cục bộ là biến chỉ được dùng trong chương trình chính.
C. Biến cục bộ là biến chỉ được dùng trong chương trình con chứa nó.

D. Biến tồn cục chỉ được sử dụng trong chương trình chính và khơng được sử dụng trong các
chương trình con.
Câu 78: Phát biểu nào dưới đây về biến là sai ?
A. Biến toàn cục có thể được sử dụng ở trong một thủ tục;
B. Biến cục bộ phải có tên khác với tên của biến tồn cục;
C. Biến cục bộ có thể có kiểu khác với kiểu của biến tồn cục có cùng tên;
11


D. Một hàm có thể có nhiều tham số biến;
Câu 79: Khẳng định nào sau đây là đúng?
A. Cả thủ tục và hàm đều có thể có tham số hình thức.
B. Chỉ có thủ tục mới có thể có tham số hình thức.
C. Chỉ có hàm mới có thể có tham số hình thức.
D. Thủ tục và hàm nào cũng phải có tham số hình thức.
Câu 80: Để khai báo hàm trong Pascal bắt đầu bằng từ khóa
A. Program.
B. Procedure.
C. Function.
D. Var.
Câu 81: Để khai báo thủ tục trong Pascal bắt đầu bằng từ khóa
A. Program
B. Procedure.
C. Function.
D. Var.
Câu 82: Cho thủ tục sau :
Procedure p ;
Var n : integer ;
Begin
…… ……

End ;
Phạm vi của biến n là :
A. Trong tồn bộ chương trình;
B. Trong nội bộ thủ tục p;
C. Trong tồn bộ tệp chương trình nguồn;
D. Tùy thuộc vào vị trí sử dụng thủ tục p;
Câu 83: Cấu trúc lệnh gọi chương trình con là
A. <tên chương trình con>(<tham số thực sự>);
B. <tên chương trình con>: (<tham số thực sự>);
C. <tên chương trình con>(<biến tồn cục>);
D. <tên chương trình con>(<biến cục bộ>);
Câu 84: Hàm và thủ tục khác nhau:
A. Hàm trả về 1 giá trị qua tên của nó
B. Thủ tục không trả về giá trị nào
C. Cả A và B đều đúng
D. Cả A và B đều sai
Câu 85: Chương trình con có mấy loại?
A. 1.
B. 2.
C. 3.
D. 4.
Câu 86: Biến cục bộ là gì?
A. Biến được khai báo trong chương trình con nhưng được sử dụng trong chương trình chính.
12


B. Biến được khai báo trong chương trình chính nhưng chỉ được sử dụng cho chương trình con.
C. Biến được khai báo trong chương trình con.
D. Biến tự do khơng cần khai báo.
Câu 87: Tham số hình thức của chương trình con là:

A. Tham số thể hiện trong lệnh gọi chương trình con.
B. Tham số thể hiện khi khai báo chương trình con.
C. Tham số hình thức là tham số cục bộ.
D. Tham số hình thức là tham số tồn cục (toàn bộ).
Câu 88: các biến dùng chung cho toàn bộ chương trình được gọi là?
A. Tham số thực sự.
B. Biến cục bộ.
C. Tham số hình thức.
D. Biến tồn cục (toàn bộ).
Câu 89: Khẳng định nào sau đây là đúng khi nói về chương trình con (CTC)?
A. Các CTC phải được khai báo ngay từ đầu của chương trình chính.
B. Các CTC phải được khai báo sau Begin của chương trình chính.
C. Các CTC được khai báo bất kỳ trong chương trình chính.
D. Các CTC phải được khai báo ngay sau phần khai báo biến và trước Begin của chương
trình chính.
Câu 90: Trong chương trình, tham số được đưa vào khi gọi chương trình con được gọi là:
A. Biến tồn cục.
B. Biến cục bộ.
C. Tham số hình thức.
D. Tham số thực sự.
Câu 91: Khai báo phần đầu một hàm là:
A. Function <tên hàm> [(<Danh sách các tham số>)] : <kiểu dữ liệu>;
B. Procedure <tên hàm> [(<Danh sách các tham số>)] : <kiểu dữ liệu>;
C. Function <tên hàm> [(<Danh sách các tham số>)] ;
D. Function <tên hàm> ;
Câu 92: Các biến được khai báo cho dữ liệu vào/ra được gọi là?
A. Tham số hình thức.
B. Tham số thực sự.
C. Biến cục bộ.
D. Biến toàn cục.

Câu 93: Để phân biệt giữa tham biến và tham trị trong Pascal, trước tham biến người ta dùng từ
khoá nào?
A. Begin
B. Type
C. Const
D. Var
13


Câu 94: Chương trình con là gì ?
A. Là một đoạn trong chương trình chính.
B. Là một đoạn lệnh dùng để kiểm tra tính chất của một số nguyên.
C. Là một đoạn lệnh thực hiện một số thao tác nhất định.
D. Là nhiều câu lệnh phía trên hàm main của chương trình chính.
Câu 95: Chọn khai báo đúng của hàm tính tổng của 2 số nguyên và trả về một số nguyên?
A. function tong(a, b:integer): integer;
B. function tong(a, b:integer);
C. procedure tong(a, b:integer):integer;
D. procedure tong(a, b:integer);
Câu 96: Hàm sau dùng để làm gì ?
Function tinh(x:integer):integer;
Begin
tinh:=x*x*x;
End;
A. Khơng trả về kết quả gì.
B. Tính x lập phương
C. Tính x bình phương
D. Hàm chạy sinh lỗi
Câu 97. Hàm sau có các biến cục bộ nào ?
function tinh(a, n:longint);

var res:longint;
begin
res:=1;
tinh:=res*a*n;
end;
A. res.
B. a.
C. n.
D. res, a, n.
Câu 98: Dịng đầu của thủ tục có dạng nào trong các dạng sau:
A. PROCEDURE <Tên thủ tục> [(<Danh sách tham số>)] : <Kiểu dữ liệu>;
B. PROGRAM <Tên thủ tục> [(<Danh sách tham số>)];
C. FUNCTION <Tên hàm> [(<Danh sách tham số>)] : <Kiểu dữ liệu>;
D. PROCEDURE <Tên thủ tục> [(<Danh sách tham số>)];
Câu 99: Kiểu dữ liệu của chương trình con
A. Chỉ có thể là kiểu integer
B. Chỉ có thể là kiểu real
C. Có thể là các kiểu integer, real, char, boolean, string
14


D. Có thể là integer, real, char, boolean, string, record, kiểu mảng
Câu 100: Cho chương trình sau.

Chương trình trên in ra dãy số nào?
A. 4453
B. 4444
C. 4435
D. 5344
---------------HẾT ---------------


15



×