Documente Academic
Documente Profesional
Documente Cultură
(Fortran 90)
Expositores:
AimeeOsorioAnguiano
AntonioMartinezMorales
DanAdrinAlbaMontiel
ESQUEMASREPETITIVOSEN
FORTRAN90
QUESUNESQUEMAREPETITIVOENFORTRAN?
Unaestructuraderepeticin,tambinllamadalazoobucle,haceposiblela
ejecucinrepetidadeseccionesespecficasdecdigo.
SEPUEDENDIVIDIRDELASIGUIENTEMANERA:
Ciclosinteractivos(CI):Buclesdondeelnmerodeiteracioneses
Ci
fijoyconocido
deantemano.
Cicloswhile(CW):Buclesdondeelnumerodeiteracioneses
desconocidodeantemano.
Enestecasoelbucleserepitemientrasse
cumpleunadeterminadacondicin(bucles
condicionales).
TIPOSDEESQUEMA
CICLODO
CICLOS
INTERACTIVOS
CICLOSDEREPETICIN
CICLODOWHILE
CICLOSWHILE
CICLODO+EXIT
CICLODOCYCLE
CICLOSINTERACTIVOS
(nmerodeiteracionesfijoyconocido)
ESQUEMADO
Sintaxis:
DOindice=valorinicial,valorfinal,incremento
<sentencias>
ENDDO
Descripcin:
Elindiceesunavariableenteraque,actuandocomouncontador,permitecontrolarelnmero
deejecucionesdelciclo.
Losvalorinicialyvalorfinalsonvaloresenterosqueindicanloslmitesentrelosque
varandicealcomienzoyfinaldelbucle.
Elincrementoeselaumentosobreelindicedespusdeunaiteracin,estospuedensermayores
oigualesalaunidadeinclusonegativos.
ElnmerodeiteracionesdelbucleesN=valorfinalvalorinicial+1
Dentrodelasinstruccionesdelbuclenoeslegalmodificarlavariablendice,porlotanto,
lautilidaddelavariablendiceselimitaalaestructuradeiteracin.
SITAXISDEUNBUCLEITERATIVOCONNOMBRE:
CICLOSWHILE
(nmerodeiteracionesindefinidoycondicinconocida)
ESQUEMADOWHILE
Sintaxis:
DOWHILE(<expr.Lgica>)
<sentencias>
ENDDO
Descripcin:
Esequivalentealbuclemientrasdellenguajealgortmico
Nosesabeaprioridadelnmerodeiteraciones
Slosi<expr.lgica>escierta,seejecutaelbucle(sentenciasdentrodeldowhile).
CadavezquesealcanzaENDDOvuelveaevaluarselaexpresinlgica
Elbuclepuedeejecutarsedecerooinfinitasveces
Semantieneporcompatibilidadconotroslenguajes
ESQUEMA DO + EXIT
Sintaxis
DO
<sentenciasdelbloqueprecondicin>
IF(<expr.lgica>)EXIT
<sentenciasdelbloquepostcondicin>
ENDDO
Descripcin
<sentenciasdelbloqueprecondicin>
WRITE(*,*)"Lasumade",n,"enteroses",suma
!
!Terminodelprograma
!
ENDPROGRAMSUMA_DO_EXIT
ESQUEMA DO CYCLE
Sintaxis
IF (<exp. lgica>) CYCLE (NOMBRE)
Descripcin
SINTAXISDECICLOWHILECONNOMBRE
nombre: DO
<sentencias>
IF (expresin_lgica) CYCLE nombre
<sentencias>
IF (expresin_lgica) EXIT nombre
<sentencias>
END DO nombre
PROGRAMmetodo_de_newton
!Iniciodelprograma
!
!ProgramaejemplodeestructuraIFanidadaencicloDo
!
!Declaracindetipodevariables(Ningunaimplcita)
!
IMPLICITNONE
integer::i!valorinicialdelbucle
integer::nmax=500!valorfinaldelbucle
real::x1,eps=1E7,df,f!puntoinicial,psilon,derivada,funcin
!
!Mensajeamigablealusuario
!
CALLsystem("clear")
WRITE(*,*)"************************************"
WRITE(*,*)"Esteprogramalasraicesdelafuncionsenx"
WRITE(*,*)""
WRITE(*,*)"InserteelpuntoinicialXoen[0,2pi]"
READ(*,*)x1!Lecturadepuntoinicial
!
!CicloDO
!
DOi=1,nmax
f=sin(x1)
!
!EstructuraIFanidado
!
IF(f<eps)THEN
WRITE(*,*)Elmtodoconvergialaiteracin,i
WRITE(*,*)Xr,x1
WRITE(*,*)f(xr)=,f
EXIT
ENDIF
!
!FinEstructuraIFanidado
!
df=cos(x1)
x1=x1(f/df)
ENDDO
!
!FinCicloDO
!
!Terminodelprograma
ENDPROGRAMmetodo_de_newton