Операция (программирование)

Операция (программирование)

Опера́ция — конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий. Наиболее часто применяются арифметические, логические и строковые операции. В отличие от функций, операции часто являются базовыми элементами языка и обозначаются различными символами пунктуации, а не алфавитно-цифровыми; они имеют специальный инфиксный синтаксис и нестандартные правила передачи аргументов. Терминология, однако, несколько отличается от языка к языку.

Содержание

Операция и инструкция

Английское слово operator, соответствующее термину «операция», иногда ошибочно переводят как «оператор». На самом деле (по историческим причинам) русский термин «оператор» обозначает то же, что и «инструкция», которой соответствует английское statement[1]. Путаница усугубилась тем, что в C присваивание и инкремент/декремент являются и операторами, и операциями.

Операция и функция

Фактически, операция — это та же функция, но записываемая особым образом. По этой причине логично иметь возможность определять операции для произвольных типов таким же образом, как и методы — чтобы можно было работать с ними точно так же, как и с элементарными типами. Эта возможность называется «перегрузка операций» и присутствует в большинстве языков 4—5 поколений. В таких языках транслятор, фактически, подставляет вместо выполнения операции вызов соответствующей ей функции.

Типы операций

Операции делятся по количеству принимаемых аргументов на:

  • унарные — один аргумент (отрицание, унарный минус)
  • бинарные — два аргумента (сложение, вычитание, умножение и т.д.)
  • тернарные — три аргумента ("условие ? выражение1 : выражение2")

Синтаксис операций

Поскольку операции аналогичны по записи алгебраическим выражениям, для них, как и для последних, существует 3 варианта синтаксиса:

  • префиксная (польская) (+ab) нотация;
  • инфиксная (a+b) нотация;
  • постфиксная (обратная польская) (ab+) нотация;

Для бинарных и тернарных (с 3 операндами) операций в подавляющем большинстве случаев используют инфиксную нотацию — по той простой причине, что она принята в математике и наиболее привычна большинству людей. Для унарных операций инфиксной нотации не существует, и, как правило, используется префиксная.

Список типовых операций

Операции обычно переходят из языков в родственные — например, операции языка С присутствуют в языках C++, Java, JavaScript и многих других.

Оператор Выполняемая операция Языки программирования
a = b или a := b присваивание практически все
Арифметические
a + b сложение аргументов практически все
a - b вычитание практически все
-a изменение знака практически все
a / b, a div b деление практически все
a % b, a mod b деление по модулю С, Java, PHP, Pascal
a++
a--
увеличение на 1 с присваиванием (инкремент)
уменьшение на 1 с присваиванием (декремент)
С, Java, PHP
a ^ b или a ** b возведение в степень BASIC, Fortran, Ruby
Логические
a & b, или a && b, или a and b И практически все
a | b, или a || b, или a or b ИЛИ
~a, или !a, или not a НЕ
a = b или a == b

a <> b или a != b

проверка на равенство

проверка на неравенство

a > b, a >= b

a < b, a <= b

больше, больше или равно

меньше, меньше или равно

a ? b : c тернарный условный оператор (если условие a истинно, всё выражение равно b, иначе c) С, C++, Java, PHP
Строковые
a + b или a & b или a.b (в языке PHP) конкатенация (слияние) практически все

См. также





Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Операция (программирование)" в других словарях:

  • Операция — В Викисловаре есть статья «операция» Операция (лат. operatio, действие)  действие …   Википедия

  • программирование — я, ср. programmer.1. Раздел вычислительной математики и техники, связанный с эксплуатацией электронных машин, с автоматическим программным управлением; составлением программ 10. БАС 1. 2. Действие по знач. гл. программировать. Программирование… …   Исторический словарь галлицизмов русского языка

  • ПРОГРАММИРОВАНИЕ ПАРАЛЛЕЛЬНОЕ — раздел программирования, связанный с изучением и разработкой методов и средств для: а) адекватного описания в программах естественного параллелизма моделируемых в ЭВМ и управляемых ЭВМ систем и процессов, б) распараллеливания обработки информации …   Математическая энциклопедия

  • программирование — я; ср. 1. к Программировать. П. производства. Операция программирования. 2. Раздел прикладной математики и вычислительной техники, разрабатывающий методы составления программ для ЭВМ. Заниматься программированием. Специалист по программированию.… …   Энциклопедический словарь

  • ОПЕРАЦИЯ — (от лат. operatio – действие) – одно из осн. понятий дедуктивных наук. 1) В содержат. теориях термин О. часто употребляется как синоним термина функция , т.е. понимается как однозначное отображение (соответствие) нек рого множества А (элементы к… …   Философская энциклопедия

  • программирование — я; ср. 1) к программировать Программи/рование производства. Операция программирования. 2) Раздел прикладной математики и вычислительной техники, разрабатывающий методы составления программ для ЭВМ. Заниматься программированием. Специалист по… …   Словарь многих выражений

  • Тернарная условная операция — (от лат. ternarius  «тройной») (обычно записывается как ?:)  во многих языках программирования операция, возвращающая свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом. Как… …   Википедия

  • Битовая операция (значения) — Битовая операция: Битовая операция (теория алгоритмов) (или элементарная операция [1]) в теории алгоритмов, криптографии запись знаков 0, 1, плюс, минус, скобка; сложение, вычитание и умножение двух битов (числа записаны в двоичной системе… …   Википедия

  • Оператор (программирование) — У этого термина существуют и другие значения, см. оператор. Из за путаницы с терминологией словом «оператор» в программировании нередко обозначают операцию (англ. operator), см. Операция (программирование). Инструкция или оператор… …   Википедия

  • Комбинаторное программирование — Комбинáторное программирование (англ. function level programming)   это парадигма программирования, не требующая явного упоминания аргументов определяемой функции (программы) и использующая вместо переменных комбинаторы и композицию… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»