wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Cấu trúc lặp - mảng

Total questions: 30

Worksheet time: 30mins

Name
Class
Date
1.

Cho đoạn lệnh sau:

S:=0;

for i:= 1 to N do S:=S+1;

Nếu N= 5 thì S=?

a)

S= 6

b)

S= 5

c)

S= 10

d)

S= 12

2.

Trong câu lệnh lặp: For (Biến đếm):=(Giá trị đầu) to (Giá trị cuối) do (câu lệnh); Khi thực hiện ban đầu Biến đếm nhận giá trị = Giá trị đầu, sau mỗi vòng lặp biến đếm tăng thêm

a)

1 đơn vị

b)

0 tăng

c)

2 đơn vị

d)

3 đơn vị

3.

Tìm giá trị S khi thực hiện đoạn chương trình sau đây

S:=0;

For i:=1 to 5 do S:= S+i;

a)

S=0.

b)

S= 1.

c)

S=10.

d)

S=15.

4.

Trong Pascal, câu lệnh nào sau đây được viết đúng?

a)

for i := 10 to 1 do writeln(‘A’);

b)

for i= 1 to 10 writeln(‘A’);

c)

for i := 1 to 10 do writeln(‘A’);

d)

for i to 10 do writeln(‘A’);

5.

Vòng lặp sau cho kết quả S bằng bao nhiêu:

S := 1; For i := 1 to 3 do S := S * 2;

a)

S = 6

b)

S = 8

c)

S = 10

d)

S = 12

6.

Xét đoạn chương trình sau.

for i:=1 to 10 do

if(i mod 3 = 0) or (i mod 5 = 0) then write( i : 2);

a)

A. 3 5 7 9 10

b)

B. 2 4 6 8 10

c)

C.1 3 5 7 9

d)

D.3 5 6 9 10

7.

câu 11: Câu lệnh sau

s:=5;

while (s<=20) do s:=s+2;

Câu lệnh trên dừng lại khi nào?

a)

S= 20

b)

S> 20

c)

S< 20

d)

S= 6

8.

Trong Pascal, câu lệnh lặp for – do có 2 dạng là

a)

dạng tiến và dạng lùi

b)

dạng tới và dạng về

c)

dạng đến và dạng đi

d)

dạng trước và dạng sau

9.

Trong Pascal, câu lệnh lặp for – do dạng tiến vẫn còn được thực hiện khi

a)

biến đếm còn nhỏ hơn giá trị đầu

b)

biến đếm còn nhỏ hơn giá trị cuối

c)

giá trị đầu còn lớn hơn giá trị cuối

d)

giá trị đầu còn nhỏ hơn giá trị cuối

10.

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

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

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.

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

18.

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

19.

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ả

20.

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;

21.

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

22.

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

23.

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

24.

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.

25.

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

26.

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

27.

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

28.

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.

29.

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.

30.

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