wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Kiểu mảng 1 chiều Lớp 11d

Total questions: 91

Worksheet time: 58mins

Name
Class
Date
1.

Khai báo nào sau đây là đúng cú pháp

a)

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

b)

Type 1mang = array [1..100] of byte;

c)

Type mang1c = array [1-100] of byte;

d)

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

2.

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

3.

Câu lệnh sau làm gi?

For i:=1 to 10 do readln(A[i]);

a)

Nhập 10 phần tử đầu tiên của mảng A

b)

In ra mảng A

c)

Tính tổng các phần tử của mảng A

d)

Đếm số phần tử của mảng A

4.

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:=1 to n do if (A[i] mod 2= 0) then Write(A[i]:3);

a)

Xuất các phần tử chẵn của mảng A ra màn hình

b)

Xuất các phần tử lẻ của mảng A ra màn hình

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

5.

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ử của mảng A.

b)

Không thực hiện việc nào trong 3 việc đã nêu

c)

In ra màn hình mảng A.

d)

Đếm số phần tử của mảng A.

6.

Từ khóa Type trong Pascal có ý nghĩa:

a)

Định nghĩa 1 kiểu dữ liệu mới

b)

Khai báo biến mới

c)

Gõ giá trị từ bàn phím và lưu vào biến như thủ tục readln

d)

Mở đầu chương trình

7.

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)

8.

Chọn câu lệnh nhập giá trị cho 5 phần tử đầu tiên của mảng A đúng:

a)

For i:=1 to 5 do readln(A[i]);

b)

For i:=1 downto 5 do readln(A[i]);

c)

For i:=1 to 5 do writeln(A[i]);

d)

For i:=1 downto 5 do writeln(A[i]);

9.

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 ;

10.

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

11.

Đoạn chương trình trên làm gi?

a)

Đếm số phần tử có giá trị dương của mảng A

b)

Tính tổng các phần tử của mảng A

c)

Nhập mảng A

d)

In ra mảng A

12.

Câu lệnh sau làm gi?


writeln(A[5]);

a)

Xuất giá trị của phần tử thứ 5 của mảng A

b)

Nhập giá trị cho phần tử thứ 5 của mảng A

c)

Tính tổng các phần tử của mảng A

d)

In ra mảng A

13.

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

14.

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)

Đếm số phần tử của mảng A.

c)

In ra màn hình mảng A.

d)

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

15.

Chọn khai báo đúng:

a)

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

b)

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

c)

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

d)

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

16.

Cho X1, X2,...Xn là một mảng số thực. Ðể tính :

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)

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

c)

Readln (S);

d)

S := S/N;

17.

Giả sử đã khai báo biến mảng và các biến khác, đoạn chương trình dưới đây làm gì?

For i:=1 to n do

Begin

Write(‘a[‘,i,’]=’);

Readln(a[i]);

End;

a)

Đếm số phần tử của mảng A.

b)

Viết ra giá trị A[i].

c)

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

d)

Hiển thị các phần tử của mảng A.

18.

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

Var M:array[1..10] of integer;

I:byte;

Begin

For i:=1 to 10 do

M[i]:=I;

For i:=1 to 10 do

Write(M[5]:2, M[7]:2, M[9]:2);

End.

* Khi thực hiện chương trình cho kết quả nào dưới đây?

a)

5 7 9

b)

1 3 5

c)

3 7 9

d)

2 4 6

19.

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

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

I:byte;

Begin

For i:=1 to 10 do

A[i]:=I;

For i:=1 to 10 do

If a[i] mod 2 = 0 then write(a[i]:2);

End.

* Khi thực hiện chương trình cho kết quả nào dưới đây?

a)

1 2 3 4 5 6 7 8 9 10

b)

1 3 5 7 9

c)

2 4 6 8 10

d)

10 8 6 4 2 0

20.

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

Var B:array[1..100] of integer;

I:integer;

Begin

For i:=1 to 100 do

B[i]:=I;

For i:=1 to 100 do

If b[i]=50 then Write(B[i]/10 : 2:0 , I );

readln

End.

* Khi thực hiện chương trình cho kết quả nào dưới đây?

a)

50 5

b)

50 50

c)

5 I

d)

5 50

21.

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)

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

d)

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

22.

Cho khai báo sau : VAR a : array[0..16] of integer ;

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

b)

for k := 16 downto 0 do write(a[k]);

c)

for k := 1 to 16 do write(a[k]);

d)

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

23.

Cho khai báo mảng như sau : Var B : array[-5..10] of integer ;

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

