C++ Dersi: Nesne Tabanlı Programlama

Benzer belgeler
C++ Dersi: Nesne Tabanlı Programlama 2. Baskı ³

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

BİLGİSAYAR ORGANİZASYONU

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

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Temel Bilgi Teknolojileri -1

Dr. Fatih AY Tel: fatihay@fatihay.net

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Bilgisayar Donanımı Dersi BİLGİSAYARIN MİMARI YAPISI VE ÇALIŞMA MANTIĞI

DONANIM VE YAZILIM. Bilişim Teknolojileri ve Yazılım Dersi

1 PROGRAMLAMAYA GİRİŞ

Bilgisayarların Gelişimi

Öğr.Gör. Mehmet Can HANAYLI

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

1 DERS İZLENCESİ 2 BİLGİSAYARA GİRİŞ Bilgisayar nedir? Bilgisayarın tarihçesi Bilgisayarın kullanıldığı alanlar Bilgisayarın kullanılmasında dikkat

BİLGİSAYAR KULLANMA KURSU

BİLGİ TEKNOLOJİLERİ SMO103

KONU 1 BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

DONANIM Bahar Dönemi TEMEL BİLİŞİM TEKNOLOJİLERİ

Optik Sürücüler CD/CD-ROM DVD HD-DVD/BLU-RAY DİSK Disket Monitör LCD LED Projeksiyon Klavye Mouse Mikrofon Tarayıcı

Bilgisayar Programlama Dilleri

Temel Bilgisayar Bilgisi

ENF 100 Temel Bilgi Teknolojileri Kullanımı Ders Notları 2. Hafta. Öğr. Gör. Dr. Barış Doğru

Bilişim Teknolojileri

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

DONANIM VE YAZILIM. Donanım Nedir? Donanım: Bilgisayarda elle tutabildiğimiz, gözle görebildiğimiz tüm fiziksel parçalara donanım denir.

İşletim Sistemi. BTEP205 - İşletim Sistemleri

5. PROGRAMLA DİLLERİ. 5.1 Giriş

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

Bilişim Teknolojilerine Giriş

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

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

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

Ünite-2 Bilgisayar Organizasyonu.

PROGRAMLAMA TEMELLERİ

Yazılım Mühendisliğine Giriş 4. Hafta 2016 GÜZ

4. Bölüm Programlamaya Giriş

Bilgi Çağının Güçlü Araçları: Bilgisayarlar

İşletim Sistemleri (Operating Systems)

DONANIM VE YAZILIM. Ahmet SOYARSLAN biltek.info

BİLİŞİM TEKNOLOJİLERİ VE YAZILIM

Donanım Nedir? Bir bilgisayar sisteminde bulunan fiziksel aygıtların tümü

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

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

Hazırlayan: Cihan Aygül BT Rehber ÖĞRETMENİ

Bilgisayar Sistemlerine Genel Bakış

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

-Bilgi ve İletişim (Bilişim) Teknolojileri -Bilgisayar -Elde Taşınan Dijital Cihazlar -Donanım -Yazılım

Bilgisayar (Computer) Bilgisayarın fiziksel ve elektronik yapısını oluşturan ana birimlerin ve çevre birimlerin tümüne "donanım" denir.

BİLİŞİM SİSTEMLERİNİN PRENSİPLERİ

GAZİ ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BM-404 BİLGİ GÜVENLİĞİ LABORATUVARI UYGULAMA FÖYÜ

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Bilişim Teknolojileri ve Yazılım Ders Notları. K. Selçuk GÜLİTER / Bilişim Teknolojileri Öğretmeni BİLİŞİM TEKNOLOJİLERİ TEMEL KAVRAMLAR-1

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Masaüstü Bilgisayarlar

BLG 1306 Temel Bilgisayar Programlama

Bilgisayar Mimarisi Nedir?

3. Bölüm Algoritmalar

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

Bilgisayar Mühendisliğine Giriş

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Yordamsal Tabanlı Programlama

CEIT 341 MEASUREMENT AND EVALUATION HALİL BALIM

Giriş Çıkış Birimleri:

Bahar. BM 211 Programlama Dilleri 3 1

