wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ÔN TẬP TIN 11- GIỮA KÌ 2

Total questions: 56

Worksheet time: 24mins

Name
Class
Date
1.

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)

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.

b)

Để 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

c)

Để 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

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

2.

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

a)

Điều kiện sai

b)

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

c)

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

d)

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

3.

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

a)

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

b)

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

c)

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

d)

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

4.

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

a)

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

b)

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

c)

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

d)

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

5.

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

a)

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

b)

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

c)

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

d)

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

6.

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

a)

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

b)

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

c)

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

d)

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

7.

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)

n >= 10

b)

n < 10

c)

n < 10

d)

n <= 10

8.

Đ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)

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

b)

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

c)

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

d)

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

9.

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)

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

b)

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

c)

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

d)

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

10.

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)

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

b)

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

c)

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

d)

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

11.

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

a)

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

b)

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

c)

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

d)

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

12.

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

a)

D[',i',]

b)

D['i']

c)

D[i]

d)

D(i)

13.

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

a)

Readln(A[i]);

b)

Writeln(A[i]);

c)

Readln(i);

d)

Writeln(i);

14.

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

a)

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

b)

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

c)

Tính tổng mảng A

d)

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

15.

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)

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

b)

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

c)

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

d)

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

16.

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)

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

b)

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

c)

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

d)

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

17.

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)

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

b)

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

c)

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

d)

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

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(10);

b)

a[10];

c)

a(9);

d)

a[9];

19.

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

a)

Là dãy các ký tự trong bộ mã ASCII

b)

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

c)

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

d)

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

20.

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

a)

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

b)

=, <>, <, <=, >, >=

c)

+, - , *, =

d)

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

21.

Để tham chiếu tới phần tử của xâu được xác định bởi tên biến xâu và chỉ số đặt trong cặp ngoặc :

a)

[ và ]

b)

{ và }

c)

( và )

d)

<và>

22.

Trong ngôn ngữ lập trình Pascal, khai báo nào dưới đây SAI về biến kiểu xâu?

a)

Var St: String[300];

b)

Var St: String[10];

c)

Var St: String;

d)

Var St: String[0];

23.

Trong ngôn ngữ lập trình Pascal, hàm Length(S) cho kết quả là:

a)

Số ký tự của xâu không tính dấu cách cuối cùng.

b)

Độ dài tối đa của xâu S khi khai báo.

c)

Độ dài của xâu S.

d)

Số ký tự của xâu S không tính các dấu cách.

24.

Hãy chọn phương án ĐÚNG khi thực hiện thủ tục Insert(S1,S2,vt) ?

a)

Chèn xâu S1 vào S2 bắt đầu từ vị trí vt

b)

Cộng xâu s1 vào s2

c)

So sánh xâu s1 và s2

d)

Đưa ra độ dài xâu s1 và s2

25.

Cho xâu S= 'Thu do Ha Noi', khi thực hiện thủ tục Delete(S,1,6) kết quả là:

a)

'Thu do Ha Noi'

b)

' Ha Noi'

c)

'Thu do'

d)

'Noi'

26.

Đoạn chương trình dưới đây thực hiện công việc gì?

d:= 0;

for i:= 1 to length(S) do

if S[i] = ' ' then d:= d + 1;

a)

Xóa các kí tự số

b)

Đếm các kí tự có trong xâu

c)

Đếm số dấu cách có trong xâu

d)

Xóa đi các dấu cách trong xâu

27.

Câu lệnh nào thực hiện đưa ra xâu S theo thứ tự đảo ngược (ví dụ: xâu dcba là xâu đảo ngược của xâu abcd)

a)

For i:= 1 to length(S) do write(S[i]);

b)

For i:= 1 to length(S) do writeln(S);

c)

For i:= length(S) to 1 do write(S);

d)

For i:= length(S) downto 1 do write(S[i]);

28.

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

If length(a) < length(b) then write(a) Else write(b) ;

a)

Tính độ dài của xâu a

b)

Tính độ dài xâu b

c)

Kiểm tra và In ra màn hình xâu dài hơn

