Yazılımlarda değişken ve sabit kullanımı
Yazılımlarda değişken ve abit kullanımı |
Her yazılımda kullanıcı tarafından bilgi girilmesi ya da yazılım içinde tanımlanması gereken sabit sayılar veya yazılar olabilir. Bu tür tanımlar program içinde değişecek ise değişken olarak (variable) değişmeyecek ise sabit (constant ) olarak tanımlanır.
Bu tanımlar yapılırken dikkat edilmesi gereken başlıca üç nokta vardır. Bunlardan ilki tanımın sabit mi değişken mi olacağı, ikincisi tanımın bölgesel mi yoksa bütün prosedür ve fonksyonlar tarafından mı çağıralacağı, üçüncüsü ise bu tanımın tipidir.
Eğer bir tanım fonksiyon ve prosedürlerin dışında TForm değişkenin bulunduğu bölgede ;
Yapılırsa bu tanımlar unit içerisinde istenen heryerden ulaşılır ve değiştirilir eğer tanım burada yapılmazsa, sadece tanımlanan prosedür ya da fonksiyon içerisinde geçerli olur.
Bölgesel tanımlamalar prosedür ya da fonksiyon başlığından sonra begin … end bloğundan önce yapılır . Yapılacak olan tanımlama değişken ise önce var bloğu oluşturulur eğer ki tanımlama sabit ise bu kez const bloğu içerisine yazılır.
Sayısal Tipler
Type | Aralık | Uzunluk |
Byte | 0 .. 255 | 1 |
Shortint | -128 .. 127 | 1 |
Smallint | -32768 .. 32767 | 2 |
Word | 0 .. 65535 | 2 |
Integer | smallint ya da longint | 2 ya da 4 |
Cardinal | longword | 4 |
Longint | -2147483648 .. 2147483647 | 4 |
Longword | 0..4294967295 | 4 |
Int64 | -9223372036854775808 .. 9223372036854775807 | 8 |
QWord | 0 .. 18446744073709551615 | 8 |
Gerçek Tipler
Type Aralık Uzunluk
Real platform dependant 4 ya da 8
Single 1.5E-45 .. 3.4E38 4
Double 5.0E-324 .. 1.7E308 8
Extended 1.9E-4932 .. 1.1E4932 10
Comp -2E64+1 .. 2E63-1 8
Currency -922337203685477.5808 8
Mantık Tipleri
Type | Bytes | Ord(True) |
Boolean | 1 | 1 |
ByteBool | 1 | Any nonzero value |
WordBool | 2 | Any nonzero value |
LongBool | 4 | Any nonzero value |
"Yukarıdaki tip bilgileri Free PASCAL klavuzlarından direk olarak alınmıştır"
Tipler saklanacak olan bilginin ne tür bir bilgi ve ne kadarlık bir alana ihtiyaç duyacağını tanımlar ve bellekden buna göre alan tahsisi yapılır. 20 rakamını saklamakla
2.000.000 rakamını saklamak ya da 156,72 rakamını saklamak aynı şeyler değildir. Bunları ayırt eden alacakları değerlerdir eğer sayınız 255 değerini aşmayacak bir sayı ise
değişken olarak byte tanımlamanız yeterlidir bunun yerine double ya da word tanımlamanız anlamsız yere yer işgaline neden olur ve yaptığınız program çalışsa bile başarılı bir program değildir.Bunun tam terside son derece önemlidir kesirli sonuç almayı beklediğiniz ya da koşullarınızı ona göre ayarladığınız bir yazılımda değişkeni byte yaparsanız bölümler kesirli sonuç verecek olsa bile asla sonuç kesirli çıkmaz ve sizde sorunun nedenini anlamak için uğraşır durursunuz .
Bu nedenle değişken tanımlarken yukarıdaki tablo göz önünde bulundurulmalı, alınabilecek değerler hesaplanmalı ve değişken tipi ona göre seçilmelidir.
DEĞİŞKENLERİN BİRBİRİNE ÇEVRİMİ
Değişkenlerin tipleri birbirine uyumlu olduğu sürece birbirleri arasında fonksiyonlar aracılığıyla dönüşümler yapılabilir.
Bu fonksiyonlardan bazıları :
StrtoInt : Yazıyla girilen sayıyı integer veri tipine çevirir. StrtoFloat : Yazıyla girilen sayıyı float veri tipine çevirir. StrtoBool: Yazıyla girilen sayıyı boolean veri tipine çevirir.
StrtoCurr, StrtoTime, StrtoDatetime, Inttostr, Inttohex, FloattoStr, FloattoDatetime, Floattodecimal bu dönüşüm fonksiyonlarından bazılarıdır.
Bu tür fonksiyonlar kullanıcı girişinin matematiksel işlemlerde kullanılmasında ya da matematiksel bir işlemin sonucunun kullanıcıya aktarılmasında sıkca kullanılırlar.
C. Emre ÖZ – www.boreas.gen.tr