Deyi» fonkıiyonların, prograıcı tarafındın tanıalanan, istenildiği kadar çığrılıp kullanılabilen, yalnız bir deyiaden oluşan prograa parcacıklan olduğu ıÖyl#nai»ti. îıta deyi* fonksiyonların bir deyiadan olusaası kul lamada sınırlaaa gatirMktadir. Bu sınırlaaayı ortadan kaldırarak prograacıya esneklik kazandıraak için alt prograa kullanaa olanağı sağlanatstır. Alt prograalar da istenildiği kadar çağrılabilir ve uygulandıktan sonra işlese, ANA PRÖ6î?Af!’daki kaldığı yerden devaa edilir. Alt prograalar en az iki satırdan oluşurlar ve en az bir RETURN deyıai bulundurmalıdırlar. Genellikle ana prograaın heaen sonuna eklenirler. Aşağıdaki şekilde görüldüğü gibi alt prograaa dallanılır ve geri dönülür. Bir alt prograa başka bir alt prograaı çağırabilir.
Ana Prograa ve Alt Prograaların Seaatik Olarak Gösterilaeıi
Şekilde gösterilen dallanaalan yapabilecek iki tür alt prograa deyi »i vardır.
60SUB…….RETURN ve ON ….60SUB…..RETURN deyişleridir. 60SUB, GOTO ve SUBROUTINE
keliaelerinin kısaltılaısıdır. RETURK geri dön anlaamdadır.
ânı
Bir alt prograaın cağrılaası için kullanılır.
Dizili»
B08UB satır-no
ı
:
RETURN
satır—no Alt prograaın birinci satırının nuaarasıdır.
Açıklasalar
İSİM sırası, bu deyiade belirtilen satırla başlayan alt prograaa dallanır vı deyisini görünce 6QSUB deyisinin altındaki ilk satırdan devaa eder. Yukarıdal bakımı.
Her alt prograıda en az bir RETURN deyisi bulunsalıdır. Alt prograaın bölüşlerinden ana prograsa dönüşler yapılacak ise birden fazla RETURN kullanılabilir.
Şekilde de görüldüğü gibi bir alt prograa batka bir alt prograaı çağırabilir. Ar alt prograsda STOP, END ve alt prograsm dıtına çıkartan 80T0 deyişleri bulunaaaalıc prograalara yanlışlıkla 6DTD deyiai ile girilaeaesine dikkat edilselidir. Ana pr bitiş veya alt prograaın başlangıç noktalarından önce bir STOP, EHS> veya 60T0 bulundurarak islesin kontrolsuz olarak alt prograsa giraesi önlenir.
Dizilip Orneâi
10 REN BOSUB’a örnek probles 20 B08UB 100
30 PRINT “Altl’den geri döndü*
40 END
100 REN Altl bir alt prograadır 110 PRINT ‘Alt prograsa girdi*
120 RETURN RÜN
Alt prograsa girdi Altl’den geri döndü
Örnekte görüldüğü gibi islea sırası BOSUB 100’e gelince satır-no 100’e dallanılır» 10C islenir 120 RETURN’e gelince satır-no 30’a geri dönülür. Satır-no ♦O’ta islea durur.
‘Prograa 100. satır nuaarasına dallanır
‘Altl islendi,30. satır nusarasına geri dönül
“RtlURN »ıtır-na” dizilisi ile de kullanılır. Bu uygulasada alt (,!<‘ ıji .v..’.:, dönü» GOSUB’ın altına değil başka bir satıra olacaktır. Bir ileri Basic uvMü!»ı<t>’;n’>r, Dikkatli kullanılealıdır.
i,ı lehçede RETURN deyiei ‘RETURN <ifîde>’ dizilisi ile kullanılır. İfadenin sonucu sıfır ise alt prograsdan geri dönü; SOSUB’m altındaki deyise, <-1 ise sonraki ikinci deyıae, *2 ise üçüncü deyişte, -1 ise GOSUB’ın kendisine olur.
ARI-BOOHL
Bu lehçede GOSUB’daki satır numarası *A+10* seklinde bir ifade de alabilir ancak tavsiye edilsez.
ON … GOSUB Deyimi
i§£
irilen ifadenin sonucuna güre alt prograslardan birisinin uygulansasını saflar. itiliş
ON n GOSUB satır—no <,satır—no> …
n
ir tas sayı değişken veya bir aritsetik ifadedir. Aritaetik ifadenin sonucu tas sayı ığiikene dönüştürülür (yuvarlaea yapılsaz).
satır-no İt prograeların başladığı satır nuaaralarıdır.
:ıkİasalar
i… GOTO deyisinin işlevi ile aynıdır, n in alacağı değere göre alt prograslardan irine dallansa olur, n in değeri 0-255 arasında değişebilir, n in değeri dizilisdeki ıtır-no sayısından büyük veya sıfır ise islese takip eden deyisden devaa edilir.
İzills Orneâi
5 FOR 1*1 T0 3 10 READ N
20 ON N GOSUB 100,200,300 30 DATA 1,2,3 40 END
100 PRINT *N in değeri *”;N 110 RETURN
200 PRINT *« in değeri **jN 210 RETURN
300 PRINT “N in değeri »*;N 310 RETURN
_ 0*1 _
RUH
N in değeri * 1 N in değeri * 2 M in değeri * 3
N in aldığı -değere göre alt programlardan birin# dallanaa olaaktadır.
Örnek Probleaı 1.27
Dayanıklı tüketin aalı satan bir aağaza «isterilerine aldıkları aalın fiyatına göre belirli indirialer yapaaktadır. 100,000.00 TL ye kadar Z12, 200,000.00 TL ye kadir Z13, 200,000.00 TL den büyük alışverişlerde ise Z1S indiria yapaaktadır. Bu atğızı Z12 kataa değer vergisine tabidir. K.D.V aalın indiriaden önceki fiatı üzerinden hesaplanaaktadır. Bu şartlara göre etiket fi atı girildiği zaaan aüsteriden alınacak parayı hesaplayan prograa yazınu.
400 REH K.D.V Alt prograaıdır. 410 BF-BF+EFt.12
420 RETURN ——————
Ok
RUN
Etiket fiatı ■? 125000 Satı* fiatı =? 123750 Ok RUN
Etiket fiatı =?
< … GOSUB a uygun akis diyagraaı »esasına dikkat ediniz. önce satır numaraları isteri İşiyor. Prograa o noktaya kadar kodlandıktan sonra uygun satır nuıaraları iriliyor.
,.2.9 YAZICIYA CIKIS DEYİM VE KOMUTLARI
u deyiae kadar bilgiler ekrandan (klavyeden) girilsis, çıktıları ise ekrandan almaıstı.Bu ölüade ise yazıcıya cıkıs deyi«1eri ve koautlarını görecemiz. Basic bölüşünde yazıcıya ıkı* deyisi olarak yalnız IPRINT deyisini, cıkıs koşutu olarak da ILIST koşutunu göreceğiz.
laac
‘erilerin yazıcıdan alınaasını sağlar. lizilis
LPRINT <ifadel*r listesi> <}> <y> teıklaaalar
‘RİNT deyisindeki açıklasalar bu deyiş için de geçerlidir. Yalnız çıktı yazıcıdan alınır. Kynak-11.
Diziliş Orntal 10 LET A«5!
20 LET B»8.9 30 LET Ct»*ankara*
40 LPRINT A,B-A,C*
RUN
5 3.9 ankara
LPRINT Dayimi
örnıktıki çıktı yazıcıdan alınacaktır.
lıhtılîL
H88O,0HBASIC,N8BASIC
LPRINT deyisi yazıcının satır uzunluğunu 132 karakter kabul adar.
BASICA
LPRINT deyiai yazıcının satır uzunluğunu BO karakter kabul eder. Ancak NIDTH ’LPT! dayiai ile satır uzunluğu değiştirilebilir.
8PECTRUH
LPRINT deyiai yazıcının satır uzunluğunu 32 karakter kabul eder.
L_l_I ST Komutu
Aaac
Ana bellekteki progrası yazıcıdan üstel eşeye yarar.
Dizili»
LLIST <satır—no i>-<*atır—no 2>
Açıklasalar
Ana bellekteki prograaın belirtilen satır nuBaraları arasındaki bölüşünü yazıcu listeler. Satır nuurası veri İşediği zasan tüs prograaı listeler. Yalnız bir satır nuaarı verilirse, yalnız e satır listelenir. Aşağıdaki diziliş örnekleri işlevini anlatsaktadı Kaynak-li. Bu açıklasalar 1.1.7.4 te anlatılan LIST koşutu için de geçirlidir.
Diziliş Prneii LLIST 500 LLIST 500-400 LLIST 500-LLIST -400
ideler ATARI-800XL
Bu lehçede yazıcıya prograa üstesi versek için LIST ’Ps* <satır-no l>,<satır-no dizilisi kullanılır. LIST “CıDEÜNE.LST* listeyi kasete verir. D seçeni kullanılırsa diske verir.
SPECTRUH
İkinci satır uygulasası yoktur. LLIST prograaın tösünü listeler. LLIST 15, 1 satırdan sonrasını listeler.
‘Yalnız 500. satırı listeler ‘Yalnız 500-600 arasını listeler ‘500. satırdan sonrasını listeler ‘Bastan 600. satıra kadar listeler
— Bir ev bilgisayarınız var, kolay ve pratik bir yöntemi*^ istiyorsunuz?
— Kendi bilgisayarınızın Basic lehçesini iyi biliyorsun»! lehçelerini mi merak ediyorsunuz?
— Ev tipi bilgisayarınızdan sonra bir PC Basic lehçesin, istiyorsunuz? ‘
— Bir mikrobilgisayarda çalışıyorsunuz ve Basic el kit»^
— Basic lehçelerinin bir karşılaştırılmasını mi görmek l
— Bulduğunuz bir Basic programım kendi makinanız* istiyorsunuz?
— İleri Basic lehçesinide mi öğrenmek istiyorsunuz?
İşte bu sorularınıza olumlu cevaplan A’dan Z’ye Basic ve llt’l sağlayacaktır. Kitapta dikkate alınan lehçeler aşağıda veıti
MS80 (Microsoft BASIC – 80)
A-BASIC
bük
GVVBASIC (V.2.02)
Co
HP
HB
ve*
BASICA (V.1.1) MSBASIC (V.5.28)
BU
Apı*
MSX
C
T
MS80
CPC-464
CPC-6128
C-128
C-64
ATARI-800XL SPECTRUM