Skip to main content
drzeki.com

Veri Tipleri

Hafta: 2
Konu: Veri Tipleri
Hedef: Programlamadillerinde o an kullanılan veriler bellekte tutulur. Bu verileri programlama dillerinde kullanabilmek için veri tipleri ile tanımlamak gereklidir, değişkenler en çok kullanılan temel veri tipidir.
            Programlar genellikle kullanıcı ile etkileşim halindedir, bu amaçla programlama dillerinde kullanıcıdan bilgi almak veya kullanıcıya bilgi vermek için giriş-çıkış komutları kullanılır.
 
Veri Tipleri
Programlama Dillerinin Genel Yapıları
            Günümüzde kullanılan tüm programlama dillerinin yapıları genellikle aynıdır.
 
Temel Veri Tipleri
            Bilgisayarlarda, programlama dillerinde işlemlerde kullanılacak bilgiler verilerden elde edilir. Programlamanın asıl kullanım amaçlarından biri de verileri işlemektir. Veriler programlama dillerinde değişkenlerde veya sabitlerde tutulurlar.
           
Bir programda kullanılacak olan verilerin geçici olarak temsil edilmesi ve kendilerine atanmış verilerin saklanması değişkenler ile gerçekleştirilir. Değişkenler bilginin bellekte saklandığı yerin adresidir.
 
            Aşağıdaki örnekte 0020 adresindeki verinin değeri için tel_no, 0028 adresindeki verinin değeri için okul_no adlı değişkenler kullanılır.
 
Değişkenin Adı
Bellek
Bellek Adresi
 
 
0000
 
 
008
 
 
0010
 
 
0018
Tel_no
110101010
0020
Okul_no
010110101
0028
 
 
0030
 
 
0038
 
 
 
 
 
Bellekte veriler bitler (1 veya 0) şeklinde tutulur. Bellek verilen tutulduğu birimlerden oluşan bir yapıdır. Her birimin bir adresi vardır. (F3444 gibi) Program yazarken bu adresler yerine, bu adresleri temsil eden değişkenler kullanılır. Bu adresleme değişkenlerin tutulduğu verinin içeriğine göre farklılık gösterir.
 
            Programlama dillerinde değişkenleri kullanmadan önce kullanılacak değişkenleri programa tanıtmak gerekmektedir. Bu tanıtma işlemi bazı programlama dillerinde program kodları yazılmaya başlanmadan önce yapılır. Bazı dillerde ise değişkenin tanımlanması değişken kullanımı esnasında yapılabilir.
 
Temel Veri Bildirileri
Veri tipleri değişkenler ve sabitler olarak iki ana başlığa ayrılır;
 
Değişkenler:
            Değişkenler bir programda değişik işlemlerde kullanılacak veya işlemlerden sonra ortaya çıkacak olan değerlerin saklanması amacıyla kullanılır.
 
a)                 Mantıksal Veri Tipi
Mantıksal veri tipi, içerisinde mantıksal değer olan True ya da False değerini saklar. Bu değeri saklamak için bellekte sadece 1 bit kullanılır, doğru veya yanlış değerini bellekte 1 veya 0 değeri karşılar. C deki kullanım şekli
 
bool gecti;
gecti = true; // Geçti
gecti = false; // Kaldı
 
b)                 Tamsayı Veri Tipleri
Bir tamsayı veri tipinin değerinin büyüklüğü bilgisayardan bilgisayara, programlama diline veya bellekte ayrılan yere göre değişebilir. Tamsayının büyüklüğü ayrıca sayının işaretli olmamasına göre de değişir. C dilinde tanımlanması aşağıdaki gibidir;
Bildiri / Özellik
Uzunluk
Minimum Değer
Maksimum Değer
Char
1 Byte
-128
+127
Unsigned char
1 Byte
0
255
İnt
2 Byte
-32767
+32767
Unsigned int
2 Byte
0
65535
Long
4 Byte
-2147483648
+2147483674
Unsigned long
4 Byte
0
4294967295
 
            C dilindeki kullanımı;
 
            char c;
            …
            C=65;
 
Reel Sayı Tipleri
            Programlama dillerinde daha çok reel (ondalık, kesirli) sayıları göstermek için kullanılan bir veri tipidir. Bu veri tipi bellekte kayan noktalı (float point) şeklinde saklanır. Kayan noktalı gösterimde E harfinden sonra gelen sayı 10’un kuvveti şeklinde hesaplanmıştır.
 
Gerçek Sayı
Kayan Noktalı Gösterimi
10’un Kuvveti Şek. Gösterimi
0,126
0,126E+0
0,126×10^0
24,45821
0,2445821E+2
0,2445821×10^2
5244
0,5244E+4
0,5244×10^4
0,0023
0,23E-2
0,23×10^-2
 
Kayan noktalı gösterimde virgülden sonra kaç basamak olacağına o sayının duyarlılığı denir. Genelde bilgisayarlarda bu duyarlılık 6 hane olarak belirlenmiştir. Bu, sayının virgülden sonraki 6 hanesi değil de kayan noktalı gösteriminde virgülden sonraki 6 hanesidir.
 
Gerçek Sayı
Kayan Noktalı Gösterimi
Bellekte Saklanmış Hali
24,458214
0,24458214E+2
0,244582E+2
            Yukarıdaki örnekte görüldüğü gibi sayının son iki hanesindeki 14 sayısı duyarlılık6 olduğu için bellekte saklanmamıştır.
 
            Reel sayı veri tiplerinin C progralama dilinde tanımlanması;
