Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.

Slides:



Advertisements
Benzer bir sunumlar
C# - Metotlar.
Advertisements

Diziler.
Nesnelerin Özellikleri. - Üye nesneler - friend belirtesi - Nesnelerin operatörlere yüklenmesi - this yerel (lokal) değişkeni - inline tanımlı üye fonksiyonlar.
Nöbetçi Kontrollü Döngü
SINIFLAR Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA SINIFLAR
Atama ve Girdi/Çıktı Komutları
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
C++’A GİRİŞ Yılmaz Kılıçaslan.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bölüm 10 Yapılar ve Birleşimler
SINIFLAR GİRİŞ Yılmaz Kılıçaslan.
NESNEYE YÖNELİK PROGRAMLAMA
Nesneye Dayalı Programlama
DİZİLER.
Erişim Denetimi, Fonksiyon
C++ Yapısı Giriş-Çıkış Komutları Döngü Komutları
Nesneye Yönelik Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C#.NET 5.0 C# .NET 5.0 Eğitimleri Volkan KANAT.
Nesneye Dayalı Programlama
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
FONKSİYONLAR.
Demet AYDIN METODLAR Demet AYDIN
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
Nesneye Dayalı Programlama
C++’a Giriş Yılmaz Kılıçaslan.
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif 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)
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
C++.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
BTP206– Görsel Programlama II
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Algoritmalar ve Programlama I Ders 10: ALTPROGRAM KAVRAMI ve FONKSİYON
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
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.
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.
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.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Bilgisayar Programlama III C
Hafta2 Rekürsif Algoritmalar
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
C’de Fonsiyonlar Aslı Ergün.
BİLGİSAYAR PROGRAMLAMA Ders 6: 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ı.
YAPISAL PROGRAMLAMA Hafta-6
Bölüm 10: Kayıtlar – Records (structs)
Bilgisayar Bilimi Problem Çözme Süreci-2.
YAPISAL PROGRAMLAMA Hafta-7
YAPISAL PROGRAMLAMA Hafta-8
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz

Yapılar(Structures) Her programlama dilinde tanımlı temel veri tipleri bulunmaktadır. Tanımlı olmayan veri türleri, kullanıcı bazlı tanımlama ile sağlanır. Topluluk ve birleşme gibi iki farklı şekilde yapılabilmektedir. Yapılar topluluk tipine giren veri tanımlama biçimidir. Yani, bir yapı temel değişkenlerin bir araya getirilmesidir. Yapı içerisindeki değişkenler farklı tiplerde olabilir. Diziler ile karıştırılmamalı diziler aynı tür değişkenlerden oluşur.

// Yapı örneği #include using namespace std; struct urun //yapı tanımla { int modelno; int parcano; float ucret; }; int main() { urun urun1; //yapı değişkeni tanımlanır //Yapı üyesine değer atama urun1.modelno = 54325; urun1.parcano = 89; urun1.ucret = F; //Yapı üyelerini ekrana yazdırma cout << “Model ” << urun1.modelno; cout << “, Parca ” << urun1.parcano; cout << “, Ucret $” << urun1.ucret << endl; return 0; }

struct urun { int modelno; int parcano; float ucret; } ; Struct anahtar kelimesi Yapı ismi Yapı üyeleri Yapı tanımlama (;) ile biter Yapı üyeleri Küme parantezi içine yazılır

Yapı tanımı, topluluk tipindeki değişkenleri tanımlamada sadece bir taslak görevi görür. Yapı tanımı ile yapı değişkeni tanımlanmış olmaz; yani bu tanımlama bellekte yer ayırmaz. Yapı tanımı basit bir değişken tanımından farklıdır. Basit bir değişken tanımlandığında bellekte yer ayrılır. Yapı tanımı ise sadece, yapı değişkenlerinin tanımlandıkları zaman nasıl görüneceklerini gösteren bir modeldir. Yapı değişkeninin Tanımlanması main() içindeki urun urun1; urun yapısı tipine urun1 isimli bir değişken tanımlanır. Bu tanımla birlikte bellekte urun1 için bellekte yer ayrılır.

struct urun { int modelno; int parcano; float ucret; } ; urun1 urun urun1;

