İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

KONTROL DEYiMLERİ

*CALL DEYIMI

Genel formati:

CALL ad [([arg1[,arg2][,arg3]....])]

Burada ad,bir subroutine altprograminin veya bir ENTRY(giris) noktasinin adidir.Bu ad,FUNCTION,SUBROUTINE ve ENTRY deyimindeki yapma bir argümanin adi olabilir.arg, subroutine altprogrami tarafindan istenen gerçek bir argümanin adidir.Bu argüman bir degisken,bir sabite,dizi elemani,dizi adi,aritmetik,lojik veya karakter ifade olabilir.Ayrica bir FUNCTION, SUBROUTINE adi olabilir veya CALL deyiminin bulundugu program biriminde bulunan ifa edilebilir bir deyimin deyim numarasinin basina (* ) gelerek bir argüman olusturulabilir. Eger gerçek argüman yoksa parantez kullanilmaz.CALL deyimi kontrolu subroutine altprogramina aktarir ve CALL deyiminde bulunan gerçek argümanlarin degerleri yerine yapay degiskenleri getirir.

*CONTINUE DEYIMI

Continue deyimi ifa edilebilir bir kontrol deyimidir,fakat ifanin sirasina etki etmez.Bu deyim DO döngüsünün sonunu belirlemek amaciyla veya programda bir etiket görevi için kullanilir. Genel formati:

CONTINUE

Continue deyimi ifanin sirasina etki etmediginden kaynak programin herhangi bir yerinde kullanilabilir. Genellikle DO döngüsünün son deyimi,kosulsuz veya assign'e bagli GO TO,blok IF, ELSE IF, ELSE , END IF, STOP, RETURN , END, aritmetik IF,baska bir DO deyimi veya lojik IF deyimi olamaz.Bundan kaçinmak için CONTINUE deyimi kullanilir.

Örnek:Asagidaki program parçasindaki ilk CONTINUE deyimi etiket amaciyla ,ikinci CONTINUE deyimi ise DO döngüsünün sonunu belirtmek için kullanilmistir

IF (A-B)15,20,15
15 X=A+B**2
20 CONTINUE
.
.
DO 40 I=1,K
KN(I)=X+I
40 CONTINUE
.
.

*DO DEYIMI

DO deyimi kendisinden sonra gelen ve belirlenen bir deyime kadar olan tüm deyimleri tekrar tekrar ifa edilmesini saglar.Bu deyimler <<DO döngüsü>>olarak adlandirilir. Genel formati:

Araligin sonu DO degiskeni Baslangiç degeri Son deger Artis
DO d1[,]i=m1,m2 [,m3]

Burada d1,DO deyiminin bulundugu programda ve DO deyiminden sonra gelen ifa edilebilen bir deyimin numarasidir.d1'den sonra gelen virgül seçimliktir.i, DO degiskeni olarak adlandirilan bu degisken ,bir tamsayi,gerçel veya çift duyarlikli bir degiskendir(dizi elemani olamaz) m1,m2,m3 bir tamsayi,gerçel veya çift duyarlikli aritmetik ifadedir.m1 ,m2 ve m3 ifadelerinin degerleri ,eger gerekirse ,DO degiskeni i'nin tipine dönüstürülür. m3 seçimliktir ve hiçbir zaman sifir olamaz.Eger m3 belirtilmezse degeri 1 olarak alinir ve m3'den sonra virgül konmaz.

Asagidaki kurallarin geçerli olmasi halinde DO döngüsü içindeki deyimler ifa edilir

Eger m1,m2 ve m3 arasindaki iliskilerden biri dogruysa ,ilk önce DO döngüsü içindeki ilk deyim ifa edilir.Bu anda i'nin baslangiç degeri m1' dir.Her bir ardisik iterasyonda i'nin degeri m3 kadar artirilir.Iterasyon sayisi MAX(INT((m2-m1+m3)/m3),0) oluncaya kadar döngü devam eder.

