wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

tin 11 ôn giữa kì 2

Total questions: 55

Worksheet time: 44mins

Name
Class
Date
1.

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

2.

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)

3.

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[1..10] of integer;

b)

Var mang: array(1..10) of integer;

c)

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

d)

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

4.

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

a)

Write(A[i]);

b)

Write(A{i});

c)

Write(A(i));

d)

Write(A[‘i’]);

5.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì?

d :=  0 ;

For i := 1 to  length(S)  do

       if  ( S[i] >= ‘ 0 ’ ) AND ( S[i] <= ‘ 9 ’ ) then  d := d + 1 ;

a)

Đếm số ký tự là ký tự số trong xâu S;

b)

Đếm xem có bao nhiêu ký tự trong xâu S;

c)

Xóa đi các chữ số có trong S;

d)

Xóa đi ký tự đầu tiên trong S;

6.

Cho khai báo mảng:

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

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

k := 0 ;

for i := 1 to 50 do

if a[i] > a[k] then k := 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

7.

Cho khai báo mảng:

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

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

s := 0 ;

for i := 0 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

8.

Cho khai báo mảng:

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

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

m := a[0] ;

for i := 1 to 50 do

if a[i] > m then m := a[i] ;

a)

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

b)

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

c)

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

d)

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

9.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau 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 đi các dấu cách trong xâu;

b)

Đếm số ký tự có trong xâu;

c)

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

d)

Xóa đi các ký tự số;

10.

Hãy chọn phương án ĐÚNG về các phép toán thao tác với xâu ?

a)

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

b)

Tính toán và so sánh

c)

Ghép và so sánh.

d)

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

11.

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]

12.

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;

c)

Var St: String[10]

d)

Var St: String[1];

13.

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.

14.

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

a)

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

b)

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

c)

Nối xâu S2 vào S1

d)

Sao chép vào cuối S1 một phần của S2 từ vị trí vt

15.

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)

'THa Noi'

b)

' Ha Noi'

c)

'Thu do'

d)

'Ha Noi'

16.

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

X:= length(S);

For i:= X downto 1 do

If S[i] = '  ' then Delete(S,i,1);

a)

Xóa hết dấu cách trong xâu S

b)

Xóa dấu cách đầu tiên trong xâu S

c)

Xóa dấu cách cuối cùng trong xâu S

d)

Xóa dấu cách thừa trong xâu S

17.

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:= length(S) downto 1 do write(S);

c)

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

d)

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

18.

Phát biểu nào sau đây về mảng 1 chiều  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;

19.

Phương án nào dưới đây là khai báo mảng hợp lệ ?

a)

mang : ARRAY[0..10] OF INTEGER;

b)

mang : ARRAY[0..10] : INTEGER;

c)

mang : INTEGER OF ARRAY[0..10];

d)

mang : ARRAY(0..10) : INTEGER;

20.

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 := 16 downto 0 do write(a[k]);

c)

for k:= 0 to 15 do write(a[k])

d)

for k := 16 down to 0 write(a[k]);

21.

Cho khai báo mảng:

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

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

k := 0 ;

for i := 1 to 50 do

          if a[i] > a[k] then k := i ;

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

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

22.

Cho khai báo mảng như sau :

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

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

23.

Hãy chọn phương án ghép đúng nhất. Mảng là kiểu dữ liệu biểu diễn một dãy các phần tử thuận tiện cho

a)

chèn thêm phần tử;

b)

truy cập đến phần tử bất kì;

c)

xóa một phần tử

d)

chèn thêm phần tử và xóa phần tử;

24.

Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Length(S) là:

a)

12

b)

13

c)

14

d)

15

25.

Hãy chọn phương án ghép đúng. Cho xâu S là ‘Hanoi-Vietnam’. Kết quả của hàm Pos(‘Vietnam’,S) là

a)

5

b)

6

c)

7

d)

8

26.

Cho khai báo sau :

Var hoten : String;

Phát biểu nào dưới đây là đúng ?

a)

Câu lệnh sai vì thiếu độ dài tối đa của xâu;

b)

Xâu có độ dài lớn nhất là 0;

c)

Xâu có độ dài lớn nhất là 255;

d)

Cần phải khai báo kích thước của xâu sau đó;

27.

Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ?

for  i := length(str) downto 1 do

write(str[i]) ;

a)

In xâu ra màn hình;

b)

In từng kí tự xâu ra màn hình;

c)

In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên;

d)

In từng kí tự ra màn hình theo thứ tự ngược;

28.

Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì?

for i := 1 to length(str) – 1 do

str[i+1] := str[i] ;

a)

