wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

on giua ki lop 11

Total questions: 60

Worksheet time: 30mins

Name
Class
Date
1.

Câu 1. Câu lệnh while – do có cú pháp nào dưới đây?

a)

A. while <điều kiện> do <câu lệnh>;

b)

B. who <điều kiện> do <câu lệnh>;

c)

C. what <điều kiện> to <câu lệnh>;

d)

D. while <điều kiện> begin <câu lệnh>;end;

2.

Câu 2. Chương trình dịch có mấy loại?

a)

1

b)

3

c)

2

d)

4

3.

Câu 3. Hãy chọn phát biểu đúng về ngôn ngữ lập trình bậc cao trong các phát biểu sau đây?

a)

A. Gần với ngôn ngữ máy.

b)

B. Thực hiện nhanh hơn ngôn ngữ máy.

c)

C. Gần với ngôn ngữ tự nhiên.

d)

D. Các lệnh được viết dưới dạng mã nhị phân 0 và 1

4.

Câu 4. Khai báo nào dưới đây ĐÚNG về biến kiểu mảng một chiều gồm 10 phần tử số nguyên?

a)

A. Var mang: array[0..10] of integer;

b)

B. Var mang: array[0...10] of real;

c)

C. Var mang: array(0..10) of real;

d)

D. Var mang: array[0..10] of real

5.

Câu 5. Cho khai báo mảng:

Var a: array[1..50] of integer ;

và đoạn chương trình như sau:

s:= 1 ; for i:= 1 to 50  do s:= s * a[i];

Đoạn chương trình trên thực hiện công việc?

a)

A. Tính thương các phần tử trong mảng

b)

B. Tính tích các phần tử trong mảng;

c)

C. Tính hiệu các phần tử trong mảng

d)

D. Tính tổng các phần tử trong mảng;

6.

Câu 6. Xâu là:

a)

A. Dãy hữu hạn các phần tử cùng kiểu

b)

B. Dãy vô hạn các phần tử cùng kiểu

c)

C. Dãy các kí tự trong bảng mã ASCII

d)

D. Bảng các phần tử cùng kiểu.

7.

Câu 7. Hãy chọn phương án ĐÚNG ở dạng lặp tiến For – do ?

a)

A. Giá trị đầu phải nhỏ hơn giá trị cuối

b)

B. Giá trị đầu phải lớn hơn giá trị cuối

c)

C. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.

d)

D. Giá trị đầu phải bằng giá trị cuối

8.

Câu 8. Để khai báo một mảng B gồm 100 phần tử thực, ta viết:

a)

A. Var B: array[0.,.10] of integer

b)

B. Var B: array[0..100] of REAL;

c)

C. Var B: array(0..10) of integer;

d)

D. Var B: array[0:10] of integer;

9.

Câu 9. Em hãy chỉ ra cấu trúc nào được sử dụng trong đoạn chương trình sau:

Tong:=0; For i:=1 to 10 do tong:=tong+i;

a)

A. Cấu trúc rẽ nhánh

b)

B. Cấu trúc lặp

c)

C. Cấu trúc chương trình

d)

D. Câu lệnh ghép

10.

Câu 10. Câu lệnh sau thực hiện công việc gì?

For i:= 1 to M do If (i mod 3 = 0) then t:= t + i;

a)

A. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M

b)

B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M

c)

C. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M

d)

D. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M

11.

Câu 11. Các tên SQR, ABS thuộc loại tên nào sau đây?

a)

A. tên lệnh.

b)

B. tên do người lập trình đặt.

c)

C. tên chuẩn.

d)

D. tên dành riêng (hay còn gọi là từ khóa).

12.

Câu 12. Hãy cho biết đoạn chương trình sau thực hiện công việc gì?

 i: = 1; t:= 0;

while i < 100 do

Begin

t:= t + i; i:= i + 2;

end;

a)

A. Tính tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng 10

b)

B. Tính tổng các số tự nhiên lẻ nhỏ hơn 100

c)

C. Tính tổng các số tự nhiên nhỏ hơn hoặc bằng 10

d)

D. Tính tổng các số tự nhiên nhỏ hơn 10

13.