DO 5 IX=1,12,4 

deyimi ile döngü

m2-m1+m3)/m3=(12-1+4)/4=15/4=3,75
INT(3,75)=3
MAX(3,0)=3

kez tekrarlanir.

Eger ilk anda i'nin degeri m2'yi geçerse iterasyon durur ve kontrol d1'den sonraki deyime geçer.DO'nun tamamlanmasindan sonra DO degiskeni i'nin son degeri m2'yi geçer.

Eger (a) ve (b)'deki iliskilerden biri dogru degilse kontrol dogrudan d1'den sonraki deyime geçer.

DO degiskeni DO döngüsü içinde yeniden tanimlanamaz.Bununla birlikte , m1,m2 veya m3'ün DO döngüsü içindeki degerleri ,iterasyon sayisini degistirmeksizin yeniden tanimlanabilir.

Dogru DO deyimleri

DO 50,INT=1,5,2

DO 60X=BAS,BIT,ART

DO 3,A=20,3,-3

DATA deyiminde üstü kapali belirtilen DO:

Bir data deyimindeki üstü kapali belirtilen DO listesinin genel formati:

(dliste,i=m1,m2[,m3])

Burada dliste, dizi eleman adlarinin ve üstü kapali belirtilen DO'larin listesidir.i,bir tamsayi degisken adi olup üstü kapali belirtilen DO degiskeni olarak adlandirilir. m1,m2 ve m3 degerlerinin herbiri bir tamsayi sabite veya bir tamsayi sabitenin adidir.Ayrica tamsayi sabite adlari veya tamsayi sabitelerden olusan bir ifade olabilir. m3 seçimliktir,eger kullanilmazsa 1 olarak kabul edilir ve m3'den önceki virgül kullanilmaz.

Üstü kapali belirtilen DO döngüsünün tamamlanmasindan sonra DO degiskeni tanimsizdur ve bir DATA deyiminde ,atama deyiminde veya READ deyiminde degeri belirtilinceye kadar kullanilmaz.

Örnek:15 boyutlu bir matrisin olusturulmasi

DIMENSION A(15,15)

DATA ((A(I,J),J=1,15), I=1,15)/225*0./

DATA (A(I,I),I=1,15)/15*1./

Bir Giris Çikis deyimindeki üstü kapali belirtilen DO:

Bir giris çikis deyimindeki listede üstü kapali belirtilen DO döngüsü kullaniliyorsa, bu döngü ile belirlenen degerler bir dis ortamdan bellege veya bellekten bir dis ortama aktarilacaktir.Giris/çikis deyimindeki üstü kapali belirtilen DO deyiminin genel formati:

(dliste,i=m1,m2[,m3])

Burada dliste, bir giris/çikis listesidir. i, tamsayi,gerçel veya çift duyarlikli degisken adi olup DO degiskeni olarak adlandirilir. m1,m2 ve m3 tamsayi, gerçel veya çift duyarlikli aritmetik ifadedir. m1,m2 ve m3 ifadelerinin degerleri DO degiskeni i'nin tipine dönüstürülür. m3 seçimliktir ve sifir degerini alamaz,kullanilmazsa 1 olarak kabul edilir ve m3'den önceki virgül de yazilmaz.

Örnek: Farzedelimki A bir degisken, B,C ve D ise tek boyutlu diziler olsun. B,C ve D'nin 20 elemanli oldugunu kabul edersek,

READ(UNIT=5)A,B,(C(I),I=1,4),D(4) 

deyimi ile ilk deger A'ya,sonraki 20 deger B'ye ,daha sonraki dört deger C'nin ilk dört degeri olarak C'ye ve son deger de D'nin 4'üncü elemanina okunur veya

WRITE(UNIT=9)A,B,(C(I),I=1,4),D(4) 

deyimi ile önce A'nin degeri,sonra B'nin 20 degeri,daha sonra C'nin ilk dört degeri ve son olarak da D'nin 4'üncü degeri yazilir.

