wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

ÔN TẬP KTGK2 K11

Total questions: 58

Worksheet time: 44mins

Name
Class
Date
1.

Phát biểu nào dưới đây về kiểu mảng một chiều 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ự

Hiển thị đáp án

2.

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

a)

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

b)

khai báo chỉ số bắt đầu và kết thúc 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

3.

Phát biểu nào dưới đây về chỉ số của mảng là phù hợp nhất?

a)

Dùng để truy cập đến một phần tử bất kì trong mảng

b)

Dùng để quản lí kích thước của mảng

c)

Dùng trong vòng lặp với mảng

d)

Dùng trong vòng lặp với mảng để quản lí kích thước của mảng

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

5.

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

a)

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

b)

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

c)

INTEGER OF ARRAY[0..10];

d)

ARRAY(0..10) : INTEGER;

6.

Cho khai báo mảng và đoạn chương trình như sau:

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

k := 0 ;

for i := 1 to 50 do

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

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 như sau: Var a : array[1..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);

8.

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ử

9.

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

for  i := 1  to  7  do

          begin

              write(‘Nhập phần tử thứ ‘, i , ‘ : ‘);

              readln(a[ i ]);

          end;

a)

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

b)

Xuất giá trị cho 7 phần tử của mảng

c)

Tính tổng giá trị cho 7 phần tử của mảng

d)

Đếm giá trị cho 7 phần tử của mảng

10.

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

for  i := 1  to  5  do

          writelln(a[ i ]);

a)

In giá trị 5 phần tử của mảng, mỗi số trên 1 dòng

b)

Nhập giá trị 5 phần tử của mảng, mỗi số trên 1 dòng

c)

In giá trị 5 phần tử của mảng trên 1 dòng

d)

Xuất giá trị 5 phần tử của mảng trên 1 dòng

11.

Chọn khai báo đúng:

a)

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

b)

Var A= array[1..20] of integer;

c)

Var A:= array[1..20] of integer;

d)

Var A: array[1,20] of integer;

12.

Cho biết ý nghĩa của đoạn khai báo sau:

Const Max = 100;

Type Dayso = ARRAY[1..Max] Of real;

Var A : Dayso;

a)

Khai báo biến Dayso gồm max số nguyên.

b)

Khai báo biến Dayso gồm 100 số thực.

c)

Khai báo biến mảng A gồm max số nguyên.

d)

Khai báo biến A gồm tối đa 100 số thực.

13.

Cho khai báo biến: Var A : array[1..5] of Integer; Chọn lệnh đúng:

a)

A[1] := 6/2 ;

b)

A[2] := -10 ;

c)

A(3) := 6 ;

d)

A := 10 ;

14.

Cho X1, X2,...Xn là một mảng số thực. Ðể tính:
S=1N(X1+X2+... + XN)S=\frac{1}{N}\left(X1+X2+...\ +\ XN\right)  
ta có đoạn chương trình sau gồm ba lệnh, một lệnh còn bỏ trống . . . :
   S:=0;
   For i:=1 to N do S := S + X[i];
   . . .
Hãy điền lệnh thích hợp vào chỗ . . . :

a)

Write ('S=', S);

b)

Readln (S);

c)

S := S/N;

d)

S=SNS=\frac{S}{N}  

15.

Cho câu lệnh: FOR i:=1 TO 100 DO A[i]:= Random(100) - Random(100);

Hãy cho biết giá trị của mảng A trong câu lệnh trên nhận giá trị nguyên trong đoạn nào?

a)

Từ -99 đến 99

b)

Từ -99 đến 100

c)

Từ -100 đến 100

d)

Từ -100 đến 99

16.

Trong khai báo sau còn bỏ trống . . . một chỗ, vì chưa xác định được kiểu dữ liệu của biến Max:

Var A: Array[‘a’..’d’] of Real;

Ch : Char ;

Max : . . . ;

Muốn biến Max lưu giá trị lớn nhất của mảng A thì cần khai báo biến Max kiểu dữ liệu gì vào chỗ . . . :

a)

Real

b)

Char

c)

Integer

d)

String

17.

Cho khai báo:

Var A: Array[1..4] of Integer;

i : Integer;

Sau khi thực hiện các lệnh:

For i:=1 to 4 do A[i]:= i;

For i:=1 to 4 do A[i]:= A[i]+1;

thì mảng A có giá trị là:

a)

A[1]=0, A[2]=1, A[3]=2, A[4]=3

b)

A[1]=1, A[2]=1, A[3]=1, A[4]=1

c)

A[1]=1, A[2]=2, A[3]=3, A[4]=4

d)

A[1]=2, A[2]=3, A[3]=4, A[4]=5

18.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] < 0 THEN Write(A[i]);

a)

In ra màn hình các số nguyên âm

b)

