Операция (программирование)
Опера́ция — конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий. Наиболее часто применяются арифметические, логические и строковые операции. В отличие от функций, операции часто являются базовыми элементами языка и обозначаются различными символами пунктуации, а не алфавитно-цифровыми; они имеют специальный инфиксный синтаксис и нестандартные правила передачи аргументов. Терминология, однако, несколько отличается от языка к языку.
Содержание
Операция и инструкция
Английское слово 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++
|
увеличение на 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 : c
|
тернарный условный оператор (если условие a истинно, всё выражение равно b, иначе c) | С, C++, Java, PHP |
Строковые | ||
a + b или a & b или a.b (в языке PHP) или a..b (в языке lua)
|
конкатенация (слияние) | практически все |
См. также
Это заготовка статьи о компьютерных языках. Вы можете помочь проекту, дополнив её. |
<imagemap>: неверное или отсутствующее изображение |
В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка установлена 14 мая 2011 года. |
Напишите отзыв о статье "Операция (программирование)"
Ссылки
- ↑ [www.lingvoinfo.com/?link=104 Перевод компьютерных терминов. Часть 1. Процессор]
Отрывок, характеризующий Операция (программирование)
«Всё кончено», подумал он, и холодный пот выступил у него на лбу! Он растерянно подошел к кроватке, уверенный, что он найдет ее пустою, что нянька прятала мертвого ребенка. Он раскрыл занавески, и долго его испуганные, разбегавшиеся глаза не могли отыскать ребенка. Наконец он увидал его: румяный мальчик, раскидавшись, лежал поперек кроватки, спустив голову ниже подушки и во сне чмокал, перебирая губками, и ровно дышал.Князь Андрей обрадовался, увидав мальчика так, как будто бы он уже потерял его. Он нагнулся и, как учила его сестра, губами попробовал, есть ли жар у ребенка. Нежный лоб был влажен, он дотронулся рукой до головы – даже волосы были мокры: так сильно вспотел ребенок. Не только он не умер, но теперь очевидно было, что кризис совершился и что он выздоровел. Князю Андрею хотелось схватить, смять, прижать к своей груди это маленькое, беспомощное существо; он не смел этого сделать. Он стоял над ним, оглядывая его голову, ручки, ножки, определявшиеся под одеялом. Шорох послышался подле него, и какая то тень показалась ему под пологом кроватки. Он не оглядывался и всё слушал, глядя в лицо ребенка, его ровное дыханье. Темная тень была княжна Марья, которая неслышными шагами подошла к кроватке, подняла полог и опустила его за собою. Князь Андрей, не оглядываясь, узнал ее и протянул к ней руку. Она сжала его руку.
– Он вспотел, – сказал князь Андрей.
– Я шла к тебе, чтобы сказать это.
Ребенок во сне чуть пошевелился, улыбнулся и потерся лбом о подушку.
Князь Андрей посмотрел на сестру. Лучистые глаза княжны Марьи, в матовом полусвете полога, блестели более обыкновенного от счастливых слёз, которые стояли в них. Княжна Марья потянулась к брату и поцеловала его, слегка зацепив за полог кроватки. Они погрозили друг другу, еще постояли в матовом свете полога, как бы не желая расстаться с этим миром, в котором они втроем были отделены от всего света. Князь Андрей первый, путая волосы о кисею полога, отошел от кроватки. – Да. это одно что осталось мне теперь, – сказал он со вздохом.
Вскоре после своего приема в братство масонов, Пьер с полным написанным им для себя руководством о том, что он должен был делать в своих имениях, уехал в Киевскую губернию, где находилась большая часть его крестьян.
Приехав в Киев, Пьер вызвал в главную контору всех управляющих, и объяснил им свои намерения и желания. Он сказал им, что немедленно будут приняты меры для совершенного освобождения крестьян от крепостной зависимости, что до тех пор крестьяне не должны быть отягчаемы работой, что женщины с детьми не должны посылаться на работы, что крестьянам должна быть оказываема помощь, что наказания должны быть употребляемы увещательные, а не телесные, что в каждом имении должны быть учреждены больницы, приюты и школы. Некоторые управляющие (тут были и полуграмотные экономы) слушали испуганно, предполагая смысл речи в том, что молодой граф недоволен их управлением и утайкой денег; другие, после первого страха, находили забавным шепелявенье Пьера и новые, неслыханные ими слова; третьи находили просто удовольствие послушать, как говорит барин; четвертые, самые умные, в том числе и главноуправляющий, поняли из этой речи то, каким образом надо обходиться с барином для достижения своих целей.
Главноуправляющий выразил большое сочувствие намерениям Пьера; но заметил, что кроме этих преобразований необходимо было вообще заняться делами, которые были в дурном состоянии.
Несмотря на огромное богатство графа Безухого, с тех пор, как Пьер получил его и получал, как говорили, 500 тысяч годового дохода, он чувствовал себя гораздо менее богатым, чем когда он получал свои 10 ть тысяч от покойного графа. В общих чертах он смутно чувствовал следующий бюджет. В Совет платилось около 80 ти тысяч по всем имениям; около 30 ти тысяч стоило содержание подмосковной, московского дома и княжон; около 15 ти тысяч выходило на пенсии, столько же на богоугодные заведения; графине на прожитье посылалось 150 тысяч; процентов платилось за долги около 70 ти тысяч; постройка начатой церкви стоила эти два года около 10 ти тысяч; остальное около 100 та тысяч расходилось – он сам не знал как, и почти каждый год он принужден был занимать. Кроме того каждый год главноуправляющий писал то о пожарах, то о неурожаях, то о необходимости перестроек фабрик и заводов. И так, первое дело, представившееся Пьеру, было то, к которому он менее всего имел способности и склонности – занятие делами.