Yordamsal Tabanlı Programlama

Benzer belgeler
Object-Oriented Oriented Design (OOD) Procedure Based Programlama. OOD Ana Ozellikleri

1 PROGRAMLAMAYA GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ

C++ Dersi: Nesne Tabanlı Programlama

10/17/2007 Nesneye Yonelik Programlama 3.1

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

C++ Dersi: Nesne Tabanlı Programlama

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

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

C++ Dersi: Nesne Tabanlı Programlama

Programlama Dillerinde Kullanılan Veri Tipleri

PROGRAMLAMAYA GİRİŞ DERS 2

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

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

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

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

BİL-142 Bilgisayar Programlama II

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

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

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ü

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Bigisayar Programlama (GÜZ 2015)

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

Object-Oriented Programming Lab 4. - Sıcaklık değeri, Kelvin biriminde saklansın. Varsayılan sıcaklık değeri K olsun.

BİL-142 Bilgisayar Programlama II

Görsel Programlama DERS 01. Görsel Programlama - Ders01/ 1

Bölüm 1. Bilgisayarlar ve C++ Programlama. Doç.Dr. Yıldıray Yalman. Kaynak: Problem Solving with C++, Walter Savitch Slide 1

Dr. Fatih AY Tel: fatihay@fatihay.net

Bigisayar Programlama

BİLGİSAYAR PROGRAMLAMA

Nesne Yönelimli Programlama

C PROGRAMLAMA D İ L İ

TEMPLATES. Binnur Kurt Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

Object Oriented Programming Ders İzlence Formu

4. Bölüm Programlamaya Giriş

C++ Operatörler (Operators)

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

Java Temel Özellikleri

HSancak Nesne Tabanlı Programlama I Ders Notları

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

#ifndef COMPLEX_H #define COMPLEX_H

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

PROGRAMLAMA DİLLERİ. Programlama Dilleri Programlama Dillerinin Önemi Dilleri Sınıflandırılması Anlambilim BNF Notasyonu Kontrol Deyimleri

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN

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

C# nedir,.net Framework nedir?

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Öğr. Gör. Serkan AKSU 1

Temel Giriş/Çıkış Fonksiyonları

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

Bilgisayar Programlama. 1.Hafta

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

C++ Dersi: Nesne Tabanlı Programlama

BİL1001 Bilgisayar Bilimlerine Giriş 1

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

ALGORİTMA VE PROGRAMLAMA II

DERSİN WEB SİTESİ:

C++ Class larina baslangic. C++ Versus C Object-oriented Language C++ Structure dan Object Create etmek. Structure tanimlama.

Yrd. Doç. Dr. Caner ÖZCAN

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

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

C Programlama Dilininin Basit Yapıları

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

Fonksiyon Türleri. Bildiğiniz gibi, C++'da iki fonksiyon türü ile karşılaşıyoruz. C++'nın kullanıma sunduğu hazır fonksiyonlar.

NESNEYE YÖNELİK PROGRAMLAMA

C# Eğitimi-1 (Giriş) Melih Hilmi Uludağ

C++ Dersi: Nesne Tabanlı Programlama

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

C++ Dersi: Nesne Tabanlı Programlama

BİLG Dr. Mustafa T. Babagil 1

En kucuk calisabilir birime satetement denir Statements semicolon (;) ile sonlanir Yalniz basina ; null statement i ifade eder

Nesne Tabanlı Programlama

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

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

const objects & const member functions

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Yrd. Doç. Dr. Caner ÖZCAN

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

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

C++ Dersi: Nesne Tabanlı Programlama

Operator Aşırı Yükleme (Operator OverLoading)

Sınav tarihi : Süre : 60 dak.

Eln 1001 Bilgisayar Programlama I

11- FONKSİYONLAR (FUNCTIONS)

// hataları işaret eden referans

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

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

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

Temel Bilgisayar Programlama

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

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

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Bölüm1. İlk Bilgiler ISBN

Transkript:

Yordamsal Tabanlı Programlama Procedural Programming (Yordamsal Programlama) Subprograms, functions/procedures kullanarak programı kısımlara ayırma prensibiyle çalışır. Programlamadaki karmaşıklık yordamlar içerisine gizlenir. Data karmaşıklığı oluşmaktadır (built-in data types, user-defined data types, static type checking, runtime type checking ve abstract data type) Verinin ve veri üzerinde işlem yapan fonksiyonların aynı modulde olması gerekir. 15.09.2007 Nesneye Yonelik Programlama 1.1

Object-Oriented Oriented Design (OOD) Nesne Yönelimli Y Tasarım Nesneye Yönelik Tasarım Object-Nesneler programlamada gerçek dünya nesnelerini temsil ederler (gerçek nesnelerin soyut temsili). Object, state information (local variables - yerel değişkenler) ve bu yerel değişkenler üzerinde işlem yapan metotlardan oluşur. Nesneler arasındaki benzerlikler class (sınıflar) lar ve sınıfların hiyerarşileriyle belirlenir. Sistem analizi, dizaynı ve gerçeklenmesi bir biriyle etkileşen bir dizi nesnelerle olur. 15.09.2007 Nesneye Yonelik Programlama 1.2