a)

B[4];

b)

B[10];

c)

A[10];

d)

A[4];

24.

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 IF A[i] mod 2 <> 0 then write(A[i]:3);

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

a)

1 2 3

b)

1 3

c)

1 2 3 4

d)

2 4

25.

Cho mảng A gồm N số nguyên dương. Đoạn chương trình sau làm gì?

d := 0;

For i:= 1 to N do

If A[i] mod 2 = 0 then d := d + 1;

a)

Đếm các số chẳn trong mảng A.

b)

Tính tổng các phẩn tử của mảng A.

c)

Tính tổng các số lẻ trong mảng A.

d)

Đếm các số lẻ trong mảng A.

26.

Khai báo nào sau đây là đúng cú pháp

a)

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

b)

Type 1mang = array [1..100] of byte;

c)

Type mang1c = array [1-100] of byte;

d)

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

27.

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

28.

Câu lệnh sau làm gi?

For i:=1 to 10 do readln(A[i]);

a)

Nhập 10 phần tử đầu tiên của mảng A

b)

In ra mảng A

c)

Tính tổng các phần tử của mảng A

d)

Đếm số phần tử của mảng A

29.

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:=1 to n do if (A[i] mod 2= 0) then Write(A[i]:3);

a)

Xuất các phần tử chẵn của mảng A ra màn hình

b)

Xuất các phần tử lẻ của mảng A ra màn hình

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

30.

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ử của mảng A.

b)

Không thực hiện việc nào trong 3 việc đã nêu

c)

In ra màn hình mảng A.

d)

Đếm số phần tử của mảng A.

31.

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)

32.

Chọn câu lệnh nhập giá trị cho 5 phần tử đầu tiên của mảng A đúng:

a)

For i:=1 to 5 do readln(A[i]);

b)

For i:=1 downto 5 do readln(A[i]);

c)

For i:=1 to 5 do writeln(A[i]);

d)

For i:=1 downto 5 do writeln(A[i]);

33.

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

34.

Đoạn chương trình trên làm gi?

a)

Đếm số phần tử có giá trị dương của mảng A

b)

Tính tổng các phần tử của mảng A

c)

Nhập mảng A

d)

In ra mảng A

35.

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)

Đếm số phần tử của mảng A.

c)

In ra màn hình mảng A.

d)

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

36.

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 ;

Đ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

37.

Cho X1, X2,...Xn là một mảng số thực. Ðể tính :

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)

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

c)

Readln (S);

d)

S := S/N;

38.

Cho biết giá trị của mảng sau đoạn lệnh:

có: n=4; a[1]=4, a[2]=-9, a[3]=-1,a[4]=12;

n:=n+1;

for i:=n downto 2 do a[i]:=a[i-1];

a[2]:=15;

a)

4, 15, -9, 12, -1

b)

4, 15, -9, -1, 12

c)

4, -9, 15, -1, 12

d)

4, -9, -1, 15, 12

39.

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ự

40.

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

41.

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

42.

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

43.

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 bản ghi

b)

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

c)

Khai báo mảng hai chiều

d)

Khai báo thông qua kiểu mảng đã có

44.

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)

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

d)

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

45.

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 ;

Đ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

46.

Cho khai báo mảng như sau: Var a : 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);

47.

Khai báo mảng hai chiều nào sau đây là sai?

a)

var m : array[1..10] of array[0..9] of integer;

b)

var m : array[1..20,1..40] of real;

c)

var m : array[1..9;1..9] of integer;

d)

var m : array[0..10,0..10] of char;

48.

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ử

49.

Cho b bằng 5 và c bằng 8. Hãy cho biết giá trị của a,b,c sau khi thi hành riêng biệt từng dòng lệnh sau:

a=b++ + c++;

a)

13

b)

14

c)

15

d)

16

50.

Cho b bằng 5 và c bằng 8. Hãy cho biết giá trị của a,b,c sau khi thi hành riêng biệt từng dòng lệnh sau:

a=b++ + ++c;

a)

14

b)

13

c)

12

d)

15

51.

Hãy cho biết giá trị của b và a sau đoạn chương trình:

int a,b=2;

b=(a=3,(5*b)+(a*=b));

a)

a=6, b=16

b)

a=3, b=2

c)

a=6, b=2

d)

a=3, b=16

52.

Chỉ thị nào sau đây là đúng khi dùng để khai báo một biến nguyên có tên là sum

a) sum: integer;

b) integer sum;

