Professional Documents
Culture Documents
01 Pred PDF
01 Pred PDF
Numericke metode
Ivo Batistic
Fizicki odsjek, PMF
Sveucilite u Zagrebu
Pregled predavanja
Uvod
Primjer FORTRANskog programa
Prevodenje
u izvrni program
Fortran-90 i Fortran-77
Prevodenje
fortranskog programa
Uvod
(http://www-history.mcs.st-andrews.ac.uk/Biographies/Backus.html)
Razvoj Fortrana
prilagodavanju
Fortrana
suvremenim
konceptima u programiranju
Postoji medunarodno
tijelo (povjerenstvo) koje se donosi odluke i
FORTRAN (1957)
FORTRAN II (1958)
FORTRAN IV (1961)
FORTRAN 66 (1966)
FORTRAN 77 (1977)
Fortran 90 (1992)
Fortran 95
Fortran 2003
Fortran 2008
Razvoj Fortrana
Nezavisno od medunarodnih
pravila, svaka tvrtka koja razvija
Razvoj Fortrana
Nezavisno od medunarodnih
pravila, svaka tvrtka koja razvija
Razvoj Fortrana
Nezavisno od medunarodnih
pravila, svaka tvrtka koja razvija
! komentar
Program hello
print *,Pozdrav svijetu
end program
! komentar
Program hello
print *,Pozdrav svijetu
end program
Usporedba s C-programom
/* komentar */
#include <stdio.h>
main()
{
printf("Pozdrav svijetu!\n");
}
prompt> ./hello.exe
Pozdrav svijetu
prompt>
Nastavci mogu biti i .for, .hpf, .f95, .F, F90, .F95, .FOR,
.HPF, .fpp, . . . .
Fortran-90
! komentar
Program hello
print *,Pozdrav svijetu
end program
Fortran-77
c234567890123456789012345678901234567890
c komentar
c234567890123456789012345678901234567890
Program hello
print *,Pozdrav svijetu
end program
O FORTRANu-77
O FORTRANu-90
tocka-zarezom (;).
primjer FORTRAN-77
c234567890123456789012345678901234567890
c komentar
c234567890123456789012345678901234567890
Program hello
print *,Pozdrav i mir cijelom
& svijetu
go to 100
print *,ovo nece biti ispisano
100
continue
end program
primjer FORTRAN-77
c234567890123456789012345678901234567890
c komentar
c234567890123456789012345678901234567890
Program hello
print *,Pozdrav i mir cijelom
& svijetu
go to 100
print *,ovo nece biti ispisano
100
continue
end program
primjer FORTRAN-90
Program hello
print *,Pozdrav i mir cijelom &
svijetu
print *,svim bicima ; print *,u svemiru i okolici
End program
primjer FORTRAN-90
Program hello
print *,Pozdrav i mir cijelom &
svijetu
print *,svim bicima ; print *,u svemiru i okolici
End program
O fortranskim prevoditeljima
Linux
MS-windows:
Prevodenje
(kompailiranje)
prompt>
ifort
hello.f90
Program za prevodenje
-o
hello.exe
(naredba)
Ime datoteke
s fortranskim programom. Nastavak .f90
indicira da se radi o Fortranu-90 u slobodnom formatu
zapisanom.
Iza
ove opcije
slijedi ime
izvrnog programa
Ime izvrnog programa moe biti bilo to, npr. hello ili hello.x ili
olleh ili virus.com
(Ipak dobro se je konzistentno drati odredenog
pravila)
-o xxx.exe
-O
-c
-llapack
-L /usr/lib/
Primjeri prevodenja
(rezultat prevodenja
je hello.o)
Primjeri prevodenja
pod MS-windowzima
to je hello.o a to hello.exe
to je hello.o a to hello.exe
Postoje dvije vrste izvrnih programa hello.exe: staticki povezani i oni
koji se dinamicki povezuju prije samog izvodenja.
Dinamicke biblioteke
dec
337763
hex filename
52763 hello.x
za ELF-format (linux)
Program
PROGRAM hello
CHARACTER(len=10) :: poruka
poruka = Pozdrav svijetu
PRINT *,poruka
END PROGRAM
Izvodenje
prompt> ./hello.exe
Pozdrav sv
prompt>
PROGRAM zbroji
INTEGER :: a
a = 1
a = a + 1
PRINT *,a
END PROGRAM
Kod izvodenja
dijela naredbe a+1, uzmi sadraj iz memorijske
Make naredba
Makefile datoteka:
FC = ifort
FFLAGS =
# =======================
all: hello.exe
hello.exe: hello.f90
$(FC) $(FFLAGS) hello.f90 -o $@
clean:
rm -f *.o *.exe
prompt> make
ifort hello.f90 -o hello.exe
Make naredba
Makefile datoteka
FC = ifort
FFLAGS =
$@
clean:
rm -f *.o *.exe
all je ime sekcije ili cilja koji se izvodi kada ni jedna sekcija nije
dana kao argument make naredbi.
Iza dvoto
cke slijedi ime datoteke koja mora postojati, ili biti
napravljena, da bi se cilj mogao ostvariti (uvjet).
Iza linije s imenom cilja slijedi niz linija koje po
cinju s TABom i
koje sadre komande koje je potrebno izvriti da bi se cilj ostvario.
Kao ime cilja, tj. hello.exe moe se koristiti $@.