OOD Ana Özellikleri Encapsulation - Çevrimleme Kodu ve kodun işlediği verileri bir araya getiren ve onları dış etkilerden, yanlış kullanımlardan koruyan mekanizmadır. Inheritance - Miras Yazılımın tekrar kullanılabilirliğini artırır, yani var olan yazılım üzerine yeni düzenlemelerin kolayca eklenebilmesini sağlar. Var olan sınıflara yeni yeteneklerin kazandırılması sağlanır. 15.09.2007 Nesneye Yonelik Programlama 1.3

OOD Ana Ozellikleri Polymorphism - Çok biçimcilik Farklı durumlarda değişken, fonksiyon ve nesneler gibi varlıklara farklı formlar (anlamlar) kazandırılabilmektedir. 15.09.2007 Nesneye Yonelik Programlama 1.4

Programlama Dillerinin Tarihçesi 15.09.2007 Nesneye Yonelik Programlama 1.5

C Programming Language 1969 da Bell Lab. larında PDP-11 minicomputer için system programları geliştirmek amacıyla geliştirildi. UNIX operating system (isletim sistemi) nin yazılması ve geliştirilmesinde kullanıldı. UNIX in önemli bir kısmının (%90) C diliyle yazılması onun diğer bilgisayarlara taşınmasını kolaylastırmıştır (portability). UNIX şu an akademik ortamlarda en çok kullanılan işletim sistemidir. 15.09.2007 Nesneye Yonelik Programlama 1.6

K&R C 1978'de Dennis Ritchie ve Brian Kernighan The C Programming Language (C Programlama Dili) kitabının ilk baskısını yaptılar. C programcıları tarafından "K&R" olarak bilinen bu kitap, C dilinin gayri resmi standardı olarak kullanıldı. C'nin bu versiyonu bugün "K&R C" olarak adlandırılır. 15.09.2007 Nesneye Yonelik Programlama 1.7

C++ nin orijini 1980 yılında Bjarne Stroustrup (Bell Lab.) nesne yönelimli özelliklerini destekleyen ve C nin halefi olarak adlandırılan C++ yi geliştirdi. C++ tamamıyla yeni bir dil olmaktan ziyade C nin bir superseti olarak dizayn edilmiştir. İlk versiyonu 1985 de çıkmıştır. 15.09.2007 Nesneye Yonelik Programlama 1.8

C++ in önemli özellikleri C++ nin bir supersetidir. Kullanıcı yeni veri tiplerine sahip sınıftanımlayabilir data hiding (veri saklama) Nesnelere ilk değer ataması kullanıcı kod yazmasa bile otomatik olarak yapılabilmektedir. Implicit type conversion Kapalı olarak tip dönüşümü Sınıflar arasında kalıtım desteklenmektedir Kullanıcı kontrollü bellek yönetimi vardır Operator overloading (operatör aşırı yüklemesi) için mekanizmalar vardır. Taşınabilir ve optimize edilebilir kodlara destek için standart kütüphaneler mevcuttur. 15.09.2007 Nesneye Yonelik Programlama 1.9

C++ özellikleri (devam ) Symbolic constants (sabitler) Inline functions (yerel fonksiyonlar) Default function arguments (varsayılan fonksiyon argümanları) Function isimlerinin aşırı yüklenebilme yeteneği Reference type (nesneler için takma isimler tanımlayabilme) Exception handling (İstisnai durumları işleyebilme) Generic programming desteği (templates, şablonlar) Standart Template Library (STL), Standart Şablon Kütüphanesi vardır. 15.09.2007 Nesneye Yonelik Programlama 1.10

C++ İçin Genel Gözlemler C++ saf nesne yönelimli bir dil değildir. Hybrid bir dildir (hem procedure-oriented, hem de object-oriented özelliklere sahiptir) C++ kodu eğer itina ile yazılmazsa anlaşılması oldukça zor olabilmektedir. Eğer kod uygun bir şekilde yazılırsa, kompleks ve büyük projelerin oluşturulmasında C++ ın oldukça güçlü bir dil olduğu gözlenebilir. 15.09.2007 Nesneye Yonelik Programlama 1.11