Câu 13. Câu lệnh sau thực hiện công việc gì?

For i:= 1 to M do If (i mod 5 = 0) then t:= t + i;

a)

A. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M

b)

B. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M

c)

C. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M

d)

D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M

14.

Câu 14. “ Bảng chữ cái là tập hợp các kí tự được dùng để…”. Hãy chọn phương án điền đúng vào các chỗ ba chấm (…) trong các phương án sau:

a)

A. viết đoạn lệnh

b)

B. học ngôn ngữ lập trình

c)

C. viết câu lệnh

d)

D. viết chương trình

Câu 15. Câu lệnh Readln(A[i]); dùng để:

15.

Câu 15. Câu lệnh Readln(A[i]); dùng để:

a)

A. Tính tổng mảng A

b)

B. In ra màn hình giá trị phần tử thứ i của mảng A  

c)

C. Tham chiếu tới phần tử thứ i của mảng A

d)

D. Nhập từ bàn phím giá trị của phần tử thứ i của mảng A

16.

Câu 16. Đoạn chương trình sau thực hiện công việc?

While M <> N do

If M > N then M:=M - N else N:=N - M;

a)

A. Tìm hiệu nhỏ nhất của M và N

b)

B. Tìm bội số chung nhỏ nhất của M và N

c)

C. Tìm ước số chung lớn nhất của M và N

d)

D. Tìm hiệu lớn nhất của M và N

17.

Câu 17. Ngôn ngữ lập trình bao gồm:

a)

A. Ngôn ngữ máy, ngôn ngữ bậc cao.

b)

B. Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao.

c)

C. Ngôn ngữ máy, hợp ngữ.

d)

D. Ngôn ngữ bậc cao.

18.

Câu 18. Cho khai báo mảng:

Var a: array[0..50] of real;

Phương án nào dưới đây chỉ phần tử thứ 10 của mảng?

a)

A. a[10];

b)

B. a[9];

c)

C. a(10);

d)

D. a(9);

19.

Câu 19. Phát biểu nào sau đây SAI về mảng một chiều?

a)

A. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.

b)

B. Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu

c)

C. Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử của nó.

d)

D. Là dãy vô hạn các phần tử có cùng kiểu dữ liệu

20.

Câu 20. “Chương trình dịch có chức năng chuyển đổi chương trình từ ngôn ngữ… sang …”. Hãy chọn phương án điền đúng vào các chỗ ba chấm (…) trong các phương án sau:

a)

A. lập trình bậc cao, ngôn ngữ máy.

b)

B. lập trình bậc cao, hợp ngữ.

c)

C. ngôn ngữ máy, hợp ngữ.

d)

D. ngôn ngữ máy, ngôn ngữ lập trình bậc cao

21.

Câu 21. Hãy cho biết đoạn chương trình sau thực hiện công việc gì?

i: = 0; t:= 0;

while i < 100 do

Begin

t:= t + i; i:= i + 2;

end;

a)

A. Tính tổng các số tự nhiên nhỏ hơn hoặc bằng 10

b)

B. Tính tổng các số tự nhiên nhỏ hơn 10

c)

C. Tính tổng các số tự nhiên chẵn nhỏ hơn 100

d)

D. Tính tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng 1000

22.

Câu 22. Trong Pascal, tên không bắt đầu bằng:

a)

A. chữ cái

b)

B. chữ cái và dấu gạch dưới

c)

C. chữ số

d)

D. dấu gạch dưới

23.

Câu 23. Cho khai báo mảng:

Var a: array[0..50] of integer;

Phương án nào dưới đây chỉ phần tử thứ 20 của mảng?

a)

A. a(20);

b)

B. a[20];

c)

C. a[2];

d)

D. a(9);

24.

Câu 24. Cho khai báo mảng:

Var a: array[1..50] of real ;

và đoạn chương trình như sau:

s:= 0 ; for i:= 1 to 50 do s:= s + a[i];

Đoạn chương trình trên thực hiện công việc?

a)

A. Tính tích các phần tử trong mảng;

b)

B. Tính thương các phần tử trong mảng

c)

            C. Tính tổng các phần tử trong mảng;

d)

D. Tính hiệu các phần tử trong mảng

