Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОПЕРАТОРЫ DELPHI.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
99 Кб
Скачать
☆

Объявление функции

function ИмяФ-ции(var Параметр1: Тип 1; var ПараметрJ: TиnJ ) : Тип;

const

{ описание констант }

var

{ описание переменных }

begin

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

Result:=Значение;

end;

Примечание

Слово var ставится перед именем параметра в том случае, если параметр используется для возврата значения из функции в вызвавшую ее программу.

Пример

function Max(A: array of Real; N: Integer): Real;

var

X: Real;

I: Integer;

begin

X := A[0];

for I := 1 to N - 1 do

if X < A[I] then X := A[I];

Max := X;

end;

Инструкции выбора Инструкция if

Вариант 1:

if Условие then begin

{ Инструкции, которые выполняются, ) { если условие истинно. }

end else begin

{ Инструкции, которые выполняются, } { если условие ложно }

end ;

Вариант 2. if-then.

if Условие then begin

{ Инструкции, которые выполняются, } { если условие истинно. }

end;

Примечание

Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

 Примеры

if J = 0 then Exit

else Result := I/J;

if J <> 0 then begin

Result := I/J;

Count := Count + 1;

end else begin

Done := True

end;

Инструкция for

Вариант 1 (с увеличением счетчика):

for Счетчик:=НачальноеЗначение to КонечноеЗначение do begin

{ здесь инструкции }

end;

Инструкции между begin и end выполняется (КонечноеЗначение - НачальноеЗначение) + 1 раз.

ЕСЛИ НачальноеЗначение > КонечноеЗначение, ТО инструкции между begin И end не выполняются.

Примечание

Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

Вариант 2 (с уменьшением счетчика)'.

for Счетчик:=НачальноеЗначение downto КонечноеЗначение do begin

{ здесь инструкции } end;

Инструкции между begin и end выполняется (НачальноеЗначение - КонечноеЗначение) + 1 раз.

Если НачальноеЗначение < КонечноеЗначение, то инструкции между begin и end не выполняются.

Примечание

Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

for J := 1 to 10 do begin

X := 0;

for K := 1 to 10 do X := X + Mat1[I, K] * Mat2[K, J];

Mat[I, J] := X;

end;

Инструкция while

while Условие do begin

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

end;

Сначала проверяется Условие, если оно истинно, то выполняются инструкции между begin и end. Затем снова проверяется Условие. Если оно выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока Условие не станет ложным.

Примечание

Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

while I > 0 do begin

if Odd(I) then Z := Z * X;

I := I div 2;

X := Sqr(X);

end;

while not Eof(InputFile) do begin

Readln(InputFile, Line);

Process(Line);

end;

Инструкция repeat

repeat

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

until Условие;

Сначала выполняются инструкции цикла, которые расположены между repeat и until. Затем вычисляется значение выражения Условие, и если оно равно False, то инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие не станет равным True.

repeat

K := I mod J;

I := J;

J := K;

until (J = 0);

repeat

Write('Enter a value (0..9): ');

Readln(I);

until (I >= 0) and (I <= 9);