[PASCAL] 3-Veri Tipleri

Yazan: türker | Tarih 18 Ekim 2007 | Yorum  1 Yorum
BerbatKötüOrtaGüzelHarika Henüz puan verilmemiş
Loading ... Loading ...

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, ‘ı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:

DELPHI:
  1. TYPE kayit = RECORD
  2.     ad,soyad: string[30];
  3.     yazili,sozlu: integer;
  4.     ortalama: real;
  5.     tus: char
  6.     gecmedurumu: boolean;
  7. END;
  8. VAR
  9.     Ogrkayit:kayit;
  10. .......
  11. .......
  12. .......

Tanımlamış olduğumuz tipe iki şekilde veri aktarabiliriz. Bunu da bir örnekle gösterelim:

DELPHI:
  1. { Birinci Yöntem }
  2. kayit.ad:=”Atila”;
  3. kayit.sozlu:=60;
  4. kayit.yazili:=50;
  5. kayit.ortalama:=(kayit.yazili+kayit.sozlu)/2;
  6. ...........
  7. ...........
  8.  
  9. { İkinci Yöntem }
  10. With kayit do
  11. Begin
  12.   ad:=”Atila”;
  13.   sozlu:=60;
  14.   yazili:=50;
  15.   ortalama:=(yazili+sozlu)/2;
  16.   ............
  17.   ............
  18. 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 Yazdır | 818 Görüntülenme | Kategori: Pascal & Delphi & Delphi.NET | Trackback  Geri İzleme
Etiketler  Etiketler: , , ,

Benzer Yazılar


Yorum Yap


(gerekli)

(gerekli,yayınlanmaz)




XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>