- •Лабораторная работа № 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
- •Литература
Лабораторная работа № 6
Освоение технологии структурного программирования
И применения стандартных методов работы с двумерными массивами
При разработке и создании программы на языке Турбо Паскаль.
Цели работы:
1. Освоение методики нисходящей разработки (проектирования) программы методом пошаговой детализации с помощью псевдокода при решении задач с помощью ПК.
2. Освоение методов структурного программирования при разработке и создании программы на языке Турбо Паскаль для обработки двумерных массивов.
3. Овладение выразительными средствами графики языка ТП для повышения читаемости программы.
4. Овладение навыками введения в программу необходимого количества комментариев.
5. Приобретение навыков алгоритмизации и программирования на алгоритмическом языке Паскаль
6. Освоение средств исследования программы.
7. Освоение методики тестирования программы.
1. Теоретические сведения
Двумерный массив – это регулярная структура (последовательность) однотипных данных, объявляемых специальной конструкцией языка ТП:
Array [<Диапазон1, Диапазон2>] of <ТипКомпонентов>;
Например, массив:
Matrix : Array [1..4, 1..3] of Real;
описывает структуру из 12 элементов:
-
Matrix[1,1]
Matrix[1,2]
Matrix[1,3]
Matrix[2,1]
Matrix[2,2]
Matrix[2,3]
Matrix[3,1]
Matrix[3,2]
Matrix[3,3]
Matrix[4,1]
Matrix[4,2]
Matrix[4,3]
Под однотипностью данных, содержащихся в массиве, понимается принадлежность каждому конкретному массиву только однотипных элементов (Real, Integer и др.). То есть, в массиве не могут, к примеру, одновременно находиться числа вещественного и целого типов и т.д.
Доступ к любому компоненту двумерного массива обеспечивается простым указанием его «координат», т.е. номера строки и столбца. Поэтому, наиболее часто двумерные массивы используют для хранения матриц. В нашем случае это матрица вида:
Этот факт позволяет использовать массивы для проведения вычислений связанных с обработкой матриц. Для этой цели используются циклы с параметром for.
2. Стандартные приемы работы с двумерными массивами
2.1. Вввод-вывод двумерных массивов
Запомните, что ввод-вывод двумерных массивов является стандартной приемом и его просто необходимо запомнить и научиться применять (рис. 6.1).
2.2. Суммирование элементов матриц
При работе с матрицами, как правило, приходится иметь дело с набором стандартных приёмов либо их композицией. Поэтому Вам необходимо знать этот набор, чтобы в будущем конструировать из него фрагменты алгоритмов программ, которые могут возникнуть из постановки конкретных задач.
Самым простым является суммирование элементов матриц: в программе – двумерных массивов. Для этого необходимо описать переменную Sum такого же типа, что и элементы массива, и в двойном цикле for, по очереди, добавлять к ней:
... {Суммирование элементов двумерного массива (матрицы)}
Type
MatrixType = Array[1..m,1..n] of Real;
Var
A: MatrixType; {Массив для хранения матрицы }
i, {Параметр цикла для прохода по строкам}
m, {Количество строк}
j, {Параметр цикла для прохода по столбцам}
n : Integer; {Количество столбцов}
Sum : Real; {Переменная Sum для суммы элементов}
Sum := 0; {Подготовка переменной Sum для суммирования!!!}
for i: =1 to m do {Поочередно фиксируем номер строки матрицы}
for j: =1 to n do {Проходим по столбцам матрицы}
Sum := Sum+ A[i,j]; {Суммируем элементы в Sum}
{После выполнения циклов в Sum находится сумма элементов массива A}