d)

Kiểm tra và In ra màn hình xâu ngắn hơn

29.

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)

Cấu trúc rẽ nhánh

b)

Cấu trúc lặp

c)

Câu lệnh ghép

d)

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

30.

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

a)

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

b)

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

c)

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

d)

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

31.

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)

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

b)

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

c)

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

d)

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

32.

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

a)

Kiểu nguyên

b)

Kiểu thực

c)

Kiểu xâu

d)

Kiểu logic

33.

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

a)

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

b)

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

c)

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

d)

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

34.

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

a)

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

b)

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

c)

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

d)

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

35.

Cho đoạn chương trình:

S:= 0; n:= 0;

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)

n >= 10

b)

n < 10

c)

n < 10

d)

n <= 10

36.

Đ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)

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

b)

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

c)

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

d)

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

37.

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)

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

b)

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

c)

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

d)

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

38.

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)

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

b)

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

c)

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

d)

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

39.

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

a)

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

b)

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

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)

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

40.

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)

[ và ]

b)

{ và }

c)

( và )

d)

<và>

41.

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

a)

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

b)

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

c)

Tính tổng mảng A

d)

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

42.

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)

Write(A[i]);

b)

Write(A{i});

c)

Write(A(i));

d)

Write(A[i]);

43.

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

a)

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

b)

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

c)

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

d)

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

44.
a)

A

b)

B

c)

C

d)

D

45.

a)

A

b)

B

c)

C

d)

D

46.

a)

A

b)

B

c)

C

d)

D

47.

Xâu là:

a)

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

b)

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

c)

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

d)

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

48.

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

a)

So sánh 2 xâu

b)

Nhân 2 xâu

c)

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

d)

Trừ 2 xâu

49.

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

a)

S[',i',]

b)

S['i']

c)

S(i)

d)

S[i]

50.

Trong ngôn ngữ lập trình Pascal, khai báo nào dưới đây ĐÚNG về biến kiểu xâu?

a)

Var A: STRING

b)

Var A : string[400];

c)

Var A: string[200];

d)

var A: string[20]

51.

Trong ngôn ngữ lập trình Pascal, hàm Upcase(CH) cho kết quả là:

a)

Độ dài của xâu CH

b)

Chữ cái in thường tương ứng với chữ cái trong CH

c)

Chữ cái in hoa tương ứng với chữ cái trong CH

d)

Số ký tự của xâu CH không tính các dấu cách.

52.

Chọn phương án ĐÚNG khi thực hiện thủ tục Delete(S,vt,n) ?

a)

Xóa n kí tự của biến xâu S bắt đầu từ vị trị vt

b)

Cộng xâu s vào vt

c)

So sánh xâu s và vt

d)

Đưa ra độ dài xâu s

53.

Cho xâu S= 'Thu do Ha Noi', khi thực hiện thủ tục Delete(S,7,7) kết quả là:

a)

'THa Noi'

b)

' Ha Noi'

c)

'Thu do'

d)

'Noi'

54.

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

S1 := ‘tin hoc’ ;

S2 := ‘11’ ;

S :=S1+S2 ;

Write(s) ;

a)

Ghép 2 xâu theo thứ tự s1+s2 và in kết quả ra màn hình

b)

Ghép 2 xâu theo thứ tự s2+s1 và in kết quả ra màn hình

c)

Tính tổng độ dài 2 xâu và in kết quả ra màn hình

d)

So sánh và In ra màn hình xâu dài hơn

55.

Câu lệnh sau có ý nghĩa?

For i:= length(S) downto 1 do write(S[i]);

a)

Đưa ra độ dài xâu S

b)

Đếm số dấu cách có trong xâu S

c)

In ra xâu S theo thứ tự đảo ngược

d)

In ra xâu S

56.

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

If length(a) > length(b) then write(a) Else write(b) ;

a)

Tính độ dài của xâu a

b)

Tính độ dài xâu b

c)

Kiểm tra và In ra màn hình xâu dài hơn

d)

Kiểm tra và In ra màn hình xâu ngắn hơn