25.

Câu 25. Chọn phát biểu sai trong các phát biểu nói về CẤU TRÚC LẶP sau:

a)

A. Để mô tả cấu trúc lặp với số lần biết trước, pascal dùng câu lệnh lặp for - do

b)

B. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán.

c)

C. Để mô tả cấu trúc lặp với số lần không biết trước, pascal dùng câu lệnh lặp while – do

d)

D. Trong Pascal có 2 dạng lặp: lặp với số lần biết trước và lặp với số lần chưa biết trước

26.

Câu 26. Trong quá trình thực hiện chương trình, hằng có đặc điểm nào sau đây?

a)

            A. có giá trị thay đổi.

b)

B. có giá trị không thay đổi.

c)

C. dùng để thay thế biểu thức

d)

D. dùng để thay thế biến.

27.

Câu 27. Để nhập từ bàn phím giá trị của phần tử thứ i của mảng A, ta viết:

a)

A. Readln(i);

b)

B. Readln(A[i]);

c)

C. Writeln(A[i]);

d)

D. Writeln(i);

28.

Câu 28. Cho khai báo mảng:Var a: array[0..50] of real ;

và đoạn chương trình như sau:

max:=a[1] ;

for i:= 2 to 50 do if a[i] > max then max:=a[i] ;

Đoạn chương trình trên thực hiện công việc?

a)

A. Tìm chỉ số của phần tử lớn nhất trong mảng

b)

B. Tìm phần tử nhỏ nhất trong mảng

c)

C. Tìm phần tử lớn nhất trong mảng

29.

Câu 29. Trong vòng lặp While – do, câu lệnh được thực hiện khi:

a)

A. Điều kiện còn đúng

b)

B. Điều kiện không xác định

c)

C. Điều kiện sai

d)

D. Không cần điều kiện

30.

Câu 30. Phát biểu nào ĐÚNG về kiểu dữ liệu xâu?

a)

A. Là dãy các ký tự chữ

b)

B. Là dãy các ký tự dấu

c)

C. Là dãy các tự trong bộ mã ASCII

d)

D. Là dãy các ký tự số

31.

Câu 31. Hãy chọn phương án SAI ở dạng lặp tiến For – do ?

a)

A. Giá trị đầu phải bằng giá trị cuối

b)

B. Là câu lệnh lặp với số lần biết trước

c)

C. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.

d)

D. Biến đếm cùng kiểu với giá trị đầu và giá trị cuối

32.

Câu 32. Phát biểu nào sau đây ĐÚNG về mảng một chiều?

a)

A. Chỉ là dãy các số nguyên

b)

B. Là dãy hữu hạn các phần tử có cùng kiểu dữ liệu

c)

C. Là dãy vô hạn các phần tử có cùng kiểu dữ liệu

d)

D. Mảng không chứa các kí tự là chữ cái

33.

Câu 33. Cách viết nào sau đây tham chiếu đúng phần tử thứ i của mảng D?

a)

A. D[',i',]

b)

B. D['i']

c)

C. D(i)

d)

D. D[i]

34.

Câu 34. Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số, được viết trong cặp ngoặc:

a)

A. [ và ]

b)

B. { và }

c)

C. ( và )

d)

D. <và>

35.

Câu 35. Trong Pascal, tên được bắt đầu bằng:

a)

            A. chữ cái

b)

B. chữ số

c)

C. dấu gạch dưới

d)

D. chữ cái và dấu gạch dưới

36.

Câu 36. “ Biến là đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị … trong quá trình thực hiện chương trình”. Hãy chọn phương án điền đúng vào các chỗ ba chấm (…) trong các phương án sau:

a)

A. tên gọi.

b)

B. được khai báo.

c)

C. không thay đổi

d)

D. có thể được thay đổi

37.

Câu 37. Mỗi ngôn ngữ lập trình thường có mấy thành phần cơ bản?

a)

A. 3 thành phần

b)

B. 5 thành phần

c)

C. 4 thành phần

d)

D. 2 thành phần

38.

Câu 38. Đâu là kiểu dữ liệu của biến đếm trong vòng lặp For – do:

a)

A. Kiểu logic

