Функция

Перед употреблением функции она должна быть объявлена в разделе function. Для каждой функции свой раздел объявления, количество функций не ограничено. Формат раздела объявления функции:

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

{Директивы компилятора}                // Не обязательны

{Разделы локальных определений}  // Типы и др.

begin

{инструкции}

result:=<выражение>;               // Выражение=>result

{инструкции}

end;                                             // Конец функции

Внимание. Слово Result можно использовать в режимах Delphi и ObjPas. В других режимах выражение присваивается имени функции.

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

В исполняемой части должно присутствовать присвоение результата встроенной в функции переменной rezult.

Вызов функции при обычном синтаксисе осуществляется заданием в выражении имени функции со списком фактических параметров в круглых скобках. Количество, типы и порядок фактических и формальных параметров должны совпадать. Пример ниже, в нем соответствия: p1 – a1, p2 – a2.

program Function_Primer;

{$mode objfpc}{$H+}

uses SysUtils;                         // Ссылка на модули

var                                         // Глобальные переменные

a1: integer;

a2,a3:real;

function MyFunc(p1:integer;p2:real):real; // Заголовок функции

var c:real;                         // Локальная переменная

begin                                // Начало тела функции

c:=p1*p2;

result:=sqrt(p1+2*c+p2); // Присвоение результата

end;                                       // Конец функции

begin                                     // Начало тела программы

a3:=3+MyFunc(a1,a2);               // Вызов функции

writeln(a3);                            // Вывод результата

readln;                             // Пауза, смотрю результат

end.                                             // Конец программы

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

TwitterSEO CommunityВаау!News2.ruChippKoricaSMI2Google BookmarksDiggI.uaЗакладки YandexLinkstoreMyscoopCommunizmRu-marksWebmarksRuspaceLinkomaticKli.kzWeb-zakladkaZakladok.netRedditdeliciousMa.gnoliaTechnoratiSlashdotYahoo My WebБобрДобр.ruMemori.rurucity.comМоёМесто.ruMister Wong

Copyright © 2009-2010 Программирование на паскале.