Функция

Перед употреблением функции она должна быть объявлена в разделе 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.                                             // Конец программы

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

Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong

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