Program deyimleri 80 karakterlik bir alana belirli bir dzen ierisinde
yazlr, 1.~5. kolon; lk 5 kolona varsa deyim numaras yazlr. Deyim numaralar en ok 5 rakaml iaretsiz tamsaylardan oluur, eer deyim numaras yoksa bu alan bo braklr. 1.kolona C harfi yazldktan sonra bunu takip eden 2.~72. kolonlara istenilen aklayc bilgiler yazlr 6.Kolon; devam satrdr. 6.kolona geerli bir karakter yazarak deyimin devamn bir alt satra yazabiliriz. 7.~ 72. Kolon; Bu alana FORTRAN deyimleri yazlr. Deyimi yazmaya alan ierisinde istenilen herhangi bir yereden balanabilir. 73.~80. Kolon; Bu alan bilgi alandr, bu alandaki bilgiler derlenmez ama program listesinde grnr. Baz tanmlayc bilgiler bu alana kaydedilir veya bu alan bo braklr. Yardmc Bellek (Dosya(FILE)) Kullanm Giri k deyimleri, bilgisayarn merkez ilem birimi ile d ortam, ve/veya yardmc bellek birimleri arasnda bilgi alveriini salayan deyimlerdir. Genel Gsterimi; READ(k,n) (Deikenler) WRITE (k,n) (Deikenler) eklindedir. k: giri/k biriminin veya dosyann(FILE) numarasn gsteren tamsaydr. n: Okunacak veya yazlacak deikenlerin trn ve d ortamda yerleme biimini gsteren ilgili FORMAT deyiminin numaras Deikenler: Okunacak veya yazlacak basit veya indisli deikenlerin listesidir Dosya (FILE) Ama Fortranda yardmc bellek (Dosya/FILE) yaratma yada yaratlm olan bir dosyay ama ilemi iin OPEN deyimi kullanlr. Genel Gsterimi: OPEN (UNIT=nof, FILE=fname, STATUS=st, ACCESS=ac, FORM= ft, RECL=rl) eklindedir...... OPEN (UNIT=nof, FILE=fname, STATUS=st, ACCESS=ac, FORM= ft, RECL=rl) nof : Yaratlacak ya da alacak dosyann (FILE) numarasdr. Bulunmas zorunludur. fname: Yaratlacak ya da alacak dosya (FILE) addr. st : Herhangi bir dosya (FILE) daha nce yaratlm ya da ilk defa yaratlacak olabilir. OPEN deyiminde st yerine NEW yazlrsa dosyann(FILE) yeni yaratlmakta olduu, OLD yazlrsa daha nce yaratlm olan bir dosyann (FILE) almakta olduu anlalr. ac : FILEa (Dosyaya) eriim sral ya da dorudan olabilir. Belirtilmezse sral eriim vardr. ft : Dosya (File) ile ilgili yaplacak okuma ya da yazma ilemlerinde format kullanlp kullanlmayaca belirtilir. Belirtilmezse formatsz olarak yaplr. rl : Kaytlarn uzunluklarn tanmlamakta kullanlr. En uzun kayt uzunluu alnr. OPEN(5,FILE=D:GEO1.DAT') OPEN(13, STATUS='NEW', ACCESS='SEQUENTIAL', FORM='FORMATTED', RECL=15) Dosya (FILE) Kapama Alm olan dosyalarn (FILE) kapanmas ilemi CLOSE deyimi kullanlarak gerekletirilir. Genel Gsterimi CLOSE (Unit=nof) eklindedir, CLOSE (Unit=nof, STATUS=st) eklinde de yazlabilir, burada st Dosya kapatma trn gsterir. (DELETE ve/veya KEEP durumlar sz konusu olabilir. Dosyay silmek iin DELETE, saklamak iin KEEP yazlr. CLOSE (11) veya CLOSE (11, STATUS=KEEP) DOSYA (FILE)dan Okuma Dosya (FILE) dan okuma yaplmas ilemi READ deyimi ile olur. Genel Gsterimi; READ (UNIT =nof, fno, END =sst, ERR =hst, REC =m) Deiken Listesi eklindedir. nof : Okuma yaplacak dosyann numarasn fno: Okuma iin kullanlan formatn deyim numarasn sst : Okuma ilemi bittiinde ya da dosya sonunda devam edilecek deyim numarasn hst : Okuma srasnda ortaya kabilecek hatalar durumunda devam edilecek deyim numarasn m : Dosyada okuma yaplan kaydn numarasn Deikenler Listesi: Birbirinden virglle ayrlm deerleri okutulacak deikenleri gsterir. READ (1,10,END = 20)GR,LR,NRM 10 FORMAT (f4.2,I4,I5) ........ ........ READ(8,*) DATE ......... DO 101 I=1,1440 READ(8,*,end=998)HOUR,MINUTE, FDATA(I) ........... ........... 998 CALL PLOT(0.,0.,999) ............... .............. ALAME=0.35D12 SENSI=2.0D-10 TAIGI=5.0D-3 C PI=3.141592653589793D0 C OPEN(15,FILE=mag1.dat',status='old') OPEN(26,FILE='res1.dat') C READ(15,553) UN,R,F,P 553 FORMAT(4F10.0) Dosyaya (FILE) yazma Herhangi bir dosyaya veri girilmek ya da yazlmak istendiinde WRITE deimi kullanlr. Genel yazl:
biimindedir. nof: Yazlacak dosya numaras Fn : Format deyim numaras sst : Yazma hatalar durumunda devam edilecek deyim numarasn gsterir m : Dosyada yazlacak kaydn numarasn gsterir WRITE(1,10, ERR=100, REC=5)D,E,F WRITE(*,150) write (*,'(a\)' ) 'Enter File Name for daily average ' read (*,'(a14)' ) fnm11 WRITE(*,150) c 150 FORMAT(1X,//) open ( 11, file=fnm11 , status='NEW') c ----------------------------------------------------------- c main routine c NDAY=0 ....... WRITE(11,350) STN,dt1,dt2,npp write(*,350) stn,dt1,dt2,npp c WRITE( *,350) STN,f2,HH,NN4 350 FORMAT(1X,A4,3X,2(F15.5,3X),I5) C c CLOSE(10) c CLOSE(11) STOP END Bildiri deyimleri, deikenleri tanmlamak, deikenlere balang deeri vermek, programda kullanlan indisli deikenler iin bellekte ayrlacak alanlar belirlemek ve ortak kullanlacak alanlar hakknda derleyiciye bilgi vermek iin kullanlan deyimlerdir. ndisli deikenlerin kullanld programlarda, boyut says, maksimum eleman says programn banda bir bildiri deyimi ile verilmelidir. Bildiri deyimleri, programn banda ve uygulanabilir dier deyimlerden nce yazlmaldr. Fortran Dilinde kullanlan temel bildiri deyimleri unlardr; DIMENSION COMMON EQUIVALENCE Tip (Tr) Bildiri Deyimleri; DATA IMPLICIT EXTERNAL DIMENSION Deyimi Bu deyim indisli deikenlerin boyutlarn ve her boyuttaki maksimum eleman saylarn tanmlamak iin kullanlr Genel Gsterimi: DIMENSION X(K1), Y(K2),Z(K3) X,Y,Z indisli deikenlerin adlar, K1,K2, K3 ise bunlarn boyutlarn ve maksimum boyut saysn belirleyen ve birbirlerinden virgller ile ayrlan bir veya daha fazla tamsay sabitleridir. DIMENSION deyimi kullanlrken dikkat edilmesi gereken hususlar Bir indisli deiken bir programda sadece 1 kez kullanlmaldr. Bir programda birden fazla DIMENSION komutu bulunabilir DIMENSION deyimi ile ayn trden olmayan indisli deikenlerde tanmlanabilir. DIMENSION deyiminde tanmlanan indisli deikenin tm elemanlar ayn trden olmaldr. Dizinin her bir eleman bellee ayn trden bir deiken olarak atanr. DIMENSION N(50), F(40,10) DIMENSION LAT(40), LON(40), SON(15,20,4) DIMENSION GH(120),SV(120),P(66),Q(66) DIMENSION DJ(101,101,60,3),DH(41,41,3) DIMENSION BVJ(101,101,60) COMMON Deyimi COMMON deyimi, ana program ile alt programlarnda veya eitli alt programlarda bulunan basit veya indisli deikenlerin bellekte ayn yeri paylamalar istenilen durumlarda kullanlr. COMMON deyimleri isimli veya isimsiz olarak kullanlabilir. Genel Gsterimi: COMMON A1,A2,..... COMMON /LK1/BLK,F,S common /blk5/DJ(101,101,60,3),DH(41,41,3) COMMON deyimi kullanlrken dikkat edilmesi gereken hususlar COMMON Deyimi, ayn alan paylamas istenilen deikenlerin bulunduu btn ana ve alt programlarda yazlmaldr. Ana program ve alt programda grlen COMMON deyimi listelerinin say, sra ve tr bakmndan uyumlu olmalar gerekir. ndisli deikenler iin kullanlan COMMON deyiminde boyutlar belirtilmi ise ayrca DIMENSION deyimi kullanlmaz...... C PROGRAM OF THE MAGNETIC ANOMALY C ********************************* C ****** VER. 1.0 1995.07.19 ****** C ********************************* c ****** Ver. 3.001 2001.12.20 revised *** C ****** again to the uniform version *** C ************************************* C *** THE NEW PROGRAM OF 3D MOGI MODEL *** C IMPLICIT DOUBLE PRECISION(A-H,O-Z) DIMENSION DX(2),DY(2),DZ(2) c DIMENSION DJ(101,101,60,3),DH(41,41,3) c DIMENSION BVJ(101,101,60) DIMENSION SMTRX(3,3),DVJ(3),VJ(3) C COMMON /BLK1/ALAME,F,S COMMON /BLK2/UN,LM,LN,LM2 COMMON /BLK3/DMGD,DMGW,DMGL,DMGH common /blk5/DJ(101,101,60,3),DH(41,41,3) common /blk6/BVJ(101,101,60) EQUIVALENCE Deyimi Bu deyim yardmyla ayn deiken alanna birden ok deiken yerletirebilmemizi salar. Genel Gsterimi; EQUIVALENCE (X1),(X2),(X3),,,,, X(N) Her X, ayn yeri paylamalar istenilen ve virgllerle ayrlm olan iki veya daha fazla deikenlerin listesidir. EQUIVALENCE deyimi kullanlrken dikkat edilmesi gereken hususlar EQUIVALENCE deyimi yardm ile dizinin tm elemanlar dier bir veya birka dizinin elemenlar ile zdelenebilir. Bu durumda dizinin sadece ilk elemanlarnn zdelenmesi yeterlidir. DIMENSION H(10),D(10), Z(10) EQUIVALENCE (H(1),D(1),Z(1)) Tek boyutlu dizi elemanlar, birden fazla boyutlu dizi elemanlar ile zdelenebilir, bylelikle ok boyutlu diziler tek boyutlu dizi haline dntrlebilir. DIMENSION A(5), B(5,5) EQUIVALENCE ( A(1), B(1,1)) Ayn yeri paylamalar istenilen indisli deikenlerin tr ayn olmaldr. Ayn yeri paylamalar istenilen indisli deikenlerin birden ok eleman EQUIVALENCE deyimindeki listede bulunamaz. Ayn yeri paylamalar istenilen indisli deikenlerin boyut ve eleman saylar EQUIVALENCE deyiminde belirtilmeksizin sadece adlar kullanlm ise birinci elemanlar zdelenir. EQUIVALENCE deyiminde ok boyutlu dizi elemanlar yerine bunlarn tek boyutlu karlklar kullanlabilir. DIMENSION H(19), D(15,12) EQUIVALENCE (H(3), D(3,4)) Yerine DIMENSION H(19), D(15,12) EQUIVALENCE (H(3), D(8)) kullanlabilir. PROGRAM EQUIV kt: COMPLEX*16 CMPLX(2) TC(3)=C TC(4)=D REAL*8 TAMPON(4) CMPLX(1)=(1.0,2.0) CMPLX(2)=(3.0,4.0) CHARACTER*8 STR CHARACTER*1 TC(8) 8 karakterden oluan STR deikeni EQUIVALENCE (TAMPON(1), CMPLX(1)) hafzada yine 8 karakterden oluan TC EQUIVALENCE (STR, TC(1)) dizini ile ayn yeri paylaacaktr STR = 'ABCDEFGH' 8 gerel saydan oluan DO 10 I=1,4 TAMPON deikeninin 4 TAMPON(I)=I eleman CMPLX dizininin 10 CONTINUE 2 eleman ile elemitir. PRINT *, 'TC(3)=', TC(3), ' TC(4)=', TC(4) CMPLX (1)in Gerel ve PRINT *, 'CMPLX(1)=', CMPLX(1), ' CMPLX(2)=', CMPLX(2) Sanal ksmlar TAMPON(1) ve END TAMPON(2) ile ayn yeri paylamaktadr < CMPLX(1) >< CMPLX(2) > Memory ..==><===========><===========><==========><===========><==... < TAMPON(1) >< TAMPON(2) >< TAMPON(3) >< TAMPON(4) > TP (TR) Bildiri Komutlar; Tip bildiri komutlar, deikenlerin, dizilerin ve fonksiyonlarn trlerini tanmlamak iin kullanlrlar. Deikenler tamsay veya ondalkl say trde iseler bunlar programn banda tanmlama zorunluluu yoktur, ancak I,J,K,L,M,N karakterlerinden herhangi birisiyle balad halde bir deikeni program ierisnde ondalkl say deikeni olarak tanmlamak veya I,J,K,L,M,N dndaki herhangi bir karakter ile balad halde bir deikeni tamsay deikeni olarak tanmlamak gerekirse bu durum mutlaka program banda belirtilmelidir. Ayrca, programda kullanlan ift duyarlkl, mantksal (Logical), karmak (complex), ve alfabetik deikenler de mutlaka programn banda tip bildiri deyimleri ile tanmlanmas gerekir. Genel Gsterimi; 1. INTEGER Deiken Listesi 2. REAL Deiken Listesi 3. COMPLEX Deiken Listesi 4. LOGICAL Deiken Listesi 5. CHARACTER Deiken Listesi 6. DOUBLE PRECISON Deiken Listesi
Deiken Listesi; virgller ile ayrlm deiken adlar, deyim
fonsiyonlar veya dizi adlar olabilir Bir deiken adnn mutlaka program banda ve DATA deyiminden veya uygulanabilir deyimlerden nce tanmlanmas gerekir. INTEGER X,Y,Z REAL J,K,L,M COMPLEX C,F LOGICAL AB, CD(20,20) CHARACTER BETA, U, TOTAL DOUBLE PRECISION H(4,4) [DOUBLE PRECISION; Ondalk hane says ok fazla olan saylar iin kullanlan bir deyimdir. Saysal ilemler sonucu saynn ondalk ksm normal hane saysndan fazla rakamlardan olumusa say yuvarlatlr ve bu nedenle bir yuvarlatma hatas meydana gelir. Byle durumlarda say programn banda ift duyarlkl (double precision) olarak tanmlanrsa bellekte ayrlan yer iki katna kartlm olur. Bu tip sabitlerin kullanlmas durumunda s E harfi yerine D kullanlr, 13D-1, -5.36D+30, .745D-17 gibi....] DATA Deyimi Data deyimi, program ierisinde kullanlan basit veya indisli deikenlere balang dee vermek iin kullanlr. Genel Gsterimi: DATA Liste1/D1,D2,D3,....DN/,Liste2/D2,..Dm/.. Burada, liste1 ve liste2 balang deerleri verilmesi istenilen indisli veya indissiz deikenler listesi olup birbirlerinden virgl ile ayrlm olarak yazlrlar. D1,D2,... Sabitleri gsterir, c X AND Y AXIS LENGTHS DATA XAX/8.0/, YAX/4.8/ C C... NUMBER OF DATA POINTS DATA N1/ 8/ C C... X ORDINATE VALUES DATA XP1/0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,0.0,0.0/ C C... Y ORDINATE VALUES DATA YP1/37.57, 18.90, 9.691, 5.310, 3.502, 1 3.036, 3.0002, 3.0000, 2 45.03, 22.57, 11.39, 5.9179, 3.381, 3 2.430, 2.420, 2.238,0.0,0.0/ c................ DATA MONTH/31,28,31,30,31,30,31,31,30,31,30,31/ DATA Deyimi kullanlrken dikkat edilmesi gereken kurallar; Deikenler ve sabitler arasnda say ve tr ynnden birebir uyum olmaldr Bir COMMON deyiminde kullanlan deiken DATA deyiminde gsterilemez
DATA I,J,H/35,46,5.9/X,Y/6.8,89.56/ Fonksiyonlar ve Alt Programlar