|
KARAKTER FONKSİYONLARA DEVAM STR$(SAYISAL DEĞİŞKEN) Str$ fonksiyonu sayısal bilgilerin karakter bilgi olarak algılanmasını sağlar. Daha değişik bir deyişle A, D, YAZ veya SAYI gibi sayısal değişkenlerdeki bilgilerin B$, KDJ$ ya da daha değişik (ismini bizim belirleyeceğimiz) karakter bilgi değişkenlerine aktarılmasını sağlar. Tabi sonu $ işareti ile biten karakter değişkenlerdeki bilgiler de her ne kadar sayı olarak da görünse üzerlerinde matematiksel işlem yapılmaz. Bilgisayar bu bilgileri sayısal olarak değil de karakter bilgi olarak algılar.Örnek 1: 10 A=23 20 A$=STR$(A) 30 PRINT A$ RUN 23 Ok Burada A sayısal değişkenindeki 23 değerini A$ karakter değişkenine str$ fonksiyonu ile atadığımızda ekran görüntüsünde herhangi bir değişiklik olmamakta, yan, print a ve print a$ komut satırlarının her ikisinin sonucu da ekranda 23 olarak görüntülenmektedir. Fark bilgisayarın bu değişkenlerdeki bilgileri farklı algılamasındadır. Bilgisayar a değişkenindeki 23 bilgisini sayısal olarak algılamakta ve bu değer üzerinde matematiksel işlemler yapabilmekte iken a$ değişkenindeki bilgiyi sadece karakter bilgi olarak kabul etmekte ve matematiksel işlem yapamamaktadır.Örnek 2: 10 a=19 20 b=99 30 a$=str$(a) 40 b$=str$(b) 50 print a$+b$ RUN 1999 Ok Gördüğünüz gibi bu programda a ve b sayısal değişkenlerindeki sayısal değerler a$ ve b$ değişkenlerine karakter bilgi olarak aktarılınca 50 no'lu satırdaki + işareti toplama vazifesi değil de yan yana birleştirme vazifesi görerek ekrana 1999 rakamı yazdırıldı. Eğer 50 no'lu satırda print a$+b$ yerine print a+b yazılsaydı sonuç 118 olacaktı. STRING$(ADET,KARAKTER ) Diyelim ki ekrana 20 karakter uzunluğunda - karakterlerinden oluşan bir çizgi çekmek istiyorsunuz. Bunun için 20 kez - karakterini yazmak yerine şöyle bir işlem yapabilirsiniz; PRINT STRING$(20,"-") Enter'a basıldığında aşağıdaki görüntü oluşur: -------------------- ya da aynı işlemi şu şekilde yapabilirsiniz: PRINT STRING$(20,196) Burada 196 değeri - karakterinin ascii kod karşılığıdır. Hatırlayın CHR$ komutunda öğrenmiştik. PRINT chr$(196) yazdığımızda bu karakter üretilir. Daha değişik bir deyimle STRING$ fonksiyonunun önüne yazılan parantez içindeki ilk rakam üretilecek karakterin kaç tane olduğunu belirler. Virgül işaretinden sonraki ikinci hanede ise hangi karakterin üretileceği belirtilir. Bu üç şekilde belirtilebilir:
Üçüncü şıkka Örnek: 10 A$="/" 20 PRINT STRING$(30,A$) RUN ////////////////////////////// Ok Eğer değişkende birden fazla karakter mevcutsa sadece ilk karakter den üretilir. Mesela A$="ahmet" olsaydı 30 tane a karakteri üretilirdi. Ya da değişken karakter değişken değil de sayısal değişken olsaydı ve değeri de 75 olsaydı (A$=75) bu takdirde 75 sayısının ASCII karşılığı olan K (Büyük harf K) karakterinden 30 adet yazılırdı.
SPACE$(sayı/sayısal değişken) İstenilen sayıda boşluk karakteri üretir. Parantez içerisine ne kadar boşluk üretilecekse o değere eşit olan sayı ya da bu sayıya eşit değeri içeren sayısal değişken yazılır. Örnek: PRINT "ADI";SPACE$(7);"SOYADI";SPACE$(8);"ADRESİ" Enter'a basıldığında sonuç şu olacaktır: ADI.......SOYADI........ADRESİ Tabi kelimeler arasındaki nokta (.) işaretleri olmayacak. Ben onları aralardaki boşluk sayısı belli olsun diye koydum. Bir de komut satırı içerisindeki ; işaretlerinin anlamını hatırladınız mı bilmiyorum ama yine de tekrar edeyim. Bu ; işaretlerinin anlamı Bilgisayarın bu işaretten önceki işlemi yaptıktan sonra bir alt satıra geçmeyip bulunduğu yerden devam etmesini sağlamasıdır. Aslında bu ; işaretleri olmasa da olur. Yani; PRINT "ADI"SPACE$(7)"SO YADI"SPACE$(8)"ADRESİ" şeklindeki komut satırı da aynı sonucu verir. Çünkü bu işlemlerin hepsi bir tek PRINT komutu altında bir satırda toplanmış.
SWAP DEĞİŞKEN1,DEĞİŞKEN2 İki karakter değişkenin içeriğini değiştirir. Örnek : 10 A$="ŞİİR":B$="OKUMA"20 PRINT A$,B$ 30 SWAP A$,B$ 40 PRINT A$,B$ RUN ŞİİR OKUMA OKUMA ŞİİR Ok
SPC$(BOŞLUK SAYISI) SPACE$ fonksiyonunda olduğu gibi belirtilen sayıda boşluk bırakır. 10 PRINT="GWBASİC " SPC(10) "PROGRAMLAMA" RUN GWBASİC..........PROGRAMLAMA Ok Buradaki noktalar da kaç tane boşluk bırakıldığının görülmesi için koyulmuştur. Nokta yerlerinde boşluk vardır.
TAB(SAYI) Ekrana veya y azıcıya bilgi yazdırılırken istenilen sayıda boşluk bırakılmasını, başka bir deyişle kursörü istenilen sütuna taşımayı sağlar. Bu fonksiyon muhakkak PRINT ya da LPRINT komutları ile birlikte kullanılır.
10 PRINT TAB(20);"SATIR DÜZENLEME" RUN ....................SATIR DÜZENLEME Ok Burada TIRNAK içerisinde belirtilen bilgi yerine tırnak işareti kullanmadan herhangi bir değişkendeki bilgiyi de yazdırabiliriz. PRINT tab(15);a$ gibi.
|