1. PROGRAMLAMAYA GİRİŞ

Bilgisayar Programlama. 1.Hafta

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

Java Temel Özellikleri

MEHMET ÇEKİÇ ORTAOKULU

İşletim Sistemlerine Giriş

Nesne Tabanlı Programlama. Ders Notları

Von Neumann Mimarisi. Mikroişlemciler ve Mikrobilgisayarlar 1

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

-Bilgisayarı oluşturan iki temel unsurdan diğeri ise YAZILIM dır.

T E M E L K AV R A M L A R. Öğr.Gör. Günay TEMÜR / Teknoloji F. / Bilgisayar Müh.

Bilgisayar Donanımı. Temel Birimler ve Çevre Birimler. Öğr.Gör.Günay TEMÜR / KAYNAŞLI MESLEK YÜKSEOKULU

Algoritma ve Akış Diyagramları

Masaüstü Bilgisayarlar

İŞLETİM SİSTEMİ İşletim sistemi kullanıcıyla bilgisayar donanımı arasında iletişim sağlayan programdır.

PORTLAR Bilgisayar: VERİ:

DONANIM & YAZILIM Modül 2

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

Dersin Adı Alan Meslek/Dal Dersin Okutulacağı Dönem / Sınıf Süre Dersin Amacı Dersin Tanımı Dersin Ön Koşulları

PROGRAMLAMAYA GİRİŞ DERS 2

Windows Programlama Güz Dönemi

1. PS/2 klavye fare 2. Optik S/PDIF çıkışı 3. HDMI Giriş 4. USB 3.0 Port 5. USB 2.0 Port 6. 6 kanal ses giriş/çıkış 7. VGA giriş 8.

Ünite-3 Bilgisayar Yazılımı.

Donanımlar Hafta 1 Donanım

DERS 3 MİKROİŞLEMCİ SİSTEM MİMARİSİ. İçerik

Donanım Nedir? Bir bilgisayar sisteminde bulunan fiziksel aygıtların tümü

Donanım Nedir? Bir bilgisayar sisteminde bulunan fiziksel aygıtların tümü

BÖLÜM 1: PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR I BİLGİSAYAR İLE İLGİLİ TEMEL BİLGİLER

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

KBÜ. TBP111 Bilgisayar Donanımı. Öğr. Gör. Dr. Abdullah ELEN KARABÜK ÜNİVERSİTESİ.

Bilgisayar Programlama. Giriş

Transkript:

C++ Dersi: Nesne Tabanlı Programlama Bölüm 1: Giriş

İçerik Bilgisayar Sistemleri Donanım Yazılım Programlama Program Geliştirme Nesne-tabanlı Programlama C++ Programlama Dili 2

Bilgisayar Sistemleri Kısaca, bilgisayarları verileri saklayıp üzerlerinde işlem yapabilen, programlanabilir elektronik cihazlar olarak tanımlayabiliriz. Bilgisayar sistemleri donanım (hardware) ve yazılım (software) bileşenlerinden oluşur. 3

Donanım Bilgisayarın tüm fiziksel, elle tutabildiğimiz, görebildiğimiz elemanlarına donanım adı verilir. 4

Merkezi İşlem Birimi Aritmetik/Mantık Birimi Kontrol Birimi Girdi / Çıktı Birimleri İşlem Sonuçları Veri / Komutlar Bellek Bilgisayar Mimarisi 5

Merkezi İşlem Birimi (Central Processing Unit / CPU): Bilgisayarın beyni olarak adlandırılan, programdaki komutları çalıştırmakla görevli birimdir. Bu birim Aritmetik/Mantık Birimi ve Kontrol Birimi adlı iki bileşenden oluşur: Kontrol Birimi (Control Unit): Bilgisayarda yapılan tüm işlemleri koordine etmekle görevlidir. Yeni komut alımı, veri iletişimi ve diğer bileşenlerin koordinasyonunu sağlar. Aritmetik/Mantık Birimi (Arithmetic/Logic Unit /ALU): Tüm aritmetik (toplama, çıkarma, vs.) ve mantıksal (karşılaştırma) işlemlerini gerçekleştirir. 6