Eger gerekiyorsa üstü kapali belirtilen DO'lar bir arada kullanilabilir.Mesela 10*20'lik bir A dizisi ile 10 boyutlu bir B dizisini göz önüne alalim. A'nin herbir satiri okunduktan sonra ,B'nin bir elemanini okutmak istiyorsak,asagidaki deyimi kullanabiliriz:

READ(UNIT=5) ((A(I,J), J=1,20), B(I), I=1,10)

Benzer sekilde A'nin herbir satirini yazdiktan sonra B'nin bir elemanini yazdirmak için asagidaki deyimi kullaniriz:

WRITE(UNIT=9) ((A(I,J), J=1,20), B(I), I=1,10)

DO DEYIMINE ILISKIN KURALLAR:

*END DEYIMI

Bir programin sonunu tanimlayan END deyimi anaprogramin veya function, subroutine veya blok data altprogramlarinin ifasini durdurur. Genel formati:

END

END deyimine numara verilebilir.Bu deyim bir program biriminin son deyimi olup, programdaki herhangi bir deyimden önce gelemez.Eger anaprogramda ise, anaprogramin ifasini durdurur, altprogramda ise RETURN deyimi gibi islem görür

END deyimi ifa edildigi anda ,altprogramdaki yapma argümanlar ile gerçek argümanlar arasindakibaglanti kesilir.Altprogramdaki tüm birimler asagidakiler hariç olmak üzere tanimsiz olur. -SAVE deyiminde tanimlanan birimler

Function altprogramindaki END deyimi:

Tüm function altprogramlari END deyimi ile bitmelidir.Ayrica bu altprogramlarda RETURN deyimi de bulunabilir.END deyimi fiziksel olarak altprogramin sonunu belirler.

Subroutine altprogramindaki END deyimi:

Tüm subroutine altprogramlari END deyimi ile bitmelidir.Ayrica RETURN deyimleri de ulunabilir(altprogramin farkli yerlerinde).END deyimi altprogramin fiziksel olarak bittigini belirler.Eger bir subroutine altprogramin ifasi esnasinda END deyimine ulasilirsa ,bu deyim RETURN deyimi gibi ifa edilir.

*GO TO DEYIMLERI

GO TO deyimleri kontrolu programdaki ifa edilebilen bir deyime aktarir.Üç tür GO TO deyimi vardir:

Assign'a bagli GO TO deyimini görmeden , bir atama deyimi olan ASSIGN deyimini inceleyelim

Assign deyimi: ASSIGN deyimi tamsayi bir degiskene bir sayi atar. Genel formati:

ASSIGN d TO i

Burada d, ASSIGN deyimini içinde bulunduran bir program birimindeki ifa edilebilen bir deyimin veya bir FORMAT deyiminin numarasidir. i, 4 bayt uzunlugunda olan bir tamsayi degiskenin (bir dizi elemani olamaz) adidir. Bu degisken deyim numarasi d'ye atanmaktadir. Deyim numarasi ASSIGN deyiminin bulundugu program birimindeki bir deyimin numarasi olmalidir.ASSIGN deyiminin ifasi , bir degiskenin bir deyim numarasi tarafindan tanimlanmasi ile olur.Bu degisken ,Assign'a bagli GO TO deyiminde veya bir giris/çikis deyiminde belirlenen bir format deyiminde verilen deyim numarasi ile tanimlanabilmelidir.Bir deyim numarasi ile tanimlanan bu tamsayi degisken ,ayni veya farkli deyim numaralari ile veya bir tamsayi deger ile yeniden tanimlanabilmelidir. Eger d ifa edilebilen bir deyim numarasi ise i degiskeni Assign'a bagli bir GO TO deyiminde kullanilabilir. Eger d bir FORMAT deyiminin numarasi ise i degiskeni format kontrolu bir, READ, WRITE veya PRINT deyimindeki format tanimlayicisi olarak kullanilmalidir.

