Подпрограмма-процедура. Составление программ с использованием процедур (Лабораторная работа № 7)

Страницы работы

10 страниц (Word-файл)

Фрагмент текста работы

Лабораторная работа № 7

ПОДПРОГРАММА-ПРОЦЕДУРА

Цель работы – уяснение общего и основных различий между процедурой и функцией;  составление программ с использованием процедур; решение задач, связанных с операциями над массивами.

Постановка задачи:

1.  Выполнить задание с использованием процедур.

2.  Исходные данные (кроме размерности массивов) ввести из текстового файла, который представить вместе с листингом программы и результатами счета. Ввод данных оформить как процедуру.

3.  Решение задачи оформить в виде процедуры.

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

5.  Весь обмен данными между основной программой и процедурами организовать через список формальных/фактических параметров.

Теоретические сведения

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

В языке Delphi подпрограмма является частью основной программы, ее описание располагается в описательной части программы, т.е. перед первым begin программы.

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

Описание подпрограмм можно сравнить с записываемой в математике формулой «в общем виде», в которую при расчетах подставляются конкретные значения. Поскольку далеко не каждую задачу можно свести к некоторой формуле, но можно записать алгоритм ее решения, то можно сказать, что подпрограмма – это та же инструкция по решению некоторой задачи. Как и формулу, подпрограмму можно использовать для различных данных, передаваемых из главной программы или других подпрограмм.

Различают два вида подпрограмм – процедуры и функции. Далее рассмотрим подпрограммы-процедуры.

Структура описания процедуры имеет вид:

          procedure <имя> [(<список формальных параметров>)] ;

            [<раздел описаний>]

          Begin

<перечисление  операторов и программных единиц>

          End;

          Таким образом, процедуры имеют структуру, аналогичную главной программе и содержат:

·  заголовок со специальным словом procedure – признаком подпрограммы, именем процедуры и необязательным списком формальных параметров – данных, передаваемых на обработку и получаемых из процедуры;

·  все разделы описаний, необходимые для работы подпрограммы: метки, константы, типы, переменные и подпрограммы;

·  раздел операторов, содержащий собственно алгоритм подпрограммы.

При работе с подпрограммой всегда выделяется два этапа:

·  описание подпрограммы, т.е. запись алгоритма решения задачи в специальной форме;

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

Описание выполняется один раз, а вызовов может быть сколько угодно.

Обмен данными между процедурой и вызывающей программой

Процедура может не обмениваться данными с вызывающей программой. Пример такой процедуры и ее использования приведен в следующем фрагменте программы:

Program Example1;

// Описание процедуры

Procedure Hello;         // Заголовок процедуры

Begin

    Writeln (‘Привет!’)    // Исполняемый оператор процедуры

End;

// Раздел операторов основной программы

Begin

    Hello;                         // Вызов процедуры

    Hello;

    Hello

End.

Процедура Hello при каждом вызове (а их в основной программе три) делает одно и то же – просто выводит слово на печать.

Процедуры, подобные приведенной, встречаются довольно редко. Обычно при выполнении процедуры реализуется такая схема:

Исходные данные à Алгоритм процедуры à Результат.

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

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
197 Kb
Скачали:
0