Estructuras de control y funciones de evaluación de expresiones

Un programa puede considerarse como una sucesión de instrucciones o comandos que van a dirigir el funcionamiento de la computadora con el fin de resolver un determinado problema o responder a cierta necesidad.Las estructuras de control permiten que las instrucciones no sean estrictamente ejecutadas en el mismo orden en el que fueron escritas. Dichas estructuras, hacen posible que el control de la ejecución se pase de una parte a otra del programa. Las estructuras de control básicas son la secuencia, la bifurcación por evaluación de expresiones y la repetición de ciclos (descrito en sección anterior).

En la secuencia, cuando una instrucción se ha ejecutado pasa inmediatamente el control a la siguiente.

INICIO
 Instrucción 1
 Instrucción 2
 Instrucción ...
 Instrucción n
FIN

La bifurcación permite transferir el control a otra parte del programa dependiendo de si se cumple una determinada condición o expresión. Las estructuras de control que ofrece Gambas son las siguientes:

Por hacer

Esta estructura de control es conocida como bifurcación simple, porque la condición sólo puede tomar los valores verdadero o falso. Esta instrucción permite realizar unas instrucciones u otras en función de una condición. Es posiblemente el comando más utilizado, puesto que permite tomar una decisión durante la ejecución del programa.

Sintaxis

  IF Expression [ { AND IF | OR IF } Expression ... ] [ THEN ]
  ...
[ ELSE IF Expression [ { AND IF | OR IF } Expression ... ] [ THEN ]
  ... ]
[ ELSE
  ... ]
ENDIF

IF Expression [ { AND IF | OR IF } Expression ... ] THEN ...

DESDE LA VERSIÓN 3.4:

IF Expression [ { AND IF | OR IF } Expression ... ] THEN ... ELSE ...

Un ejemplo práctico:

 FOR k = 1 TO 10
   IF k < 5 OR IF k > 5 THEN
     PRINT k;;
   ELSE
     PRINT "He llegado al 5!"
   END IF
 NEXT 

A esta estructura se le conoce como bifurcación múltiple y esto se debe a que la variable de control puede asumir un amplio rango de valores.

Sintaxis

SELECT [CASE] Expression
[CASE Expression [TO Expression2] [, ... ]
...]
[CASE Expression [TO Expression2] [, ... ]
...]
[{CASE ELSE|DEFAULT}
...]
END SELECT

Otro ejemplo práctico:

 SELECT CASE w
   CASE 1
     a = a + 1
   CASE 2
     b = b + 1
   CASE 3
     c = c + 1
   CASE 4
     d = d + 1
   CASE 5
     e = e + 1
   CASE 6
     f = f + 1
   CASE ELSE
     PRINT "Operación no permitida"
 END SELECT 

Anidar estructuras de control

Las estructuras de control pueden usarse recursivamente o anidadas, es decir dentro de una estructura de control puede haber otras, que a su vez tomarán decisiones para el buen funcionamiento del programa. La única restricción es que deben ir cerrándose en el orden en que fueron abiertas, pensemos en el siguiente ejemplo:

 [ 'Estructura 1er nivel
  {2do nivel},
  (2do nivel),
  <2do nivel>,
  {2do nivel,
   <3er nivel
    (4to nivel
     {5to nivel}
    )'Fin del 4to nivel
   >'Fin del 3er nivel
  }'Fin del 2do nivel
 ]'Fin del 1er nivel

La función Choose usa una variable o expresión de selección (Choice, en inglés) para indicar cual es la posición del resultado que será seleccionado de un grupo de resultados (Result1, Result2 [, … ]).

Si la variable o expresión de selección apuntan a una posición fuera del rango, entonces la función devuelve un valor null.

Sintaxis

Value = Choose (Choice, Result1, Result2 [, ... ])

Lo vemos con un ejemplo práctico:

 X = 3
 PRINT Choose(X, "one", "two", "three", "four")	'three
 PRINT IsNull(Choose(X * 2, "one", "two", "three", "four"))	'True

Sintaxis

Value = IIf (bTest AS Boolean , vTrue , vFalse)
Value = If (bTest AS Boolean , vTrue , vFalse)
 PRINT If((X MOD 2) = 0, "par", "impar")
 ' Ejemplo de uso para plurales:
 PRINT "Tienes " & X & " mensaje" & If(X <> 1, "s", "") & " sin leer." 

Por hacer

Por hacer

Por hacer

Por hacer

Por hacer

Por hacer

Por hacer

Por hacer

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information