1. Выберите все правильные описания массива в языке Паскаль.
a. var A[1..20] of integer;
b. var A: array [1...20] of integer;
c. var A: array [-8..10];,
d. var A[1..10];
2. Выберите все правильные утверждения о массивах в языке Паскаль.
a. элементы массива могут быть разных типов
b. все элементы массива должны быть одного типа
c. элементы массива нельзя ввести с клавиатуры
d. массив может содержат не более 10 элементов
3. Требуется заполнить массив именно так: X = [1 3 5 7 9 11]
Какой оператор надо поместить в тело цикла вместо многоточия?
for i:=1 to 6 do begin
...
end;
a. X[i] := i
b. X[i] := 2*i
c. X[i] := 2*i – 1
d. X[i] := 2*i + 1
4. Задан массив X[1..N]. Какой оператор надо поставить вместо многоточия, чтобы найти сумму всех элементов массива в переменной S?
S := 0;
for k := 1 to N do begin
...
end;
5. Массив X[1..N] задан следующим образом:
for i := 1 to N do begin
randomize;
X[i]:=random(10)+2;
end;
Что можно сказать об этом массиве?
a. Массив содержит 12 элементов
b. Массив заполнен числами из промежутка (0;10)
c. Массив заполнен числами из промежутка (2;11)
d. Элементы массива – десятичные дроби
6. Дан массив из N действительных чисел. Составить алгоритм для подсчета количества отрицательных элементов в нем.
Ответы
Ответ:
Задание 1
В (1) отсутствует ключевое слово array, во (2) троеточие в квадратных скобках, в (4) и (5) отсутсвуют ключевые слова.
Ответ
(3) var A: array [-8..10] of integer;
Задание 2
Для (1) требуется две переменные - сумма всех чисел и их количество. Для (2) требуется одно число, которое будет сравниваться с вводимыми. Для (3) как раз требуется массив, поскольку над одними и теми же числами выполняется две операции (вывод отрицательных, а потом остальных)
Ответ
3
Задание 3
1Pascal элементы должны иметь один тип (неверно)
Следует из первого (верно)
Некоретный вопрос. Элементы расположены друг за другом. Массив - единый объект. Так что элементы не могут быть в хаотическом порядке разбросаны по памяти (верно)
Следует из третьего (неверно)
Неверно
Ответ
2, 3
Задание 4
-2 -1 0 1 2 3 4 5 6 7 8, то есть 11.
Ответ
11
Задание 5
2 4 6 8 10 12 - каждый последующий элемент на два больше, чем предыдущий. Но важно заметить, что цикл начинается с k = 1, то есть в случае 2k + 2 у нас получится совсем неверный массив. Тогда остаётся один вариант - это 2k:
k = 1; 2k ⇒ 2
k = 2; 2k ⇒ 4
k = 3; 2k ⇒ 6
Ответ
X[k] := 2*k