Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 300070.doc
Скачиваний:
6
Добавлен:
30.04.2022
Размер:
295.42 Кб
Скачать

5. Лабораторная работа № 5

Тема. Программирование с использованием подпрограмм.

Цель. Закрепить умение разбивать (структурировать) программу на программные модули (подпрограммы), уметь описывать подпрограммы и использовать их при решении задач, знать способы передачи данных в подпрограммы.

Содержание работы

1. Изучить технологию нисходящего программирования.

2. Изучить организацию подпрограмм (понятие подпрограммы, описание подпрограммы, вызов подпрограммы, способы передачи данных в подпрограмму).

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

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

Методические указания

  1. Понятие технологии программирования

При нисходящей разработке проектирование программы ведется “сверху-вниз”. В решаемой задаче сначала выделяется небольшое число достаточно самостоятельных, более простых задач (подзадач), а в проектируемой программе намечается соответствующее число блоков (частей программы), каждый из которых предназначен для решения одной из подзадач. Определяется функциональное назначение каждого блока (модуля): что он должен делать, какие данные являются исходными для блока, какие – результатами. Если какие-то из подзадач оказываются достаточно сложными (алгоритмы их решения не являются очевидными), то к каждой из них применяется аналогичный процесс выделения подзадач. Этот процесс пошаговой детализации продолжается до тех пор, пока каждый из выделенных блоков программы не окажется таким, что его реализация (кодирование) на выбранном языке программирования уже не вызовет трудностей. Таким образом, программа может иметь многоуровневую структуру:

Модуль 1 уровня

Модули 2 уровня

Модули 3 уровня

и т.д.

Если на каждом шаге детализации будут использоваться принципы структурного программирования, то это обеспечит хорошую структурированность и программы в целом.

2.Понятие модульного программирования

В языках программирования одним из средств реализации модульной структуры программы является метод подпрограмм.

Подпрограмма – это самостоятельная программная единица, которая позволяет выделить из программы частичный алгоритм и записать его только один раз, но использовать столько раз, сколько это необходимо.

Основные свойства подпрограмм:

1) подпрограмма должна иметь один вход и один выход;

2) подпрограмма должна решать самостоятельную задачу по принципу одна подпрограмма – одна функция. Например, ввод линейного массива, вычисление произведения матриц, поиск наибольшего элемента в одномерном массиве и т.д.;

3) подпрограмма должна возвращать управление в ту часть программы, которая ее вызвала;

4) подпрограмма может вызывать другую подпрограмму, в том числе и саму себя, в последнем случае мы имеем дело с рекурсивной подпрограммой;

5) подпрограмма должна настраиваться на входные данные вызывающей части и возвращать результат;

6) размер подпрограммы желательно ограничивать одной-двумя страницами исходного текста.

Каждой подпрограмме дается имя, которое используется для активации действий, описанных в подпрограмме (вызова подпрограммы) в тех местах программы, где необходимо их выполнить. В точке вызова подпрограммы управление передается ее первой команде. Выполнение подпрограммы завершается действиями по возвращению управления в точку вызова – т.е. команде, непосредственно следующей за точкой вызова, называемой точкой возврата.

Таким образом, в структурированной программе между программными единицами устанавливается отношение вызываемая–вызывающая. Схема взаимодействия вызывающей и вызываемой может быть следующей: