sadfsdfasfad

Páginas: 7 (1627 palabras) Publicado: 7 de septiembre de 2014
CAPÍTULO

4
La estructura condicional

Hasta ahora hemos visto cómo resolver problemas muy simples. En este capítulo se introduce un nuevo tipo de estructura que nos va a permitir variar el flujo de control de nuestro
programa dependiendo de que se cumplan o no ciertas condiciones. En el ejemplo de la sección 3.4 (resolución de una ecuación de segundo grado) se podía dar el caso de que avaliese
cero; en tales circunstancias sería necesario aplicar un método distinto para resolver el sistema de ecuaciones, pero con las estructuras que conocemos hasta ahora no es posible tener
varias alternativas para resolver un problema. Por tanto, nos sería de gran utilidad una estructura que permitiese continuar la ejecución de nuestro algoritmo por diferentes caminos,
dependiendo de si se danunas condiciones u otras. Esta nueva estructura es la llamada estructura condicional, de bifurcación o de selección. Existen distintas instrucciones que permiten
implementar este tipo de estructura, diferenciándose entre ellas en el número de alternativas
que ofrecen.

4.1. La estructura condicional
Comenzaremos viendo el tipo más simple de estructura de bifurcación. Debido a las palabrasreservadas que usa se suele denominar IF-THEN (que en castellano es SI-ENTONCES).
Esta estructura nos permitirá ejecutar un bloque de código en función de la veracidad o falsedad de una condición. El organigrama que explica el funcionamiento de esta instrucción lo
tenemos en la figura 4.1.
En dicha figura, Condición es una expresión que devuelve un dato de tipo lógico y BloqueInst es un bloque deinstrucciones. La interpretación sería: “si el resultado de evaluar
Condición es verdadero (.TRUE.) entonces ejecutamos BloqueInst y, si es falso (.FALSE.),
129

130

4.1. LA ESTRUCTURA CONDICIONAL

Falsa

Condición

Verdadera

BloqueInst

Figura 4.1: Organigrama de la instrucción IF-THEN.

no lo ejecutamos”. Es decir, planteamos como alternativa la ejecución o no de un conjuntode
instrucciones.
La sintaxis1 de esta instrucción en Fortran es la siguiente:
La estructura condicional IF-THEN
IF () THEN

ENDIF

Ejemplo
1
2
3

IF (x.GT.4) THEN
y=6
ENDIF

En este caso evaluamos la expresión lógica (x.GT.4) y en caso de que sea cierta,
es decir, en caso de que el valor de la variable x sea mayor que 4, ejecutaremos la
instrucción de asignación y=6.
Ejemplo
12
3
4

IF (i/=0 .AND. j>=9) THEN
h=1/(2*j+3)
k=-h*20
ENDIF

En este caso comprobaremos si el valor de la variable i es distinto de 0 y el valor de j
es mayor o igual que 9; de ser así ejecutaremos las dos instrucciones de asignación.
1 El

uso de los paréntesis que engloban a la condición lógica es obligatorio.

4. LA ESTRUCTURA CONDICIONAL

131

Observa que la condición esuna expresión cuyo resultado es un dato de tipo lógico
y que puede ser tan compleja como necesitemos. En este caso la condición está compuesta por dos condiciones más simples.
Ejemplo
Construir una condicional que compruebe si el valor almacenado en una variable x es
par y, en caso afirmativo, que imprima un mensaje en pantalla indicando tal hecho.
1
2
3

IF (MOD(x,2)==0) THEN
PRINT*, "Elnúmero ",x," es par"
ENDIF

Para comprobar si un número es par, calculamos el resto de la división entera entre ese
número y dos. Si el resto es cero es que el número es par; en caso contrario el número
será impar. El resto se puede calcular con la función intrínseca MOD.
Ejemplo
1
2
3

IF x.GT.4 THEN
y=6
ENDIF

En este caso la instrucción está mal escrita ya que falta un par deparéntesis que englobe
a la condición. Al igual que ocurrirá con el resto de condicionales, la expresión lógica
ha de ir, obligatoriamente, entre paréntesis.

´
IF logico (IF-THEN simplificado)

4.1.1.

En algunas ocasiones podemos simplificar un poco la escritura de este tipo de condicional.
En concreto, cuando el conjunto de instrucciones que vamos a ejecutar consiste en una única...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS