Лабораторная работа № 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 при каждом вызове (а их в основной программе три) делает одно и то же – просто выводит слово на печать.
Процедуры, подобные приведенной, встречаются довольно редко. Обычно при выполнении процедуры реализуется такая схема:
Исходные данные à Алгоритм процедуры à Результат.
Для передачи исходных данных из основной программы в процедуру и возвращение результата из процедуры в основную программу используют
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.