next up previous contents
Siguiente: case Subir: Estructuras condicionales Anterior: Estructuras condicionales   Índice General

if

La forma más sencilla de esta estructura es la siguiente:

          if Condicion then 
             -----; 
             -----;  (bloque de codigo) 
             -----;
          end if;

La condición es una expresión aritmética o lógica cuyo resultado es un valor lógico (True o False). Si al evaluar la condición el resultado es verdadero, Ada ejecuta el bloque de código; si es falso, se lo salta. Dentro del bloque de código podemos poner cualquiera de las estructuras que veremos en este capítulo (incluyendo más estructuras if). Por ejemplo:

          if Condicion_1 then 
             -----; 
             if Condicion_2 then
                -----;
                -----;
             end if;
             -----;
          end if;

Si queremos que nuestro algorítmo trate los dos casos (cuando la condición es cierta y cuando es falsa), debemos decirselo a Ada de la siguiente forma:

          if Condicion then 
             -----; 
             -----;  (bloque 1 de codigo) 
             -----;
          else
             -----; 
             -----;  (bloque 2 de codigo) 
             -----;
          end if;

Si al evaluar la condición el resultado es verdadero, Ada ejecuta el primer bloque de código; si es falso, ejecuta el segundo bloque de código. Igual que en el caso anterior, cada bloque puede contener cualquiera de las estructuras que veremos en este capítulo.

Si lo que queremos hacer es tener una serie de preguntas diferentes y que Ada sólo ejecute uno de los bloques de código, deberemos decirselo de la siguiente forma:

          if Condicion_1 then
             -----; 
             -----;   (bloque 1 de codigo)
             -----;
          elsif Condicion_2 then 
             -----; 
             -----;   (bloque 2 de codigo)
             -----;
          .
          .
          .
          elsif Condicion_N then 
             -----; 
             -----;   (bloque N de codigo)
             -----; 
          else 
             -----; 
             -----;   (bloque N+1 de codigo)
             -----;
          end if;

Ada evalúa la primera condición. Si es cierta, sólo ejecuta el primer bloque de código. Si es falsa, evalúa la segunda condición. Si es cierta sólo ejecuta el segundo bloque de código y así sucesivamente. Si no es cierta ninguna de las condiciones, Ada ejecuta el bloque de código del else.

Como hemos visto Ada tiene tres tipos de estructura if: la simple, la doble y la múltiple. Obviamente, con la estructura simple se pueden crear todas las demás, y con la doble se puede crear la múltiple (Ada proporciona las tres para facilitar la escritura de nuestros programas). Por ejemplo, los siguientes fragmentos de código son equivalentes:

  if A >= B and C = A + D then            if A >= B and C = A + D then 
     -----;                                  -----; 
     -----;                                  -----; 
     -----;                                  -----; 
  elsif G = H + P then           <====>   else 
     -----;                                  if G = H + P then 
  elsif Q > R or S <= T then                    -----; 
     -----;                                  else 
     -----;                                     if Q > R or S <= T then 
  else                                             -----; 
     -----;                                        -----; 
  end if;                                       else 
                                                   -----; 
                                                end if; 
                                             end if; 
                                          end if;


next up previous contents
Siguiente: case Subir: Estructuras condicionales Anterior: Estructuras condicionales   Índice General
Javier Miranda 2002-10-03