Fortran 90 oktatóanyag >> A Fortran 90 újdonságai

A Fortran 90 újdonságai

A Fortran 90 számos olyan újítást tartalmaz, amely a Fortran 77-ben nem volt meg. Az alábbiakban ezek közül emelünk ki néhányat.
  1. Szabad formátumú kód
  2. Megjegyzések másképpen
  3. Változónevek változatossága
  4. Új parancsok

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