VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Advertisements

Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Göstericiler (Pointers)
SINIFLAR Yılmaz Kılıçaslan.
void medyan(int cevap[]) { int j; siralama(cevap);
İSİM UZAYLARI.
Nesneye Dayalı Programlama
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
Nesneye Dayalı Programlama
C++’A GİRİŞ Yılmaz Kılıçaslan.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
MikroC ile PIC Programlama
KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR, NESNE DİZİLERİ Yılmaz Kılıçaslan.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
NESNEYE YÖNELİK PROGRAMLAMA
Nesneye Dayalı Programlama
Nesneye Yönelik Programlama
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Nesneye Dayalı Programlama
C ile Programlamaya Giriş
Paralel Programlamaya Giriş
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Algoritma & Programlama
C++’a Giriş Yılmaz Kılıçaslan.
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
Temel Giriş/Çıkış Fonksiyonları
C++ Ders Notları 2.Ders (Dilin Yapısı)
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
C++ Ders Notları 3.Ders (String İşlemleri)
C++.
Paralel Programlamaya Giriş
Paralel Programlamaya Giriş 2
Paralel Programlamaya Giriş
JAVA PROGRAMLAMA ORNEKLER
Pointer (İşaretçi) Yapısal Veri Tipleri (Struct)
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Fonksiyonlar
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
4. Hafta1 4. HAFTA. 4. Hafta2 Fonksiyonlar  Büyük problemler, küçük parçalara bölünerek kolay çözülür  Yazılımlar benzer modüller içerirler  Hata ayıklama.
BİLGİSAYAR programlama II
Veri yapıları Hafta3 Dizi Yapıları.
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Bilgisayar Programlama III C
Hafta2 Rekürsif Algoritmalar
BM-308 Paralel Programlamaya Giriş Bahar 2016 (2. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
C Programlama Dili Bilgisayar Mühendisliği.
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
FONKSİYONLAR Programlamada fonksiyon kullanmanın en önemli sebebi kodların tekrar edilmesini engellemektir. Örneğin; karekök yada üsalma işlemi yapan bir.
Bölüm 2 C Dilinin Temelleri
YAPISAL PROGRAMLAMA Hafta-6
Veri Tipleri 12/4/2018.
YAPISAL PROGRAMLAMA Hafta-8
Bölüm 2 C Dilinin Temelleri
C ile Programlamaya Giriş
Algoritmalar ve Programlama II Ders 11: Kalıtım
Sunum transkripti:

VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama

İşaretçi Nedir? 1-1 C dilinde işaretçi kullanımına örnek verelim: C dilinde işaretçi kullanımına örnek verelim: TC (Turbo C) ile aşağıdaki örneği yazıp, derleyiniz. #include main(){ int i; /* "i" tamsayı değişkenlerdir */ int *iptr; /* "*" işaretçi olduğunu belirtir */ iptr = &i; /* işaretçiye muhakkak bir değişken adresi atanır, "&" adres simgesidir */ *iptr = 55; /* aslında işaretçinin işaret ettiği değişkene 55 değeri atandı */ clrscr(); printf("%d\n",i);/* ekrana 55 yazar */ printf("%d\n",*iptr); /* 55 "i" değişkeninin değeri*/ printf("%X\n",iptr); /* FFC8 "i" değişkeninin hafızadaki adresi*/ printf("%X\n",&iptr); /* FFCA işaretçinin adresi*/ printf("%X\n",&i);/* FFC8 "i" değişkeninin hafızadaki adresi*/ getch(); } Ekran çıktısı Örnek Program

Örnekteki adresler sizin bilgisayarınızda aynı olmayabilir. Hatta her çalıştırmada farklı adresler de olabilir. İşaretçi Nedir? 1-2 Çalıştırılmadan önceki bellek görüntüsü Çalıştırılmadan önceki bellek görüntüsü Genellikle bellek, üstten aşağıya doğru her satırda 1 Byte bilgi olmak üzere, üst üste kutular halinde gösterilir. FFC8 FFCA FFC9 FFCB Adres Bilgileri (Onaltılık sayı sisteminde) Bellekteki Bilgiler (Onaltılık sayı sisteminde) Program ilk çalıştırıldığında bellek boştur.

İşaretçi Nedir? 1-3 Çalıştırıldıktan sonraki bellek görüntüsü Çalıştırıldıktan sonraki bellek görüntüsü FFC8 FFCA FFC9 FFCB 37 C8 0 FF Adres Bilgileri (Onaltılık sayı sisteminde) Bellekteki Bilgiler (Onaltılık sayı sisteminde) (37) 16 = (55) 10 FFCA ve FFCB adreslerindeki birer Byte’lık değerleri yan yana getirdiğinizde, “FFC8” değerini yani “i” değişkeninin adresini görebilirsiniz. “i” değişkeninin bellek bölgesi (2 Byte’lık yer kaplıyor) “iptr” değişkeninin bellek bölgesi (2 Byte’lık yer kaplıyor)

Nesne Tabanlı Programlama 2-1 Aşağıdaki sitelerden C++ programlama dilinin derleyicisi indirebilirsiniz ftp://ftpd.borland.com/download/bcppbuilder/freecommandLinetools.exe

Nesne Tabanlı Programlama 2-2 Programı kurup, ana dosyayı çalıştırınız

Nesne Tabanlı Programlama 2-3 Yeni bir proje açınız 3. Adım Projenin adını giriniz 2. Adım Projenin türünü seçiniz 1. Adım “Dosya*Yeni*Proje…” komutu veriniz

Nesne Tabanlı Programlama 2-4 Projenizi kaydediniz ve ana pencereyi görünüz Projenin hazır kod kısmı

Nesne Tabanlı Programlama 2-5 Sonraki slayttaki kodları yazınız Projenin kod kısmı “main.cpp” dosyası içine yazılır

Nesne Tabanlı Programlama 2-6 Kodlar ( ~ simgesi "satırın devamı var" anlamındadır. ) #include using namespace std; class canavar { public: int x_koordinati; int y_koordinati; void hareketEt(int, int); void ilklendirme(int, int); }; void canavar::hareketEt(int yeni_x, int ~ yeni_y) { x_koordinati = x_koordinati + yeni_x; y_koordinati = y_koordinati + yeni_y; } void canavar::ilklendirme(int ilk_x, int ~ ilk_y) { x_koordinati = ilk_x; y_koordinati = ilk_y; } int main(int argc, char *argv[]) { canavar zombi; //Canavar sınıfından zombi ~ nesnesi üretiyoruz zombi.ilklendirme(12, 15); printf("Ilk C++ Programimiz\n"); cout << "Zombimizin X olarak yeri " << ~ zombi.x_koordinati << "\n"; cout << "Zombimizin Y olarak yeri " << ~ zombi.y_koordinati << "\n"; zombi.hareketEt (34, 9); cout << "X olarak zombinin yeni yeri " ~ <<zombi.x_koordinati << "\n"; cout << "Y olarak zombinin yeni yeri " ~ <<zombi.y_koordinati << "\n"; system("PAUSE"); return 0; }

Nesne Tabanlı Programlama 2-7 Projeyi derleyip, çalıştırınız, oluşan dosyaları görünüz “Derle ve Çalıştır (F9)” komutu veriniz. Hatalarınız var ise, düzeltiniz, tekrar derleyiniz Oluşan dosyalar “nesne.dev” ana proje dosyasıdır

Sunu sona erdi Takip Ettiğiniz İçin Teşekkürler!