Assign'a bagli GO TO deyimi

Assign'a bagli GO TO deyimi , i nin o andaki degerine bagli olarak kontrolu d1 , d2 , d3 ,..... ile numaralandirilmis deyime saptirir.Örnegin i nin degeri d2 ise GO TO ... deyimi ile d2 nolu deyime sapilir. Genel formati:

GO TO i [ [, ](d1 [ , d2][ , d3 ]...) ]

Burada i , bir ASSIGN deyimi ile bir deyim numarasi atanan 4 bayt uzunlugundaki bir tamsayi degiskendir(bir dizi lemani olamaz). d assign'a bagli GO TO deyimini içinde bulunduran program birimindeki ifa edilebilen bir deyimin numarasidir. ddd( d1 , d2 , ....) ile gösterilen numaralari listesini kullanmak zorunlu degildir.Eger bu liste kullanilmazsa i den sonra gelen virgül de kullanilmaz. Ayrica bu liste kullanilsa da i den sonraki virgül kullanilmayabilir.Assign'a bagli GO TO deyiminin kullanildigi program biriminde bulunan ve i degiskenine atanan deyim numarasi listedeki deyim numaralarindan biri olmalidir.Deyim numarasi listede birden çok görülebilir.Yani , d1 = dj = .... olabilir.

Mesela, GO TO I , (10,25,50) deyiminde :Eger tamsayi degisken I'ya o anda t atanan deger deyim numarasi 50 ise GO TO.... deyiminden sonra 50 nolu deyime sapilir; Eger I'ya atanan deger deyim numarasi 10 ise bir sonraki adimda 10 nolu deyime sapilir.Mesela,

ASSIGN 10 TO KOD

GO TO KOD , (10 , 20 ,30)

.............

10.. A = B

............

20.. A = C

...........

30.. A = D

.............

program biriminde GO TO deyiminden sonra 10 nolu deyime sapilir ve B' nin degeri A' ya tasinir.

Hesaplanmis ( Computed ) GO TO deyimi :

Hesaplanmis GO TO deyimi , m nin o andaki degeri 1,2,3,.... degerlerine bagli olarak kontrolu d1 , d2 , d3 ,.... numarali deyimlerden birine aktarir. Genel formati:

GO TO ( d1 , [ , d2] [ ,d3 ]...) [ , ] m

Burada d , hesaplanmis GO TO deyiminin içinde bulundugu programdaki ifa edilebilen bir deyimin numarasidir. Ayni deyim numarasi parantez içinde birden fazla kullanilabilir. m , tamsayi bir ifadedir. m den önceki virgül seçimliktir.Eger m nin degeri , n parantez içindeki deyim numaralarinin sayisi olmak üzere , 1 < m < n araliginin disinda ise hesaplanmis GO TO deyiminden sonraki deyim ifa edilir. Örnek :

5 .GO TO ( 1,2,3,2 ) , IX 

1. A = A + 1.0

...GO TO 3

2 .A = A + 2.0

3 .CONTINUE

Kosulsuz GO TO deyimi :

Kosulsuz GO TO deyimi kontrolu deyim numarasi belirlenen deyime aktarir. Bu GO TO deyiminin her ifa edilisinde kontrol ayni deyime aktarilir.Genel formati:

GO TO d

Burada d , kosulsuz GO TO deyiminin içinde bulundugu programdaki ifa edilebilen bir deyimin numarasidir.Bu deyimden sonra gelen ifa edilebilir herhangi bir deyimin , bir deyim numarasi olmasi gerekir, aksi halde bu deyim isleme konmaz veya ifa edilemez. Örnek :

....GO TO 1 

2. B = A * 200.0

..........

1. A = B + 10.0

...........

* IF DEYIMLERI

IF deyimleri verilen kosula bagli olarak ortaya çikan farkli durumlarda yapilacak islemi belirler.Üç tür IF deyimi vardir :

Aritmetik IF deyimi :

Aritmetik IF deyimi , aritmetik ifade ( m ) nin degeri sifirdan küçük, sifira esit veya sifirdan büyük oldugu zaman kontrolu d1 , d2 veya d3 numarali deyimlere aktarir. Ayni IF deyiminde bir deyim numarasi birden çok kullanilabilir. Genel formati:

IF ( m ) d1, d2 , d3

Burada m, kompleks tipte olmayan herhangi bir aritmetik ifadedir. d1 , d2 ve d3 ; IF deyiminin de içinde bulundugu programdaki ifa edilebilen bir deyimin numarasidir.Bu deyimden sonra gelen ifa edilebilir herhangi bir deyimin bir deyim numarasi olmasi gerekir; aksi halde bu deyim asla isleme konmaz veya ifa edilemez.

Blok IF deyimi :

Blok IF deyimi END IF deyimi ile birlikte kullanilir ve gerektiginde ELSE IF ve ELSE deyimleri ile de kullanilabilir. Genel formati:

IF ( m ) THEN

Burada m, herhangi bir lojik ifadedir. Blok IF deyimi ile ilgili olan iki terim vardir .Bunlar IF-level ve IF-block terimleridir.

IF-Level : Bir programdaki IF-level'larin sayisi blok IF deyimi ile END IF'den olusan deyimlerin sayisi ile hesaplanir.

IF-Block : Bir IF-block, blok IF deyiminden sonraki ilk deyim ile baslar son ELSE IF, ELSE veya END IF deyiminden önceki deyimde biter.Eger IF-block'un içinde ifa edilebilen bir de yim yok ise IF block bostur denir.

Kontrol bir IF blokunun içinden baska bir IF blokunun içine aktarilamaz.Bir blok IF deyiminin ifasinda önce m ifadesi degerlendirilir. Eger m nin degeri dogru(true) ise IF-block'undaki ilk deyimden baslayarak sirasiyla deyimler ifa edilir.Eger m nin dogru ve IF-block bos ise kontrol bir sonraki END IF deyimine(ayni IF-level'inda olan) aktarilir.Eger m nin degeri yanlis(false) ise kontrol ayni IF-level'inda olan bir sonraki ELSE IF, ELSE veya END IF deyimlerine aktarilir.Bir blok IF deyimi DO döngüsü ile kesilemez, yani içiçe giremez.

END IF deyimi :

END IF deyimi bir IF-block'unu bitirir .Ifa sirasini degistirmez. Genel formati:

END IF

Her bir blok IF deyimi için ayni programda bir END IF deyimi bulunmalidir. Bu END IF deyimi blok IF deyiminin son deyimidir ve ifa sirasinaetki etmez.END IF deyimi DO döngüsü içinde olmamalidir. Örnek:

IF ( A . GT . B ) THEN

...........

END IF

ELSE deyimi :

Eger bir önceki blok IF veya ELSE IF kosulu yanlis olarak degerlendirildi ise ELSE deyimi ifa edilir.Normal ifa sirasini degistirmez. Genel formati:

ELSE

Bir ELSE-block ayni IF-level'indaki son END IF deyimi ile ELSE deyimi arsindaki ifa edilebilir deyimlerden olusur.Burada ELSE deyimi ile END IF deyimi ELSE-block'a dahil degildir.Bir ELSE-block bos olabilir.Bir IF-block'unda yalniz bir ELSE olabilir. Bir ELSE block'unun içinden bir baska ELSE block'unun içine geçilemez.ELSE deyimi DO döngüsü içinde kullanilamaz Örnek:

IF ( A . EQ . B ) THEN

...........

ELSE 

...........

END IF

ELSE IF deyimi :

EEger bir önceki bllok IF kosulu yanlis olarak degerlendiriliyor ise ELSE IF deyimi ifa edilir. Genel formati:

ELSE IF ( m ) THEN 

