dim etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
dim etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

20 Haziran 2023 Salı

QuickBasic - 2: Veri Tipleri

Yayınlama: 2000
Güncelleme: 20 Haziran 2023
QuickBasic'te çeşitli veri tipleri vardır.
Belleğe aktarılacak veriler için bellekte gereken boyutta yer açılır. Değişkenin içeriği ancak bu şekilde bellekte düzenli bir şekilde yerleşir.

Örnek:
A% = 126
A değişkenin yanındaki % işareti değişkenin bir INTEGER veri tipine sahip olduğunu gösterir.
A
değişkeni için bellekte 2 byte'lık yer açılır. Çünkü INTEGER veri tipi 2 byte'dır. 8 bit (binary digit= ikilik sayı) 1 baytı oluşturur.
1 baytın alacağı değer sayısal olarak 0-255, karakter olarak ise 1 karakter(harf, rakam, simge)dir.

Açılan bellek alanının bir kapasitesi olduğu için değişkene kapasitesinden daha büyük veri aktarmak Owerflow (aşırı yükleme, taşma) hatasına neden olacaktır.

Örnek:
A% = 32768 'Owerflow (taşma hatası)
PRINT A%
A% değişkeni 2 baytlık(16 bit) INTEGER değişken olduğu için alabileceği değer aralığı -32768 ile +32767 olduğu için örnekte verilen 32768 değeri sınırı aşmaktadır.
Yani bellekte açılan alana bu sayı aktarılamaz. O yüzden hata verir. Değişken türü ya da değeri değiştirilmelidir.

Normalde 2 bayt(16 bit) 256*256 = 0-65536 (2 üzeri 16 = 65536) arası değer alabilir. Ancak INTEGER değişkende negatif sayıları da kullanabilmek için 16 bitin 1 biti sayının + ya da - işareti için kullanılmaktadır.
Böylece sayı için 15 bit, işaret için 1 bit kullanılır.
15 bit (2 üzeri 15) = 32768

6 Şubat 2022 Pazar

QuickBasic - 6: Diziler

Yayınlama: 2000
Güncelleme: 06 Şubat 2022

Diziler

Dizi(array) bir veri yapısıdır ve bellekte aynı tipte veri saklamayı sağlar.
Bir değişken tanımlandığında, tanımlanan değişken bellekte tek bir değer tutabilir.
Diziler(arrays) ise bir değişken adıyla bellekte birden fazla değer saklayabilir.
Tanımlanan dizi elemanlarına ulaşmak istersek dizi indeksi ile ulaşabiliriz.

Dizilere neden ihtiyaç duyulur?

Çünkü çok sayıda değişkeni tanımlamak uzun sürer ve kullanışlı olmaz.

Örneğin:
12 ay için ayrı ayrı değişken tanımlama
DIM AY1 AS STRING
DIM AY2 AS STRING
DIM AY3 AS STRING
..
..
Gördüğünüz gibi bu uzayıp gidecek.
Bunun yerine bir boyutlu 13 elemanlı bir adet dizi değişken tanımlamak yeterlidir.
DIM AY(12) AS STRING
gibi.
AY(12) dizi değişkeni 13 elemanlıdır çünkü ilk eleman numarası(indeks) 0'dır.

Kullanımı:
DIM DeğişkenAdı(elemansayısı) [AS ...]
Örnek 1:
DIM AYLAR(12) AS STRING
'Tanımlanan dizi değişkeninin kullanımı:
AYLAR(1) = "OCAK" : AYLAR(2) = "ŞUBAT"
AYLAR(3) = "MART" : AYLAR(4) = "NİSAN"
AYLAR(5) = "MAYIS" : AYLAR(6) = "HAZİRAN"
AYLAR(7) = "TEMMUZ" : AYLAR(8) = "AĞUSTOS"
AYLAR(9) = "EYLÜL" : AYLAR(10) = "EKİM"
AYLAR(11) = "KASIM" : AYLAR(12) = "ARALIK"
buay% = VAL(DATE$)
PRINT AYLAR(buay%)
Örnek 2: