Процедуры и функции
Процедуры
Если в алгоритме некоторая его часть повторяется несколько раз, то удобнее всего такую часть оформить как подпрограмму, написав ее один раз и обращаться к ней по мере необходимости. Подпрограмма – это часть программы, оформленная в виде отдельной синтаксической конструкции и снабженная именем. В Паскале подпрограммы называются процедурами и функциями и описываются в разделе описания процедур и функций (обязательно до раздела операторов!).
Процедура имеет ту же структуру, что и программа, за исключением заголовка, являющегося обязательной частью процедуры:
Procedure <имя процедуры> (<список формальных параметров>); <раздел описаний> begin <тело процедуры> end;
В программе все переменные делятся на глобальные и локальные. Глобальные переменные– это переменные, объявленные в описании основной части программы и действующие в любой ее части. Локальные переменные – те, которые объявлены в подпрограмме (процедуре или функции) и действующие лишь в ней. Пример 1. Рисунок «Елка».
![]()
program picture; uses crt; var k: integer; procedure treug; begin writeln(' *'); writeln(' ***'); writeln('*****'); end; BEGIN clrscr; for k:=1 to 3 do treug; readkey; END.
Передача данных из программы в процедуру и наоборот может быть организована двумя способами:
- через глобальные переменные;
- через аргументы процедуры (формальные параметры).
Вызов процедуры в теле программы:
<имя процедуры> (список фактических параметров);
Результат выполнения процедуры – это одно или несколько значений, которые передаются в основную программу как значение ее параметров. При вызове процедуры ее формальные параметры заменяются фактическими в порядке их следования. Фактические параметры – это переменные, которые передаются процедуре при обращении к ней. Формальные параметры – это переменные фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров, над которыми производятся действия.
Число и тип формальных и фактический параметров должны совпадать с точностью до их следования.
Описание формальных параметров
![]()
Пример 2. Четырехугольник задан четырьмя своими сторонами a, b, c, d, и диагональю f. С помощью процедуры вычисления площади треугольника по трем сторонам, вычислить площадь заданного четырехугольника.
Program pl; Uses crt; Var a, b, c, d, f, s1, s2, s: real; Procedure treug(x, y, z: real; var v: real); Var p: real; Begin P:=(x + y + z)/2; V:=sqrt(p*(p – x)*(p – y)*(p – z)); End; BEGIN Clrscr; Writeln(‘Введите стороны четырехугольника и диагональ: ’); Readln(a, b, c, d, f); Treug(a, b, f, s1); Treug(c, d, f, s2); S:=s1 + s2; Write(‘Площадь четырехугольника = ’, s:5:2); Readkey; END.
Назад
Далее