Dịch chuyển các kí tự của xâu về sau 1 vị trí;

b)

Dịch chuyển các kí tự của sâu lên trước một vị trí;

c)

Khởi tạo lại mọi kí tự của xâu bằng kí tự đầu tiên;

d)

Khởi tạo lại mọi kí tự của xâu bằng kí tự cuối cùng;

29.

Phát biểu nào sau đây là sai ?

a)

Mỗi phần tử của mảng một chiều đều được đánh chỉ số, được chỉ định nhờ chỉ số tương ứng của nó.

b)

Với khai báo xây dựng kiểu mảng một chiều, không thể biết được mảng chứa tối đa bao nhiêu phần tử.

c)

Trong khai báo xây dựng kiểu mảng một chiều, có thể biết được cách đánh chỉ số cho các phần tử của mảng.

d)

Chỉ số được đánh tuần tự, liên tiếp cho các phần tử kề nhau của mảng một chiều, từ phần tử đầu tiên cho đến phần tử cuối.

30.

Phát biểu nào dưới đây là sai ?

a)

Xâu là một dãy các kí tự trong bảng mã ASCII. Kiểu xâu là một kiểu dữ liệu có cấu trúc.

b)

Có thể xem mỗi xâu có cấu trúc giống như một mảng một chiều mà mỗi phần tử của mảng là một kí tự trong bảng mã ASCII, được đánh chỉ số từ 1.

c)

Số lượng kí tự trong một xâu chính là độ dài của xâu.

d)

Các phép toán thao tác với xâu tương tự như các phép toán thao tác với mảng.

31.

Biểu thức quan hệ nào dưới đây cho giá trị TRUE ?

a)

“MOOR” < “LOOK”

b)

“MATHEMATIC” < “LOOK”

c)

“AB123CD” < “ ”

d)

“MOOR” < “MOORK”

32.

Biểu thức quan hệ nào dưới đây cho giá trị FALSE ?

a)

“MOOR” < “LOOK”

b)

“MOOR” < “MOORK”

c)

“AB123CD” < “ABCDAB”

d)

“ABCDOR” < “ABDOR”

33.

Trong ngôn ngữ lập trình Pascal, về mặt cú pháp câu lệnh nào sau đây là đúng ?

a)

Type 1chieu=array[1..100] of char;

b)

Type mang=array[1-100] of char;

c)

Type mang1c=array(1..100) of char;

d)

Type mang1c=array[1..100] of char;

34.

Hãy chọn phương án hợp lý nhất. Trong ngôn ngữ lập trình Pascal

a)

Các phần tử của mảng một chiều được sắp thứ tự theo chỉ số

b)

Các phần tử của mảng một chiều được sắp thứ tự theo giá trị giảm dần

c)

Các phần tử của mảng một chiều được sắp thứ tự theo giá trị tăng dần

d)

Các phần tử của mảng một chiều không sắp thứ tự

35.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau làm công việc gì :

i := pos(‘  ’, X) ;

while i <>0 do

Begin

                   Delete(X, i, 1) ;

                   i := pos(‘ ’, X) ;

End;

 

a)

Xóa tất cả các dấu cách trong xâu X

b)

Xóa tất cả các dấu cách phía bên trái trong xâu X

c)

Xóa tất cả các dấu cách phía bên phải trong xâu X

d)

Xóa tất cả các dấu cách ở hai đầu của xâu X

36.

Trong ngôn ngữ lập trình 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 số 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 nào trong 3 việc trên

37.

Trong ngôn ngữ lập trình Pascal, xâu kí tự là  ?

a)

Mảng các ký tự

b)

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

c)

Tập hợp các chữ cái trong bảng chữ cái tiếng Anh

d)

Tập hợp các chữ cái và các chữ số trong bảng chữ cái tiếng Anh

38.

Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là đúng ?

a)

S := file of string ;

b)

S : file of char ;

c)

S : string;

d)

S : string[0];

39.

Trong ngôn ngữ lập trình Pascal, xâu có tối đa bao nhiêu kí tự ?

a)

125

b)

256

c)

255

d)

525

40.

Trong ngôn ngữ lập trình Pascal, xâu kí tự không có kí tự nào gọi là ?

a)

Xâu không

b)

Xâu rỗng

c)

Xâu trắng

d)

Không phải là xâu kí tự

41.

Trong ngôn ngữ lập trình Pascal, phần tử đầu tiên của xâu ký tự mang chỉ số là ?

a)

0

b)

1

c)

Do người lập trình khai báo

d)

Không có chỉ số

42.

Trong ngôn ngữ lập trình Pascal, khai báo nào trong các khai báo sau là  sai khi khai báo xâu kí tự ?

