BMT 101 Algoritma ve Programlama I 5. Hafta. Yük. Müh. Köksal Gündoğdu 1

Benzer belgeler
BMT 106 Algoritma ve Programlama II Bahar Dönemi

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

1 PROGRAMLAMAYA GİRİŞ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Bölüm 2 - C ile Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ DERS 2

HSancak Nesne Tabanlı Programlama I Ders Notları

10/17/2007 Nesneye Yonelik Programlama 3.1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

4. Bölüm Programlamaya Giriş

C PROGRAMLAMA D İ L İ

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Programlama Dillerinde Kullanılan Veri Tipleri

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Nesne Yönelimli Programlama

Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

BİLGİSAYAR PROGRAMLAMA

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

C++ Dersi: Nesne Tabanlı Programlama

ALGORİTMA VE PROGRAMLAMA I

C++ Dersi: Nesne Tabanlı Programlama

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dili Prensipleri. Lab Notları 1

Veri Tanımları ve Mantıksal İşlemler

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

C++ Operatörler (Operators)

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

C Programlama Dilininin Basit Yapıları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

NESNEYE YÖNELİK PROGRAMLAMA

HSancak Nesne Tabanlı Programlama I Ders Notları

BİLG Dr. Mustafa T. Babagil 1

Genel Programlama II

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

Veri Yapıları Lab Notları 1

C PROGRAMLAMA DİLİ. Hedefler

Visual Studio ve C++ Programlama BLGM 211 Nesneye Dayalı Programlama DENEY - 0

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

C++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.

C#(Sharp) Programlama Dili

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

BÜLENT ECEVİT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MADEN MÜHENDİSLİĞİ BÖLÜMÜ C++ PROGRAMLAMA DİLİ DERS NOTLARI

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Yazılım Kodlama ve İ simlendirme Standartları v1.0

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

C++ Dersi: Nesne Tabanlı Programlama

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

