1) Отметьте все правильные объявления массива в языке Паскаль *
var A[1..10] of integer
var A: array [1...20] of real;
var A: array [-8..10] of integer;
var A: array [-8..10];
var A[1..10];
2)Выберите задачи, при решении которых не обойтись без массивов *
1.Даны 50 первых натуральных чисел. Найти их среднее арифметическое.
2.Даны 50 чисел. Определить, сколько из них отличных от данного числа.
3.Даны 100 чисел. Напечатать сначала все отрицательные из них, затем все остальные.
3)Выберите все правильные утверждения о массивах в языке Паскаль. *
1. элементы массива могут быть разных типов
2.все элементы массива должны быть одного типа
3.элементы в памяти расположены рядом
4.элементы могут быть расположены в памяти по одному
5.элементы всегда нумеруются с единицы
4)Дано описание массива mas: array [-2..8] of integer. Сколько элементов содержит данный массив? *
5)Требуется заполнить массив именно так: X = [2 4 6 8 10 12]. Какой оператор надо поместить в тело цикла вместо многоточия? for k:=1 to 6 do begin ... end; *
X[k] := k
X[k] := 2*k
X[k] := 2*k - 2
X[k] := 2*k + 2
X[k] := 2*(k - 1)
Answers & Comments
Задание 1
В (1) отсутствует ключевое слово array, во (2) троеточие в квадратных скобках, в (4) и (5) отсутсвуют ключевые слова.
Ответ
(3) var A: array [-8..10] of integer;
Задание 2
Для (1) требуется две переменные - сумма всех чисел и их количество. Для (2) требуется одно число, которое будет сравниваться с вводимыми. Для (3) как раз требуется массив, поскольку над одними и теми же числами выполняется две операции (вывод отрицательных, а потом остальных)
Ответ
3
Задание 3
Ответ
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