You are on page 1of 8

FORTRAN

FORTRAN (guia rapida)


Formato de las lneas 1 2 3 4 5 6 7 8 ......................................................................... 72 73 74 ................. 80 Etiqueta Sentencia Fortran Cam o !e i!enti"ic.

Las columnas 1 a 5: #e re#er$an ara %a o#i&%e etiqueta i!enti"ica!ora !e %a in#trucci'n. (na C o un ) en %a co%umna 1 in!icar*a a% com i%a!or que %a %*nea contiene Comentario#. La columna 6: E# %a !e continuaci'n+ #i una #entencia e# !ema#ia!o %ar,a ara una #o%a %*nea+ ue!e continuar#e en %a #i,uiente co%ocan!o cua%quier #*m&o%o !i#tinto !e un e# acio en &%anco o un 0 en %a co%umna 6. Las columnas 7 a 7 : en e%%a# #e e#cri&ir-n %a# #entencia#. Las columnas 7! a "#: no #e u#an en mo!o interacti$o. Ten*an #enti!o cuan!o #e tra&a.a&a con tar.eta# er"ora!a#. Tipos de datos $ constantes / 0NTE1ER 2entero. E.3 2+ 44+ /65 / REA6 2rea% #im %e reci#i'n+ 8 !ecima%e#. E.3 3.5E46 3.571065 / 8O(96E :REC0S0ON 2REA6)85 216 !ecima%e#. E.3 3.58/6 3.5710/65 / CO;:6E< 2com %e.o #im %e reci#i'n. E.3 2.+3.15 :ara !e"inir una con#tante !e ti o com %e.o+ co%ocaremo# !o# n=mero# rea%e# entre ar>nte#i# ? #e ara!o# or una coma. E.em %o3 S @ 20.0+ 2.05 / 8O(96E CO;:6E< 2CO;:6E<)165 2com %e.o !o&%e reci#i'n5 / CAARACTER 2a%"anum>rico. E.3 BAF123C5 / 6O10CA6 2%',ico. :o#i&%e# $a%ore# .TR(E. ? .FA6SE.5 / Dectore# ? matrice#3 #e !ec%aran a#i,nan!o ti o ? a continuaci'n %o# $a%ore# e7tremo# !e %o# #u&*n!ice# me!iante %a #entencia 80;ENS0ON. E.3 REA6 <+E+F 80;ENS0ON <2205 <215+ <225+ ... <2205 #on rea%e#. 80;ENS0ON E2/53205 E2/55+ E2/45+ ... E2205 #on rea%e#. 80;ENS0ON F20310+55 E% rimer *n!ice $ar*a !e 0 a 10 ? e% #e,un!o !e 1 a 5. :ara !e"inir un $ector o matriG !e% que no #a&emo# #u !imen#i'n3 En %a !e"inici'n !e $aria&%e#3 REA6 nomH$ar IA66OCATA96E] 23 + 35 22 !imen#.5 E cuan!o #e conoce e% tamaJo3 A66OCATE 2nomH$ar 2!im1+ !im255 A% "ina% !e% ro,rama3 8EA66OCATE 2nomH$ar5 %aria&les Secuencia !e %etra# ? !*,ito# 2 rimero %etra5. 6a a#ociaci'n !e ti o a una $aria&%e #e rea%iGa3 1' (or de)ecto: en "unci'n !e %a rimera %etra !e% nom&re. 0+ K+ L+ 6+ ;+ N 0NTE1ER
:M10NA 1

FORTRAN

