[PASCAL] 3-Veri Tipleri
Program içerisinde kullanılacak tüm değişkenlerin ve sabitlerin tipleri Var, Type veya Const bloklarında tanımlanmalıdır. Kullanabileceğiniz tipler:
- Tamsayı Tipler
- Ondalıklı Sayı Tipler
- Kayıt (Record) Tipler
- Set Tipler
- String Tip
- Boolean Tip
- Karakter (Char) Tip
- Dizi (Array) Tip
1) Tamsayı Tipleri:
Bu tip değişkenlere veya sabitlere ondalıklı değer aktarılamaz.
| Tip Adı | Alt Sınır | Üst Sınır | Kullandığı Alan |
|---|---|---|---|
| ShortInt | -128 | 127 | 1 Byte |
| Byte | 0 | 255 | 1 Byte |
| Integer | -32768 | 32767 | 2 Byte |
| Word | 0 | 65535 | 2 Byte |
| LongInt | -2147483648 | 2147483647 | 4 Byte |
A) SHORTINT: -128 ile +127 arasındaki işaretli değerleri, 1 byte uzunluğundaki alanda saklayan veri tipidir.
B) BYTE: 0-255 arasındaki değerleri 1 byte uzunluğundaki alanda saklayan veri tipidir.
C) INTEGER: -32768 ile +32767 arasındaki işaretli değerleri 2 byte uzunluğundaki alanda saklayan veri tipidir.
D) WORD: 0 ile 65535 arasındaki işaretsiz değerleri 2 byte ‘lık alanda saklayan veri tipidir.
E) LONGINT: -2147483648 ile 2147483647 arasındaki işaretli değerleri 4 byte uzunluğundaki alanda saklayan veri tipidir.
2) Ondalıklı Sayı Tipleri:
Ondalıklı değişken ve sabit tanımlamak için kullanılır.
| Tip Adı | Alt Sınır | Üst Sınır | Kullandığı Alan |
|---|---|---|---|
| Real | -2.9x10-39 | 1.7x1038 | 6 Byte |
| Single | 1.5x10-45 | 3.4x1038 | 4 Byte |
| Double | -5x10-324 | 1.7x10308 | 8 Byte |
| Extended | 3.4x10-4932 | 1.1x104932 | 10 Byte |
| Comp | -263+1 | 263-1 | 8 Byte |
A) REAL: 11-12 basamaklı ondalıklı sayılara duyarlıdır.
B) SINGLE: 7-8 basamaklı ondalıklı sayılara duyarlıdır.
C) DOUBLE: 15-16 basamaklı ondalıklı sayılara duyarlıdır.
D) EXTENDED: 19-20 basamaklı ondalıklı sayılara duyarlıdır.
E) COMP: 19-20 basamaklı ondalıklı sayılara duyarlıdır.
Önemli bir şeyden bahsetmek istiyorum. Ondalıklı veri tiplerinin saklayabildiği basamak ile “duyarlılığı” farklıdır. Ne demek istediğimi anlatmak için bir örnek vereyim. Pi sayısını her bir ondalıklı veri tipiyle yazdıralım:
3.141592653588304530 real için
3.141592741012573240 single için
3.141592653589793120 double için
3.141592653589793240 extended için
3.000000000000000000 comp için
Sizinde gördüğünüz gibi hepsi aynı sonucu vermiyor.
3) Karakter (Char) Tip:
Sadece bir karakterlik bilgiler için kullanılır. Sayısal bir anlam ifade etmez. Genelde ASCII kodlu karakterleri tanımlamak için kullanılır. 1 Byte uzunluğunda alan kullanır.
4) Boolean Tip
Sadece true(doğru) veya false(yanlış) değerlerinden birini alan tiptir. Mantıksal işlemlerde kullanılır. 1 Byte uzunluğunda alan kullanılır.
5) String Tip
Sayısal olmayan (alfa sayısal) tüm değişkeleri ve sabitleri tanımlamak için kullanılır. String veri tiplerine 1-255 arasında uzunluk verilebilir ve tip tanımlamada mutlaka uzunluk belirtilmelidir. String tipinin sıfırıncı elemanı LENGTH BYTE olarak adlandırılır ve içerdiği bilginin uzunluğu için kullanılır.
Aktarılacak bilgi tip tanımındaki uzunluğu geçmemelidir aksi halde taşma hatası (overflow) olur.
Örneğin “string[5]” olarak tanımlanan bir veri tipi beş karakterlik bilgi alabilir. Biz bu değişkene “abcde” değerini aktaralım. LENGHT BYTE ile birlikte bu değişken toplam 6 Byte ‘lık yer kaplar. Kısacası string tipine verdiğiniz uzunluk +1 Byte olarak yer kaplar.
6) Dizi (Array) Tip:
İndexlenmiş değişkenlere dizi(array) denir. Aynı tipteki birden fazla bilginin tutulduğu veri tipidir. Daha sonra ayrıntılı olarak ele alacağız.
7) Set (Küme) Tipleri:
Birbirleriyle ilgili ve aynı tipte olan verilerin oluşturduğu bütündür. Kümeyi oluşturan elemanlar arasına virgül işareti konulur. Bir kümede en fazla bulunabilecek elaman sayısı 256 ‘dır. Bu elemanların numaraları 0 ile 255 arasındadır. Karşılaştırma işlemlerinde kümedeki elemanların sıralanışı önemli değildir. Yani [‘E’,’H’] ve [‘H’,’E’] aynı kümeyi temsil eder. Küme üzerinde kesişim, bileşim, fark işlemleri yapılabileceği gibi mantıksal karşılaştırmalarda yapılabilir. Birkaç örnek verelim:
[1..4] { 1 ile 4 arasındaki sayılar }
[1,2,3,4] { 1 ile 4 arasındaki sayılar }
[‘A’,’B’,’C’,’D’,’E’] { A ile E arasındaki harfler }
[‘philips’,’samsung’,’lg’] { üç elemanlı bir küme }
8) Kayıt (Record) Tip:
Sizin belirlediğiniz isimde bir tip oluşturmanızı sağlar. Tanımladığınız bu tipi, PASCAL ‘ın veri tiplerinin kombinasyonu gibi düşünebilirsiniz. Aynı değişken adına birden fazla tip atayamazsınız ancak Record içinde kullandığınız değişken adını Record dışında farklı bir tipte kullanabilirsizin. Birden fazla değişken aynı tipte olacaksa değişkenler arasına virgül koyarak arka arkaya yazabilirsiniz. Record tipindeki veriler TYPE bölümünde ve RECORD – END bloğu içinde tanımlanırlar. Tanımlamış olduğunuz tipi, aynı diğer tipler gibi VAR bloğunda kullanabilirsiniz.
Bir örnek verelim:
-
TYPE kayit = RECORD
-
ad,soyad: string[30];
-
yazili,sozlu: integer;
-
ortalama: real;
-
tus: char
-
gecmedurumu: boolean;
-
END;
-
VAR
-
Ogrkayit:kayit;
-
.......
-
.......
-
.......
Tanımlamış olduğumuz tipe iki şekilde veri aktarabiliriz. Bunu da bir örnekle gösterelim:
-
{ Birinci Yöntem }
-
kayit.ad:=”Atila”;
-
kayit.sozlu:=60;
-
kayit.yazili:=50;
-
kayit.ortalama:=(kayit.yazili+kayit.sozlu)/2;
-
...........
-
...........
-
-
{ İkinci Yöntem }
-
With kayit do
-
Begin
-
ad:=”Atila”;
-
sozlu:=60;
-
yazili:=50;
-
ortalama:=(yazili+sozlu)/2;
-
............
-
............
-
End;
Her iki tanımlama ve değer aktarma yöntemi de aynı işi görecektir. Hangi yolun daha kullanışlı yada basit olduğunu düşünüyorsanız o yolu kullanabilirsiniz.
Yazdır
| 653 Görüntülenme | Kategori: Pascal & Delphi & Delphi.NET |
Geri İzleme
Etiketler: turbo pascal, pascal, veri tipleri, data typesBenzer Yazılar
Yorum Yap
XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

18 Ekim 2007 |



Henüz yorum yapılmamış.