Burada m, herhangi bir lojik ifadedir. Bir ELSE IF-block ayni IF-level'indaki son ELSE IF , ELSE veya END IF deyimi ile ELSE IF deyimi arasindaki ifa edilebilir deyimlerden olusur. Burada ELSE IF deyimi deyimi block'a dahil degildir.ELSE IF-block'u bos olabilir. Eger lojik ifade m nin degeri dogru ise ELSE IF-block'unun ilk deyimi ile normal ifa iskemleri gerçeklestirilir. Eger lojik ifade m dogru ve ELSE IF-block bos ise kontrol ayni IF-level'indaki son END IF deyimine aktarilir. Eger lojik ifade m yanlis ise kontrol ayni IF-lvel'indaki son ELSE IF, ELSE veya END IF deyimine aktarilir.

Kontrol bir ELSE IF-block'undan baska ELSE IF-block'una aktarilamaz. ELSE IF deyiminin deyim numarasi ile bir baska deyime geçilemez. Bir END IF deyimi DO döngüsü içinde kullanilamaz.

Örnek 1

IF ( I . LT . J ) THEN

........

ELSE IF ( I . GT . J ) THEN

..........

END IF

Örnek 2 :

IF ( I . LT . J ) THEN

..........

ELSE IF ( I . GT . J ) THEN

...........

ELSE

END IF

Örnek 3 : Asagidaki program sayisal notlari alfabetik notlara dönüstürmek için hazirlanmis basit bir uygulamadir. Blok IF deyimi kullanilarak hazirlanan bu program baska sekillerde de yazilabilir.

CHARACTER*1 N1/'A' / , N2/'B' /, N3/ 'C'/ ,N4/ 'D'/

1.. READ ( 5,5,END = 90 ) NO, NOT

5.. FORMAT ( I5,35X,I3 )

.....IF ( NOT.LE.25 ) THEN

.....WRITE ( 6,30 )NO , N4

.....ELSE IF ( NOT . LE .50 ) THEN

.....WRITE ( 6,30 )NO , N3

......ELSE IF ( NOT.LE.75 ) THEN

......WRITE ( 6,30 )NO , N2

......ELSE

......WRITE ( 6,30 )NO , N1

.....END IF

30 .FORMAT ( 5X,I5, 'NOT = ' , A1)

......GO TO 1

90 . STOP

...... END

Lojik IF Deyimi :

Lojik IF deyimi bir lojik ifadeyi degerlendirir ve ifadenin degerinin dogru veya yanlis olmasina göre ya bir deyimi ifa eder veya lojik IF deyiminin altindaki ifadeyi gerçeklestirir.Genel formati:

IF ( m ) d

Burada m , herhangi bir lojik ifadedir. d , ifa edilebilir herhangi bir deyimdir. Bu deyim DO deyimi , baska bir lojik IF deyimi, END deyimi , blok IF , ELSE IF , ELSE veya END IF deyimi ve ayrica TRACE ON, TRACE OFF, INCLUDE veya DISPLAY deyimi olamaz. d bir deyim numarasi olamaz , ama içinde deyim numarasi bulundurulabilir( GO TO 50 gibi ). Örnek:

: IF ( A . LE .0 .) GO TO 50

............X = Y + Z

............IF ( A . EQ . B ) X = 2.0*Y/Z

............A = B/C

...50.....T = U**2

...........................

*PAUSE DEYIMI

PAUSE deyimi amaç programin ifasini geçici olarak keser ve bir mesajin görünmesini saglar.Genel formati:

PAUSE [ n ] ,

........................PAUSE [ 'mesaj ' ]

Burada n , 1-5 basamakli bir sayi , 'mesaj' , tirnaklarla kapanan bir karakter sabitedir.Bu sabite alfanumerik veya özel karakterlerden olusur. Bu literal sabite içinde tirnak kullanilacaksa bu çift tirnakla belirtilmelidir.