if (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Fonksiyonlar (Altprogram)

Nesneye Dayalı Programlama Laboratuvarı

PASCAL PROGRAMLAMA DİLİ YAPISI

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

ELN1001 BİLGİSAYAR PROGRAMLAMA I

YZM 2105 Nesneye Yönelik Programlama

NESNE MODELLERİ : SINIFLAR

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

Nesne Yönelimli Programlama

İNTERNET TABANLI PROGRAMLAMA

BİL-142 Bilgisayar Programlama II

String ve Karakter Dizileri. Yrd. Doç. Dr. Fehim KÖYLÜ Erciyes Üniversitesi Bilgisayar Mühendisliği Bölümü

Programlama Dili Prensipleri. Lab Notları 4

Karma C/C + + Kodlama

Programlama Dilleri III 1

Sunum İçeriği. Programlamaya Giriş

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Main() Fonksiyonu. Main () Fonksiyonu. int main() İfadeler. Return ;

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Görsel Programlama 1

Akış Kontrol Mekanizmaları

C++ Dersi: Nesne Tabanlı Programlama

BÜLENT ECEVİT ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ MADEN MÜHENDİSLİĞİ BÖLÜMÜ C++ PROGRAMLAMA DİLİ DERS NOTLARI

Transkript:

BMT 101 Algoritma ve Programlama I 5. Hafta Yük. Müh. Köksal Gündoğdu 1

C++ Programlamaya Giriş Yük. Müh. Köksal Gündoğdu 2

Programlama Dili Bilgisayar dünyası 1960 lardan bu yana pek çok dille tanıştı. Başlangıçta her şey 1 lerden ve 0 lardan meydana geliyordu ve komut kavramı bile gelişmemişti. Bilgisayara komut vermek için daha önceden belirlenmiş sayılar kullanılıyordu. O zamandan bu zamana değişen ve gelişen programlama dilleri oldu. Yük. Müh. Köksal Gündoğdu 3

Programlama Dili Bu programlama dilleri yakın bir zamana kadar teknolojiden bağımsızken günümüzde tek başlarına pek bir anlam ifade etmiyorlar. Programlama dili genellikle başka bir dilden hareketle yazılmış oluyor. Makine Dili hariç bütün diller başka bir dil temel alınarak yazılmıştır. Makine dili en hızlı, bilgisayar kaynaklarına doğrudan erişimi sağlayan ancak o oranda da ilkel bir dildir. Hatta mümkün olduğunca makine dili kullanmak çok daha kaliteli sonuç verecektir. Ne yazık ki makine dili kullanımı birçok proje için çok zordur. Makine dili zamanla geliştirilerek ileri düzey diller geliştirildi. Yük. Müh. Köksal Gündoğdu 4

Programlama Dili Şu anda dünyada 100 lerce programlama dili var. Özel amaçlı ve genel amaçlı 10 larca dil büyük kitlelerce kullanılıyor. Bunların hepsinin bir tek ortak özelliği var: yazılan programı makine diline çevirir ya da doğrudan makine dilinden komut çalıştırır. Bu işi rakipsiz denebilecek kadar iyi yapan tek dil ise C++. C ye rakip diller ya yine C kullanarak yazılmıştır, ya da C nin türevlerinden biridir. Kısaca özetlemek gerekirse, C++ hem ileri düzey kullanım rahatlığına sahip hem de oldukça hızlı bir dildir. Yük. Müh. Köksal Gündoğdu 5

Genel Kavramlar 1979 yılında Bell laboratuvarı araştırmacılarından Bjarne Stroustrup tarafından geliştirilmeye başlayan C++, C programlama dilinin temel özelliklerinin yanında nesne yönelimli programlama özelliklerini de taşıyan bir programlama dilidir.1980 lerinbaşında C With Classes olarak adlandırılan bu programlama dilinin adı, 1983 yılında C++ olarak değiştirilmiştir. Yük. Müh. Köksal Gündoğdu 6

C++ Dilinin Temel Özellikleri 1-Nesne yönelimli ve genel amaçlı bir programlama dilidir. 2-C programlama dilinin birçok özelliklerini taşır. 3-Program yazımı belirli kalıpta, bloklar halinde olur. 4-Bloklar { } parantezleri ile oluşturulur. 5-Tüm komutlar (;) ile biter. 6-Programda kullanılan tüm değişkenler ve veri tipleri belirtilir. 7-Programda kullanılacak olan komutların bulunduğu kütüphaneler çağrılır. Yük. Müh. Köksal Gündoğdu 7

C/C++ Program Geliştirme Ortamı Yük. Müh. Köksal Gündoğdu 8

Visual Studio Programında Microsoft.Net C++ ile çalışmak Yük. Müh. Köksal Gündoğdu 9

Visual Studio Programında Microsoft.Net C++ ile çalışmak Yük. Müh. Köksal Gündoğdu 10

Visual Studio Programında Microsoft.Net C++ ile çalışmak Yük. Müh. Köksal Gündoğdu 11

Visual Studio Programında Microsoft.Net C++ ile çalışmak Yük. Müh. Köksal Gündoğdu 12

Visual Studio Programında Microsoft.Net C++ ile çalışmak Programı yazacağımız Studio C++ editor ortamı (IDE) aşağıda görüldüğü gibidir. Bu IDE ortamında error list açık değil ise View menüsünden açılabilir. Aşağıdaki program yazıldıktan sonra Build menüsünden Build ilk_prog seçilirse program derlenerek çalıştırılır. Yük. Müh. Köksal Gündoğdu 13

Visual Studio Programında Microsoft.Net C++ ile çalışmak Microsoft. NET i bilgiyi, bilgi sistemlerini ve cihazları birbirine bağlamak için geliştirilen yazılım teknolojileri kümesidir. NET in temel anlayışı platformdan bağımsız çalışabilecek programlar üretmektir. Visual Studio ile bir C++ programı yazmak için programlardan Visual Studio 2012 seçildiğinde aşağıdaki ekran gelir. File New Project seçildiğinde gelen aşağıdaki ekrandan Win32 Console Application 'ı seçerek ve dosya adı vererek(ilkc++program) verdiğimizde ekrana Win32 Application Wizard-IlkC++Program başlıklı bir pencere gelecektir. Burada finish butonu onaylanırsa artık ilk programımızı yazabiliriz. Yük. Müh. Köksal Gündoğdu 14

Visual Studio Programında Microsoft.Net C++ ile çalışmak Menüler ve Araç Çubuğu Hata Listesi Yük. Müh. Köksal Gündoğdu 15

Visual Studio Programında Microsoft.Net C++ ile çalışmak Çözüm Gezgini Özellikler Yük. Müh. Köksal Gündoğdu 16

İlk C++ Programı Yük. Müh. Köksal Gündoğdu 17

İlk C++ Programı Öncelikle, çok basit bir örnek program yazalım ve C++ programlarının yapısını bu örnek program üzerinde inceleyelim. Uygulama // ilk C++ programı #include <iostream> using namespace std; int main() { cout << "Merhaba Turkiye..." << "\n"; cout << "Merhaba Dunya..."; return 0; } Yük. Müh. Köksal Gündoğdu 18

Program Başlığı Program başlığında, program hakkındaki açıklamaları yada ismini içeren ifade veya ifadelerdir Kullanım Şekilleri: /* açıklamalar veya program başlığı */ // açıklamalar veya program başlığı Örneğin: // by elektroking // 01.04.2013 // Deneme yazılımı Yük. Müh. Köksal Gündoğdu 19

Tanımlama ve Bildirimler Bölümü include: Pascal ve C programlarında olduğu gibi C++ programlarında da ilgili kütüphane (başlık/kitaplık) dosyalarının bildirilmesi gerekmektedir. C kütüphane dosyalarına ilave olarak bazı C++ kütüphane dosyaları verilmektedir. Örneğin; C deki math kütüphanesi C++ da cmath, string kütüphanesi cstring, stdlib kütüphanesi cstdlib gibi çok küçük değişikliklerle kullanılabilmektedir. Yük. Müh. Köksal Gündoğdu 20

Tanımlama ve Bildirimler Bölümü Kullanım Şekilleri: #include < kütüphane adı > #include<iostream> using namespace std; #include<iostream> #include<cmath> #include<cstdlib> using namespace std; Yük. Müh. Köksal Gündoğdu 21

Ana Program Bölümü Temel işlem ve kontrollerin bulunduğu ana program kısmı C++ da main ( ) ana fonksiyonudur. Kullanım Şekilleri: Yük. Müh. Köksal Gündoğdu 22

C++ Program Yapısı Örneği Temel işlem ve kontrollerin bulunduğu ana program kısmı C++ da main ( ) ana fonksiyonudur. // test.cpp : Defines the entry point for the console application. //Bu program VisuaL C++ ile ilk programım #include "stdafx.h" #include <iostream> using namespace std; int main() { cout<<"merhaba"; system("pause"); return 0; } Yük. Müh. Köksal Gündoğdu 23

C++ Program Yapısı Örneği Programı inceleyecek olursak: C++'da açıklamalar // ile yapılır. Aşağıda açıklama satırına örnekler verilmiştir. C++ dosya uzantısı.cpp dir. include ile programımızın kullandığı kütüphaneleri ekleriz. C++ hafızanın etkin kullanılması ve çok hızlı çalışan uygulamalar için sahip olduğu tüm kütüphaneleri kullanmaz. Kullanıcı o program için hangi kütüphanelere ihtiyaç duyarsa, o kütüphaneyi include komutu ile programa dahil eder. Örneğin: #include "stdafx.h" Visual Studio nun kullandığı kütüphane. Yük. Müh. Köksal Gündoğdu 24

C++ Program Yapısı Örneği Programı inceleme (devam1): #include <iostream> iostream giriş çıkış komutlarını içeren bir kütüphanedir. ana program gövdesi int main ile başlar Ana program İki küme işareti { } arasına yazılır. Sadece açıklama olan satırlar /* */ arasına yazılır. cout<<"merhaba"<<endl; cout ekrana yazdırma komutudur.ekrana yazdırılacak sayısal olmayan bilgiler "" arasına yazılır. //endl bir sonraki satıra yazdırır. Yük. Müh. Köksal Gündoğdu 25

C++ Program Yapısı Örneği Programı inceleme (devam2): system("pause"); Ekrana yazılan ifadenin görülmesi için system komutu kullanılarak akış durduruldu. Programda ekranın durmasını istediğimiz her yerde kullanabiliriz. return 0; C++ ve C de her program en az bir main fonksiyon içerir. Fonksiyonlardan alınan değer ile geri dönüş komutu return dür. Parametre dönmediği için return0 kullanılır. Yük. Müh. Köksal Gündoğdu 26

C++ Program Yapısı Örneği Yazılım yazarken dikkat edilmeli! Komut sonu noktalı virgül ile bitmelidir. C++ deyimleri kelimeyi bölmemek koşulu ile birden fazla satıra yazılabilir. Örnek: cout<<a<<a; veya cout <<a<<a; şeklinde yazılabilir. Fakat cou t<<a<<a; şeklinde yazılamaz. Yük. Müh. Köksal Gündoğdu 27

Ön İşlemci Direktifleri Ön işlemci direktifler # işareti ile başlar. Noktalı virgül ile bitmez. Program komutları, bilgisayara birşeyler yaptırmaya yarar. Örneğin; iki sayının toplanması veya bir ifadenin yazıcıya bastırılması. Fakat, Ön işlemci direktifleri, derleyiciye verilen bir komuttur. Derleyicinin ön işlemci denilen bir parçası gerçek derleme işlemi başlamadan önce bu direktiflerle ilgilenir. Yük. Müh. Köksal Gündoğdu 28

Using Direktifi Bir C++ programı değişik isim uzaylarına (namespace) bölünebilir. İsim uzayı, programdaki belirli isimlerin derleyici tarafından tanınmasını sağlayan program parçasıdır. İsim uzayının dışında bu isimler tanınmaz. Using namespace std; direktifi, bunu takip eden tüm program ifadelerinin std isim uzayında olduğunu belirtir. Çeşitli program bileşenleri, mesela cout, bu isim uzayında tanımlıdır. Eğer using ifadesini kullanmamış olsaydık, pek çok program öğesinin başında std kelimesi eklemek zorunda kalacaktık. Örneğin; std::cout<< Merhaba Dunya ; C++ dilini nesneye yönelimli kullanımlarında daha ayrıntılı bilgi Yük. Müh. Köksal Gündoğdu 29 verilecektir.

C++ Değişkenleri Yük. Müh. Köksal Gündoğdu 30

Değişken Değişken: Program içinde değeri değişebilen ifadedir. Sabit: Program içinde değeri değişmeyen verileri saklayan, sadece tek bir değer alan ifadedir. Operatör: Mantıksal veya matematiksel işlemler için kullanılan sembollerdir. kurallara C++'de değişkenlere isim verirken aşağıdaki uyulmalıdır. 1.Değişken ismi; Alt tire( an underscore _ ) veya harf ile başlar. Doğru değişken isimleri: ad,soyad,_yas Yanlış değişken isimleri: -name, adı soyadi,1pat Yük. Müh. Köksal Gündoğdu 31

Değişken 2. Harf, alttire veya sayıları içerir. Doğru değişken isimleri: klavye, sayi1,tam_sayi,adi_soyadi Yanlış değişken ismi: 1tam, Türkçe 3. Özel karakterler içermez.(!, %, ], or $) 4. Boşluk içermez. 5. Herhangi bir rezerve kelime* içermez. 6. C++ büyük küçük harf duyarlıdır. Örneğin: ISIM, isim, ISim, ISIm dört farklı değişken ismidir. Yük. Müh. Köksal Gündoğdu 32