Bildiri / Özellik
Uzunluk
Minimum Değer
Maksimum Değer
Float
4 Byte
-3,4E+4
+3,4E+38
Double
8 Byte
-1,7E+308
+1,7E+308
Long double
10 Byte
-3,4E+4932
+3,4E+4932
 
            C dilindeki kullanımları;
 
            float f;
            …
f = 10,246;
            f = 20;
            f = 5/2; // Sonuç 2.5 değil 2 çıkar
            f = 5,0/2; // Sonuç 2,5 çıkar
            f = 5/2,0; // Sonuç 2,5 çıkar
            f = (float) 5/2; // Sonuç 2,5 çıkar
 
double d;
d = 30,135;
 
Not:    C dilinde reel sayılarla işlem yaparken sonucun reel sayı olabilmesi için işleme giren değişkenler veya sayılardan en az birinin reel sayı olması gerekir.
 
Karakter ve String Veri Tipleri
            Genelde programlama dillerinde sayısal olmayan veriler bellidir ve bunlar değişik karakter kümelerinde utulur. Bu karakter kümelerinde her bir sembole karşılık bir sayısal değer gelir. Programlama dilleri değişik karakter kümeleri kullanabilir. Günümüzde en çok kullanılanı ASCII (American Standard Code for Information Interchange) kümesidir.
 
Sabitler
            Sabitler bir programda değişmeyen değerler içerirler. Değerleri tanımlama sırasında verilir ve tanımlamadan sonra değerleri değiştirilemez.
 
            Pi sayısı 3,14159265358979 değeri sabit olarak tanımlanabilir.
 
            Const float pi = 3,14159265358979;

Veri Yapıları ve C’ye Giriş

Hafta: 1
Konu: Veri Yapıları ve C’ye Giriş
Hedef: Bu haftaki dersimizde veri yapılarına ve C’ye giriş yapılacak, Dev C++ kullanımı hakkında detaylı bilgi verilecektir.
 
Veri Yapılarına Giriş
            Algoritma, bir problemi çözmek için geliştirilmiş kesin bir yöntemdir. Bu algoritma, programlama dillerine uygulandığında program adını alır.
 
            Algoritmalar tarafından işlenen en temel elemanlara (sayısal bilgiler, metinsel bilgiler, resimler, sesler vb.) veri adı verilir. Bir algoritmanın etkin, anlaşılır ve doğru olabilmesi için algoritmanın işleyeceği verilerin düzenlenmesi gerekir.
 
            Verilerin düzenlenme biçimini belirleyen yapı taşlarına veri yapıları denir. Bir program değişkeni bile bir veri yapısı olarak kabul edilebilir. Değişik algoritmalarda verilerin diziler, yığınlar, kuyruklar ve ağaçlar gibi veri yapıları şeklinde düzenlenmesi gerekebilir.
 
            Bir programda veri, yapı ve algoritma önemli ve birbirinden ayrılmaz bileşenlerdir. Verilerin düzenlenme biçimleri de önemlidir. Çünkü, yapı iyi tasarlandığında etkin, anlaşılır, doğru ve hızlı çalışıp az kaynak kullanan algoritma geliştirmek kolaylaşır.
 
C’ye Giriş
            C bilgisi dersin amacı değildir, veri yapılarını öğrenmek için bir araçtır. Bizim bu derste C dilini seçmemizin sebepleri aşağıda sıralanmıştır;
 
a)                  C taşınabilir (platform bağımsız) bir programlama dilidir. C dili ile yazılan bir program farklı bir işletim sisteminde üzerinde hiçbir değişiklik yapılmadan veya basit düzenlemeler yapılarak kullanılabilir.
b)                 C yapısal bir dildir. Yapısal dillerde kod ve veri bellekte ayrı bölgelerde tutulur, bir işlem icrasında o anda gerekli olan değişken ve datalar belleği kullanırlar.
c)                  Programlama dilleri yapılarına göre 3’e ayrılırlar;
1)                 Alçak Seviyeli Programlama Dilleri: Makine diline çok yakındır. Program geliştirilirken bilgisayarın iç yapısı ve işleyişi çok iyi bilinmelidir. Assembler bu gruba en iyi örnektir.
2)                 Orta Seviyeli Programlama Dilleri: Hem alçak seviye komutları hem de yüksek seviye fonksiyonlarla desteklenmiş olan dillerdir. Programcı gerekli olduğu yerlerde alçak seviye komutları kullanarak yüksek seviye programlama dilleri ile yapılamayacak işlemlerin icrasını sağlayabilir, ayrıca hazır gelişmiş fonksiyonlar sayesinde birçok işlemi kolaylıkla gerçekleştirebilir. C dili bu grubu temsil eder.
3)                 Yüksek Seviye Programlama Dilleri: Birçok işlemin derleyici aracılığıyla, hazır komut kümelerinin kullanımıyla yapıldığı programlama dilleridir. Örnek olarak, Pascal, Basic ve Cobol gösterilebilir.
 
Programlama dillerinin seviyeleri ile yetenekleri ters orantılıdır. Alçak seviyeye yaklaştıkça dilin yeteneği ve gücü artar, programlar daha hızlı çalışır, kısıtlamalar azalır, fakat kod uzunluğu ve karmaşıklığı artar, büyük projeler gerçekleştirmek zorlaşır.