Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Фрагменты операций с одномерными массивами

Поиск
1. Ввод элементов массива writeln('Введи массив A'); for i:=1 to n do read(A[i]);
2. Вывод элементов массива writeln('Массив A'); for i:=1 to n do writeln(A[i]:10:3);
3. Замена элементов массива на величину z for i:=1 to n do A[i]:=z;
4. Увеличение элементов массива на величину z (аналогично уменьшение, умножение, деление) for i:=1 to n do A[i]:=A[i]+z;
5. Вычисление нового массива B прибавлением к элементам массива A величины z (аналогично вычитанием, умножением, делением) for i:=1 to n do B[i]:=A[i]+z;
6. Вычисление индекса максимального элемента imax (аналогично минимального) max:=A[1]; imax:=1; for i:=2 to n do if A[i]>max then begin max:=A[i]; imax:=i; end;
7. Перестановка 1-го и 2-го элементов массива c:=A[1]; A[1]:=A[2]; A[2]:=c;

Контрольные вопросы

1. Объясните понятие массива, его элемента, индекса, размерности? Перечислите виды массивов.

2. Как обозначаются и описываются массивы и их элементы? Приведите примеры.

3. Чем отличается вычисление суммы всех элементов от вычисления суммы части элементов?

4. Чем отличается вычисление суммы части элементов от вычисления количества части элементов?

5. Чем отличается вычисление суммы элементов от вычисления произведения элементов?

6. Чем отличается вычисление суммы элементов от вычисления среднего значения элементов?

7. Чем отличается вычисление максимального элемента от вычисления минимального элемента?

8. Чем отличается ввод элементов от их вывода?

9. Чем отличается увеличение элементов на какую-либо величину от замены элементов на эту величину?

10. Чем отличается увеличение элементов на какую-либо величину от аналогичного вычисления нового массива?

11. Чем отличается вычисление максимального элемента от вычисления его индекса?

12. Почему для перестановки элементов используется три оператора?

13. Напишите, что означает каждая строка в вышеприведённой программе.

14. Напишите программу к одной из задач дополнительного задания.


Лабораторная работа № 5. Программирование задач с двумерными массивами


Двумерные массивы

Двумерный массив (матрица) – одномерный массив, элементы которого также являются одномерными массивами. Матрица имеет вид:

. Пример 1. .

Элемент массива – величина, входящая в состав массива. Индекс – порядковый номер строки или столбца в двумерном массиве. Двумерные массивы обычно обозначаются так: ;  , где A – массив; m – количество строк; n – количество столбцов; i – индекс строки; j – индекс столбца; aij – элемент массива A в i -й строке и j -м столбце.

Описание двумерного массива в разделе описания переменных (var) на языке Pascal имеет вид:

Mas: array [ IMin.. I Max, JMin.. JMax ] of T

Это означает, что переменная Mas является массивом, который может иметь индексы строк от IMin до IMax, индексы столбцов от JMin до JMax, а также состоит из элементов типа T.

Пример 2. Var A:array[1..10,1..15] of real;

Это означает, что A – массив, который может содержать от 1 до 10 строк и от 1 до 15 столбцов из элементов вещественного типа.

Доступ к элементу двумерного массива на языке Pascal имеет вид:

Mas [ Ind1, Ind2 ]

Это означает доступ к элементу массива Mas с индексом строки Ind1 и индексом столбца Ind2.

Пример 3. a[1,1]; b[i,j].

Это означает элемент массива A в 1-й строке и 1-м столбце, элемент массива B в i-й строке и j-м столбце.

Порядок выполнения

1. Зайти в Borland Pascal.

2. Набрать текст программы для решения задачи № 1 и получить ответ для контрольного примера.

3. Исправить программу так, чтобы она находила сумму и произведение элементов выше главной диагонали.

4. Исправить программу так, чтобы она находила минимальное и максимальное значение отрицательных элементов.

5. Исправить программу так, чтобы она находила количество нулевых и среднее значение положительных элементов.

Пример задачи

Задача 1. Дан двумерный массив A (m, n). Найти сумму и произведение всех элементов, а также вычислить минимальный и максимальный элементы. Program lab5; Var A: array [1..10,1..15] of real; i, j, m, n: integer; s, p, min, max: real; Begin writeln('Введи m,n'); read(m,n); writeln('Введи массив A'); for i:=1 to m do for j:=1 to n do read(A[i,j]); s:=0; p:=1; min:=A[1,1]; max:=A[1,1]; for i:=1 to m do for j:=1 to n do begin s:=s+A[i,j]; p:=p*A[i,j]; if A[i,j]<min then min:=A[i,j]; if A[i,j]>max then max:=A[i,j]; end; writeln('s=',s:10:3,' p=',p:10:3, ' min=',min:10:3,' max=',max:10:3); End.
Контрольный пример.
Исходные данные: ; ; .
Результаты: ; ; ; .

Дополнительное задание

1. Дан массив B (m, n). Найти сумму положительных элементов и количество элементов в диапазоне от 10 до 20.

2. Дан массив C (m, n). Найти произведение элементов, больших среднего значения.

3. Дан массив D (m, n). Найти среднее значение среди элементов, не совпадающих с минимальным.

4. Дан массив L (n, n). Найти максимальный среди отрицательных элементов и сумму элементов на главной диагонали.

5. Дан массив P (n, n). Элементы выше главной диагонали заменить на ноль, а ниже главной диагонали – округлить.

6. Сформировать двумерный массив A (m, n), элементы которого вычисляются по формуле: , где R (m, n) – двумерный массив случайных величин.

7. Дан массив R (m, n). Найти произведения элементов в каждой строке и максимальные элементы в каждом столбце.

8. Дан массив W (m, n). Найти суммы элементов в каждом столбце и минимальные элементы в каждой строке.

9. Дан массив S (m, n). Найти массив минимальных элементов в каждой строке, а затем в новом массиве отсортировать элементы по возрастанию.

10. Дан массив T (m, n). Отсортировать столбцы по убыванию их средних значений.




Поделиться:


Последнее изменение этой страницы: 2016-04-26; просмотров: 575; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.42.174 (0.007 с.)