Yapı üyelerine değer atama Bir yapı değişkeni tanımlandığı andan itibaren, bu değişkenin üyeleri nokta operatörü denilen bir operatör kullanılarak erişilebilir. urun1.modelno=54325; Yani yapı üyesinin yazımı üç kısımdan oluşur: yapı değişkeninin adı (urun1), nokta(.) operatörü ve üyenin ismi (modelno) Nokta operatörünün ismi üye erişim operatörüdür. Şu unutulmamalıdır ki ilk bileşen yapı adı değil yapı değişkenidir. Burada yapı adı(urun), yapı değişkeninin adı (urun1) dir. Değişken ismi bir değişkeni diğerinden ayırmak için kullanılır.

modelno parcano ucret modelno parcano ucret modelno parcano ucret urun1 urun2 urun3 urun2.parcano

Yapıların diğer özellikleri Yapı üyelerine ilk değer atanması Önceki örneğimizde tanımladığımız urun yapısı olarak tanımlanan urun1 değişkenine ilk değer ataması aşağıdaki şekilde de yapılabilir. urun urun1={5235, 98, f}; urun urun2;// urun2 yapı değişkeni tanımlanır. urun2= urun1; //ilk yapı değişkenindeki değerleri ikinci değişkene ata

// Yapı örneği #include using namespace std; struct urun //yapı tanımla { int modelno; int parcano; float ucret; }; int main() { urun urun1={54325,89,100.20F}; //yapı değişkenine ilk değer ata urun urun2;// değişken tanımla cout << “Model ” << urun1.modelno; cout << “, Parca ” << urun1.parcano; cout << “, Ucret ” << urun1.ucret << “TL “<<endl; urun2=urun1;// ilk değişken değerlerini ikinciye ata cout << “Model ” << urun2.modelno; cout << “, Parca ” << urun2.parcano; cout << “, Ucret ” << urun2.ucret << “TL “<<endl; return 0; }

İç içe Yapılar Yapıları başka yapıların içerisinde kümelemek mümkündür. Aşağıdaki örnekte odanın eni ve boyunun tutulacağı bir topluluk veri yapısını oluşturalım. Normalde oda diye bir veri tipi yoktur. #include using namespace std; struct mesafe //yapı tanımla { int metre; float cm; }; struct oda //yapı tanımla { mesafe en; mesafe boy; }; int main() { oda salon; //değişken tanımla salon.en.metre=6; salon.en.cm=20; salon.boy.metre=5; salon.boy.cm=27; float u=salon.en.metre + salon.en.cm/100; float g=salon.boy.metre + salon.boy.cm/100; cout << “ Salon Alanı..: ” << u*g << “ metre kare dir. “<<endl; return 0; }

boy en salon metre cm salon.boy.cm = 27;

Kümelenmiş yapılara ilk değer atamak oda salon = { { 6, 20 }, { 5, 27 } } ; Oda içerisinde tanımlanan her mesafe tipindeki yapıya yarı ayrı değer atanır. Bunun için değerleri küme parantezleri içine almak ve virgül ile ayırmak gerekir. Yapılarda iç içeliğin derinliği ne olabilir? Teorik olarak yapıların iç içelik derinliği(kümeleme) sınırlama yoktur. Kişi karmaşıklığı önleyecek şekilde dizayn edebilir. apartman1.daire1.salon.en.cm Gibi bir yapı kümelemesi olabilir.

Enumerations (Birleştirme veri tipi) Her programlama dilinde tanımlı temel veri tipleri bulunmaktadır. Tanımlı olmayan veri türleri, kullanıcı bazlı tanımlama ile sağlanır. Topluluk ve birleşme gibi iki farklı şekilde yapılabilmektedir. Yapılar kadar kritik öneme sahip değillerdir. Kendi veri tipinizi tanımlama imkanı sunar.

Döngü içerisindeki İf yapısı #include using namespace std; enum days_of_week { Sun, Mon, Tue, Wed, Thu, Fri, Sat }; int main() { days_of_week day1, day2; //days_of_week tipinde //değişkenleri t anımla day1 = Mon; //değişkenlere değer ata day2 = Thu; int diff = day2 - day1; //cebirsel işlem yapılabilir cout << “Günler arasında= “ << diff << endl; if(day1 < day2) //karşılaştırma yapılabilir cout << “day1,day2 den önce gelir\n”; return 0; }