Operación (programación)

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 19 de enero de 2017; las comprobaciones requieren 7 ediciones .

Una operación  es una construcción en lenguajes de programación , similar por escrito a las operaciones matemáticas, es decir, una forma especial de registrar algunas acciones.

Las más utilizadas son las operaciones aritméticas, lógicas y de cadenas . A diferencia de las funciones, las operaciones suelen ser elementos básicos del lenguaje y se indican mediante varios caracteres de puntuación en lugar de caracteres alfanuméricos; tienen una sintaxis de infijo especial y reglas de paso de argumentos no estándar. La terminología, sin embargo, difiere un poco de un idioma a otro.

Operación e instrucción

La palabra inglesa operator , que corresponde al término "operation" , a veces se traduce erróneamente como "operator". De hecho (por razones históricas) el término ruso "operador" significa lo mismo que " instrucción " , que corresponde al enunciado inglés [1] . La confusión se exacerbó por el hecho de que en C , la asignación y el incremento/decremento son tanto operadores como operaciones.

Operación y función

De hecho, una operación es la misma función , pero escrita de una manera especial. Por esta razón, tiene sentido poder definir operaciones en tipos arbitrarios de la misma manera que los métodos  , para que pueda trabajar con ellos de la misma manera que lo haría con tipos elementales. Esta función se denomina " sobrecarga de operadores " y está presente en la mayoría de los lenguajes de cuarta y quinta generación . En tales lenguajes, el traductor en realidad sustituye una llamada a la función correspondiente en lugar de realizar una operación.

Tipos de operaciones

Las operaciones se dividen por el número de argumentos aceptados en:

Sintaxis de operaciones

Dado que las operaciones son similares en notación a las expresiones algebraicas , para ellas, al igual que para estas últimas, existen 3 opciones de sintaxis:

Para las operaciones binarias y ternarias (con 3 operandos), en la gran mayoría de los casos, se utiliza la notación infija, por la sencilla razón de que se acepta en matemáticas y es más familiar para la mayoría de las personas. No hay notación de infijos para las operaciones unarias, y generalmente se usa la notación de prefijos.

Lista de operaciones típicas

Las operaciones generalmente se mueven de lenguajes a lenguajes relacionados; por ejemplo, las operaciones del lenguaje C se encuentran en C++ , Java , JavaScript y muchos otros.

Señal Operación en progreso Lenguajes de programación
a = boa := b asignación casi todos
Aritmética
a + b adición de argumentos casi todos
a - b sustracción casi todos
-a cambio de signo casi todos
a / b,a div b división casi todos
a % b,a mod b resto de la división (división módulo) casi todos
a++
a--
aumentar en 1 con asignación ( incremento )
disminuir en 1 con asignación (decremento)
C , Java , PHP
a ^ bo a ^^ boa ** b exponenciación BÁSICO , Fortran , Ruby , Python , Haskell (los 3)
rompecabezas
a & b, o a && b, oa and b conjunción (multiplicación lógica) casi todos
a | b, o a || b, oa or b disyunción (suma lógica)
~a, o !a, onot a inversión (negación lógica)
a = boa == b

a <> bo a /= boa != b

prueba de igualdad

prueba de desigualdad

a > b,a >= b

a < b,a <= b

mayor que, mayor que o igual a

menor que, menor que o igual a

a ? b : c operación condicional ternaria (si la condición a es verdadera, la expresión completa es igual a b , de lo contrario c ) C, C++, Java, PHP
Cuerda
a + bo a & bo a.b(PHP) o a..b(Lua) o a ++ b(Haskell) concatenación (fusión) casi todos
bit a bit
a & b, a y b (Pascal, Kotlin), a /\ b (Prólogo), a .&. b (Haskell) conjunción bit a bit C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin , Prolog , Haskell
un | b, a o b (Pascal, Kotlin), a \/ b (Prólogo), a .|. (Haskell) disyunción bit a bit
~a, no a (Pascal), inv a (Kotlin), \a (Prólogo) negación bit a bit C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin , Prólogo
a^b, xor (Pascal, Kotlin) XOR C / C++ , Java , C# , Ruby , Python , Pascal , Kotlin
a << b, a shl b (Pascal, Kotlin)


a >> b, a shr b (Pascal, Kotlin)

Desplazamiento de bit a la izquierda


Desplazamiento de bits a la derecha

Véase también

Notas

  1. Traducción de términos informáticos. Parte 1. Procesador . Fecha de acceso: 7 de diciembre de 2010. Archivado desde el original el 23 de septiembre de 2013.