inc в Pascal’e это оператор (вызова процедуры) или это процедура?
спросил что это за оператор ответили что это инкремент -увелечение значения на1 по сути и или перевод в след позицию, оказалось как нам сказали это оператор вызоваа процедуры, правда нет? помогите разобраться
Vadim Rusov
inc — это имя определенной стандартом языка процедуры. Кстати, эта процедура увеличивает значение не обязательно на 1, на сколько — можно задать необязательным вторым параметром. Есть и аналогичная процедура dec — уменьшение значения.
Оператор вызова этой процедуры записывается, например, как inc(a)
Это оператор вызова процедуры.
Есть такая предопределенная (то есть её кто-то заранее написал, спасибо ему) процедура Procedure Inc(Var X [ ; N : Longint ] ); которая расположена в модуле System.pas (который автоматически подключается компилятором по умолчанию к любой программе).
Сергей Ганоль
«Оператор вызова процедуры» — тавтология. Вызов процедуры не требует особого оператора.
В pascalABC inc определяется как процедура:
http://pascalabc.net/downloads/pabcnethelp/LangGuide/StandardProcFunc/stand_enum.htm
Это оператор вызова процедуры, но компилируется оно инлайн, то есть на машинном языке это один оператор. В языке паскаль процедура — __это код__. А оператор вызова процедуры, это передача управления на код. Его легко отличить так: после идентификатора стоят скобки (показатель того, что на вход подается аргумент) , а значение не возвращается.
Похожее различие между переменной и индентификатором переменной, сечёте? )
Инкремент и декремент
Процедура Inc в Паскале выполняет операцию инкремента. Синтаксис процедуры следующий:
procedure Inc(var X: TOrdinal);
procedure Inc(var X: TOrdinal; Increment: TOrdinal);
Процедура Inc увеличивает значение переменной Х на значение Increment.
Если Increment не указан, то Х увеличивается на единицу.
Если включена проверка диапазона, то может произойти ошибка выхода за диапазон или переполнения при выполнении попытки увеличить Х на такое значение, при котором Х выйдет за пределы своего типа.
Процедура Dec в Паскале выполняет операцию декремента. Синтаксис процедуры следующий:
procedure Dec(var X: TOrdinal);
procedure Dec(var X: TOrdinal; Decrement: TOrdinal);
Процедура Dec уменьшает значение переменной Х на значение Decrement.
Если Decrement не указан, то Х уменьшается на единицу.
Если включена проверка диапазона, то может произойти ошибка выхода за диапазон или переполнения при выполнении попытки уменьшить Х на такое значение, при котором Х выйдет за пределы своего типа.
Тип TOrdinal
Типа TOrdinal на самом деле в Паскале не существует. Однако в справочной документации вы можете встретить такое наименование. Это означает, что значение может быть любого порядкового типа.
Операции инкремента и декремента
Для новичков объясню, что такое операции инкремента и декремента.
Итак, инкремент в Паскале (как и в любых других языках программирования) — это операция увеличения числа на заданное значение. А декремент — это операция уменьшения числа на заданное значение.
То есть по сути процедура Inc(X, Increment) выполняет следующий код:
Х := Х + Increment
А процедура Dec(X, Decrement) выполняет следующий код:
Х := Х — Decrement
Пример использования процедур Dec и Inc
program funcdecinc; var x : integer; begin x := 100; Dec(x); //x = 99 WriteLn(x); Inc(x); //x = 100 WriteLn(x); Dec(x, 10); //x = 90 WriteLn(x); Inc(x, 20); //x = 110 WriteLn(x); Dec(x, -10); //x = 120 WriteLn(x); Inc(x, -20); //x = 100 WriteLn(x); ReadLn; end.
Особенности использования процедур Dec и Inc
Наверняка вы обратили внимание в примере использования процедур Dec и Inc на последние несколько строк, где в качестве инкремента и декремента передаются отрицательные значения.
В таких случаях процедуры Dec и Inc работают “наоборот”. То есть
Dec(x, -10); — увеличивает Х на 10
Inc(x, -20); — уменьшает Х на 20
Применение процедур Dec и Inc
Наиболее часто процедуры Dec и Inc используются в циклах. Например, так:
x := 10; while x > 0 do begin Write(x, ' '); Dec(x); end;
Ну вот и всё. Больше сказать об этих процедурах мне нечего. Но, думаю, ничего говорить больше и не надо.
Что такое inc в паскале
Увеличивает значение переменной.
Объявление
Procedure Inc(Var X [ ; N : Longint ] );
Режим
Windows, Real, Protected
Замечания
Параметр X — переменная перечислимого типа или переменная типа PChar , если допускается расширенный синтаксис , а N — выражение целочисленного типа. Значение X увеличивается на 1, если параметр N не определён, или на N, если праметр N определен, то есть Inc(X) соответствует X:=X+1, а Inc(X, N) соответствует X:=X+N.
С помощью Inc генерируется более оптимизированный код, особенно полезный в плотном цикле.
Смотри также
Пример
Язык:
Русский
English
Inc/ru
Процедура Inc (increment) в языке программирования Pascal позволяет вам легко добавить 1 (или любое другое значение) к переменной.
Например, используя процедуру Inc (increment) вы можете увеличить значение переменной a на 1, как в следующем коде:
inc( a );
Если вы хотите увеличить на 2 (или на любое другое значение):
inc( a, 2 );
Процедура Inc включена в модуль System .
См. также
- Ссылка на документацию по RTL: inc
- Dec — уменьшает значение целочисленной переменной.
- Ссылка на документацию по RTL: succ — Возвращает следующий элемент порядкового типа.
- For control_variable := start_point To end_point Do statement.
