Друзья
Друзья


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 генерируется более оптимизированный код, особенно полезный в плотном цикле.
Пример: view source

print
?01 {Пример программы для процедуры Dec}
02
03 Var
04 IntVar : Integer;
05 LongintVar : Longint;
06
07 Begin
08 IntVar:=10;
09 WriteLn('До: IntVar=10');
10 Dec(IntVar);
11 WriteLn('После: IntVar=',IntVar);
12 LongintVar:=1000000;
13 WriteLn('До: LongintVar=', LongintVar);
14 Dec(LongintVar, 5);
15 WriteLn('После: LongintVar=', LongintVar);
16 ReadLn
17 End.

view source

print
?01 {Пример программы для процедуры Dec}
02
03 Var
04 IntVar : Integer;
05 LongintVar : Longint;
06
07 Begin
08 IntVar:=10;
09 WriteLn('До: IntVar=10');
10 Dec(IntVar);
11 WriteLn('После: IntVar=',IntVar);
12 LongintVar:=1000000;
13 WriteLn('До: LongintVar=', LongintVar);
14 Dec(LongintVar, 5);
15 WriteLn('После: LongintVar=', LongintVar);
16 ReadLn
17 End.

Пояснение к примеру

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

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