Değişken C++ Rezerve Kelimeleri Asm Auto bad_cast bad_typeid Bool Break Case catch Char Class Const const_cast continue default Delete Do Double dynamic_cast Else Enum Except Explicit extern False Finally Float For friend Goto İf İnline İnt long Mutable Namespace New Operator private Protected Public Register reinterpret_cast return Short Signed Sizeof Static static_cast Unsigned Struct Switch Template this Throw True Try type_info typedef Typeid Typename Union Unsigned using Virtual Void Volatile wchar_t while Yük. Müh. Köksal Gündoğdu 33

Değişken C++'da bir değişkeni kullanmadan önce o değişkene ait veri tipi tanımlanmalıdır. Örneğin yas değişkeni tanımlamak istiyorsanız, önce bu değişkende ne tür veri tipi kullanacağınızı belirtmeniz gerekir. int yas: yas değişkeni tamsayı veriler saklayacak. char cinsiyet: cinsiyet değişkeni karakter veri saklayacak. Sabit tanımı Eğer programda değişmesini istemediğiniz değerler var ise const ifadesi ile sabit tanımlayabilirsiniz. Const tipi degisken_adı=degeri Örnek: const double t=3.14; Yük. Müh. Köksal Gündoğdu 34 const double pi=22.0/7;