Java Programlama Dili 1995 yılında Sun Microsystems tarafından taşınabilir kod geliştirmek için geliştirildi (bir platform için yazılan Java kodu değiştirilmeksizin başka bir platformda çalışabilme yeteneği vardır). Genellikle Java programları bytekod olarakderlenip sürüme çıkartılır. Her bir platform byte kodları yorumlayan bir standard virtual machine (sanal makineye) sahiptir. Makine dilinde çalışan kod ile kıyalandığında 3-20 kez daha yavaş çalıştığı gözlenmiştir. Java, C ve C++ nin özelliklerinin bir kısmını almıştır. En büyük fark pointer (işaretçi) işlemlerinin olmayışı ve automatic garbage collection özelliklerine sahip olmasıdır. 15.09.2007 Nesneye Yonelik Programlama 1.12

15.09.2007 Nesneye Yonelik Programlama 1.13

Preprocessor Directives C++ ile yazılan bir program genelde compile edilmeden önce preprocessor (önişleme) aşamasından geçer. Preprocessor directives (önişlemci talimatları) # ile başlar. macro definitions makro tanımamalar conditional compilation Koşullu derleme inclusion of standard header files standart başlık dosyalarının programa dahil edilmesi #include <iostream> derleme esnasında standart giriş/çıkış işlemlerini yerine getiren iostrem.h başlık dosyasının göz önünde tutulmasını sağlar. 15.09.2007 Nesneye Yonelik Programlama 1.14

main( ) fonksiyonu Her C++ program main( ) fonksiyonunu tanımlamalıdır. int main( ) { } bir fonksiyon tanımlamasıdır. return 0; main( ) fonksiyonunun başarılı bir şekilde işlevini yerine getirdiğini ifade etmek için kullanılır ve 0 değerini geri döndürür. 15.09.2007 Nesneye Yonelik Programlama 1.15

cout cout << Welcome to C++!\n ; tırnak içerisindeki yazıyı standard output stream object (screen) ine görüntülenmesi için yollar. << stream insertion operator u olarak adlandırılır. \n escape sequence kaçış karakteridir. \n yeni satır başına git (new line) \t yatay girinti (horizontal tab) \r aynı satırın başına git \a bell sound \\ backslash (\) character \ double quote ( ) character 15.09.2007 Nesneye Yonelik Programlama 1.16

15.09.2007 Nesneye Yonelik Programlama 1.17

15.09.2007 Nesneye Yonelik Programlama 1.18

Stream input - cin cin >> intl; intl değişkeninin input stream object (cin) okununmasını sağlar >> stream extraction operator endl satır sonunu ifade eder (\n) ve output buffer (çıkış tamponunun) flush (akmasını) olmasını sağlar. 15.09.2007 Nesneye Yonelik Programlama 1.19

Variable Declaration Değişken isimleri harf, rakam ve altçizgi ( _ ) karakterlerinden oluşan bir karakter dizisi ile belirlenir. Değişken isimleri rakamla başlamaz. Not: altçizgi ile değişken ismi başlatmak iyi değildir, çünkü compiler altçizgiyle başlayan değişkenler kullanabilmektedir. 15.09.2007 Nesneye Yonelik Programlama 1.20

15.09.2007 Nesneye Yonelik Programlama 1.21

15.09.2007 Nesneye Yonelik Programlama 1.22

Default streams Dosyalar üzerindeki işlemler stream (akışlar) vasıtasıyla olur. Stream (akış) data flow (veri akışı) anlamına gelir. 3 tane standard stream vardır, bunlar default olarak şu akışlara (devices) yonlendirilmistir. cout (ekran) cin (klavye) cerror (ekran) Akışlar iostream.h başlık dosyasında deklere edilmişlerdir C++ daakışlar nesnelerle temsil edilirler. 15.09.2007 Nesneye Yonelik Programlama 1.23

C++ Arithmetic Operators Operation C++ Operator Ornek Toplama + f + 7 Çıkarma - p - c Çarpma * b * m Bölme / x / y Kalan % r % s 15.09.2007 Nesneye Yonelik Programlama 1.24

Equality ve Relational Operators Operators Örnek Anlamı == x == y x, ye eşit!= x!= y x, y den farklı > x > y x, y den büyük < x < y x, y den kücük >= x >= y x, y den büyük eşit <= x<=y x, y den küçük eşit 15.09.2007 Nesneye Yonelik Programlama 1.25

15.09.2007 Nesneye Yonelik Programlama 1.26

15.09.2007 Nesneye Yonelik Programlama 1.27

Yeni tarz Headers ve Namespaces Yeni C++ standartlara göre başlık dosyaları.h takısını atarlar. #include <iostream> Çoklu kullanılan değişkenlerdeki karmaşayı önlemek için C++ namespaces kavramı getirdi. cin ve cout u kullanabilmek için Using namespace std; yada sdt::cin ve std::out 15.09.2007 Nesneye Yonelik Programlama 1.28

# include <iostream> using namespace std; // creates new namespace namespace somenumbers{ int a =20; float b = 0.00; } int main (void) { int a = 100; float b = 3.1421; a. somenumbers::a somenumbers::b } 15.09.2007 Nesneye Yonelik Programlama 1.29