Otra %etra REA6 :o!emo# a%terar %a a#i,naci'n im %*cita me!iante %a #entencia 0;:60C0T3 0;:60C0T REA6 2A/C5 A+ 9+ C rea%e#. 0;:60C0T REA6)8 2</F5 <+ E+ F !o&%e reci#i'n. 0;:60C0T 0NTE1ER 28/N5 8+ ...+ N entera#. ' *+plcitamente: REA6)8 ori,en+ ima,en CAARACTER)10 nom&re+ ca%%e+ ciu!a! CAARACTER nom&re)10+ ca%%e)20+ ciu!a!)8 *+presiones aritm,ticas 1' Operadores aritm,ticos: 4+ /+ )+ O+ )) 2 otencia#5. A))/2 incorrecto 2!o# o era!ore# #e,ui!o#5 A))2/25 correcto 6a# e7 re#ione# en %a# que #'%o inter$ienen entero# !an como re#u%ta!o otro n=mero entero. En %a !i$i#i'n entre entero#+ #i e% cociente no e# un entero+ e% re#u%ta!o que!a trunca!o a% entero !e menor $a%or a&#o%uto. Con$er#i'n !e ti o#3 3 O 2 @ 1 2o eran!o# entero#+ re#u%ta!o entero5 2. 4 1 O 3 @ 2. 4 0 @ 2.0 2o eran!o# rea% ? entero+ re#u%ta!o rea%5 2 4 1. O 2 @ 2 4 0.5 @ 2.5 En ,enera% !omina e% !e ma?or ran,o3 com %e.o 4 rea% @ com %e.o ' -erar.ua de operadores aritm,ticos: 2 2 5 5 ar>nte#i# !e interno# a e7terno# )) e7 onenciaci'n ) ? O con i,ua% riori!a! !e iGquier!a a !erecPa 4 ? / con i,ua% riori!a! !e iGquier!a a !erecPa Asignaci/n de 0alores a las 0aria&les 1' *n )ase de e1ecuci/n del programa: Sentencia !e a#i,naci'n3 Daria&%e @ E7 re#i'n E.em %o#3 < rea% < @ 2.0 4 15. ) 5. a#i,na 77. a < NO;9RE caracter NO;9RE@BAntonioC Se ro!uce con$er#i'n autom-tica !e ti o#. < rea% ? < @ 12 O 7 a#i,na 1. a < 0 entera ? 0 @ 2.1 ) 5.0 a#i,na 10 a 0 ' *n )ase de compilaci/n: 6a# #entencia# 8ATA ? :ARA;ETER 8ATA %i#ta !e $aria&%e# O %i#ta !e $a%ore#O 6',icamente Pa&r- corre# on!encia !e ti o#. E.em %o#3 REA6 < CAARACTER nom&re 0NTE1ER 0 80;ENS0ON <2305 8ATA <+ 0+ nom&re O 30)0.0+ 20+ B6(0SCO a#i,na e% $a%or 0. a %a# 30
:M10NA 2

FORTRAN

com onente# !e% $ector <+ e% $a%or 20 a 0 ? e% $a%or B6(0SC a %a $aria&%e nom&re. :ARA;ETER 2$aria&%e @ $a%or+ $aria&%e @ $a%or+ ...5 :ara !e"inir con#tante#. A% a#i,nar un $a%or me!iante %a #entencia :ARA;ETER+ %a $aria&%e no ue!e cam&iar !e $a%or a %o %ar,o !e% ro,rama ? ue!en rea%iGar cua%quier "unci'n re#er$a!a ara %a# con#tante#+ e7ce to %a !e etiqueta !e in#trucci'n. Funciones matem2ticas intrnsecas 6O1 275 %o,aritmo ne eriano 6O110 275 %o,+ en &a#e 10 E<: 275 e7 onencia% SQRT 275 ra*G cua!ra!a S0N 275 #eno COS 275 co#eno TAN 275 tan,ente A9S 275 $a%or a&#o%uto AS0N 275 arco #eno ACOS 275 arco co#eno ATAN 275 arco tan,ente Funciones para tra&a1o con cadenas 3u&cadenas nom&re ca!ena 2 o#ici'n inicia% 3 o#ici'n "ina%5 ara arra?# nom&re ca!ena 2*n!ice5 2 o# ini 3 o# "in5 1 o# ini o# "ina% %on,itu! ca!ena 4oncatenaci/n ca!ena1 OO ca!ena2 L*N (cadena) n=mero !e caractere# 5N6*7 (cadena8 su&cadena) o#ici'n !e comienGo !e %a rimera com arecencia !e #u&ca!ena !entro !e ca!ena+ o 0 #i %a ca!ena no contiene a %a #u&ca!ena. 49AR (5) caracter ASC00 corre# on!iente a% n=mero 0 549AR (caracter) c'!i,o ASC00 !e% caracter e# eci"ica!o *+presiones l/gicas a o era!or & a ? & #on e7 re#ione# con#tante#+ $aria&%e# num>rica# o a%"anum>rica#. E% re#u%ta!o !e %a e7 re#i'n #er- .TR(E. o .FA6SE. S0NA 275 #eno Pi er&'%ico COSA 275 co#eno Pi er&'%ico TANA 275 tan,ente Pi er&'%ica ;A< 271+ 72+ ..5 m-7imo ;0N 271+ 72+ ..5 m*nimo ;O8 27+ ?5 re#to !e 7 O ? REA6 275 con$ierte 7 a rea% C;:6< 275 con$ierte 7 a com %e.o 0NT 275 trunca 7 a entero N0NT 275 re!on!ea 7 a entero

