Programación en Ada/Operadores

De testwiki
Revisión del 21:21 25 nov 2019 de imported>ManuelGR (Propiedades)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegación Ir a la búsqueda

Plantilla:Navegador

Clasificación

Ésta es la lista de operadores de Ada de menor a mayor precedencia.

Clasificación de operadores
Clase Nombre Fórmula Sintáxis Ada
Lógicos Conjunción xy Plantilla:Ada/Reservada
Disyunción inclusiva xy Plantilla:Ada/Reservada
Disyunción exclusiva (xy¯)(x¯y) Plantilla:Ada/Reservada
Relacionales Igualdad x=y =
Desigualdad xy /=
Menor que x<y <
Menor o igual que xy <=
Mayor que x>y >
Mayor o igual que xy >=
Aditivo unario Identidad +x +
Negación x -
Aditivo binario Suma x+y +
Resta xy -
Concatenación Concatenación &
Multiplicativo Multiplicación x×y *
División xy /
Módulo xmody Plantilla:Ada/Reservada
Resto Plantilla:Ada/Reservada
De máxima precedencia Exponenciación xy **
Negación ¬x Plantilla:Ada/Reservada
Valor absoluto |x| Plantilla:Ada/Reservada

Propiedades

En todos los casos, excepto para la exponenciación, los dos operandos deben ser del mismo tipo.

Los operadores se pueden sobrecargar.

Comprobación de pertenencia (in, not in)

Además existe la comprobación de pertenencia (xT, Plantilla:Ada/Reservada; xT, Plantilla:Ada/Reservada Plantilla:Ada/Reservada) que técnicamente no es un operador y no se puede sobrecargar. Su precedencia es la misma que la de los operadores relacionales. Se puede utilizar con rangos o con subtipos.

Plantilla:Ada/--
Plantilla:Ada/Reservada X Plantilla:Ada/Reservada Positive Plantilla:Ada/Reservada Plantilla:Ada/--
   ...
   Plantilla:Ada/Reservada X Plantilla:Ada/Reservada Plantilla:Ada/Reservada 4 .. 6 Plantilla:Ada/Reservada
      ...
   Plantilla:Ada/Reservada Plantilla:Ada/Reservada;
Plantilla:Ada/Reservada Plantilla:Ada/Reservada;
Plantilla:Ada/Reservada
   Plantilla:Ada/Reservada Dia_Semana Plantilla:Ada/Reservada
      (Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo);
   Plantilla:Ada/Reservada Dia_Laborable Plantilla:Ada/Reservada Dia_Semana Plantilla:Ada/Reservada Lunes .. Viernes;
   Hoy : Dia_Semana := Obtener_Dia;
Plantilla:Ada/Reservada

   Plantilla:Ada/Reservada Hoy Plantilla:Ada/Reservada Dia_Laborable Plantilla:Ada/Reservada Plantilla:Ada/--
      Ir_Al_Trabajo;
      Plantilla:Ada/Reservada Hoy Plantilla:Ada/Reservada Plantilla:Ada/Reservada Lunes .. Miercoles Plantilla:Ada/Reservada
         Pensar_En_El_Fin_De_Semana;
      Plantilla:Ada/Reservada Plantilla:Ada/Reservada;
   Plantilla:Ada/Reservada Plantilla:Ada/Reservada;
Plantilla:Ada/Reservada;

Operadores lógicos de cortocircuito

Para los operadores lógicos existen versiones para minimizar las evaluaciones (short-circuit evaluation). Es decir, se evalúa primero el operando de la izquierda y después, sólo si es necesario para determinar el resultado, el de la derecha:

Plantilla:Ada/--
Plantilla:Ada/--
Plantilla:Ada/--
Plantilla:Ada/kw A /= 0 Plantilla:Ada/kw Plantilla:Ada/kw
   B / A > 3 Plantilla:Ada/kw

   Put_Line (Plantilla:Ada/");

Plantilla:Ada/kw Plantilla:Ada/kw;

Manual de referencia de Ada

en:Ada Programming/Operators