Değişken Lokal ve Global Değişken tanımı Her programlama dilinde olduğu gibi C++ da da lokal ve global değişkenler tanımlanabilir. Bir değişken hiçbir {} (blok) iki küme işareti içinde yer almıyorsa bu değişken global değişkendir ve tüm alt fonksiyonlar ve ana fonksiyonda tanımlıdır. Lokal değişken ise hangi blok içinde ise etki alanı bu aralık olup bu aralığın dışında tanımlı değildir. Bir değişken global ve lokal değişken olarak farklı tiplerde tanımlanabilir. Örneğin önce global değişken olarak int ve lokal değişken olarak char olarak tanımlanabilir. Eğer programın herhangi bir yerinde global olan tanıma ulaşılmak istenirse değişken ismi önüne :: işaretleri konulur. Yük. Müh. Köksal Gündoğdu 35

Değişken Lokal ve Global Değişken tanımı (Devam1) Örnek: Yük. Müh. Köksal Gündoğdu 36

Değişken Lokal ve Global Değişken tanımı (Devam2) Çözüm: Yük. Müh. Köksal Gündoğdu 37

Değişken Lokal ve Global Değişken tanımı (Devam3) Örnek: Aşağıdaki programın çalışması sonucu lokal ve global değişken içerikleri ne olur? Yük. Müh. Köksal Gündoğdu 38

Değişken Lokal ve Global Değişken tanımı (Devam4) Çözüm: Yük. Müh. Köksal Gündoğdu 39

Değişken Mutlaka değişkenlere başlangıç değeri atanmalıdır. Eğer başlangıç değeri verilmezse Önce aşağıdaki hata mesajı verilir. a ya ilk değer verilmeden kullanıldığı konusunda kullanıcıyı uyarır. Eğer devam etmek istiyor ise continue ile devam eder. Değerler ise aşağıdaki gibi atanır. Yük. Müh. Köksal Gündoğdu 40