Одномерные массивы
Список вопросов теста
Вопрос 1
Отметьте все правильные объявления массива в языке Паскаль.
Варианты ответов
- var A[1..20] of integer;
- var A: array [1...20] of integer;
- var A: array [-8..10] of integer;
- var A: array [-8..10];
- var A[1..10];
Вопрос 2
Отметьте все правильные утверждения о массивах в языке Паскаль
Варианты ответов
- элементы массива могут быть разных типов
- все элементы массива должны быть одного типа
- элементы в памяти расположены рядом
- элементы могут быть расположены в памяти по одному
- элементы всегда нумеруются с единицы
Вопрос 3
Сколько байт в памяти занимает массив A, если на целое число отводится 4 байта?
var A: array[-3..2] of integer;
Вопрос 4
Требуется заполнить массив именно так:
X = [1 3 5 7 9 11]
Какой оператор надо поместить в тело цикла вместо многоточия?
for k:=1 to 6 do begin
...
end;
Варианты ответов
- X[k] := k;
- X[k] := 2*(k - 1);
- X[k] := 2*k;
- X[k] := 2*k + 1;
- X[k] := 2*k - 1;
- нет ни одного правильного варианта
Вопрос 5
Требуется заполнить массив именно так:
X = [12 9 6 3 0 -3]
Какой оператор надо поместить в тело цикла вместо многоточия?
for k:=1 to 6 do begin
...
end;
Варианты ответов
- X[k] := k;
- X[k] := 14 - 2*k;
- X[k] := 3*k - 15;
- X[k] := 15 - 3*k;
- X[k] := 3*(k - 1) + 6;
- нет ни одного правильного варианта
Вопрос 6
Требуется заполнить массив именно так:
X = [3 4 7 8 11 12]
Какой оператор надо поместить в тело цикла вместо многоточия?
for k:=1 to 6 do begin
...
end;
Варианты ответов
- X[k] := 3*k - k mod 2;
- X[k] := 2*k + k mod 2;
- X[k] := 2*k - k mod 2;
- X[k] := 2*k + k div 2;
- X[k] := 2*(k - 1);
- нет ни одного правильного варианта
Вопрос 7
Что надо написать вместо многоточия, чтобы вывести элементы массива X[1..N] в обратном порядке? В ответе не используйте пробелы.
for k:=1 to N do
writeln ( ... );
Вопрос 8
Какой оператор надо вставить вместо многоточия, чтобы вывести на экран все элементы массива A[1..N] с четными номерами? В ответе не используйте пробелы.
k := 2;
while k <= N do begin
writeln ( A[k] );
...
end;
Вопрос 9
Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти сумму положительных элементов массива в переменной S? Вводите ответ без пробелов.
S := 0;
for k := 1 to N do begin
if . . . then S := S + X[k];
end;
Вопрос 10
Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы в результате в переменную i был записан номер элемента, равного R? Вводите ответ без лишних пробелов и скобок.
i:=1;
while (i<=N) and ( ... ) do
i:=i+1;
Вопрос 11
Задан массив X[1..N]. Какое условие надо поставить вместо многоточия, чтобы найти минимальный элемент массива в переменной M? Вводите ответ без пробелов.
M:=X[1];
for k:=2 to N do
if ... then M := X[k];
Вопрос 12
Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти номер максимального элемента массива в переменной M? Вводите ответ без пробелов.
M:=1;
for k:=2 to N do
if X[k]>X[M] then
Вопрос 13
Требуется поменять местами значения элементов массива X[a] и X[b]. Какой оператор нужно добавить вместо многоточия? В ответе не используйте пробелы.
p := X[a]; ... X[b] := p;
Вопрос 14
Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы в результате в переменную nR был записан номер элемента, равного R? Вводите ответ без пробелов.
nR:= 0;
for k:=1 to N do
if X[k]=R then begin
...
break
end;
Вопрос 15
Задан массив X[1..N]. Что нужно поставить вместо многоточия, чтобы в результате элементы в массиве X были переставлены в обратном порядке?
for k:=1 to ... do begin
c:=X[k];
X[k]:=X[N+1-k];
X[N+1-k]:=c
end;
Вопрос 16
Задан массив X[1..N]. Какой оператор нужно поставить вместо многоточия, чтобы в результате элементы в массиве X были сдвинуты на один вправо (циклически)? В ответе не используйте пробелы.
c:=X[N];
for k:=N downto 2 do begin
...
end;
X[1]:=c;
Вопрос 17
Требуется выделить все отрицательные элементы массива A[1..N] в начало массива B[1..N]. Какой оператор надо вставить в программу вместо многоточия? Вводите ответ без пробелов.
c:=1;
for k:=1 to N do
if A[k]<0 then begin
...
c:=c+1
end;