Ana Bellek (Main Memory): RAM olarak da adlandırılan, programdaki komutları ve program tarafından kullanılan verileri saklamakla görevli birimdir. Ana bellek, geçici verileri saklamak için kullanılır ve bilgisayar kapatıldığında tüm içeriği silinir. 7

İkincil Bellek (Secondary Storage): Uzun süreli verileri tutmak için kullanılan bellek türüdür. Bilgisayar kapansa bile kaybolmasını istemediğimiz tüm bilgileri ikincil bellekte saklamamız gerekir. İkincil belleklere örnek olarak sabit disk (hard disc), flash bellek, CD ve DVD gösterilebilir. İkincil Bellek Örnekleri: Flash bellek, Sabit disk ve CD/DVD 8

Girdi Birimleri (Input Devices ) Bilgisayarın dışarıdan okuduğu verilere girdi denilir. Bu bilgileri okuyan bileşenler, girdi birimleri olarak adlandırılır. En fazla kullanılan girdi birimlerine örnek olarak klavye (keyboard), fare (mouse), dijital kamera ve mikrofonu gösterebiliriz. Girdi Birimleri: Klavye, Fare ve Dijital kamera 9

Çıktı Birimleri (Output Devices): Bilgisayarın dışarıya yolladığı tüm veriler çıktı birimleri ile iletilir. En yaygın çıktı birimlerine örnek olarak ekran (monitor), yazıcı (printer), hoparlör (speaker) gösterilebilir. Aynı zamanda CD/DVD ler, sabit veya flash bellek de çıktıları alabildikleri için çıktı birimi olarak sınıflandırılırlar. Çıktı Birimleri: Yazıcı, Ekran ve Hoparlör 10

Yazılım Yazılım, bilgisayar üzerinde belirli bir işi gerçekleştirmek için hazırlanmış programlara verilen genel addır. Bir program, bilgisayara ne yapacağını ve nasıl yapacağını anlatan komutları içerir. Yazılım terimi, aynı zamanda elektronik olarak kaydedilen bilgileri tanımlamak için de kullanılır. 11

Bilgisayar yazılımları; uygulama yazılımları ve sistem yazılımları olmak üzere iki kategoriye ayrılır: Uygulama yazılımları, kelime işlemci, muhasebe, İnternet tarayıcısı, çizim programları gibi doğrudan kullanıcının ihtiyacına yönelik olarak geliştirilmiş yazılımlardır. Sistem yazılımları ise, uygulama yazılımlarının bilgisayarın sahip olduğu donanım bileşenleri ile uyumlu çalışmasını olanaklı kılan yazılımlardır. 12

Uygulama ve Sistem Yazılımları 13

Programlama Bir problemi çözmeye yarayan ve bir programlama dili kullanılarak yazılmış komut dizisine bilgisayar programı adı verilir. Günümüzde kullanılan 2000 den fazla programlama dili, yordamsal (procedural), fonksiyonel (functional), mantıksal (logical) ve nesne-tabanlı (object-oriented) olmak üzere farklı kategorilere bölünürler. 14

Programlama Dillerinin Gelişimi Programlama Dili Makine Dili: 0-1 den oluşan ikili sistem ile komutlar yazılır. Çevirme Dili (İkinci Nesil Diller): Sembolik komutlar kullanılır. Üçüncü Nesil Diller: İnsanların anlayabileceği komutlar kullanılır. Dördüncü Nesil Diller: Doğal konuşma diline yakın ifadeler kullanılır. Nesne-tabanlı Diller: Davranış ve özellikleri bünyesinde barındıran nesneler üzerinden işlemler yapılır. Örnek Komut 1001 1001 1100 1101 LOAD R5 LOAD R6 ADDI R0, R5,R6 program Merhaba; begin write('merhaba'); end. SUM THE FOLLOWING NUMBERS Yazici.yaz("Mesaj") 15

