lab4_v5 / lab4_v5
.docx
Федеральное агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра автоматизированных систем управления (АСУ)
ОТЧЕТ
по лабораторной работе № 4
по дисциплине «Программирование на языке высокого уровня»
Выполнил: студент гр. З-431-а
Мамаев Александр Николаевич
Принял: преподаватель
Сафьянова Елена Николаевна
«19» января 2016 г.
2016 г.
-
Тема работы: работа с двумерными массивами.
-
Цель работы – приобретение навыков работы с матрицами с использованием процедур. В работе необходимо максимально использовать аппарат процедур и функций.
-
Задание(вариант №5):
В матрице найти сумму элементов четных столбцов. Если эта сумма положительна, то все элементы нечетных строк возвести в квадрат. В противном случае ко всем элементам побочной диагонали прибавить число 2.
-
Описание алгоритма решения задачи:
В связи с тем, что среда разработки Pascal не предусматривает использование двумерных массивов в качестве параметров вызова функции, было принято решение использовать только процедуры для работы с двумерными массивами.
Примечание: исключение составляет создание нового типа переменных, который будет являться двумерным массивом, что делает возможным использование функций, но к теме работы отношения не имеет.
Для решения данной задачи введены следующие функции и процедуры:
procedure matrixprint; |
Вывод двумерного массива на экран. |
procedure matrixgen; |
Заполнение матрицы размера M случайными числами от -20 до 20. |
procedure getsum; |
Процедура расчёта суммы четных столбцов. |
function getm():integer; |
Функция получения размера матрицы. |
procedure abovezero; |
Процедура возводит элементы нечетных строк в квадрат, если полученная сумма четных столбцов больше 0. |
procedure subzero; |
Процедура прибавляет 2 ко всем элементам побочной диагонали, , если полученная сумма четных столбцов меньше 0. |
Используя эти функции и процедуры, разработка кода основной части программы не составит труда, и её объём составил всего пять строк основного кода.
-
Листинг программы
|
-
Результаты тестирования программы
При M=3
При M=6
-
Выводы
При максимальном использовании функций и процедур объём основного кода значительно сокращается, а при правильном наименовании функций и процедур увеличивается читабельность кода, например в данной работе фрагмент основного кода:
|
сможет прочитать любой разработчик, зная задачу программы.
Код легко читается, например, так:
|
Выполнение программы сводится к последовательному выполнению операторов с целью преобразования исходных данных, в результаты.
Процедурный язык программирования предоставляет возможность программисту определять каждый шаг в процессе решения задачи. Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов.
-
Список используемых источников
• Методические указания к лабораторным работам для студентов специальности 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», С.М. Алферов, Е.Н. Сафьянова
• https://ru.wikipedia.org/wiki/Процедурное_программирование
• http://programmersforum.ru/showthread.php?t=106599