Контрольная работа по теме "Одномерные и двумерные массивы в Pascal"
I. Что такое одномерный массив? Приведите пример описания одномерного массива.
II. Выполните тест – выберите один правильный ответ.
- Укажите правильное описание массива:
А) a:array[1..n,1..m] of real;
Б) a:array of integer;
В) a:array [1. n, 1…m] of real;
Г) a: aray [1..n, 1..m] of integer.
- Что определяет для массива X[1..n] следующий алгоритм
For i:= 1 to n do
If X[i] >0 then S:=S+X[i];
А) минимальный элемент массива;
Б) сумму положительных элементов массива;
В) максимальный элемент массива;
Г) количество отрицательных элементов массива;
Д) индекс последнего отрицательного элемента массива;
Е) Ни один из ответов 1-5 не верен.
- Что определяет для массива X[1..n, 1..m] следующий алгоритм
For i:= 1 to n do
For j:= 1 to m do
If j mod 2 = 0 then X[i, j] = A;
А) минимальный элемент массива;
Б) четные столбцы матрицы заменить на А;
В) четные строки матрицы заменить на А;
Г) количество четных элементов массива;
Д) нечетные строки матрицы заменить на А.
- Что определяет для массива X[1..n, 1..n] следующий алгоритм
For i:= 1 to n do
For j:= 1 to n do
If i =j then S: = S+X[i, j];
А) сумма элементов главной диагонали матрицы;
Б) четные столбцы матрицы заменить на А;
В) четные строки матрицы заменить на А;
Г) сумма элементов побочной диагонали матрицы;
Д) нечетные строки матрицы заменить на А;
Е) ни один из ответов 1-5 не верен.
- Что определяет для массива X[1..n] следующий алгоритм
For i:= 1 to n do
If X[i] >T then R:=R+1;
А) номер первого элемента массива, большего T;
Б) количество элементов массива, больших T;
В) номер первого элемента массива, меньшего T;
Г) номер последнего элемента массива, большего T;
Д) количество элементов массива, меньших T;
Е) ни один из ответов 1-5 не верен.
III. Решите задачу:
Двумерный массив, состоящий из 3 строк и 4 столбцов, формируется с помощью случайных чисел. Напишите программу для нахождения суммы положительных элементов массива.
ВАРИАНТ 2
I. Что такое двумерный массив? Приведите пример описания двумерного массива.
II. Выполните тест – выберите один правильный ответ.
- Укажите правильное описание массива:
Б) a: array of integer;
В) a: array [1..n] of real;
Г) a: aray [1..n] of integer.
- Что определяет для массива X[1..n, 1..m] следующий алгоритм
For i:= 1 to n do
For j:= 1 to m do
А) максимальный элемент массива;
Б) сумму отрицательных элементов массива;
В) минимальный элемент массива;
Г) количество отрицательных элементов массива;
Д) индекс последнего отрицательного элемента массива;
Е) Ни один из ответов 1-5 не верен.
- Что определяет для массива X[1..m, 1..m] следующий алгоритм
For i:= 1 to m do
For j:= 1 to m do
If i mod 2 < > 0 then X[i, j] = A;
А) нечетные столбцы матрицы заменить на А;
Б) четные столбцы матрицы заменить на А;
В) четные строки матрицы заменить на А;
Г) количество четных элементов массива;
Д) нечетные строки матрицы заменить на А;
Е) ни один из ответов 1-5 не верен.
- Что определяет для массивов X[1..n, 1..m] и Y[1..n, 1..m] следующий алгоритм
X[i, j]: = X[i, j] + Y[i, j];
А) сумма элементов главной диагонали матрицы;
Б) сумма элементов каждой строки матриц X и Y;
В) четные строки матрицы заменить на А;
Г) количество равных соответствующих элементов матрицы X и матрицы Y;
Д) сумма матриц X и Y.
- Что определяет для массива X[1..n] следующий алгоритм
For k:= 1 to n do
If X[k] >V then V:=X[k];
А) минимальный элемент массива;
Б) сумму отрицательных элементов массива;
В) максимальный элемент массива;
Г) количество положительных элементов массива;
Д) индекс последнего положительного элемента массива;
Е) Ни один из ответов 1-5 не верен.
III. Решите задачу:
Двумерный массив, состоящий из 3 строк и 4 столбцов, вводится с клавиатуры. Напишите программу для нахождения наибольшего элемента массива.
Ответы:
ВАРИАНТ 1
I. Одномерный массив – это именованная последовательность, состоящая из пронумерованных элементов одного типа.
Элементы могут быть любого имеющегося в Pascal (за исключение файлового) типа данных. Номер, также называемый индексом, имеет каждый элемент массива. Индекс должен быть порядкового типа.
Одномерный массив можно объявить как в качестве переменной:
var <имя переменной>: array[m..n] of <тип элементов>;
type <имя типа> = array[m..n] of <тип элементов>;
Здесь m – номер первого элемента, а n – последнего. Например, если диапазон задан так: [1..10], то это означает, что определен одномерный массив размерностью в 10 элементов, с индексами от 1 до 10.
Program Z1;
var a:array[1..3,1..4] of integer;
i,j,s:integer;
begin
for i:=1 to 3 do
begin
for j:=1 to 4 do
begin
end;
end;
for i:=1 to 3 do
for j:=1 to 4 do
if a[i,j]>0 then s:=s+a[i,j];
writeln('сумма положительных элементов массива равна', s);
end.
ВАРИАНТ 2
I. Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Их можно представить в виде прямоугольной таблицы или матрицы.
Рассмотрим матрицу А размерностью 2*3, то есть в ней будет две строки, а в каждой строке по три элемента:
Каждый элемент имеет свой номер, который состоит из двух чисел - номера строки, в которой находится элемент, и номера столбца. Таким образом, номер элемента определяется пересечением строки и столбца. Например, a12 - это элемент, стоящий в первой строке и во втором столбце.
Существуют несколько способов объявления двумерного массива.
Способ 1. В Паскале двумерный массив можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведённой выше:
Const n = 2; m = 3;
Type omyarray = Array[1..m] Of <тип элементов >;
dmyarray = Array[1..n] Of omyarray;
Var v: omyarray;
В данном случае переменная v объявлена как одномерный массив из трёх элементов вещественного типа. Переменная а описана как двумерный массив из двух строк, каждую из которых включено по три элемента.
Способ 2. Описание массива А можно сократить, исключив определение типа omyarray в определении типа dmyarray:
Const n = 2; m = 3;
Type dmyarray = Array[1..n, 1..m] Of <тип элементов>;
Var a: dmyarray.
Способ 3. Ещё более краткое описание массива А можно получить, указывая имя массива и диапазоны изменения индексов для каждой размерности массива:
Const n = 2; m = 3;
Type dmyarray = Array[1..n, 1..m] Of <тип элементов >;
Var a: dmyarray.
Если указанный тип используется для определения одного массива в программе, то удобно объявление массива в разделе описания переменных:
Var a: Array [1..n, 1..m] Of < тип элементов >.
Program Z2;
var a:array[1..3,1..4] of integer;