b)

B. Kiểu xâu

c)

C. Kiểu thực

d)

D. Kiểu nguyên

39.

Câu 39. Cho đoạn chương trình:

S:= 0; n:= 1;

while … do

Begin

S:= S + n;

 n:= n + 1;

end;

Tính tổng S = 1 + 2 + 3 + … + 10, điều kiện nào sau đây cần điền vào chỗ ba chấm (…) giữa câu lệnh while … do?

a)

A. n <= 10

b)

B. n >= 10

c)

C. n >10

d)

D. n < 10

40.

Câu 40. Hãy chọn phát biểu đúng trong các phát biểu dưới đây về ngôn ngữ lập trình và chương trình dịch?

a)

A. Chương trình dịch nhận đầu vào là chương trình viết bằng ngôn ngữ lập trình bậc cao, thực hiện chuyển đổi sang ngôn ngữ máy.

b)

B. Chương trình dịch gồm các loại: hợp dịch, thông dịch, biên dịch.

c)

C. Một ngôn ngữ lập trình bậc cao có thể được chương trình dịch dịch sang hợp ngữ.

d)

D. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch.

41.

Câu 41. Hãy chọn phương án ĐÚNG về các phép so sánh xâu ?

a)

A. Cộng, trừ, nhân, chia

b)

B. Cắt, dán, sao chép

c)

C. +, - , *, =

d)

D. =, <>, <, <=, >, >=

42.

Câu 42. “ Hằng là đại lượng …. trong quá trình thực hiện chương trình.”.  Hãy chọn phương án điền đúng vào các chỗ ba chấm (…) trong các phương án sau:

a)

A. có giá trị thay đổi.

b)

B. tên gọi.

c)

C. có giá trị không thay đổi.

d)

D. được khai báo.

43.

Câu 43. Trong Pascal, bảng chữ cái bao gồm:

a)

A. Các chữ cái in thường và in hoa của bảng chữ cái tiếng Anh

b)

B. Các kí tự đặc biệt

c)

C. Các chữ cái in thường và in hoa của bảng chữ cái tiếng Anh, các chữ số từ 0 đến 9, các kí tự đặc biệt

d)

D. Các chữ số từ 0 đến 9

44.

Câu 44. Mỗi ngôn ngữ lập trình thường có các thành phần cơ bản nào sau đây?

a)

A. Các ký hiệu, bảng chữ cái và bảng số.

b)

B. Các kí hiệu, bảng chữ cái và qui ước.

c)

C. Bảng chữ cái, cú pháp và ngữ pháp.

d)

D. Bảng chữ cái, cú pháp và ngữ nghĩa.

45.

Câu 45. Trong quá trình thực hiện chương trình, biến có đặc điểm nào sau đây?

a)

A. có giá trị không thay đổi.

b)

B. có giá trị thay đổi.

c)

C. dùng để thay thế biểu thức.

d)

D. dùng để thay thế biến.

46.

Câu 46. Cách viết nào sau đây đưa ra màn hình giá trị phần tử i của mảng A?

a)

A. Write(A[‘i’]);

b)

B. Write(A(i));

c)

C. Write(A{i});

d)

D. Write(A[i]);  

47.

Câu 47. Kiểu dữ liệu của biến đếm trong lệnh lặp For – do là:

a)

A. Cùng kiểu với giá trị đầu và giá trị cuối

b)

B. Cùng kiểu với các biến trong câu lệnh

c)

C. Không cần phải xác định kiểu dữ liệu

d)

D. Chỉ cần khác kiểu với giá trị đầu

48.

Câu 48. Phép ghép xâu (phép cộng xâu) dùng để:

a)

A. Ghép nhiều xâu thành một

b)

B. Nhân 2 xâu

c)

C. So sánh 2 xâu

d)

D. Trừ 2 xâu

49.

Câu 49. Cú pháp lệnh lặp For – do dạng lùi là:

a)

A. for < biến đếm>:= < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;

b)

B. for < biến đếm>:= < Giá trị cuối > downto < Giá trị đầu > do < câu lệnh >;

c)

C. for < biến đếm> = < Giá trị cuối > down< Giá trị đầu > do < câu lệnh >;

