TAB fonksiyonu
TAB fonksiyonu n inci pozisyona atlanaasını sağlıyordu, SPACEf n boşluktan oluşan bir değişken tanıalıyordu, SPC ise değişken aralarına n bosluk yerlestirilaesini sağlaaaktadır.
STR* Fonksiyonu Aaac
Sayısal bir değeri karakter katan olarak kullanabilmeyi sağlar. VAL fonksiyonunun tersi gibidir.
Dizili»
karakter defti»kani»STR$(X>
X sayısal değer veya değişken isai olabilir.
Dizil» Orneâi 10 A * 449 20 Kİ * STRİ(A)
30 PRINT Kİ, LEN(Kt)
RUH
449 4
Sayılarda + veya – için bir karakter bosluk bulunuyordu.
TIME# Deyi mi /Fonksi yonu
ÛÜSL
Zaaanın tanıalanaası ve bir değişkene atanaası için kullanılır.
Dizili»
(Deyi»)
TIME*«X*
(Fonksiyon)
karakter değişkeni=TIME*
it karakter değişkeni S5:dd:ss {saat,dakika,saniye) seklinde 8 karakterden oluşur.
id Tin£f*’iQiZ5iQ3′ üiyla olarak kulUnılaıştır.
20 PRINT TINEt ‘Fonkatyan olarak kullııuİliıtır.
RUH
I0ı25ı0î
l»hceler
Bazı lehçelerde işlati» »iıteai takanları kullanılır.
VAI— Fonksi yonu
ftü£
Bir karakter değişkenindeki sayısal değerleri ayırıp verir.
Dizili»
sayısal değisken=VAL<X$)
X*, karakter değişkeni veya katar olabilir. ftcıklaaalar
X$, karakter değişkeni içindeki sayısal değerleri ayırır. Başlangıçtaki boşlukla alaaz. İlk sayısal olaayan değere kadarki sayıyı verir. XI ın ilk karakter değilse sonuç 0 olur.
Dizili» Orneâi
PRINT VAK” -5AL’) ‘Boşlukları dikkate alaaz.
-5
PRINT VALCABC25″) ‘tik karakter sayısal olaadığı idn 0 var
0
STRING* Fonksiyonu
A»aç
ASCII kodu verilen karakterin istendiği kadar tekrar edilaesini sağlar.
Dizili»
karakter değişkeniaSTRING*<n,m) veya
karakter de§iskeni»STRING$(n,X$)
n ve a, 0 ile 255 arasında bir ta» sayı değer alabilir, s tekrarı istenen kartkl kodudur, n ise tekrar sayısıdır. X$, karakter değişkenidir, tik karakteri, takraı karakterdir.
Acıklaaalar
Birinci dizili», ASCII kodu a olan karakteri n kadar tekrar ederek bir katar oluşl karakter değişkenine atanabilir, ikinci diziliade ise tekrar edilen karakter XI : karakteridir.
İO Cl > STRINfll<15,45)
20 PRINT Clj’TABLO-l’jCI RUN
————–mo-ı—————
ok
10 Al = *XYZ”
20 XI * STRIH6IU5,AI)
30 PRINT Xlj’TA8LQ-l’}XI RUN
XXXXXXXXXXXXXXXTABUMXXXXXXXXXXXXXXX Ornak Problea» 2.10
A disket sürücüsündeki diskette STOK.BAS isiali bir Basic veri prograaı yüklüdür. Prograaın listesi aşağıda verilaiştir. Prograa yalnız DATA deyiaierinden olujaaktadır. Her deyiade stok kontrolü yapılacak aalzeaelerle ilgili veriler vardır. DATA deyialeri farklı uzunluktadır. Tüa veriler iki çift tırnak arasındadır yani bir karakter değişkeni gibi islea göraektedir. Gerçekte bir DATA deyisinin içinde altı adet stok kontrol verisi vardır. Özel işaretlerle birbirinden ayrılıktır. Stok kontrol verilerinin tanıaları sıra ile «öyledir jkod-no, aalzeae isai, en az stok seviyesi, en fazla stok seviyesi, stok duruau ve biria fiatıdır.
Bu verilerden aalzeae kataloğu listesi veren bir prograa yazınız. Listede kod-no, aalzeae isai ve biria fiatı bulunsun.
Prograa Listesi ı
400 REH Stok Kontrol Verileri
401 DATA’25*BÜRQ MASASI/5 20 10*250000*
402 DATA’217*D0LAP/4 12 6*190000′
403 DATA’500*ÇÖP KUTUSU/20 45 22*25000′
«
ı
499 DATA*6710*KURS11N KALAEH/100 200 152*250′
Cözöa Tekniği t
Her DATA deyiainde Bira ile su işişelerin yapılaası gerekir.
1.Karakter değişkeninin boyu saptanır.
2.Kod nuaarası bir sayısal değişkene atanır.
3.Halzeae isainin başlangıcı ve sonu belirlenir ve bir karakter değişkenine
Hts‘! .
4.Biri» iövnür başlangıcı belirlenir ve bir sayısal değişkene atanır.
5.Yeni değişkenlerden bir aalzeae katalog listesi oluşturulur.
DATA diyiaindiki bilgi alanlarının bıılangıt vt biti» dağlfkanlari aıığıdı gti«tırii»i»tirı
DATA
[71
Nl
I _
♦ büro
N2
i
MASASI / 5
2 0
N3 <
I
10*2500
Prograa ve Çıktısı i
Prograa A sürücüsündeki disketten LOAS’AsSTOK.BAS1
koautu iie ana belleğe alınır. LIST koautu ile listelenebilir. Prograa 4( ile baslaaaktadır. 10-400 satır-no arasında istediğiaiz ilaveleri yapabilir
10 REN Bu bir aalzeae kataloğu düzenleae prograaıdır.
20 REH Prograaın isai STOK.BAS.
30 0PTI0M BASE 1 40 8EFINT L,K,N,H
50 DIH VI(100),KN(100),HIf(100),BF(100)
60 FOR 1=1 TO 10 70 READ VI(I)
80 L=IEN(VI<!>)
90 KN(l)aVAL(VI(I))
100 Nl’INSTRÜ.VKIl,*»*}
110 N2sItlSTR(Nl’*’i,V4(I)»”/■>
120 L1>N2-(N1+1)
130 NII(I)»NIDI<VI(I),N1*1,L1)
140 N3*INSTRİfU*l,Vİ<I),”**)
150 L2-L-N3
160 BFI*RI6HTI(VI{I),L2)
170 BF(I)bVAL(BFI)
200 NEXT 1
210 CI«STRIN6H 10,45)
220 LPRINT SPC(2Î|CI;’HALZEHE KATAL06U‘;CI 230 BI*SPACEI<2)
240 LPRINT 8I$*K0D “HALZEHE îSHl-;TftB(29);”B.FIATI<TL>■
250 LPRINT 260 FOR 1*1 TO 10
270 LPRINT BI;KN(I);TAB(U);HII(I);TAB(29);
280 LPRINT USIK6 ’»«*«(«*,’;BF(I)
300 NEXT I 310 STOP
v
400 REH Stok Kontrol Veri İtri
401 DATA*25*8ûR0 HASA1/3 20 10*250000*
402 DATA*217*D0LAP/4 12 6*150000*
405 DATA’500*CÖP KUTUSU/20 45 22*250^0*
404 DATA*t25*ETEJER/10 15 9*120000*
405 DATA”901»DEFTER/100 200 110*550*
406 DATA * 1010*KALEH/i 50 250 160*200*
407 DATA”666«StL61/300 500 350*50*
408 DATA*505*KARBGN KA6IDI/500 1000 600*5*
409 DATA”3256*D0SYA KA6IDI/İ000 2000 1100*5*
410 DATA*6710*KUR§UN KALEH/IOO 200 152*250* RUN
———HALZEHE KATALOGU———
KOD NO «ALZEHE İSHİ B.FİATUTL)
25 BÜRO HASAS1 250,000
217 DOLAP 150,000
500 COP KUTUSU 25,000
125 ETEJER 120,000
901 DEFTER 550
1010 KALEN 200
666 S1L61 50
505 KARBON KA6IDI 5
3256 DOSYA KAŞIDI 5
6710 KURSUN KALEN 250
Break in 31
Örnekte heaen tâ» katar fonksiyonları kullanılmıştır.Prograacıya her fonksiyonun kullanı» alanları hakkında bilgi verecektir.
Bu probleadeki DATA deyişlerinin olduğu bölûaün, ayrı bir veri kütüğü olaası halinde bu problea daha kuilanıslı duruaa gelecektir. 2.5 teki Kütük Düzenleae bölüşünde uygulatası anlatılacaktır. Aynı örnek orada DATA Kütüğü kullanılarak çözülecektir.