![](/user_photo/2706_HbeT2.jpg)
- •Лабораторная работа № 6
- •Освоение технологии структурного программирования
- •И применения стандартных методов работы с двумерными массивами
- •При разработке и создании программы на языке Турбо Паскаль.
- •1. Теоретические сведения
- •2. Стандартные приемы работы с двумерными массивами
- •2.1. Вввод-вывод двумерных массивов
- •2.2. Суммирование элементов матриц
- •2.3. Использование счетчика
- •2.4. Определения максимального или минимального элемента
- •2.5. Работа с чётными/нечётными элементами
- •3. Этапы создания программы
- •3.1. Условие задачи:
- •3.3. Проектируем структуры данных (их имена и типы).
- •3.4. Проводим нисходящую разработку (проектирование) программы методом пошаговой детализации с помощью псевдокода.
- •3.5. Выполняем структурное программирование
- •3.9. Для защиты лабораторной работы:
- •Задания к лабораторной работе № 6
- •Литература
2.3. Использование счетчика
Ещё одной распространённой задачей является использование счетчика для подсчёта количества элементов матрицы с определёнными характеристиками, к примеру – положительных или отрицательных. Это требует введения условного оператора:
{Определим количество положительных элементов Count (типа Integer)}
Count := 0; {Подготовка переменной Count для суммирования!!!}
for i: =1 to m do {Поочередно фиксируем номер строки матрицы}
for j: =1 to n do {Проходим по столбцам матрицы}
if A[i,j] > 0 then {Определение положительного элемента}
Count:=Count+1; {Увеличение счетчика положительных эл-тов}
{После выполнения циклов в Count находится кол-во положит. эл-тов массива A}
Кроме этого, теперь Вы можете использовать этот алгоритм для определения:
числа отрицательных или нулевых элементов;
числа элементов, равных заданному числу;
числа элементов массива, содержащих числа превышающие или не превышающие заранее заданное число;
числа элементов, содержащих значения, находящиеся в заданном интервале и т.д.
2.4. Определения максимального или минимального элемента
Очень часто программирование алгоритмов работы с матрицами требует определения максимального или минимального элемента. Для этого существует простой алгоритм, который Вы должны знать:
{Определим максимальный элемент массива А}
Max := A[1,1]; {Считаем, что первый элемент массива – максимальный }
for i: =1 to m do {Поочередно фиксируем номер строки матрицы}
for j: =1 to n do {Проходим по столбцам матрицы}
if A[i,j] > Max then {Сравниваем каждый последующий элемент}
{массива с текущим максимальным значением }
Max:= A[i,j];{Заменяем старое значение Max новым}
{После выполнения циклов в Max находится максимальное значение из массива A}
2.5. Работа с чётными/нечётными элементами
Ещё одним достаточно полезным алгоритмом, который может Вам понадобиться при работе с массивами, является поиск чётных/нечётных элементов целых массивов и их суммирование. Для этого в Турбо Паскале существует специальная встроенная логическая функция Odd(x), которая при целом аргументе x возвращает значение True при x нечётном и False в случае чётного числа:
... {Нахождение суммы нечетных элементов двумерного массива (матрицы)}
Type
MatrixType = Array[1..m,1..n] of Integer;
Var
B: MatrixType; {Целый массив для хранения матрицы}
Sum : Integer; {Целая переменная для хранения суммы}
{Находим сумму нечётных элементов с использованием функции Odd(i)}
Sum := 0; {Подготовка переменной Sum для суммирования!!!}
for i: =1 to m do {Поочередно фиксируем номер строки матрицы}
for j: =1 to n do {Проходим по столбцам матрицы}
if Odd(B[i,j]) then {для чётных – условие – not Odd(i)}
Sum := Sum + B[i,j]; {Суммируем нечетные эл-ты}
{После выполнения циклов в Sum находится сумма нечётных элементов массива B}
3. Этапы создания программы
Рассмотрим теперь последовательно все этапы создания программы обработки двумерного массива.