wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn tập KTGK2 Tin 11

Total questions: 50

Worksheet time: 39mins

Name
Class
Date
1.

Đâu không là yếu tố cần xác định khi xây dựng mảng 1 chiều:

a)

cách khai báo biến mảng, kiểu dữ liệu của các phần tử.

b)

kiểu dữ liệu của chỉ số.

c)

tên kiểu mảng, số lượng phần tử.

d)

cách tham chiếu đến phần tử.

2.

Cho một đoạn chương trình trong NNLT Pascal (Coi như các biến đã được khai báo đầy đủ).

                  D:=0;

                  For i:= 1 to 20 do

                              If I mod 5 = 0 then     D:=D+1;

Sau khi thực hiện đoạn chương trình  sẽ cho kết quả là:

a)

2

b)

3

c)

4

d)

5

3.

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)

Xâu kí tự cũng có thể xem như là một loại mảng;

c)

Độ dài tối đa của mảng là 255;

d)

Có thể xây dựng mảng nhiều chiều;

4.

Cho dãy số nguyên a gồm các phần tử: 2  3  4  3  1  6  3. Tham chiếu đến giá trị của phần tử thứ 3 ta viết:

a)

A[3]

b)

3

c)

4

d)

A[4]

5.

Cho khai báo biến mảng sau:

Var a:array[0..16] of byte;

Câu lệnh nào sau đây in ra tất cả các phần tử của mảng?

a)

For i:=1 to 16 do write(a[i]);

b)

For i:=16 downto 1 do write(a[i]);

c)

For i:=16 downto 0 do write(a[i]);

d)

For i:= 0 to 15 do write(a[i]);

6.

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

a)

Mảng các kí tự;

b)

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

c)

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

d)

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

7.

Cho chuỗi st:= ‘AAABAAB’; Kết quả in ra là gì sau khi thực hiện 2 lệnh:

             While st [1 ]= ‘A’ do Delete(st,1,1);

            Write(st);

a)

BBABBA.

b)

BAAB.

c)

ABBA.

d)

AAA.

8.

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

a)

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

b)

Số kí tự hiện có của xâu S kể cả dấu cách.

c)

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

d)

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

9.

Trong ngôn ngữ lập trình Pascal, thủ tục Insert(S1,S2,n) thực hiện công việc gì?

a)

Chèn thêm xâu S2 vào xâu S1 bắt đầu từ vị trí n của S1;

b)

Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S2;

c)

Chèn thêm xâu S2 vào xâu S1 bắt đầu từ vị trí n của S2;

d)

Chèn thêm xâu S1 vào xâu S2 bắt đầu từ vị trí n của S1;

10.

Cú pháp khai báo trực tiếp biến mảng 1 chiều:

a)

Var <tên biến mảng>= array [chỉ số đầu … chỉ số cuối] of <kiểu phần tử>;

b)

Var <tên biến mảng>= array [kiểu chỉ số] 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 [kiểu chỉ số] of <kiểu>;

11.

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

Var a : string[30];

Begin

a := ‘Truong THPT Hoang Van Thu’;       writeln(length(a));

End.

a)

24

b)

25

c)

26

d)

27

12.

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

a)

For i:=1 to n do if a[i] mod 2 = 1 then writeln(‘a[i], la so le’):

b)

For i:=1 to n do; if a[i] mod 2 = 1 then writeln(a[i], ‘la so le’);

c)

For i:=1 to n do if a[i] mod 2 = 1 then writeln(‘a[i], ‘la so le’).

d)

For i:=1 to n do if a[i] mod 2 = 1 then writeln(a[i], ‘la so le’);

13.

Khi chạy chương trình:

          Var A:array[1..3] of integer;

                 i, S : integer;

          Begin

                A[1]:= -3;         A[2]:=2;         A[3]:= -4;   S:= 0;

                For i:=1 to 3 do  If  A[i] > 0 then S:=S+A[i];    Write(S);

         End.

     Kết quả in ra giá trị của S là:

a)

2

b)

3

c)

4

d)

5

14.

Để khai báo số phần tử của mảng 1 chiều, người lập trình cần:

a)

khai báo chỉ số bắt đầu và kết thúc của mảng.

b)

khai báo một hằng số là số phần tử của mảng.

c)

khai báo chỉ số kết thúc của mảng.

d)