In ra màn hình các số nguyên âm

c)

Kiểm tra phần tử thứ i là dương hay âm

d)

Không làm gì cả

19.

Khai báo biến mảng một chiều A gồm n số nguyên (0 < n <= 50) có dạng:

a)

TYPE A : ARRAY [1..50] OF Integer;

b)

Var A = ARRAY [1..50] OF Integer;

c)

Var A : ARRAY[1..50] OF Integer;

d)

TYPE A = ARRAY [1..50] OF Integer;

20.

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

...

Randomize;

For i:= 1 to n do A[i] := random(50);

a)

Tạo giá trị ngẫu nhiên cho mảng A gồm n phần tử (các giá trị nằm trong khoảng 0..50).

b)

Tạo giá trị ngẫu nhiên cho mảng A gồm n phần tử

c)

Tạo giá trị ngẫu nhiên cho mảng A gồm 50 phần tử

d)

Tạo giá trị ngẫu nhiên cho mảng A gồm 49 phần tử

21.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] > 0 THEN k:=i;

a)

In giá trị của phần tử nguyên dương cuối cùng trong A ra màn hình

b)

In chỉ số của phần tử nguyên dương đầu tiên trong A ra màn hình

c)

In giá trị của phần tử nguyên dương đầu tiên trong A ra màn hình

d)

In chỉ số của phần tử nguyên dương cuối cùng trong A ra màn hình

22.

Cho khai báo: VAR Mang1d : ARRAY[-Nmax..Nmax] OF Integer;

Khai báo trên ĐÚNG trong trường hợp nào?

a)

Nmax là một biến nguyên đã được khai báo trước đó.

b)

Nmax phải là kiểu số nguyên hoặc kiểu ký tự hoặc kiểu logic.

c)

Nmax là một hằng số nguyên đã được khai báo trước đó.

d)

Mọi trường hợp.

23.

Để in giá trị phần tử thứ 10 của mảng một chiều A ra màn hình ta viết:

a)

Write(A[10]);

b)

Write(A(10));

c)

Readln(A[10]);

d)

Write([10]);

24.

Cho khai báo:

Var A: Array[1..10] of Real;

i : Integer;

Ðể nhập dữ liệu cho A, chọn câu nào:

a)

For i:=1 to 10 do Begin Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]); End;

b)

For i:=1 to 10 do Write(‘ Nhập A[‘, i, ‘]:’); Readln(A[i]);

c)

For i:=1 to 10 do Readln(‘ Nhập A[‘, i, ‘]:’);

d)

Write(‘ Nhập A:’); Readln(A);

25.

Cách làm việc với mảng một chiều như thế nào?

a)

Thông qua tên biến và chỉ số của mảng.

b)

Thông qua tên biến mảng.

c)

Thông qua chỉ số của mảng.

d)

Làm việc trực tiếp với mảng.

26.

Chỉ số của mảng có thể là kiểu gì ?

a)

Kiểu số thực, kiểu logic

b)

Kiểu miền con, kiểu kí tự

c)

Kiểu số nguyên, kiểu số thực

d)

Kiểu đếm được

27.

Mỗi phần tử của mảng phải:

a)

Có kiểu dữ liệu khác nhau.

b)

Có thể có kiểu dữ liệu giống hoặc khác nhau.

c)

Có kiểu dữ liệu giống nhau.

d)

Tất cả các phương án đều sai.

28.

Các phần tử của mảng có thể thuộc các kiểu dữ liệu nào ?

a)

Kiểu kí tự

b)

Kiểu số thực

c)

Kiểu logic

d)

Cả ba kiểu trên

29.

Cho biết ý nghĩa của đoạn khai báo sau:

Const Max = 100;

Type Dayso = ARRAY[1..Max] Of real;

Var A : Dayso;

a)

Khai báo biến Dayso gồm max số nguyên.

b)

Khai báo biến Dayso gồm 100 số thực.

c)

Khai báo biến mảng A gồm max số nguyên.

d)

Khai báo biến A gồm tối đa 100 số thực.

30.

Cho khai báo:

Var A: Array[1..4] of Integer;

i : Integer;

Sau khi thực hiện các lệnh:

For i:=1 to 4 do A[i]:= i;

For i:=1 to 4 do A[i]:= A[i]+1;

thì mảng A có giá trị là:

a)

A[1]=0, A[2]=1, A[3]=2, A[4]=3

b)

A[1]=1, A[2]=1, A[3]=1, A[4]=1

c)

A[1]=1, A[2]=2, A[3]=3, A[4]=4

d)

A[1]=2, A[2]=3, A[3]=4, A[4]=5

31.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] < 0 THEN Write(A[i]);

a)

In ra màn hình các số nguyên âm

b)

In ra màn hình các số nguyên âm

c)

Kiểm tra phần tử thứ i là dương hay âm

