SENTENCIAS DE BIFURCAION Oficial
Cap´ıtulo 2
Sentencias de control: bifurcaciones y bucles
Son parte fundamental de cualquier lenguaje. Sin ellas, las instrucciones de un programa s´olo podr´ıan ejecutarse en el orden en que est´an escritas. Las sentencias de control permiten modificar este orden. Hay dos categor´ıas de sentencias de control:
Bifurcaciones o condicionales: permiten que se ejecutenconjuntos distintos de instruc- ciones, en funci´on de que se verifique o no una determinada condici´on.
Bucles o repeticiones: permiten que se ejecute repetidamente un conjunto de instruc- ciones, bien un nu´mero pre-determinado de veces, o bien hasta que se verfique una determinada condici´on.
En t´erminos de un lenguaje de programaci´on, que se verifique una condici´on se traduce enque una expresi´on l´ogica tome el valor .TRUE..
2.1 Expresiones l´ogicas
Imprescindicles para verificar condiciones son las expresiones l´ogicas, es decir, expresiones cuya evaluacion produce un valor l´ogico.
Las m´as simples son aqu´ellas en las que se comparan dos datos.
2.1.1 Operadores relacionales o de comparaci´on
Estos operadores permiten comparar dos datos, que puedenser num´ericos escalares o de caracteres. Siempre actu´an entre dos operandos:
expresion-1 operador expresion-2
Cada operador de comparaci´on se puede escribir, en FORTRAN90, de dos formas. En la tabla siguiente se muestran ambas (los puntos que aparecen delante y detr´as forman parte del operador):
15
Descripci´on
S´ımbolo 1
S´ımbolo 2
menor que
<
.LT.
mayor que
>
.GT.
igual que==
.EQ.
menor o igual que
<=
.LE.
mayor o igual que
>=
.GE.
distinto de
/=
.NE.
Las comparaciones entre cadenas de caracteres se realizan caracter a caracter, comen- zando por la izquierda. As´ı, ’azz’<’baa’ da como resultado .TRUE. En la ordenaci´on de “menor” a “mayor” van en primer lugar los caracteres especiales, luego los d´ıgitos decimales y por u´ltimo los caracteresalfab´eticos, en el orden habitual.
2.1.2 Operadores l´ogicos
Son los que actu´an entre operandos de tipo l´ogico. Permiten construir expresiones que repre- senten condiciones m´as complicadas, como que se verifiquen varias condiciones a la vez, que se verifique una entre varias condiciones, etc.
En la tabla siguiente se muestran los operadores l´ogicos de FORTRAN:
Descripci´on
S´ımbolo
Negaci´on(NO)
.NOT.
Conjunci´on (Y)
.AND.
Disyunci´on (O)
.OR.
Equivalencia l´ogica
.EQV.
No equivalencia l´ogica
.NEQV.
El primero de ellos, .NOT., actu´a sobre un s´olo operando l´ogico, dando como resultado el contrario de su valor: si la variable var toma el valor .TRUE., entonces .NOT.var da como resultado .FALSE. y viceversa.
Los restantes operadores de la tabla actu´an siempre entre dosoperandos l´ogicos. La tabla siguiente muestra las correspondientes “tablas de verdad”:
var1
var2
var1.AND.var2
var1.OR.var2
var1.EQV.var2
var1.NEQV.var2
.TRUE.
.TRUE.
.TRUE.
.TRUE.
.TRUE.
.FALSE.
.TRUE.
.FALSE.
.FALSE.
.TRUE.
.FALSE.
.TRUE.
.FALSE.
.TRUE.
.FALSE.
.TRUE.
.FALSE.
.TRUE.
.FALSE.
.FALSE.
.FALSE.
.FALSE.
.TRUE.
.FALSE.
En una expresi´on pueden aparecer varios operadoresl´ogicos. En ese caso, el orden en que se evalu´an, es el siguiente:
1. .NOT.
2. .AND. y .OR.
3. .EQV. y .NEQV.
4. En caso de igual precedencia, se evalu´an de izquierda a derecha.
2.1.3 Orden general de evaluaci´on de las expresiones
En una expresi´on general pueden aparecer operadores de los tipos aritm´etico, de comparaci´on y l´ogicos, as´ı como funciones. El orden de evaluaci´ongeneral es el siguiente:
• Si en un expresi´on hay par´entesis, lo primero que se evalu´a es su contenido. Si hay par´entesis anidados, se comienza por los m´as internos. Si hay varios grupos de par´entesis disjuntos, se comienza por el que est´e m´as a la izquierda.
• En una expresi´on sin par´entesis de agrupamiento, el orden de evaluacion es el siguiente:
1. Las funciones. Si el...
Regístrate para leer el documento completo.