Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap5 Fortran PDF
Cap5 Fortran PDF
Contenido De la Seccin:
Ciclos IFs Vs. Ciclos Do s
Estructura del ciclo Do
Diferentes Formatos del Do
Do salida (do exit)
Do hasta (do- (expresin))
Do mientras (do- while)
For All
Pregunta Gua:
Que ventaja presentan los ciclos DO vs los IF?
81
Ciclos IFs (Transferencia condicional lgica)
PROGRAM CICLO_IF
IMPLICIT NONE
INTEGER:: NUMERO
NUMERO = 1
100 IF(NUMERO <=100)Then
WRITE (*,*) NUMERO
ELSE
NUMERO= NUMER + 1
END IF
GOTO 100
END PROGRAM CICLO_IF
82
Ciclo Do exit
Formato : [etiqueta] DO
Rango de instrucciones incluyendo IF Exit
End DO
83
Variable2 constante2 es el valor con el cual se incrementar cada vez que
el ciclo efectu una vuelta completa y puede ser omitido si el incremento es
de uno en uno. Es importante resaltar que los incrementos podrn ser tanto
positivos como negativos.
Nmero Ciclos valor final del ciclo valor inicial del ciclo + incremento
Incremento
NOTA:
Habr que recordar que sta ltima regla solamente opera cuando los ciclos DO
se encuentran etiquetados
84
5.3) Ejemplo: Se desea desplegar los nmeros nones comprendidos entre
Treinta y nueve y ochenta.
PROGRAM DO_INCREMENTAR
IMPLICIT NONE
INTEGER:: NON
CICLO_ NON: DO NON = 39,80
WRITE (*,*) NON
NON= NON+2
END DO CICLO_NON
END PROGRAM DO_INCREMENTAR
PROGRAM DO_INCREMENTAR2
IMPLICIT NONE
INTEGER:: NON
CICLO_ NON: DO NON = 39,80,2
WRITE (*,*) NON
END DO CICLO_NON
END PROGRAM DO_INCREMENTAR2
85
Ahora se aprecia:
El rango del ciclo solo tiene una instruccin write
El estatuto absorbe el incremento de dos en dos.
PROGRAM AQUITAS
IMPLICIT NONE
INTEGER :: MATR
CHARACTER (LEN=30)::NOM
READ (*,1O) MAT, NOM
10 FORMAT (I8, A30)
TAS:DO WHILE MATRICULA<> 0
WRITE (*,29)MATR, NOM
29 FORMAT (5X,I8,5X, A30)
END DO WHILE TAS
END PROGRAM AQUITAS
86
5.6) Ejemplo de aplicacin con incrementos productorios.
Forma:
(Nombre:) FOR ALL (variable1 = valor y/o variable2, valor y/o variable3,
expresin lgica).
Nombre: Esta es una etiqueta que identifica el ciclo, puede ser opcional.
FOR ALL: Estatuto que significa elaborar un ciclo para todos aquellos valores
que satisfagan la expresin que solicita a continuacin:
87
5.7) Ejemplo: 5.8) Ejemplo:
Real, Dimensin (5,5):: matriz =0 FORALL (I =1,n:, j =1 : m, matriz (i,j) / 0.)
: Matriz (i,j)= 1./ matriz (i,j)
FORALL ( i= 1:5) End FORALL
Matriz = 0.75 Nota: En este ltimo ejemplo se excluyen
End FORALL los valores iguales a cero para evitar dividir
entre cero y se llegue a indeterminar.
Evidencia integradora
5.1.- Explique grficamente como se estructura un ciclo Do_incrementador.
5.2.-Qu ventajas proporcionan los ciclos Do vs. los ciclo If Then?
5.3.-De que modo deben de ser declaradas las variables de un
Do_incrementador?
5.4.-Cul es la ltima instruccin de todo ciclo Do?
5.5.-Cules son las tres formas clsicas del Do?
5.6.-Se puede hacer que en vez de que el contador incremente, se
decremente?
5.7.-Cundo se usa el comando Exit en un Do?
5.8.-Pueden anidarse los ciclos Do?
5.9.-Al estar anidados varios Dos, cual ciclo se cierra primero?
5.10.-Cundo conviene hacer uso de cada tipo de ciclo?
** Haciendo uso de todos y cada uno de los pasos para una programacin
exitosa solucione los problemas enumerados:
5.15.- En una piscina de clavados con 10m de profundidad mxima; una serie
de n competidores se lanzan y cada uno llega a distinta profundidad
88
(p); se desea saber cual es la presin mxima que se sometieron, si la
alberca tenia una temperatura de 16.6 grados centgrados.( a esa
temperatura un centmetro de mercurio = 0.01358 kilogramos/
cm 2 = 13.58 cms de agua). Suponga la profundidad p en cms.
89
5.19.-Haga un programa que calcule el valor de ngulo expresado en
radianes, para la funcin seno lo cual es una serie infinita, se calculan
solo 5 trminos.
n
N
Prmc = 1
N X
I
2
I
90