Ниже готов 10-вопросный тест по теме: одномерные массивы в Паскале. Тип вопросов — множественный выбор. В конце каждого вопроса указан правильный ответ.
Как корректно объявить одномерный массив целых чисел, состоящий из 5 элементов, индексируемых с 1 до 5? a) var a: array[1..5] of integer; b) var a: array[0..4] of integer; c) var a: array[2..6] of integer; d) var a: integer array[1..5]; Правильный ответ: a
Как обратиться к элементу массива с индексом i? a) a[i] b) a(i) c) a{i} d) a{ i } Правильный ответ: a
Что вернет Low(a) и High(a) в массиве a: array[1..10] of integer? a) Low(a) = 0, High(a) = 9 b) Low(a) = 1, High(a) = 10 c) Low(a) = 1, High(a) = 9 d) Low(a) = 0, High(a) = 10 Правильный ответ: b
Чем отличается динамический массив от статического в Паскале? a) Динамический имеет фиксированный размер, статический — изменяемый b) Динамический можно изменять размер через SetLength, статический — фиксированная граница c) В обоих можно изменять размер d) Динамический тип отличается Правильный ответ: b
Как изменить размер динамического массива 'a' до 20 элементов? a) SetLength(a, 20); b) Resize(a, 20); c) Length(a) := 20; d) a := new integer[20]; Правильный ответ: a
Что делает цикл for i := Low(a) to High(a) do ... ? a) Перебирает индексы от Low(a) до High(a) b) Перебирает элементы от 0 до Length(a)-1 c) Перебирает элементы в обратном порядке d) Компилируется только для статических массивов Правильный ответ: a
Как узнать количество элементов статического массива a: array[2..6] of integer? a) High(a) - Low(a) + 1 b) Length(a) c) SizeOf(a) d) 5 Правильный ответ: a
Какой синтаксис передает массив как открытый (open) параметр в процедуру? a) procedure P(a: array of integer); b) procedure P(a: array[1..5] of integer); c) procedure P(a: ^array of integer); d) procedure P(a: pointer); Правильный ответ: a
Сколько элементов в массиве a: array[2..6] of integer? a) 4 b) 5 c) 6 d) 7 Правильный ответ: b
Какой код корректно заполнит статический массив a: array[1..4] of integer нулями и выведет каждый элемент? a) для i := Low(a) to High(a) do a[i] := 0; for i := Low(a) to High(a) do WriteLn(a[i]); b) for i := 0 to High(a) do a[i] := 0; c) for i := 1 to Length(a) do a[i] := 0; d) SetLength(a, 0); Правильный ответ: a
Если нужно, могу адаптировать тест под конкретную программу-форму ответов (например, в формат XML/JSON для автоматизированной проверки) или добавить краткие пояснения к каждому вопросу. Удачи на занятии!