Programlama Dili Örnekleri Programlama Dili FORmula TRANslator (FORTRAN) Common Business-Oriented Language (COBOL) Beginners All-purpose Symbolic Instruction Code (BASIC) Pascal C Tanımı İlk üst düzey programlama dillerinden olan Fortran özellikle sayısal hesaplama için kullanılan genel-amaçlı, yordamsal bir dildir. Üst düzey dillerinin öncülerinden Cobol, ilk ticari sistemleri programlamada kullanılan bir dildir. Programlamaya yeni başlayanların rahatça öğrenebilmeleri için geliştirilmiş genel amaçlı bir dildir. Programlama öğretmek için tasarlanmış, genel-amaçlı, yapısal programlamayı destekleyen, yordamsal bir dildir. Bell Laboratuarında geliştirilmiş, özellikle sistem programlamada yaygın olarak kullanılan, alt düzey programlamaya da izin veren üst düzey, hızlı ve genel-amaçlı bir dildir. 16

C++ Java Programlama Dili Örnekleri C programlama dili üzerinde nesne-tabanlı yaklaşımı gerçekleştiren, sistem programlamada yaygın bir şekilde kullanılan, Bell Laboratuarında geliştirilmiş bir dildir. Sun Sistemleri tarafından geliştirilen, nesne-tabanlı yaklaşım kullanan, platform bağımsız, web programlamasına yatkın, genel-amaçlı bir dildir. C# Microsoft tarafından.net platformunda çalışacak uygulamalar için geliştirilen, nesne-tabanlı, genel-amaçlı bir dildir. Javascript Python Web sayfalarında dinamik içerik sağlamak için geliştirilen bir dildir. İş ve akademik çevrelerde kullanılan, hem yordamsal, hem de nesne-tabanlı programlamaya olanak sağlayan genel-amaçlı bir dildir. 17

Program Geliştirme Kaynak Kod Derleme Makine Dili Çalıştırma Kaynak Kod Yorumlama Çalıştırma 18

Kaynak Kod Önişlemci Değiştirilmiş Kaynak Kod #include <iostream> using namespace std; int main() { } Derleyici Kaynak Kod 1110001101011 Bağlayıcı Çalıştırılabilir Kod Çıktı 19

Nesne-tabanlı Programlama Nesne-tabanlı programlama yaklaşımı, insanların çevrelerindeki her şeyi birer nesne olarak algıladıkları varsayımına dayanır. Bir nesne (object), fiziksel, kavramsal ya da yazılım anlamında tanımı olan bir varlığı niteler. Örneğin, araba, öğrenci ya da fotosentez kavramı, birer nesne örneğidir. Her nesnenin bir durumu, özelliği ve davranışı vardır. Örneğin, bir arabanın özellikleri arasında plaka, renk, model sayılabilirken, hareket etme ve durma da davranışları olarak görülebilir. 20

Nesne-tabanlı programlama yaklaşımı aşağıdaki dört prensibi temel alır: Modülerlik (modularity) Soyutlama (abstraction) Sarmalama / Kapsülleme (encapsulation) Miras (inheritance ) Çoklu İşlev (polymorphism) 21

Modülerlik prensibine göre, yazılımın mümkün olduğunca birbirinden bağımsız modüller halinde geliştirilmesi hedeflenir. Soyutlama, yazılım probleminin çözümüne yönelik uygulama detayına girmeden üst seviyede nesnelerin modellenmesini kapsar. Sarmalama veya kapsülleme, nesnelerin sahip oldukları özellik ve davranışları tek bir yapı altında toplanması ve bu özellik ve davranışların detaylarının diğer nesnelerden gizlenmesi olarak tanımlanabilir. 22

Miras kavramında ise nesneler arasında özellik ve davranışların miras yoluyla paylaşımı gerçekleşir. Çoklu işlev prensibi, aynı davranışı farklı formlarda gerçekleştiren nesnelerin esnek bir yapıda kullanılmasını hedefler. 23

C++ Programlama Dili C programlama dilini temel alır C programlama dili, Dennis M. Ritchie AT&T Bell Laboratuvarları 1970 li yıllar yordamsal bir dildir C++ programlama dili Bjarne Stroustrup AT&T Bell laboratuvarı Nesne-tabanlı programlama C dilinde yazılmış programlar C++ dili ile uyumludur, ancak C++ dilinde yer alan nesne-tabanlı programlama özellikleri C dilinde yer almaz. 24