Quick-Basic Kursu
Bölüm 2: Qbasicde Veri Tipleri
Qbasicde INTEGER, SINGLE, DOUBLE gibi veri tipleri vardır. Veriler belleğe saklanmadan önce bellekte ne kadar yer kaplayacağını belirtmek için kullanı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österiri. Ona aktarılan bilgi bellekte 2 karakterlik yer kaplar.
Değişkenlerin veri tipini tanımlamak şart değildir. O zaman tanımlanmamış değişkenler basic tarafından SINGLE olarak kabul edilir.
Qbasicde Veri Tipleri
Qbasic diğer dillerdeki gibi tüm veri tiplerini kullanmanıza imkan vermez, fakat genellikle diğerlerine ihtiyaç duymayacaksınız. Qbasic ile kullanabileceğiniz veri tipleri INTEGER, LONG, SINGLE, DOUBLE ve STRING dir. Daha detaylı bilgi almak için menüden HELP/Contents ‘i ve çıkan ekranda Data Types i tıklayın.
Veri tipleri nasıl kullanılır?
A% = 253 Y! = 3.141 Z& = 254144
A nın INTEGER olduğunu öğrenmiştik ama Y! ve Z&
! işareti SINGLE verilere sahip değişkenleri tanımlamak için, & işareti LONG verilere sahip değişkenler içindir.
ARAŞTIR: Şimdi siz DOUBLE ve STRING değişkenler için hangi işaretler kullanılması gerektiğini HELP den bulmaya çalışın.
Data tipi kullanımının bir başka yolu
Değişkenlerin data tiplerini tanımlamak için birkaç alternatif yöntem vardır. Bunlar:
DIM A AS INTEGER DIM B AS SINGLE DIM C AS LONG
Bu stil en güzel görüneni ve iyi programcıların kullandığı stildir. Tanımları düzgün yaptıktan sonra programın ileriki aşamalarında yalnızca değişken adını kullanmanız yeterlidir.
DEFINT A DEFSNG B,K,N DEFLNG C-D
Bu da başka bir stil Değişkenin baş harfine göre tanımlanmamış olan tüm değişkenler DEF in yanındaki değişken türünde olur. İyi bir stil sayılmaz.
A% = 253 Y! = 3.141 Z& = 254144
Bu şekilde tanımlama yaptığınızda aynı değişkeni hep aynı şekilde yazmak zorundasınız. Yani A% nin değerini değiştirmek için A = 100 kullanmak sakıncalıdır.
DİKKAT:
A! = 22.125 A& = 46500 A% = 255 PRINT A!, A&, A% PRINT A
Kullanıcı tanımlı Veri Tipleri
Kendi veri tipinizi belirleyebilirsiniz Bu size bellekte kaplayacak olan verilerinizi kullanmanızı kolaylaştıracaktır. Örneğin kişilerin adres bilgileri üzerinde işlem yapmak istiyorsanız, kişi için kendinizin belirlediği bir veri yapısı oluşturabilirsiniz.
TYPE Adrestipi Adresi AS STRING * 50 PostaKodu AS STRING * 7 Adi AS STRING * 30 Telefonu AS STRING * 18 END TYPE
Bu açıklamalar sanırım yetersiz olacaktır başlangıç için. Daha detaylı bilgi almak için TYPE yazısı üzerinde iken F1 e basarak yardım alabilirsiniz.
Tanımlamış olduğumuz ADRESTIPI veri tipini kullanmak için bellekte yer açmalıyız. Bunun için
DIM Personel AS Addrestipi
komutunu kullanırız. Şimdi bu değişkenin(PERSONEL) elemanlarına değer aktaralım
Personel.Adresi = "Ankara Caddesi" Personel.PostaKodu = "33522" Personel.Adi = "Murat Velioğlu" Personel.Telefonu = "0866-945 44 21"
Bu tip değişken kullanımı QBasic de yeni iseniz ve ya diğer BASIC dillere alışkanlığınız varsa garip gelecektir. Ama bu tip değişkenler diğer dillerde de kullanılmaktadır. Şu an için telaşlanmanıza gerek yoktur. Zamanla bu yapıya alışıp gerekli yerlerde rahatlıkla kullanacaksınız.
Veri Tipleri Özet Tablosu
VERİ TİPİ | TANIMLAMA ŞEKİLLERİ |
BELLEKTE KAPLADIĞI ALAN (Byte) |
AÇIKLAMA |
INTEGER | DIM A AS INTEGER DIM A% DEFINT A |
2 (16 bit) |
-32768 ile 32767 sayıları arasındaki TAM sayıları tutabilir(2^15). Daha büyük sayılar yazmaya çalıştığınızda Owerflow(Taşma) hatası verir. Küsurlu rakamlar vermeye çalıştığınızda yakın olan sayıya tamamlar. A% = 45.12 ‘–> 45 A% = 51.72 ‘–> 52 |
LONG | DIM A AS LONG DIM A& DEFLNG A |
4 (32 bit) |
-2147483648 ile 2147483647 sayıları arasındaki TAM sayıları tutabilir(2^31). Küsurlar INTEGERdeki gibidir. |
SINGLE | DIM A AS SINGLE DIM A! DEFSNG A |
4 (32 bit) |
7 rakamdan oluşan küsurlu veya tam rakamları tutar. A! = 3.141145 Daha fazla rakam girildiğinde bilimsel kullanım şekline dönüştürür. A! = 12345678 ‘ -> 1.234568E+07 E+07 demek .(nokta) yı 7 rakam sağa kaydırılacak demektir E-07 olsaydı sola kaydırma olacaktı. A! = 50000000000 ‘ -> 5E+10 A! = 1 / 25000000 ‘ -> 4E-08 |
DOUBLE | DIM A AS DOUBLE DIM A# DEFDBL A |
8 (64 bit) |
15 rakamdan oluşan küsurlu veya tam rakamları tutar. Diğer özellikler SINGLEdaki gibidir. |
STRING | DIM A AS STRING DIM A$ DEFSTR A |
Her bir karakter için 1 byte | |
Kullanıcı Tanımlı |
Tanımlanan genişliğe göre değişir |
PÜF NOKTASI:
DIM BORCU AS LONG
şeklinde değişken tanımlandıktan sonra programın ilerleyen satırlarında
BORCU = 1250000
şeklinde kullanabiliriz. Ama karmaşık programlar yazdığınızda bu kullanım hangi değişkenin hangi veri tipinde olduğunu anlamanızda zorluk çıkarır. Kolayı: İmleç değişken üzerinde iken F1 tuşuna basarak değişkenin hangi modülde hangi veri tipinde kullanıldığını gösteren ekranı görebilirsiniz.