В общем виде объявление
процедуры выглядит так: procedure Имя (var параметр1: тип1; ... var параметрК:
типК) ; var
//
здесь объявление локальных переменных
begin
//
здесь инструкции процедуры
end;
где:
procedure — зарезервированное
слово языка Delphi, обозначающее, что далее следует объявление процедуры;
имя — имя процедуры, которое
используется для вызова процедуры;
параметр K — формальный параметр,
переменная, которая используется в инструкциях процедуры. Слово var перед
именем параметра не является обязательным. Однако если оно стоит, то это означает,
что в инструкции вызова процедуры фактическим параметром обязательно должна
быть переменная.
Параметры процедуры
используются для передачи данных в процедуру, а также для возврата данных из
процедуры в вызвавшую ее программу.
В качестве примера
в листинге 6.5 приведена процедура решения квадратного уравнения (которое в
общем виде записывается так: ах2 + Ьх+ с = 0). У процедуры шесть
параметров: первые три предназначены для передачи в процедуру исходных данных
— коэффициентов уравнения; параметры xi и х2 используются для возврата результата
— корней уравнения; параметр ok служит для передачи информации о том, что решение
существует.
Листинг 6.5.
Процедура SgRoot
//
решает квадратное уравнение
procedure
SqRoot(a,b,c : real;
var
xl,x2 : real;
var
ok : boolean);
{
a,b,c — коэффициенты уравнения x1,x2 — корни уравнения ok = True — решение есть
ok = False — решения нет }
Знаете ли Вы, как разрешается парадокс Ольберса? (Фотометрический парадокс, парадокс Ольберса - это один из парадоксов космологии, заключающийся в том, что во Вселенной, равномерно заполненной звёздами, яркость неба (в том числе ночного) должна быть примерно равна яркости солнечного диска. Это должно иметь место потому, что по любому направлению неба луч зрения рано или поздно упрется в поверхность звезды. Иными словами парадос Ольберса заключается в том, что если Вселенная бесконечна, то черного неба мы не увидим, так как излучение дальних звезд будет суммироваться с излучением ближних, и небо должно иметь среднюю температуру фотосфер звезд. При поглощении света межзвездным веществом, оно будет разогреваться до температуры звездных фотосфер и излучать также ярко, как звезды. Однако в дело вступает явление "усталости света", открытое Эдвином Хабблом, который показал, что чем дальше от нас расположена галактика, тем больше становится красным свет ее излучения, то есть фотоны как бы "устают", отдают свою энергию межзвездной среде. На очень больших расстояниях галактики видны только в радиодиапазоне, так как их свет вовсе потерял энергию идя через бескрайние просторы Вселенной. Подробнее читайте в FAQ по эфирной физике.