data változók listája/ értékek listája/, ...ahol a három pont azt jelenti, hogy ezen beírás akárhányszor megismétlehetõ, például:
data m/10/, n/20/, x/2.5/, y/2.5/De össze is vonhatók:
data m,n/10,20/, x,y/2*2.5/A "hagyományos" elnevezéses utasítással a fenti m,n,x,y változókat így írtuk volna:
m = 10 n = 20 x = 2.5 y = 2.5Ez a data utasítás tömörebb, mint a hagyományos, ezért széleskörben elterjedt a használata. Azonban fõleg az összevont esetnél, ügyelnünk kell arra, hogy ugyanazon értékeket nem elég egyszer leírni.
A data utasítást elég egyszer, közvetlenül a végrehajtó utasítások elõtt, a program elején alkalmaznunk. Ezért ezt a data utasítást általában a fõprogramban használják, és nem a subroutinokban.
Természetesen a data utasítással tömböket (vektorokat, mátrixokat) is definiálhatunk. A következõ programrészlet biztosítja, hogy a mátrix elemei mind zérusok, mikor a programfutattás megindul.
real A(10,20) data A/ 200 * 0.0/Néhány fordító automatikusan alkalmazza ezt a tömbökre, de nem mind, ezért ha ragaszkodunk, hogy az elemek mind nullák legyenek, akkor a fenti szintaktikát kell beírnunk. Természetesen zérustul különbözõ tömb elemeket is megnevezhetünk, akár így:
data A(1,1)/ 12.5/, A(2,1)/ -33.3/, A(2,2)/ 1.0/de akár így is, kilistázva egy kis tömbben:
integer v(5) real B(2,2) data v/10,20,30,40,50/, B/1.0,-3.7,4.3,0.0/Többdimenziós esetben oszlopok szerint rendezi és kezeli a tömb elemeit.
block data integer nmax parameter (nmax=20) real v(nmax), alfa, beta common /vector/v,alfa,beta data v/20*100.0/, alfa/3.14/, beta/2.71/ end
A Fortran 77 fordító, a data utasításhoz hasonlóan, a block data-t is program elején hajtja végre, mielõtt még a fõprogram futtatása elindulna. A block data elhelyezése a forráskód szempontjából közömbös, persze csak addig amíg nem beágyazott utasításként szerepel vagy a fõprogramban vagy egy segédprogramban. Ezért célszerû mindig ezek eléjére írnunk.
Copyright © 1995-7 by Stanford University. All rights reserved.
Fordították: Seres András Tamás és Szalai Szilvia (ELTE-TTK)