Estructuras
de control
- Las estructuras de control controlan el flujo de un programa o función.
- Permiten combinar instrucciones o sentencias individuales en una simple unidad lógica con un punto de entrada y un punto de salida.
Estatuto
if
- EnGambas , la estructura de control de selección principal es un estatuto if.
- El estatuto if tiene el siguiente formato:
IF Expression [ { AND IF | OR IF } Expression ... ] [ THEN ]
...
[ ELSE IF Expression [ { AND IF | OR IF } Expression ... ] [ THEN ]
... ]
[ ELSE
... ]
ENDIF
Traducido sería como sigue
Si....expresion.... Y Si | O Si ....expresion... Entonces .... Sino Si ....expresion... Y Si | O Si ... expresion Entonces .... Sino ... FinSi
Si ...expresion... Y Si | O Si ... expresion.... Entonces .....
Forma en que se ejecuta:
La orden se ejecuta de la siguiente manera:
Cuando se alcanza la estructura IF dentro de un programa, se evalúa la condición (o codiciones). Si la condición es verdadera, se ejecuta las ordenes que sigan al THEN, en caso de que no se cumpla, se ejecutaran las ordenes que sigan al ELSE,y si no las hay no se ejecuta nada.
Si....expresion.... Y Si | O Si ....expresion... Entonces .... Sino Si ....expresion... Y Si | O Si ... expresion Entonces .... Sino ... FinSi
Si ...expresion... Y Si | O Si ... expresion.... Entonces .....
Forma en que se ejecuta:
La orden se ejecuta de la siguiente manera:
Cuando se alcanza la estructura IF dentro de un programa, se evalúa la condición (o codiciones). Si la condición es verdadera, se ejecuta las ordenes que sigan al THEN, en caso de que no se cumpla, se ejecutaran las ordenes que sigan al ELSE,y si no las hay no se ejecuta nada.
Uso: If..then..endif
Uso: If ... then ... else ... endif
Ejemplo de uso:
Este programa, pide 2 números al usuario, y te dice cual es mayor. En caso de que sean iguales, también te lo dice.
Dim
num As
Integer
Print
"Introduce
un numero para comprobar que sea divisible entre 3:"
Input
num
If
(num % 3)
=
0
Then
Print
"Es
divisible entre 3"
Endif
Uso: If ... then ... else ... endif
Dim
nota As
Float
Print
"Introduce
la nota del alumno:"
Input
nota
If
nota >=
5
Then
Print
"
Aprobado"
Else
Print
"Suspenso"
Endif
Condiciones
Anidadas
- Las ordenes if implementan decisiones que implican una o dos alternativas, una orden if es anidada cuando la sentencia de la rama verdadera o la rama falsa es a su vez una sentencia if.
- Una orden if anidada se puede utilizar para implementar decisiones con varias alternativas o multi-alternativas
Ejemplo de uso:
Este programa, pide 2 números al usuario, y te dice cual es mayor. En caso de que sean iguales, también te lo dice.
'
Gambas module file
Public
Sub
Main()
Dim
a, b As
Integer
'
Definimos las variables locales, que vamos a usar
Print
"Programa
para mostrar el uso del If...Then..."
Print
"Este
programa compara dos numeros introducidos por el usuario, y te dice
cual es el mayor"
Print
"Introduce
el 1º numero:"
Input
a
Print
"Introduce
el 2º numero:"
Input
b
If
(a > b) Then
Print
"El
mayor es: "; a
Else
If
a =
b Then
Print
"Son
iguales"
Else
Print
"El
mayor es: "; b
Endif
Endif
Print
"Fin
del programa"
End
Otro ejemplo de uso:
Pedir 3 numeros, y ordenarlos de mayor a menor:
Dim
a, b, c As
Float
Print
"Dame
los 3 numeros "
Input
a
Input
b
Input
c
If
(a > b) Then
If
(b > c) Then
Print
a; "
"; b; "
"; c
Else
Print
a; "
"; c; "
"; b
Endif
Else
If
(a > c) Then
Print
b; "
"; a; "
"; c
Else
If
(b > c) Then
Print
b; "
"; c; "
"; a
Else
Print
c; "
"; b; "
"; a
Endif
Endif
Nota:
No es bueno abusar de este tipo de anidamientos, (por ejemplo hacer este mismo problema pero con 5 numeros), ya que nos podemos perder con tanto anidamiento, y es muy díficil de encontrar errores...
Para estos casos es mejor usar la orden Select...Case o Choose, o algoritmos específicos, que la veremos en los próximo post.
Para más información visite la pagina de documentación de gambas:
http://gambaswiki.org/wiki/lang/if?l=es
http://gambaswiki.org/wiki/lang/if?l=es
Este comentario ha sido eliminado por el autor.
ResponderEliminarDeterminar de una serie de 20 valores dados por el usuario cuantos son
ResponderEliminarMúltiplos de 2
Múltiplos de 3
Múltiplos de 2 y 5 a la vez
El promedio
El número mayor
El número menor
COMO DEMONIOS HAGO ESO¡?!
No te complikes... chinga tu madre
Eliminar