Процедура Dec

Уменьшает значение переменной.

Объявление:

Procedure Dec(Var X[ ; N : Longint]);

Режим:

Windows, Real, Protected

Замечание:

Параметр X - переменная перечислимого типа или переменная типа PChar, если допускается расширенный синтаксис, а N - выражение целочисленного типа. Значение X уменьшается на 1, если параметр N не определен, или на N, если праметр N определен, то есть Dec(X) соответствует X:=X-1, а Dec(X, N) соответствует X:=X-N.

С помощью Dec генерируется более оптимизированный код, особенно полезный в плотном цикле.

Пример:

{Пример программы для процедуры Dec}

Var
 IntVar : Integer;
 LongintVar : Longint;

Begin
 IntVar:=10;
 WriteLn('До: IntVar=10');
 Dec(IntVar);
 WriteLn('После: IntVar=',IntVar);
 LongintVar:=1000000;
 WriteLn('До: LongintVar=', LongintVar);
 Dec(LongintVar, 5);
 WriteLn('После: LongintVar=', LongintVar);
 ReadLn
End.

Описание примера:

Первоначально переменной IntVar присваивается значение 10. После выполнения Dec(IntVar) переменная IntVar уменьшается ровно на одну единицу, так как второй параметр не задан, т.е. значение IntVar будет равно IntVar=10-1=9.

В строке Dec(LongintVar, 5) задан второй параметр, который равен 5. То есть после выполнения процедуры значение переменной LongintVar уменьшится на 5 и будет равно: LongintVar=1000000-5=999995.