c) int sum;

d) sum int;

a)

a

b)

b

c)

c

d)

d

53.

Câu lệnh nào sau đây là đúng để thực hiện việc in ra giá trị của biến thực discount

a) printf(“%s”,discount);

b) print(‘discount’);

c) printf(“%f”,discount);

d) printf(“%f”,&discount);

a)

a

b)

b

c)

c

d)

d

54.

Lệnh nào sau đây in ra màn hình số lớn nhất giữa số nguyên A và B :

a) If (A > B) printf(“%d”,B); else printf(“%d”,A);

b) If( A > B) printf(“%d”,A); else printf(“%d”,B);

c) If (A > B) scanf(“%d”,A); else scanf(“%d”,&B);

d) If (A < B) printf(“%d”,A); else printf(“%d”,B);

a)

a

b)

b

c)

c

d)

d

55.

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

#include “stdio.h”

int S, i ;

void main()

{

i = 3; S= 40;

if ( i > 5 ) S= 5 * 3 + ( 5 - i ) * 2;

else if ( i > 2 ) S= 5 * i;

else S= 0;

}

Giá trị sau cùng của S là :

a)

0

b)

19

c)

40

d)

15

56.

Cho S và i là biến nguyên. Khi chạy đoạn chương trình :

s=0;

for( i=1;i<=10;++i) s= s+i;

printf(“%d”,s);

Kết quả in lên màn hình là :

a)

11

b)

55

c)

100

d)

101

57.

Cho S, i và N>0 là các biến nguyên. Ðể tính S = N!, chọn câu nào :

a) S = 1; for (i = 1;i<=N;) S = S * (i++);

b) S = 0; for( i= 1;i<=N;++i) S = S * i;

c) S = 1; for( i = 1;i<=N;++i) S = S * N;

d) S= 1; for( i= 1;i<=N;++i) S = S + i;

a)

a

b)

b

c)

c

d)

d

58.

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

int S, i, j ;

void main()

{

S = 0;

for( i= 1;i<=3;++i)

for (j= 1;j<=4;++j) S= S + 1 ;

}

Giá trị sau cùng của S là :

a)

0

b)

12

c)

3

d)

4

59.

Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình :

S= 0; i= 1;

while (i<= 6)

{

S= S + i;

i= i + 2;

}

Giá trị sau cùng của S là :

a)

6

b)

9

c)

11

d)

0

60.

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

int S, i ;

void main()

{

S= 0; i= 1;

do{

S = S + i * i;

i= i + 1;

}while(!( i > 4));

Giá trị sau cùng của S là :

a)

0

b)

14

c)

16

d)

30

61.

Cho m, n, i là các biến nguyên. Khi chạy đoạn chương trình :

m=4; n=5; i=5;

do{ } while (i++, !((i % m == 0) && (i % n == 0)));

Giá trị sau cùng của i là

a)

20

b)

5

c)

4

d)

0

62.

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ự

63.

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

64.

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

65.

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 bản ghi

b)

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

c)

Khai báo mảng hai chiều

d)

Khai báo thông qua kiểu mảng đã có

66.

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)

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

d)

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

67.

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 ;

Đ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

68.

Cho khai báo mảng như sau: Var a : 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);

69.

Khai báo mảng hai chiều nào sau đây là sai?

a)

var m : array[1..10] of array[0..9] of integer;

b)

var m : array[1..20,1..40] of real;

c)

var m : array[1..9;1..9] of integer;

d)

var m : array[0..10,0..10] of char;

70.

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ử

71.

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;

72.

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.

73.

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 ;

74.

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}  

75.

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}  

76.

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

77.

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

78.

Muốn tham chiếu đến một phần tử nào đó trong mảng ta cần phải có tối thiểu các thông tin

a)

Tên kiểu mảng, tên biến mảng

b)

Chỉ số phần tử, tên kiểu mảng

c)

Tên biến mảng, chỉ số phần tử

d)

Giá trị của phần tử, biến mảng

79.

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

80.

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ả

81.

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;

82.

Lệnh nào in giá trị các phần tử trong mảng trên cùng một dòng?

a)

For i:= n downto 1 do writeln(‘ ’, A[i]);

b)

For i:= n downto 1 do write(A[i], ‘ ’);

c)

For i:= 1 to n do write(‘ ’, A[i]);

d)

For i:= 1 to n do writeln(‘ ’, A[i]);

83.

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

84.

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

85.

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.

86.

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

87.

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

88.

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

89.

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.

90.

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.

91.

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