a)

S : string;

b)

X1 : string[100];

c)

S : string[256];

d)

X1 : string[1];

43.

Trong ngôn ngữ lập trình Pascal, thủ tục Delete(c, a, b) thực hiện công việc gì trong các việc sau?

a)

Xóa trong xâu kí tự c, a kí tự bắt đầu từ vị trí b

b)

Xóa trong xâu c, b kí tự bắt đầu từ vị trí a

c)

Xóa trong xâu a, b kí tự từ vị trí c

d)

Xóa trong xâu b, c kí tự bắt đầu từ vị trí a

44.

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

a)

Độ dài xâu S khi khai báo

b)

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

c)

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

d)

Số ký tự hiện có của xâu S

45.

Trong ngôn ngữ lập trình Pascal, sau khi chương trình thực hiện xong đoạn chương trình sau, giá trị của biến S là ?

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)

Mua thu Ha Noi

d)

Ha Noi

46.

Trong ngôn ngữ lập trình Pascal, thủ tục chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt được viết

a)

Insert(vt,S1,S2);

b)

Insert(S1,S2,vt);

c)

Insert(S1,vt,S2);

d)

Insert(S2,S1,vt);

47.

Trong ngôn ngữ lập trình Pascal, với xâu kí tự có các phép toán là ?

a)

Phép cộng, trừ, nhân, chia

b)

Phép cộng và phép trừ

c)

Chỉ có phép cộng

d)

Phép ghép xâu và phép so sánh

48.

Trong ngôn ngữ lập trình Pascal, hai xâu kí tự được so sánh dựa trên ?

a)

Mã của từng kí tự trong các xâu lần lượt từ trái sang phải

b)

Độ dài tối đa của hai xâu

c)

Độ dài thực sự của hai xâu

d)

Số lượng các kí tự khác nhau trong xâu

49.

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

a)

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

b)

Xâu ch gồm toàn chữ hoa

c)

Xâu ch toàn chữ thường

d)

Biến ch thành chữ thường

50.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau thực hiện công việc gì ?

X := length(S) ;

For i := X downto 1 do

            If S[i] = ‘ ’ then Delete(S, i, 1) ;        { ‘  ’ là một dấu cách }

a)

Xóa dấu cách đầu tiên trong xâu ký tự S

b)

Xóa dấu cách thừa trong xâu ký tự S

c)

Xóa dấu cách tại vị trí cuối cùng của xâu S

d)

Xóa mọi dấu cách của xâu S

51.

Trong ngôn ngữ lập trình Pascal, sau khi thực hiện xong đoạn chương trình sau, biến Found có giá trị là gì ? (S là biến xâu ký tự)

Found := 0 ;

x := length(S) ;

For i := 1 to x Div 2 do

            If S[i] <> S[x – i + 1] then Found := 1 ;

a)

Found bằng 0 nếu S là xâu đối xứng

b)

Found bằng 0 nếu S là xâu không đối xứng

c)

Found bằng 1 nếu S là xâu đối xứng

d)

Found không có giá trị gì

52.

Trong ngôn ngữ lập trình Pascal, để xóa đi ký tự đầu tiên của xâu ký tự S ta viết :

a)

Delete(S, 1, 1);

b)

Delete(S, i, 1);

c)

Delete(S, length(S), 1);

d)

Delete(S, 1, i);

53.

Trong ngôn ngữ lập trình Pascal, để tìm vị trí xuất hiện đầu tiên của xâu ‘hoa’ trong xâu S ta có thể viết bằng cách nào trong các cách sau ?

a)

S1 := ‘hoa’ ;

i := pos(S1, ‘hoa’);

b)

i := pos(‘hoa’, S);

c)

i := pos(S, ’hoa’);

d)

i := pos(‘hoa’, ‘hoa’);

54.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình thực hiện công việc nào trong các công việc sau:

i := pos(‘  ’, S);  { ‘  ’ là 2 dấu cách }

while i <> 0 do

          Begin

                   Delete(S, i, 1) ;

                   i := pos(‘  ’, S) ;

          End;  

a)

Xóa 2 dấu cách liền nhau đầu tiên trong xâu

b)

Xóa đi một trong 2 dấu cách đầu tiên trong xâu

c)

Xóa các dấu cách trong xâu S để S không còn 2 dấu cách liền nhau

d)

Xóa các dấu cách liền nhau cuối cùng trong xâu

55.

Đoạn chương trình sau in ra kết quả nào ?

Var a : string[10];

Begin

a := ‘tinhoc ’;

writeln(length(a));

End.

a)

6

b)

7

c)

10

d)

chương trình lỗi