Operadores relacionales: OPERADOR RELACIN


:M10NA 3

FORTRAN

= = != > < >= <=

Igual Diferente Mayor que Menor que Mayor o igual que Menor o igual que

Tam&i>n %a# #i,uiente# e7 re#ione# #e ue!en u#ar 2Pere!a!a# !e FORTRAN 775 .EQ. i,ua% a .NE. !i#tinto a .1T. ma?or que .1E. ma?or o i,ua% que .6T. menor que .6E. menor o i,ua% que Operadores l/gicos: .AN8. .OR. .NOT.

-erar.ua de operadores: OPERADOR ( ) *, / , % +, <, >, <=, >= ==, != = Menor PRECEDENCIA Mayor

O eracione# aritm>tica# o entre ca!ena#. O era!ore# re%aciona%e# !e iGquier!a a !erecPa. O era!ore# %',ico# 2.AN8. tiene riori!a! #o&re .OR. ? entre i,ua%e#+ !e iGquier!a a !erecPa5. 3*NT*N45A3 6* *NTRA6A : 3AL56A; 6irigida por lista o de )ormato li&re *ntrada: REA8 )+ %i#ta !e $aria&%e# #e ara!a# or coma# REA8 2)+)5+ %i#ta !e $aria&%e# Am&a# in#truccione# #on equi$a%ente#. A% %eer intro!ucimo# %o# $a%ore# #e ara!o# or
:M10NA 4

FORTRAN

coma# o or RRET(RNS. 6o# $a%ore# corre# on!iente# a $aria&%e# a%"anum>rica# entre a '#tro"o#. 6ectura !e#!e tec%a!o. REA8 2n=mero cana%+)5+ %i#ta !e $aria&%e# %eer- %o# !ato# !e#!e e% "icPero a&ierto con e% n=mero !e cana% e# eci"ica!o+ !on!e %o# !ato# e#tar-n a #u $eG #e ara!o# or coma# 3alida: :R0NT )+ %i#ta !e con#tante#+ $aria&%e# o e7 re#ione# NR0TE 2)+)5 %i#ta !e con#tante#+ $aria&%e# o e7 re#ione# Am&a# e7 re#ione# #on equi$a%ente# ? #a%!r-n %o# re#u%ta!o# or anta%%a. :R0NT n=mero cana%+ %i#ta NR0TE 2n=mero cana%+)5 %i#ta En e#te ca#o %o# re#u%ta!o# #e e#cri&ir-n en e% "icPero a#i,na!o a% n=mero !e cana% e# eci"ica!o. *ntradas $ salidas mediante )ormato; La sentencia FOR<AT *ntrada: REA8 2)+ n=mero etiqueta5 REA8 2n=mero cana%+ n=mero etiqueta5 3alida: NR0TE 2)+ n=mero etiqueta5 NR0TE 2n=mero cana%+ n=mero etiqueta5 Tanto en entra!a como en #a%i!a+ e% n=mero !e etiqueta corre# on!e a% n=mero !e etiqueta !e una in#trucci'n que contiene una #entencia FOR;AT+ en %a que #e e# eci"icar- e% mo!o !e#ea!o !e re#entaci'n !e !ato# o re#u%ta!o#. En %u,ar !e% n=mero !e etiqueta o!emo# uti%iGar %a# e# eci"icacione# !e "ormato en %a ro ia #entencia REA8 o NR0TE ? entonce# %a on!remo# entre a '#tro"o#. 3entencia FOR<AT: FOR;AT 2e# eci"icaci'n1+ e# eci"icaci'n2+ e# eci"icaci'n3+ ...5 6a# coma# ue!en #er #u#titui!a# or O E# eci"icacione# !e "ormato3 1' Num,ricas: Formato F3 F T . ! 2 ara n=mero# rea%e# en "orma !ecima%5 T n=mero tota% !e !*,ito#+ inc%ui!o #i,no ? unto !ecima% ! n=mero !e !ecima%e# E.3 NR0TE 2)+125 < U 12 FOR;AT F6.2 U equi$a%ente a NR0TE 2)+C2F6.25C5 < Si e#cri&imo# con e#ta# #entencia# <@12.5 que!ar- 412.50 Formato 03 0 T 2 ara n=mero# entero#5 T ancPura tota% !e% cam o E.3 REA8 25+215 K
:M10NA 5

