A Fortran 90 újdonságai
d) Új parancsok
A Fortran 90-ben
rengeteg új belső függvény és parancs van,
amit a Fortran 77 nem tartalmazott. A sok hasznos parancsból a
következőkben a legalappvetőbbekről lesz szó.
FLOAT – egész számot
valósra átalakító függvény
Példa: test_float.f90
program test_float
integer :: i=1
write(*,*) 'Integerbol valos: ', float(i)
end program test_float
Fordítása és futtatása:
gfortran test_float.f90 -o test_float.exe
./test_float.exe
Az eredmény:
integerbol valos: 1.00000000
DBLE
– kétszeres pontosságú valósra konvertáló függvény
Valós, egész vagy akár komplex számot
is átalakít kétszeres pontosságú számmá.
Példa: test_dble.f90
program test_dble
implicit none
real :: x = 2.18
integer :: i = 5
complex :: z = (2.3,1.14)
write(*,*) 'Valosbol dupla-pontos: ', dble(x)
write(*,*) 'Integerbol dupla-pontos: ', dble(i)
write(*,*) 'Komplexbol dupla-pontos: ', dble(z)
end program test_dble
Fordítása és futtatása:
gfortran test_dbl.f90 -o test_dbl.exe
./test_dbl.exe
Az eredmény:
Valosbol dupla-pontos: 2.1800000667572021
Integerbol dupla-pontos: 5.0000000000000000
Komplexbol dupla-pontos: 2.2999999523162842
WHERE
– hol parancs
Segítségével megkereshetjük az
adatsorokban azokat az
értékeket, amelyek számunkra szükségesek (pl. azért, hogy a
továbbiakban csak azokkal számoljunk). Emellett ki is írathatjuk a
képernyőre hogy hol van az adatsorban az adott érték.
Példa: test_where.f90
program test_where
implicit none
real :: tomb(10), masiktomb(10)
! Ez pl. a Magnus-Tetens formulanal lehet
! hasznos, amikor a kepletben az allandok
! attol fuggenek, hogy a homerseklet elojele
! pozitiv vagy negativ.
tomb=13.
where (tomb .gt. 2.0)
masiktomb=tomb-2.
elsewhere
masiktomb=tomb
endwhere
write(*,*) 'Ha ezt kiirja, akkor nem volt elvileg problema a futasnal.'
end program test_where
Fordítása és futtatása:
gfortran test_where.f90 -o test_where.exe
./test_where.exe
Az eredmény:
Ha ezt kiirja, akkor nem volt elvileg problema a futasnal.
GETARG – argumentum "kezelő"
parancs
Visszaadja a
"sorszam"-adik argumentumot:
Példa: test_getarg.f90 (kiírja az összes argumentumot):
program test_getarg
integer :: i
character(len=32) :: arg
do i = 1, iargc()
call getarg(i, arg)
write(*,*) arg
enddo
end program test_getarg
A program fordítása és futtatása:
gfortran test_getarg.f90 -o test_getarg.exe
./test_getarg.exe elsoargumentum ezamasodik
Az eredmény:
elsoargumentum
ezamasodik
<<
Előző | Következő >>
Oldal
tetejére | Vissza a
főoldalra