không cần khai báo gì, hệ thống sẽ tự xác định.

15.

Cho khai báo sau: Var hoten: String[100]; 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à 100;

c)

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

d)

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

16.

Các khai báo sau khai báo nào là đúng?

a)

Var st:string[257];

b)

Var st:string[150ư.

c)

Var st:string;

d)

Var st=string[100];

17.

Đoạn chương trình sau, cho kết quả trên màn hình là gì?

Var st:string;

Begin

St:= ‘THPT Hoang Van Thu’;          Delete(st,pos(‘T‘,st),11);         Write(st);

            End.

a)

‘Van Thu’

b)

‘THPT’

c)

‘Hoang’

d)

‘Hoang Van Thu’

18.

Phát biểu nào dưới đây về kiểu mảng là phù hợp?

a)

Mảng không thể chứa kí tự;

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)

Là một tập hợp các số nguyên;

19.

Phát biểu nào sau đây đúng nhất:

a)

Kiểu phần tử là kiểu của chỉ số đầu và chỉ số cuối.

b)

Kiểu phần tử phải là kiểu số.

c)

Kiểu phần tử là kiểu dữ liệu của các phần tử trong mảng.

d)

Kiểu phần tử không cùng kiểu với kiểu chỉ số.

20.

Công thức nào sau đây là đúng? (st1, st2 các biến kiểu xâu và m, n các biến kiểu số nguyên).

a)

S2:=Copy(m,st1,n);

b)

S2:= Copy(st1,m,n);

c)

S1:=Copy(st1,st2,m);

d)

S1:=Copy(m,n,st1);

21.

Cho st1=’Thu’ và st2= ‘Hoang Van Thu’, sau khi thực hiện lệnh Pos(st1,st2) thì kết quả bằng bao nhiêu?

a)

3

b)

7

c)

9

d)

11

22.

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

a)

Phần tử trong mảng có thể có nhiều hơn 1 chỉ số.

b)

Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu.

c)

Cần xác định kiểu phần tử của mảng.

d)

Có thể xây dựng mảng n chiều.

23.

Mảng b trong đoạn chương trình dưới đây là:

var a,b:array[1..100] of byte;

Begin

j:=1;

for i:=1 to n do     if a[i] mod 5 = 0 then

                                    begin     b[j]:=a[i];    j:=j+1;     end;

            End.

a)

các phần tử chia hết cho 5 trong mảng a.

b)

các phần tử của mảng a.

c)

các phần tử không chia hết cho 5 trong mảng a.

d)

các phần tử chia hết cho 5.

24.

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) do writeln(str[i]);

a)

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

b)

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

c)

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

d)

In ra màn hình mỗi kí tự trên 1 dòng;

25.

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ự ra màn hình theo thứ tự ngược;

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ự xâu ra màn hình;

26.

Câu lệnh dùng để nhập giá trị cho 1 phần tử trong mảng là:

a)

readln(<Tên mảng>[<chỉ số>]);

b)

readln(<Tên mảng>[<Chỉ số cuối>]);

c)

readln(<Tên mảng>[<Chỉ số đầu>]);

d)

readln(<Tên mảng>[<Kiểu chỉ số>]);

27.

Thế nào là khai báo biến mảng gián tiếp?

a)

Khai báo mảng của các phẩn tử nguyên; 

b)

Khai báo mảng xâu kí tự;

c)

Khai báo mảng một chiều;

d)

Khai báo thông qua kiểu mảng đã được định nghĩa trước đó;

28.

Cho st1= ‘THPT Hoang Van Thu’ và st2:=copy(st1,pos(‘T’,st1),4), kết quả xâu st2 là:

a)

st2=‘ Hoang’

b)

st2= ‘Van Thu’

c)

st2= ‘Van’

d)

st2= ‘THPT’

29.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình trên thực hiện việc nào trong các việc sau (A là mảng số có N phần tử)?

a)

Tính tích các phần tử lẻ 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 các việc đã nêu

30.

Tham chiếu đến phần tử thứ i của mảng A được biểu diễn:

a)

A[i]

b)

Ai

c)

A{i}

d)

A(i)

31.

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ử)?


For i:=n downto 1 do Write(A[i]:3);

a)

Xuất các phần tử của mảng A ra màn hình theo thứ tự ngược lại.

b)