%ectura !e#!e tec%a!o

FORTRAN

21 FOR;AT 0V Si en e% "icPero 5 a arece e% n=mero 23 en %a# o#icione# 4 ? 5+ e# !ecir3 1 2 3 4 5 6 7 8 V .... 2 3 e% n=mero 23 a% #er %e*!o con e% "ormato 0V #e inter retar- como 230000+ #in em&ar,o !e Pa&er#e encontra!o en %a# o#icione# 8 ? V+ #e Pa&r*a inter reta!o como 23. Formato E3 E T.! 2 ara rea%e# en notaci'n cient*"ica5 T ancPura tota% !e% cam o+ inc%u?en!o #i,no !e %a &a#e ? !e% e7 onente+ unto !ecima% ? %a %etra E. A% e7 onente #e %e a#i,nan !o# !e e#to# !*,ito#. ! n=mero !e !*,ito# #i,ni"icati$o# !etr-# !e% unto !ecima%. Formato 83 8 T.! 2 ara !o&%e reci#i'n en cient*"ica5 E% mi#mo raGonamiento que ara e% "ormato E+ ero #e re#er$an tre# !*,ito# ara e% e7 onente 2a!em-# !e% #i,no5. ' 6escriptores de posici/n: Formato <3 n< 2#a%ta n e# acio#5 Formato O3 O 2#a%ta a %a %*nea #i,uiente5 Formato# T3 Tn 2no# #it=a en %a co%umna n5 TRn 2#a%ta n e# acio# Pacia %a !erecPa5 T6n 2#a%ta n e# acio# Pacia %a iGquier!a5 !' Al)anum,ricos: Formato A3 AT T %on,itu! !e %a e7 re#i'n a%"anum>rica. Si no #e e# eci"ica T+ e% or!ena!or %o ca%cu%a autom-ticamente en "unci'n !e %a %on,itu! e7 re#a!a en %a !ec%araci'n !e $aria&%e# a%"anum>rica#. 3*NT*N45A3 6* (RO4*65<5*NTO : 4ONTROL A / :RO1RA; nom&re 8e"ine nom&re !e% ro,rama a uti%iGar ara e.ecuci'n. STO: Bmen#a.eC Fina% !e e.ecuci'n. ;en#a.e en anta%%a o ciona%. EN8 0n!icati$a !e "ina% !e ro,rama o !e #u& ro,rama. Se recomien!a e$itar que e% ro,rama %%e,ue a e%%a. = ' 3u&programas: S(9RO(T0NE nom&re 2%i#ta !e ar,umento#5 nom&re 8e"ine unto !e entra!a a #u&rutina. No #e %e a#i,na $a%or. %i#ta !e ar,umento# nom&re !e $aria&%e# o Warra?#X. E# o ciona%. F(NCT0ON nom&re 2%i#ta !e ar,umento#5 %i#ta !e ar,umento# en e#te ca#o o&%i,atoria 2a% meno# uno5. RET(RN 8e$ue%$e contro% !e#!e #u& ro,rama a ro,rama rinci a%. EN8 0n!icati$o !e "ina%. CA66 nom&re 2%i#ta !e ar,umento#5 6%ama!a a #u&rutina. nom&re Nom&re !e %a #u&rutina que !e&e e.ecutar#e.
:M10NA 6