Eger n veya ' mesaj ' kullaniliyorsa kesilme aninda operatöre gerekli talimat verilir.Bu duraklama esnasinda operatör gerekli islemleri yaparak kontrolu programa geçirir ve PAUSE deyiminden sonra gelen deyim veya DO döngüsünün son iterasyonu ifa edilir.

RETURN DEYIMI

RETURN deyimi kontrolu çagiran programa aktarir. Eger RETURN deyimi anaprogramda kullaniliyorsa STOP deyiminin yaptigi isi yapar. Bu deyim ya bir function veya subroutine altprograminda kullanilmalidir.

Function altprogramindaki RETURN deyimi :

Function altprogramlari RETURN deyimini bulundurmalidir.Bu RETURN deyimi lojik olarak hesaplama sonucunu belirler ve hesaplanan fonksiyon degerinin çagrilan programa geri dönmesini saglar.Genel formati:

RETURN

RETURN deyiminin ifasi ile altprogramdaki yapma argumanlar ile gerçek argümanlar arasindaki iliski kesilir.Altprograma giren argümanlarin tümü , asagidakiler hariç tanimsiz olur.

Subroutine altprogramindaki RETURN deyimi

Subroutine altprogramlari da RETURN deyimi bulundurmalidir. Bu RETURN deyimi lojik olarak hesaplama sonucunu belirler ve kontrolu çagiran programa aktarir. Genel formati:

RETURN ( m )

Burada m , bir tamsayi ifadedir. RETURN deyiminde m kullanilmazsa veya m nin degeri birden küçük ise veya SUBROUTINE deyiminde belirlenen ( * ) asterisklerin sayisindan fazla ise kontrol CALL deyiminden sonraki deyime aktarilir. Böylece CALL deyiminin ifasi tamamlanir.Eger , n SUBROUTINE deyimindeki asterisklerin sayisi olmak üzere 1<=m<=n ise m nin degeri yapma argüman listesindeki m inci asteriski belirler. CALL deyimindeki geri dönüs belirleyicileri ile SUBROUTINE deyimindeki asteriskler arasinda birebir bir iliski olmalidir. Bu iliskiye göre herhangi bir asteriske karsilik gelen bir geri dönüs belirleyicisi bulunur ve RETURN deyiminin ifasi ile bu deyime sapilir.RETURN deyimi ifa edildiginde altprogramdaki yapma argümanlar ile gerçek argümanlar arasindaki iliski kesilir.Altprograma giren argümanlarin tümü, yukarida belirlenen üç gruptaki argümanlar hariç olmak üzere tanimsiz olur.

RETURN m ile birlikte kullanilan bir CALL deyiminin daha iyi anlasilmasi için hesaplanmis, GO TO deyimlerinden olusan deyim grubunun incelenmesi gerekir.Mesela asagidaki CALL deyimi :

CALL SUB ( X , * 10 , Y , * 20 , Z , * 30 ) asagidaki deyimlere denktir:

CALL SUB ( X , Y , Z , I ) 

GO TO ( 10 , 20 , 30 ) , I

Buradaki I çagrilan altprogramda 1, 2 veya 3 degerlerini alan bir degiskendir.Yukaridaki CALL deyiminde de m nin 1 olmasi halinde 10 nolu deyime , 2 olmasi halinde 20 nolu deyime , 3 olmasi halinde 30 nolu deyime sapilir.

*STOP DEYIMI

STOP deyimi amaç programin ifasini durdurur ve istenirse amaç programin ifasi sonunda bir mesajin yazilmasini saglar. Genel formati:

STOP [ n ]

........................STOP [' mesaj ']

Burada n, 1-5 basamakli bir sayidir. mesaj, iki tirnak arasina yazilan ve alfanumerik veya özel karakterlerden olusan bir karakter sabitedir. Literal olmasi halinde bu literal içindeki bir tirnak pespese gelen iki tirnakla belirtilir

Eger STOP'tan sonra n veya ' mesaj ' kullanilirsa , STOP ile birlikte gerekli bilgi operatöre iletilir.

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır