ОПРЕДЕЛЕНИЕ И ИСПОЛЬЗОВАНИЕ ПОДПРОГРАММ ТИПА ПРОЦЕДУРА
Или
writeln(имя функции (список_фактических_параметров));
Параметры, которые указывают при вызове подпрограммы, называют фактическими параметрами. Типы данных в команде вызова не указывают. Параметры перечисляются через запятую.
Во время вызова подпрограммы между фактическими и формальными параметрами устанавливается взаимно однозначное соответствие:
Соответствие по количеству. Количество фактических параметров должно соответствовать количеству формальных параметров.
Соответствие по порядку следования. Первый формальный параметр в списке отвечает первому фактическому параметру, второй – второму и т.д.
Соответствие по типу. Тип каждого фактического параметра должен совпадать с типом соответствующего ему формального параметра.
Также надо помнить,что имена соответствующих пар фактических и формальных параметров могут не совпадать.
Задача 1.Необходимо вычислить значение выражения z = tg x+ctg y +tg2x.
{1} program FunctionTg;
{2} var x,y,z:real;
{3}//Объявление функции
{4} function tg(a:real):real;
{5} begin
{6}tg:=sin(a)/cos(a)
{7} end;
{8}//Начало основной программы
{9} begin
{10}writeln('Enter real x,y');
{11}readln(x,y);
{12}z:=tg(x)+1/tg(y)+sqr(tg(x));
{13}writeln('z=',z:5:2);
{14}//Конец основной программы
{15} end.
Строки {12} и {13} можно заменить одной
writeln('y=',tg(x)+1/tg(x)+sqr(tg(x)):5:2);
Процедура – подпрограмма, результатом работы которой может быть как целый набор значений, так и отсутствие значений, которые поворачиваются, в вызывающую программу (результат работы не сводится к вычислениям).
Синтаксис объявления процедуры имеет такой вид:
procedure имя_процедуры(список_формальных_параметров);
//локальные_объявления