d)

Không làm gì cả

32.

Cho mảng A gồm N số nguyên. Đoạn chương trình sau thực hiện công việc gì?

FOR i:=1 TO N DO

IF A[i] > 0 THEN k:=i;

a)

In giá trị của phần tử nguyên dương cuối cùng trong A ra màn hình

b)

In chỉ số của phần tử nguyên dương đầu tiên trong A ra màn hình

c)

In giá trị của phần tử nguyên dương đầu tiên trong A ra màn hình

d)

In chỉ số của phần tử nguyên dương cuối cùng trong A ra màn hình

33.

Chỉ số của mảng có thể là kiểu gì ?

a)

Kiểu số thực, kiểu logic

b)

Kiểu miền con, kiểu kí tự

c)

Kiểu số nguyên, kiểu số thực

d)

Kiểu đếm được

34.

Phát biểu nào dưới đây về kiểu mảng một chiều 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ự

Hiển thị đáp án

35.

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

36.

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

a)

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

b)

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

c)

INTEGER OF ARRAY[0..10];

d)

ARRAY(0..10) : INTEGER;

37.

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ử

38.

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

for  i := 1  to  7  do

          begin

              write(‘Nhập phần tử thứ ‘, i , ‘ : ‘);

              readln(a[ i ]);

          end;

a)

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

b)

Xuất giá trị cho 7 phần tử của mảng

c)

Tính tổng giá trị cho 7 phần tử của mảng

d)

Đếm giá trị cho 7 phần tử của mảng

39.

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

40.

Để khai báo biến xâu ta sử dụng tên dành riêng:

a)

Array

b)

String

c)

Type

d)

Const

41.

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

42.

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

a)

12

b)

23

c)

bc12

d)

c123

43.

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’

44.

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

45.

Cho 2 xâu A, B. Hãy cho biết câu lệnh sau thực hiện công việc gì:


If A[1] = B[length(B)] then writeln(‘Giong nhau’)

else writeln(‘Khac nhau’);

a)

Xuất ra kết quả so sánh kí tự đầu tiên của xâu A và kí tự cuối cùng của xâu B.

b)

Xuất ra kết quả so sánh của xâu A và xâu B.

c)

Xuất ra kết quả so sánh chiều dài của xâu A và chiều dài của xâu B.

d)

Xuất ra kết quả so sánh kí tự đầu tiên của xâu B và kí tự cuối cùng của xâu A.

46.

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

47.

Cho s := ‘500 ki tu’


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

a)

9

b)

‘5’

c)

500

d)

‘500’

48.

Cho sâu s1 = ‘123’; s2 = ‘abc’ sau khi thực hiện thủ tục Insert(s1,s2,2) thì:

a)

s1 = ‘123’; s2 = ‘a123bc’

b)

s1 = ‘123’; s2 = ‘12abc’

c)

s1 = ‘1abc23’; s2 = ‘abc’

d)

s1 = ‘ab123; s2 = ‘abc’

49.

Cho khai báo sau:


Var hoten : string;


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

a)

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

b)

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

c)

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

d)

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

50.

Cho s1 = ‘010’; s2 = ‘1001010’ hàm pos(s1,s2) cho giá trị bằng:

a)

2

b)

3

c)

4

d)

5

51.

Để khai báo kiểu xâu trực tiếp ta sử dụng cú pháp nào?

a)

Var <tên biến> : <tên kiểu> ;

b)

Var <tên biến> : String[độ dài của lớn nhất của xâu] ;

c)

Var <tên biến> = <tên kiểu>;

d)

Var <tên biến> = String[độ dài lớn nhất của xâu];

52.

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

53.

Trong các phát biểu sau, phát biểu nào sai?

a)

Xâu A lớn hơn xâu B nếu độ dài xâu A lớn hơn độ dài xâu B;

b)

Xâu A lớn hơn xâu B nếu kí tự dầu tiên khác nhau giữa chúng kể tử trái sang trong xâu A có mã ASCII lớn hơn;

c)

Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B;

d)

Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn;

54.

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)

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

b)

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

c)

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

d)

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

55.

Trong các phép toán sau, phép nào trả về giá trị TRUE (đúng)?

a)

‘abc’=’ABC’

b)

‘ccb’<’abcdef’

c)

‘cba’<’abc’

d)

‘abcdh’>’abcdef’

56.

s=" May tinh"; t= "may tinh".

a)

s>t

b)

s<t

c)

s==t

d)

Tất cả đều sai

57.

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

a)

‘ABC’;

b)

‘ABABA’;

c)

‘ABCBA’;

d)

‘BABA’;

58.

Cho S là biến xâu, kết quả sau khi thực hiện các lệnh:

S:='ABCDEF';

DELETE(S,3,2);

INSERT('XYZ',S,2);

(a)