FORTRAN

%i#ta !e ar,umento# con#tante#+ $aria&%e# o arra?# que coinci!en en n=mero ? ti o+ aunque no en nom&re+ con %a %i#ta !e ar,umento# !e %a #entencia S(9RO(T0NE corre# on!iente. Nom&re 2%i#ta !e ar,umento#5 6%ama!a a "unci'n. En rea%i!a! no e# una #entencia+ #ino que actuar- como un $a%or !e% ti o !e"ini!o ara !icPo nom&re ? or tanto ocu ar-+ !entro !e% ro,rama+ %a# o#icione# ? tarea# a#i,na!a# a %o# mi#mo#. Nom&re Nom&re !e %a "unci'n a e.ecutar#e. En e#te ca#o ante# !e %a #entencia RET(RN e# recomen!a&%e a#i,nar%e $a%or a !icPo nom&re. %i#ta !e ar,umento# con#tante#+ $aria&%e# o Warra?#X como en e% ca#o !e %a #entencia CA66. NOTA3 En nin,=n ca#o e7i#te recur#i$i!a!+ e# !ecir+ un #u& ro,rama no ue!e %%amar#e a #* mi#mo. E.em %o !e o#i&%e e#tructura3 :RO1RA; e.em %o REA6 a211+55+ !+ 7+ e.em"un 0NTE1ER i ... CA66 e.em#u& 2a+ i+ 55 ... 8 @ 3 ) e.em"un275 / 4 ... STO: EN8 S(9RO(T0NE e.em#u& 2 + .+ t5 REA6 211+55 ... RET(RN EN8 F(NCT0ON e.em"un 2715 ... e.em"un @ e7 re#i'n rea% RET(RN EN8

3*NT*N45A3 6* 4ONTROL 6* FL>-O *structuras de selecci/n: 0F 2con!ici'n o e7 re#i'n %',ica5 TAEN ... E6SE 0F 2con!ici'n5 TAEN ... E6SE 0F 2con!ici'n5 TAEN
:M10NA 7

FORTRAN

... E6SE ... EN80F

SE6ECT CASE 2$aria&%e o e7 re#i'n5 CASE 2$a%or1+ $a%or2+ ...5 ... CASE 2$a%or1+ $a%or2+ ...5 ... CASE 8EFA(68 ... EN8 SE6ECT *structuras de repetici/n: 8O 2inicio+ "in+ a#o5 ... EN88O 8O NA06E 2e7 re#i'n %',ica5 ... EN88O

E<0T :ara "ina%iGar un &uc%e 8O ante# !e a,otar %a# re eticione#. Da a %a %*nea #i,uiente !e% EN88O !e% &uc%e. CEC6E No e.ecuta %a# in#truccione# #i,uiente# !entro !e% &uc%e ? $ue%$e a% inicio !e% 9uc%e.

3*NT*N45A3 (ARA *L 4ONTROL 6* F549*RO3 6* 6ATO3 9-#icamente nece#itaremo# "icPero# !e acce#o #ecuencia% ara %ectura !e !ato# ? a%macenamiento !e re#u%ta!o#+ cuan!o e% e7ce#i$o n=mero !e %o# mi#mo# a#* %o acon#e.e. :or e.em %o en e% tra&a.o con matrice# %a e#critura !e re#u%ta!o# en un "icPero no# ermitir- %eer%o# ? e#cri&ir%o# o#teriormente con %a re#entaci'n !e#ea!a. O:EN 2u+ F06E @Bnom&re.e7tC5 u n=mero !e cana% que #e u#ar- o#teriormente ara in!icar %a $*a !e acce#o a %o# !ato#. F06E !e"ine e% nom&re !e% "icPero
:M10NA 8

You might also like