Acidos

Solo disponible en BuenasTareas
  • Páginas : 6 (1490 palabras )
  • Descarga(s) : 0
  • Publicado : 25 de mayo de 2011
Leer documento completo
Vista previa del texto
2 ESTRUCTURAS DE CONTROL CONDICIONALES


Hasta ahora, todas las sentencias que forman los programas se ejecutan. Sin embargo, hay ocasiones en que un determinado conjunto de sentencias se deben ejecutar sólo si una determinada condición es cierta y sino no. Los valores lógicos: constantes, variables y expresiones lógicas, permiten controlar la ejecución de las sentencias de un programa. Haydos tipos de expresiones lógicas: las expresiones lógicas relacionales y las expresiones lógicas combinacionales.

• •

2.1 Expresiones lógicas relacionales
• • •

Las expresiones lógicas relacionales comparan los valores de dos expresiones aritméticas o dos expresiones de tipo carácter. La evaluación de una expresión lógica relacional produce un resultado de tipo lógico: .TRUE. o .FALSE. Lasintaxis de una expresión lógica de tipo relacional es:
• •

operando1 OPERADOR_LÓGICO_RELACIONAL operando2 operando es una expresión, variable o constante aritmética o de tipo carácter. OPERADOR_LÓGICO_RELACIONAL puede ser: SIGNIFICADO IGUAL DISTINTO MENOR QUE MENOR O IGUAL QUE MAYOR QUE MAYOR O IGUAL QUE

OPERADOR LÓGICO RELACIONAL F77 .EQ. .NE. .LT. .LE. .GT. .GE. F90/95 == /= < >=Tab la 2 .1: O pe rado r es lóg icos r e la c iona les Fo rtra n •

Los operadores lógicos relacionales de Fortran 77 han sobrevivido y funcionan en los compiladores actuales de Fortran 90/95. Por lo tanto, es interesante que el programador sepa reconocerlos en los programas, sin embargo, es preferible usar la forma de Fortran 90 en sus programas nuevos, que además, es mucho más intuitiva.

35 Estructuras de control condicionales

2.2 Ejemplos de expresiones lógicas relacionales


Sea la sentencia de declaración de tipos:

INTEGER :: i=3,j=5

OPERACIÓN 3=0 i==j i/=10 ‘ANA’= , < 0) THEN contp=contp+1 ELSE contn=cotn+1 END IF IF (x0

VISUALIZAR VISUALIZAR ‘Nº POSITIVO’ ‘Nº NEGATIVO O CERO’

PROGRA M c ap 2_1

R EAL : : nu m W R IT E( * ,* ) ' D A M E U N N U MER O' READ ( * ,*) n u m IF (num > 0) THEN W R IT E( * ,* ) ' E S P O S IT I V O ' ELSE WR ITE( *,*)' ES NEGATIVO O CERO' E N D IF E ND PROGRA M ca p2_ 1

− Este ejercicio requiere un bloque IF simple.
2. Pedir un número real por teclado y escribir si es positivo, negativo o cero.

46

Estructuras de control condicionales

C

N>0

F

VISUALIZAR ‘Nº POSITIVO’

C
N 0) THEN W R IT E ( * , *) ' E S P O S I T I VO ' ELSE IF (num < 0) THEN W R IT E ( * , * ) ' E S N EG A T I VO' ELSE W R IT E ( * , * ) ' E S EL 0 ' E N D IF E ND PROGRA M ca p2_ 2

47

Estructuras de control condicionales

3. Resolver una ecuación de 2º grado. Suponer que es efectivamente de 2º grado (A ≠ 0).
PROGRA M c ap 2_3 IM PL IC IT NON E R EA L : : a ,b , c ,d , r1 , r2,p r ,p i WR IT E ( * ,*) 'DA M E A, B , C , CON A D I ST INT O D E CERO ' R EA D ( * ,*) a , b ,c d= b* *2- 4* a* c d isc r iminan te: IF (d == 0) TH EN r1=-b/(2*a) r2=r1 W R IT E ( * , * ) ' SO L U C . R EA L E S D O B L ES, R 1 = R 2 = ' , r 1 , r 2 ELSE IF (d > 0) THEN r 1=(- b+SQR T(d )) /(2* a) r 2=(- b- SQR T(d )) /(2* a) W R IT E ( * , * ) ' L A S R A I C E S D E L P O L IN O M IO SON : ' WR IT E ( *,* )'R1= ' ,r1 ,' R 2=',r 2 ELSE p r= - b /( 2 *a ) p i= SQ RT(AB S( d)) /(2* a) W R IT E ( * , * ) ' SO L U C IO N E S C O M P L EJ A S' WR ITE ( *,*)' PARTE R EAL:' ,pr WR ITE ( *,*)' PARTE IMA G INARIA:' ,pi END IF d isc r imina nte E ND PROGRA M ca p2_ 3

− ABS(argumento) es una función intrínseca que devuelve el valor absoluto del argumento escrito entre paréntesis. Su tipo puede ser entero o real. − Repite elejercicio cambiando el orden de evaluación de las expresiones lógicas relacionales.
4. Resolver una ecuación de 2º grado con A, B y C cualquier valor.

PROGRA M c ap 2_4 IM PL IC IT NON E R EA L : : a ,b , c ,d , r1 , r2,p r ,p i , r

48

Estructuras de control condicionales

WR ITE ( * ,*) ' IN TRODUC E A ,B ,C, CON A , B, C CUALQU IER VALOR ' R EA D ( * ,*) a , b ,c d= b* *2- 4* a* c...
tracking img