Güncelleme: 15 Şubat 2021
CLS
Bu komut çalıştırıldığında daha önceden ekrana yazılmış olan yazılar
silinir.
Genelde programlar, ilk olarak ekranı temizleyerek, sonraki yazılacaklara
temiz bir ekran hazırlar.
Burada dikkat edilecek şey CLS den bir önceki zemin rengi ne ise ekran o renk
ile doldurulur.
CLS den önce bir renk ayarı yapılmamışsa ekran siyah renk ile doldurularak
temizlenir.
COLOR , 4 'Zemin rengi kırmızı CLS PRINT "Merhaba" COLOR 14 'Yazı rengi sarı PRINT "Dünya !"
Değişkenlere Veri Aktarmak
Veri tiplerini açıklarken değişkenlerden bahsetmiştik. Değişkenler,
bilgisayarın belleğinde veri tutmak için kullanılır.
Değişkenler bir harf ile başlayıp 40 karaktere kadar bir isim alabilir.
Değişken adlarında İngilizce harfler ve rakamlar kullanılır. Bunların
dışındaki karakterler kabul edilmez.
Değişken adı bir harf ile başlamalıdır.
Büyük-küçük harf ayırt edilmez.
SOYADI, soyadi , Soyadi , SoyAdi ,
soyAdi , SoyADI aynı değişken adıdır.
soyadı İngilizcede ı harfi olmadığından kabul edilmez.
Hata oluşturan değişken adlarına örnekler:
DIM 4KAT 'Rakam ile başlamış. Bir harf ile başlamalı DIM MÜŞTERİ 'Türkçe harfler (Ü,Ş,İ) kullanılmış. İngilizce harfler kullanılmalı DIM PERSONEL NO 'boşluk karakteri kullanılmış. Boşluk karakteri kabul edilmez DIM Adi.Soyadi ' Adi adlı bir veri tipi tanımlaması yoksa hata verir. DIM MEDENI_DURUMU '_ karekteri kullanılmış. Kabul edilmez.
LET
Değişkenlere değer aktarmak için kullanılan fonksiyondur. Eski BASIC program kodlarıyla uyum içindir.
Kullanımı terkedilmiştir. Kullanılmasının bir etkisi yoktur.
LET BOYU = 1.67 PRINT BOYU BOYU = 1.72 PRINT BOYU
1. satırda BOYU değişkenine 1.67 değeri aktarıldı.
Sonraki aşamalarda BOYU değişkenine bir değer aktarmazsak program
sonlanana kadar 1.67 değerini bellekte tutar.
Ve bu değişkeni gerekli
olduğu yerde kullanırız. Örneğin 2. satırda olduğu gibi.
3. satırda olduğu gibi sonradan değişken içeriğine değer atayarak değişken
değerini değiştirebiliriz. En son atanan değer bellekte tutulur. Önceki değer
değişmiştir.
Yukarıda olduğu gibi değişkenlere veriyi doğrudan aktardığımız gibi bir
fonksiyonun ya da işlemin sonucunu da aktarabiliriz.
SAYI = 125
KARE = SAYI * SAYI
PRINT KARE
1. satır artık yabancı gelmiyor size.
SAYI değişkenine bellekte
125 rakamını tut dedik.
KARE değişkenine de
SAYI değişkenin tuttuğu değeri yine SAYI değişkenin tuttuğu
değer ile çarp sonucunu bellekte tut dedik.
Bu arada SAYI değişkeninin değerinde hiçbir değişiklik olmaz.
Değişiklik olabilmesi için aktarma işlemi olması gerekir.
Buradaki = sembolünün anlamı matematikteki = gibi değildir.
QuickBasic'te ve birçok programlama dilinde = işaretinin işlevi, eşittir'in
sağındaki değer veya işlemin sonucunu solundaki değişkene aktarmaktır.
Yukarıda olduğu gibi ='in sağ tarafında SAYI'nın kendisiyle çarpımından SAYI değişkeni etkilenmemektedir.
a = 5 'a değişkenine 5 değeri aktarıldı a = a + a ' a değişkeninin değeri olan 5 ile 5 toplandı. ' toplamın sonucu olan 10 değeri a değişkenine aktarıldı PRINT a 'a değişkeninin yeni değeri: 10
Değişkenlere değerler aktarılırken tanımlanan tipine uygun değerler
aktarılmalıdır.
Sınırını aşan veya uygun olmayan veri aktarımları kabul edilmeyip hata
oluşturacaktır.
Aşağıdaki satırlar hata oluşturacaktır.
A% = 33652 'Sınırı aşmıştır A& = 2154.62 'LONG değişkenler küsurlu sayıları bellekte tutamaz ' o yüzden sayıyı yuvarlayarak 2155 yapar. ' Bu satırda bilgisayar bir hata uyarısı vermez. A$ = 65000 ' String değişkenlere değerler çift tırnaklar ile aktarılır A# = "Merhaba" ' Bu tür değişkene string veri aktarılamaz
CONST
Değişkene aktarılan değeri herhangi bir satırda değer aktarması yaparak değiştirebiliyoruz. Ancak bazı değerler vardır ki(Örneğin Pi sayısının değeri) farkına varmadan değiştirilmesi büyük sorunlar çıkarabilir ve sorunun kaynağını bulmak da zor olabilir.
Değiştirilmemesi gereken değerleri değişkene CONST ile aktarırsak değişken değeri sabit kalacaktır. Farkına varmadan değiştirmeye çalıştığımızda ise bir hata ile karşılaşırız.
Örnek:
CONST Pi = 3.141593 DaireCapi = 12 DaireCevresi = 12 * Pi PRINT DaireCevresi Pi=12.18 'HATA! DaireCapi = 36 DaireCevresi = DaireCapi * Pi PRINT DaireCevresi
INPUT
Kullanımı:
INPUT[;]["mesaj metni"{;|,}]değişken adları
Değişkenlere A = 45 gibi bir satır yazarak bir değer
aktarabiliyoruz.
Bazen program çalışırken değişkenlere programı kullanan kişinin veri aktarması
istenebilir.
INPUT komutu ile istediğimiz değişkenlere program çalışırken değer
aktarılabilir.
INPUT kullanılırken; INPUT un ardından verilecek mesaj metni tırnaklar arasında yazılır sonra (,) veya (;) konulur ve klavyeden yazdıklarımızı aktaracağımız değişken adları yazılır.
Değişken adları bir veya birden fazla olabilir. Birden fazla ise aralarına virgül konulur.
Örnek 1:
CLS INPUT "ADINIZ " ; AD$ INPUT "YAŞINIZ " , YAS% PRINT "Sayın " ; AD$ ; YAS% ; " yaşındasınız."
Yaşımızı sorduğunda rakam dışında bir şey yazarsak, bir uyarı ile aynı soru
tekrar sorulur.
Değer girmeden Enter'e basarsak 0 değeri girilmiş kabul edilir.
DÜŞÜN: Burada virgül ile noktalı virgülün farkı ne?
Örnek 2:
DEFINT Y INPUT "Yazılı notları"; y1, y2, y3 PRINT "Ortalama:"; (y1 + y2 + y3) / 3
LINE INPUT
Kullanımı:
LINE INPUT[;] ["mesaj metni";] stringdeğişken
Örnek:
LINE INPUT "Ad:"; ad$ LINE INPUT "Soyad:"; sad$ LINE INPUT "Boyu:"; boy$ b = VAL(boy$) PRINT ad$, sad$, b
READ, DATA, RESTORE
Değişkenlere değer aktarmanın farklı bir yolu daha var.
DATA ile girilen verileri READ ile değişkene aktarma. Çok sayıdaki verinin değişkenlere aktarılması için kullanışlıdır.
READ komutu ile yığındaki değerler sırasıyla değişkenlere aktarılır. Sonraki READ komutu yığında kalınan noktadan devam ederek aktarma yapar.
Yığında sona gelindiğinde READ ile okuma yapılacak olursa okunacak veri kalmadığı için hata oluşur. Yığının başından tekrar okuma yapmak için READ komutundan önce RESTORE komutu kullanılmalıdır.
Belli bir etiket veya satırdan sonra okumaya başlaması için;
RESTORE etiket 'satır etiketi
veya
RESTORE 120 'satır no
kullanılır.
Örnek 1:
READ ad$, soyad$, memleket$, dyil, boy, meslek$ PRINT ad$, soyad$, meslek$ READ ad$, soyad$, memleket$, dyil, boy, meslek$ PRINT ad$, soyad$, meslek$ DATA "Mesut","Akcan","Adana",1972,1.72,"Öğretmen" DATA "Ahmet","Kara","Mersin",1980,1.68,"Memur"
Örnek 2:
C$ = DATE$ 'Bugünün tarihi: 05-17-2020 BuAy% = VAL(C$) 'Tarihteki ay değeri FOR I% = 1 TO BuAy% 'Tarihteki ay sayısı kadar döngü READ Ay$ NEXT DATA Ocak, Şubat, Mart, Nisan, Mayıs, Haziran, Temmuz DATA Auğustos, Eylül, Ekim, Kasım, Aralık Gun$ = MID$(C$, 4, 2) 'tarihteki gün IF LEFT$(Gun$, 1) = "0" THEN Gun$ = RIGHT$(Gun$, 1) Yil$ = RIGHT$(C$, 4) 'tarihteki yıl PRINT "Bugün: "; Gun$; " "; Ay$; " "; Yil$
Ekrana bir mesaj veya bir değişkenin değerini yada bir fonksiyon yada işlemin sonucunu yazdırmak için kullanılır.
Örnek 1:
CLS PRINT 3 * 8 + 12 ' Sonuç 36 olarak ekranda görünecek PRINT 100 \ 3 ' 33 (Kalansız bölme. Sonucun tam sayı kısmı) YASI = 32 PRINT "Yaşı = " ; YASI ; " dir" A% = 15 B! = 3.14 ADI$ = "Mesut" PRINT A% , B! , ADI$ SA$ = "Akcan" PRINT ADI$ ; SA$
DÜŞÜN: PRINT de kullanılan virgül ve
noktalı virgülün farkı ne?
PRINT komutunda bir işlemin sonucunu da yazdıracağımızı söylemiştim.
Örnek 2:
PRINT 12+33 ' Ekrana işlemin sonucunu (45) verir PRINT 125+48*10 ' 605 yazar. Öncelik sırası: Parantez içi, * / + - dir PRINT 12-(80/4-23)+54/9 ' sonuç: 21 ?? PRINT 1 + 1 ' Toplam olan 2 çıkar PRINT "1" + "1" ' 11 çıkar. Çift tırnak içindeki sayılar sayı olarak görülmez. ' Burada sayı olmadığı için toplama işlemi değil ' tırnaklar içindekileri birleştirme işlemi uygulanır PRINT "QUICK" + "basic" ' QUICKbasic PRINT 8 + "elma" ' !!! Hata !!! PRINT "8" + "elma" ' 8elma PRINT 8 ; "elma" ' 8 elma PRINT 8/2 ; "elma" ' 4 elma
CLS PRINT "Çıkmak için 0 yaz" basla: INPUT "Bir sayı yaz "; SAYI IF SAYI = 0 THEN END CLS PRINT "Verdiğiniz sayı "; SAYI PRINT SAYI; " 'nın karesı "; SAYI ^ 2; " dır." PRINT SAYI; " 'nın küpü "; SAYI ^ 3; " dır." GOTO basla
PROBLEM: Dairenin alanını hesaplayıp
ekrana yazan bir program yazın.
Dairenin alanı = Pi sayısı * Yarıçap * Yarıçap
Önceki Bölüm: 2: Veri Tipleri | Sonraki Bölüm: 4: Kontrol blokları |
Hiç yorum yok:
Yorum Gönder