BİLGİSAYAR programlama II

Slides:



Advertisements
Benzer bir sunumlar
C# - Metotlar.
Advertisements

Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Bölüm 12 ÜST DÜZEY KONULAR Dinamik Bellek Ayırma Önişlemci
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Göstericiler (Pointers)
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
void medyan(int cevap[]) { int j; siralama(cevap);
Bölüm 2 C Dilinin Temelleri
String Diziler(Katarlar)
Diziler.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
String Kütüphanesindeki Arama Fonksiyonları
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
KOPYA YAPICI FONKSİYON, STATİK ELEMANLAR, ARKADAŞ SINIF VE FONKSİYONLAR, NESNE DİZİLERİ Yılmaz Kılıçaslan.
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
Nesneye Dayalı Programlama
DİZİLER.
Erişim Denetimi, Fonksiyon
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Nesneye Yönelik Programlama
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ
Nesneye Dayalı Programlama
Paralel Programlamaya Giriş
FONKSİYONLAR.
SABİT NESNE VE ELEMAN FONKSİYONLAR VE ELEMAN NESNELER
Programlamaya Giriş ve Algoritmalar
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Kalıtım , Sınıf Asli Ergün.
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Algoritma & Programlama
Diziler (Arrays).
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
SINIFLAR VE DİNAMİK BELLEK YÖNETİMİ VE SINIFLARIN DİĞER ÖZELLİKLERİ Yılmaz Kılıçaslan.
KALITIM Yılmaz Kılıçaslan.
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
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.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Bil 102 Bölüm 6 Diziler.
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
JAVA PROGRAMLAMA ORNEKLER
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
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.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
C Programlamada, benzer tipte tanımlaman değişkenleri kontrol etmede bize en çok yardım eden dostlarımız dizilerdir. Örneğin: 100 Öğrencinin bilgilerini.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
Hafta2 Rekürsif Algoritmalar
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.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Fonksiyonlar ve Diziler
C Sharp 9. hafta - dIZILER.
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
YAPISAL PROGRAMLAMA Hafta-6
BİLGİSAYAR programlama II
Bölüm 10: Kayıtlar – Records (structs)
YAPISAL PROGRAMLAMA Hafta-7
Karakter dizi fonksiyonları
Sunum transkripti:

BİLGİSAYAR programlama II Yapılar ve Sınıflar (struct ve class) BİLGİSAYAR programlama II

struct

Bir yapı (struct) basit değişkenler topluluğu şeklinde tanımlanabilir. Yapıdaki değişkenlerin tipleri birbirinden farklı olabilir (Aynı olma zorunluluğu yoktur). Dizi değişkenlerde dizinin elemanlarının tümünün aynı tipte olma zorunluluğu olduğunu hatırlayalım.

Dizideki verilerden her biri dizinin elemanları olarak isimlendirilmektedir. Yapıdaki verilerden her biri yapının üyeleri olarak isimlendirilmektedir.

struct örnek tanımlama

Yapılar sınıflarla birlikte nesne programlamanın iki önemli yapı elemanıdır.

Örnek program #include <iostream> struct Parca { }; int ModelNo;   struct Parca { int ModelNo; int ParcaNo; float Maliyet; };

main() { } Parca P1; // Yapı değişkeni tanımlama P1.ModelNo = 60; P1.ParcaNo = 601; P1.Maliyet = 21.50; // Yapı üyelerinin görüntülenmesi cout << "Model " << P1.ModelNo; cout << ", parca " << P1.ParcaNo << endl; cout << P1.Maliyet << " TL’ye mal olmaktadır.”; }

Ekran çıktısı

Örnek program #include <iostream> main() { struct OGRENCI   main() { struct OGRENCI int Vize; int Final; char Ad[25]; } ;

} struct OGRENCI Lisansustu; // C tarzi struct bildirimi OGRENCI Lisans; // C++ tarzi struct bildirimi Lisansustu.Vize = 90; Lisans.Final = 100; cout << Lisansustu.Vize << " " << Lisans.Final << endl; }

Ekran çıktısı

Bu örnekte diğerlerinden farklı olarak, yapı içerisinde fonksiyon (metod) kullanılmıştır. Yapılar içerisinde (Sınıf içerisinde de aynı) kullanılan fonksiyonlara metod adı verilmektedir.

Örnek #include <iostream> #include <conio.h> struct Zaman   struct Zaman { int Saat; int Dakika; int Saniye; int SaniyeyeDonustur() return Saat*60*60+Dakika*60+Saniye; } };

main() { Zaman t; cout<<"Bir zaman girin (saat dakika saniye): "; cin>>t.Saat>>t.Dakika>>t.Saniye; cout << “Girilen zaman toplam “ << t.SaniyeyeDonustur() << “ saniyedir...”; getch(); }

Ekran çıktısı

SaniyeyeDonustur() metodu yapı içerisinde tanımlanmıştır. Yapı içerisindeki metotlar yapı tanımlaması bittikten sonra da tanımlanabilir. Metot bildirimi yapı içerisinde yapılır, fakat metot tanımlaması (açık yazılımı) metot dışında yapılır. Önce yapı adı, sonra :: ve metot adı yazılarak tanımlama yapılır:

Örnek #include <iostream> #include <conio.h> struct Zaman   struct Zaman { int Saat; int Dakika; int Saniye; int SaniyeyeDonustur(); };

Zaman::SaniyeyeDonustur() { return Saat*60*60+Dakika*60+Saniye; }

main() { Zaman t; cout<<"Bir zaman girin (saat dakika saniye): "; cin>>t.Saat>>t.Dakika>>t.Saniye; cout << "Girilen zaman toplam " << t.SaniyeyeDonustur() << " saniyedir..."; getch(); }

Tanımlanan yapılar dizi değişken tanımlamalarında bilgi tipi olarak da kullanılabilir.

Örnek #include <iostream> #include <conio.h>   const int N = 2; struct Parca { int ModelNo; int ParcaNo; float Maliyet; };

main() { int i; Parca P[N];

for (i=0; i<N; i++) { } cout << endl; cout << "Model no: "; cin >> P[i].ModelNo; cout << "Parca no: "; cin >> P[i].ParcaNo; cout << "Maliyet: "; cin >> P[i].Maliyet; }

cout << endl; for (i=0; i<N; i++) { } cout << "Model: " << P[i].ModelNo; cout << " Part: " << P[i].ParcaNo; cout << " Maliyet: " << P[i].Maliyet << endl; }

Ekran çıktısı

class

Yapı (struct) tanımlamasına çok benzer olan class (sınıf) tanımlaması vardır. Sınıflarda üyeler için özel (private) ve genel (public) ayrımların yapılabilmesidir. Bu ayrım sınıf üyelerine (genelde değişkenler) dışarıdan müdahelenin yapılamamasını sağlamaktadır. Üye değişkenlere sadece sınıf fonksiyonları (metod) ile ulaşabilmeye izin verilmesi amaçlanmaktadır.