d)

D. for < biến đếm> = < Giá trị cuối > to < Giá trị đầu > do < câu lệnh >;

50.

Câu 50. Em hãy cho biết đâu là cú pháp của cấu trúc lặp không biết trước?

a)

B. while <điều kiện> begin <câu lệnh>;end;

b)

A. who <điều kiện> do <câu lệnh>

c)

C. while <điều kiện> do <câu lệnh> ;

d)

D. what <điều kiện> to <câu lệnh>;

51.

Câu 51. Câu lệnh write(A[i]); dùng để:

a)

A. In ra màn hình giá trị phần tử thứ i của mảng A  

b)

B. Tính tổng mảng A

c)

C. Nhập giá trị cho các phần tử mảng A

d)

D. Tham chiếu tới phần tử thứ i của mảng A

52.

Câu 52. Cú pháp lệnh lặp For – do dạng tiến là:

a)

A. for < biến đếm>:= < Giá trị đầu > to < Giá trị cuối > do < câu lệnh>;

b)

B. for < biến đếm>:= < Giá trị cuối > downto < Giá trị đầu > do < câu lệnh >;

c)

C. for < biến đếm> = < Giá trị cuối > down < Giá trị đầu > do < câu lệnh >;

d)

D. for < biến đếm> = < Giá trị cuối > down< Giá trị đầu > do < câu lệnh >;

53.

Câu 53. Câu lệnh While – Do dùng để làm gì?

a)

A. Lặp với số lần biết trước

b)

B. Nhập dữ liệu vào từ bàn phím

c)

C. Lặp với số lần chưa biết trước

d)

D. Đưa dữ liệu ra màn hình

54.

Câu 54. Phát biểu nào dưới đây là ĐÚNG ?

a)

A. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch;

b)

B. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau;

c)

C. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân;

d)

D. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch;

55.

Câu 55. Cho khai báo mảng:Var a: array[0..50] of integer ;

và đoạn chương trình như sau:

min:=a[1] ;

for i:= 2 to 50 do if a[i] < min then min:=a[i] ;

Đoạn chương trình trên thực hiện công việc?

a)

A. Tìm phần tử nhỏ nhất trong mảng

b)

B. Tìm chỉ số của phần tử nhỏ nhất trong mảng

c)

C. Tìm chỉ số của phần tử lớn nhất trong mảng

d)

D. Tìm phần tử lớn nhất trong mảng

56.

Câu 56. Đoạn chương trình sau thực hiện công việc?

S:=0, i:=100

While (i > 0) do

begin

S:=s+i; i:=i-1;

End;

a)

A. Tính tổng các số lớn hơn 100

b)

B. Tính tổng các số từ 1đến 100

c)

C. Tính tổng các số chẵn từ 1 đến 100

d)

D. Tính tổng các số lẻ từ 1 đến 100

57.

Câu 57. Cho đoạn chương trình:

S:= 0; n:= 1;

while … do

Begin

S:= S + n;

n:= n + 1;

end;

Tính tổng S = 1 + 2 + 3 + … + 10, điều kiện nào sau đây cần điền vào chỗ ba chấm (…) giữa câu lệnh while … do?

a)

A. n <= 10

b)

B. n < 10

c)

C. n >= 10

d)

D. n >10

58.

Câu 58. Hãy chọn phát biểu ĐÚNG về ngôn ngữ máy trong các phát biểu sau đây?

a)

A. Là một dạng của hợp ngữ.

b)

B. Gần với ngôn ngữ tự nhiên.

c)

C. Các câu lệnh được viết dưới dạng mã nhị phân 0 và 1.

d)

D. Cần có chương trình dịch để dịch cho máy hiểu.

59.

Câu 59. Có mấy loại  ngôn ngữ lập trình?

a)

A. 2 loại

b)

B. 3 loại

c)

C. 1 loại

d)

D. 4 loại

60.

Câu 60. Các tên BEGIN, END thuộc loại tên nào sau đây?

a)

A. tên dành riêng ( hay còn gọi là từ khóa).

b)

B. tên lệnh.

c)

C. tên do người lập trình đặt.

d)

D. tên chuẩn.