Xuất các phần tử lẻ của mảng A ra màn hình theo thứ tự ngược lại.

c)

Nhập các phần tử lẻ vào mảng A

d)

Nhập các phần tử chẵn vào mảng A

32.

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;

33.

Xâu kí tự có độ dài bằng 0 gọi là:

a)

Không tồn tại

b)

Xâu rỗng

c)

Chứa kí tự 0

d)

Xâu ngắn

34.

Cho xâu S là “Ha Noi – Viet Nam” , kết quả của hàm Pos(‘Viet Nam’,S) là:

a)

9

b)

11

c)

10

d)

12

35.

Cho s = ‘abc123456’ hàm Copy(s,2,4) cho giá trị bằng:

a)

12

b)

23

c)

bc12

d)

c123

36.

Cho S1:='Bien dao que huong';


S2:= upcase(S1[10]);


S2 có giá trị là:

a)

'Q'

b)

'Bien Dao Que Huong'

c)

'Que'

d)

‘Bien’

37.

Câu lệnh nào xóa kí tự cuối cùng của xâu a?

a)

delete(a, length(a), 1);

b)

delete(a, 1, 255);

c)

delete(a, 255, 1);

d)

delete(a, 1, length(a));

38.

Trong xâu, để in xâu S ra màn hình theo thứ tự ngược lại, phải thực hiện lệnh :

a)

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

b)

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

c)

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

d)

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

39.

Cho s := ‘500 ki tu’


hàm Length(s) cho giá trị bằng:

a)

9

b)

‘5’

c)

500

d)

‘500’

40.

var a:array[1..10] of integer; s,i:integer;

begin

s:=0;

for i:=1 to 10 do a[i]:=i;

for i:=5 downto 1 do s:=s+a[i]; writeln(s);

readln

end.

Sau khi thực hiện chương trình trên, giá trị hiển thị lên màn hình là gì?

a)

20

b)

10

c)

5

d)

15

41.

Cho St= ‘THPT_Hoang_Van_Thu’; st1= ‘_Hoang’, st2= ‘_Van’, st3= ‘_Thu’. Em hãy viết thủ tục chèn xâu St1 vào xâu st2 để em có được xâu '_Hoang_Van'

(a)  

42.

Cho St= ‘THPT_Hoang_Van_Thu’; st1= ‘_Hoang’, st2= ‘_Van’, st3= ‘_Thu’. Em hãy viết thủ tục xóa để từ St em có được xâu 'THPT'

(a)  

43.

Cho St= ‘THPT_Hoang_Van_Thu’; st1= ‘_Hoang’, st2= ‘_Van’, st3= ‘_Thu’. Em hãy cho biết kết quả khi thực hiện hàm Length(st1);

(a)  

44.

Cho St= ‘THPT_Hoang_Van_Thu’; st1= ‘_Hoang’, st2= ‘_Van’, st3= ‘_Thu’. Em hãy viết hàm sao chép để từ St em có được xâu '_Van'

(a)  

45.

Cho biết kết quả của phép toán sau: ‘BT’ + ‘Tin hoc’ + ‘ 11’?

(a)  

46.

Xâu ‘ABBA’ lớn hơn xâu:

a)

‘ABC’;

b)

‘ABABA’;

c)

‘ABCBA’;

d)

‘BABA’;

47.

Trong các khai báo sau, khai báo nào đúng?

a)

Var hoten : string[27];

b)

Var diachi : string(100);

c)

Var ten = string[30];

d)

Var ho = string(30);

48.

Để khai báo mảng tên A gồm 150 phần tử, các phần tử kiểu nguyên có giá trị không vượt quá 500, ta khai báo:

a)

Var A : Array[1..150] Of Integer;

b)

Var A : Array[1...150] Of Byte;

c)

Var A : Array[1…150] Of Byte;

d)

Var A : Array[1...150] Of Integer;

49.

Cho khai báo biến


Var A : array[1..5] of Integer;


Chọn lệnh đúng:

a)

A[2] := -6 ;

b)

A[1] := 4/2 ;

c)

A := 10;

d)

A(3) := 6 ;

50.

Trong ngôn ngữ lập trình Pascal, đoạn chương trình trên thực hiện việc nào trong các việc sau (A là mảng số có N phần tử)?

a)

Tính tích các phần tử lẻ 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 các việc đã nêu