Expresiones

Páginas: 6 (1257 palabras) Publicado: 6 de noviembre de 2015
Expresiones.
Una expresión es una combinación de operadores y operandos de cuya evaluación se obtiene un valor. Los operandos pueden ser nombres que denoten objetos variables o constantes, funciones, literales de cualquier tipo adecuado de acuerdo con los operadores u otras expresiones más simples. La evaluación de una expresión da lugar a un valor de algún tipo, una expresión se dice que es deltipo de su resultado. Ejemplos de expresiones:
a + 5*b
(a >= 0) and ((b+5) > 10)
a
-a * 2 + b
-b + sqrt(b**2 - 4*a*c) 
length(s) > 0
Las expresiones se evalúan de acuerdo con la precedencia de los operadores. Ante una secuencia de operadores de igual precedencia, la evaluación se realiza según el orden de escritura, de izquierda a derecha. El orden de evaluación puede modificarse usandoparéntesis.
Operadores.
Ada agrupa los operadores en 6 categorías, de menor a mayor precedencia. Los operadores binarios se usan en formato infijo ( ), como en "a + b". Los operadores unarios se usan en formato prefijo (  ), como en "-5".
Operadores lógicos.
Están predefinidos para cualquier tipo, T, que designe un booleano, modular oun array monodimensional de componentes booleanos:
function "and"(Left, Right : T) return T
function "or" (Left, Right : T) return T
function "xor"(Left, Right : T) return T
Ejemplo de uso  en expresiones (sean A, B y C de tipo T):
if A and B then ...
C := A or B;
return (A xor B);
Su significado es el convencional (para los tipos modulares son operaciones bit a bit):
A
B
(A and B)
(A or B)
(A xor B)True 
True
False
False
True
False
True
False
True
False
False
False
True
True
True
False
False
True 
True 
False
Para los tipos booleanos, existen versiones de los operadores "and" y "or", llamadas "and then" y "or else" que tienen el mismo significado, pero realizan una "evaluación en cortocircuito" consistente en que evalúan siempre primero el operando izquierdo y, si el valor de éste essuficiente para determinar el resultado, no evalúan el operando derecho.
La evaluación en cortocircuito resulta muy útil si la correcta evaluación del operando derecho depende del valor del operando izquierdo, como en el siguiente ejemplo:
    if   i <= Vec'last and then Vec(i) > 0   then ... 
(Evaluar Vec(i) produciría un error si i tiene un valor superior al límite máximo del vector).
Operadoresrelacionales.
Los operadores de igualdad están predefinidos para todos los tipos no limitados. Sea T un tipo con estas características:
function "=" (Left, Right : T) return Boolean
function "/="(Left, Right : T) return Boolean
Los operadores de ordenación están predefinidos para todos los tipos escalares y los arrays de elementos discretos. Sea T un tipo con estas características:
function "<" (Left,Right : T) return Boolean 
function "<="(Left, Right : T) return Boolean 
function ">" (Left, Right : T) return Boolean 
function ">="(Left, Right : T) return Boolean
Existe también un operador de pertenencia ("in", "not in") que determina si un valor pertenece a un rango o a un subtipo: if i in 1..10 then ...
Todos los operadores relacionales devuelven un resultado de tipo Boolean.
Ejemplo de uso en expresiones (sean A, B de tipo T y C de tipo Boolean):
if A = B then ...
C := (A <= B);
return (A >= B);
Operadores binarios de adición.
Los operadores de adición predefinidos para cualquier tipo numérico, T, son:
function "+"(Left, Right : T) return T 
function "–"(Left, Right : T) return T
Ejemplo de uso  en expresiones (sean A, B y C de tipo T):
C := A + B;
return (A - B);
También pertenecena esta categoría los operadores de concatenación, predefinidos para cualquier tipo de array monodimensional no limitado, T, de elementos de tipo C:
function "&"(Left : T; Right : T) return T 
function "&"(Left : T; Right : C) return T 
function "&"(Left : C; Right : T) return T 
function "&"(Left : C; Right : C) return T
Operadores unarios de adición.
Los operadores unarios de adición...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Expresion
  • La expresion
  • Expresionismo
  • Expresión
  • expresion
  • La expresion
  • Expresionismo
  • expresiones Yo soy

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS