cplusplusdersi 1 giris

24
Bölüm 1: Giriş C++ Dersi: Programlamaya Giriş Ramazan YAŞAR

Upload: merveceylan

Post on 06-Nov-2015

32 views

Category:

Documents


5 download

DESCRIPTION

C++

TRANSCRIPT

  • Blm 1: Giri

    C++ Dersi:Programlamaya Giri

    Ramazan YAAR

  • erik

    Bilgisayar Sistemleri

    Donanm

    Yazlm

    Programlama

    Program Gelitirme

    Nesne-tabanl Programlama

    C++ Programlama Dili

    2

  • Bilgisayar Sistemleri

    Ksaca, bilgisayarlar verileri saklayp zerlerinde ilem yapabilen, programlanabilir elektronik cihazlar olarak tanmlayabiliriz.

    Bilgisayar sistemleri donanm (hardware) ve yazlm (software) bileenlerinden oluur.

    3

  • Donanm

    Bilgisayarn tm fiziksel, elle tutabildiimiz, grebildiimiz elemanlarna donanm ad verilir.

    4

  • 5Aritmetik/Mantk

    Birimi

    Kontrol

    Birimi

    Merkezi lem Birimi

    lem

    Sonular

    Veri /

    Komutlar

    Girdi / kt

    Birimleri

    Bellek

    Bilgisayar Mimarisi

  • 6Merkezi lem Birimi (Central Processing Unit / CPU): Bilgisayarn beyni olarak adlandrlan, programdaki komutlar altrmakla grevli birimdir. Bu birim Aritmetik/Mantk Birimi ve Kontrol Birimi adl iki bileenden oluur:

    Kontrol Birimi (Control Unit): Bilgisayarda yaplan tm ilemleri koordine etmekle grevlidir. Yeni komut alm, veri iletiimi ve dier bileenlerin koordinasyonunu salar.

    Aritmetik/Mantk Birimi (Arithmetic/Logic Unit /ALU): Tm aritmetik (toplama, karma, vs.) ve mantksal (karlatrma) ilemlerini gerekletirir.

  • Ana Bellek (Main Memory):

    7

    RAM olarak da adlandrlan, programdaki komutlar ve program tarafndan kullanlan verileri saklamakla grevli birimdir. Ana bellek, geici verileri saklamak iin kullanlr ve bilgisayar kapatldnda tm ierii silinir.

  • kincil Bellek (Secondary Storage):

    8

    Uzun sreli verileri tutmak iin kullanlan bellek trdr. Bilgisayar kapansa bile kaybolmasn istemediimiz tm bilgileri ikincil bellekte saklamamz gerekir. kincil belleklere rnek olarak sabit disk (hard disc), flash bellek, CD ve DVD gsterilebilir.

    kincil Bellek rnekleri: Flash bellek, Sabit disk ve CD/DVD

  • Girdi Birimleri (Input Devices )

    Bilgisayarn dardan okuduu verilere girdi denilir. Bu bilgileri okuyan bileenler, girdi birimleri olarak adlandrlr. En fazla kullanlan girdi birimlerine rnek olarak klavye(keyboard), fare (mouse), dijital kamera ve mikrofonu gsterebiliriz.

    9

    Girdi Birimleri: Klavye, Fare ve Dijital kamera

  • kt Birimleri (Output Devices):

    Bilgisayarn darya yollad tm veriler kt birimleri ile iletilir. En yaygn kt birimlerine rnek olarak ekran (monitor), yazc (printer), hoparlr (speaker) gsterilebilir. Ayn zamanda CD/DVDler, sabit veya flash bellek de ktlar alabildikleri iin kt birimi olarak snflandrlrlar.

    10

    kt Birimleri: Yazc, Ekran ve Hoparlr

  • Yazlm

    Yazlm, bilgisayar zerinde belirli bir iigerekletirmek iin hazrlanm programlaraverilen genel addr. Bir program, bilgisayara neyapacan ve nasl yapacan anlatankomutlar ierir. Yazlm terimi, ayn zamandaelektronik olarak kaydedilen bilgileritanmlamak iin de kullanlr.

    11

  • Bilgisayar yazlmlar; uygulama yazlmlar ve sistem yazlmlar olmak zere iki kategoriye ayrlr:

    Uygulama yazlmlar, kelime ilemci, muhasebe, nternet taraycs, izim programlar gibi dorudan kullancnn ihtiyacna ynelik olarak gelitirilmi yazlmlardr.

    Sistem yazlmlar ise, uygulama yazlmlarnn bilgisayarn sahip olduu donanm bileenleri ile uyumlu almasn olanakl klan yazlmlardr.

    12

  • Uygulama ve Sistem Yazlmlar

    13

  • Programlama

    14

    Bir problemi zmeye yarayan ve bir programlama dili kullanlarak yazlm komut dizisine bilgisayar program ad verilir. Gnmzde kullanlan 2000den fazla programlama dili, yordamsal(procedural), fonksiyonel (functional), mantksal(logical) ve nesne-tabanl (object-oriented) olmak zere farkl kategorilere blnrler.

  • Programlama Dillerinin Geliimi

    15

    Programlama Dili rnek Komut

    Makine Dili: 0-1den oluan ikili sistem ile komutlar yazlr.

    1001 10011100 1101

    evirme Dili (kinci Nesil Diller): Sembolik komutlar kullanlr.

    LOAD R5LOAD R6ADDI R0, R5,R6

    nc Nesil Diller: nsanlarn anlayabilecei komutlar kullanlr.

    program Merhaba;beginwrite('Merhaba');

    end.

    Drdnc Nesil Diller: Doal konuma diline yakn ifadeler kullanlr.

    SUM THE FOLLOWING NUMBERS

    Nesne-tabanl Diller: Davran ve zellikleri bnyesinde barndran nesneler zerinden ilemler yaplr.

    Yazici.yaz("Mesaj")

  • Programlama Dili rnekleri

    16

    Programlama Dili Tanm

    FORmula TRANslator(FORTRAN)

    lk st dzey programlama dillerinden olan Fortran zellikle saysal hesaplama iin kullanlan genel-amal, yordamsal bir dildir.

    Common Business-Oriented Language (COBOL)

    st dzey dillerinin nclerinden Cobol, ilk ticari sistemleri programlamada kullanlan bir dildir.

    Beginners All-purpose Symbolic Instruction Code (BASIC)

    Programlamaya yeni balayanlarn rahata renebilmeleri iin gelitirilmi genel amal bir dildir.

    Pascal Programlama retmek iin tasarlanm, genel-amal, yapsal programlamay destekleyen, yordamsal bir dildir.

    C Bell Laboratuarnda gelitirilmi, zellikle sistem programlamada yaygn olarak kullanlan, alt dzey programlamaya da izin veren st dzey, hzl ve genel-amal bir dildir.

  • Programlama Dili rnekleri

    17

    C++ C programlama dili zerinde nesne-tabanl yaklam gerekletiren, sistem programlamada yaygn bir ekilde kullanlan, Bell Laboratuarnda gelitirilmi bir dildir.

    Java Sun Sistemleri tarafndan gelitirilen, nesne-tabanl yaklam kullanan, platform bamsz, web programlamasna yatkn, genel-amal bir dildir.

    C# Microsoft tarafndan .net platformunda alacak uygulamalar iin gelitirilen, nesne-tabanl, genel-amal bir dildir.

    Javascript Web sayfalarnda dinamik ierik salamak iin gelitirilen bir dildir.

    Python ve akademik evrelerde kullanlan, hem yordamsal, hem de nesne-tabanl programlamaya olanak salayan genel-amal bir dildir.

  • Program Gelitirme

    18

    Kaynak Kod DerlemeMakine

    Dilialtrma

    Kaynak Kod Yorumlama altrma

  • 19

    Kaynak Kod

    nilemci

    DeitirilmiKaynak Kod

    Derleyici

    Kaynak Kod

    Balayc

    altrlabilir Kod

    #include

    using namespace std;

    int main()

    {

    }

    1110001101011

    kt

  • Nesne-tabanl Programlama

    20

    Nesne-tabanl programlama yaklam, insanlarn evrelerindeki her eyi birer nesne olarak algladklar varsaymna dayanr. Bir nesne (object), fiziksel, kavramsal ya da yazlm anlamnda tanm olan bir varl niteler. rnein, araba, renci ya da fotosentez kavram, birer nesne rneidir. Her nesnenin bir durumu, zellii ve davran vardr. rnein, bir arabann zellikleri arasnda plaka, renk, model saylabilirken, hareket etme ve durma da davranlar olarak grlebilir.

  • Nesne-tabanl programlama yaklam aadaki drt prensibi temel alr:

    Modlerlik (modularity)

    Soyutlama (abstraction)

    Sarmalama / Kapslleme (encapsulation)

    Miras (inheritance )

    oklu lev (polymorphism)

    21

  • Modlerlik prensibine gre, yazlmn mmkn olduunca birbirinden bamsz modller halinde gelitirilmesi hedeflenir.

    Soyutlama, yazlm probleminin zmne ynelik uygulama detayna girmeden st seviyede nesnelerin modellenmesini kapsar.

    Sarmalama veya kapslleme, nesnelerin sahip olduklar zellik ve davranlar tek bir yap altnda toplanmas ve bu zellik ve davranlarn detaylarnn dier nesnelerden gizlenmesi olarak tanmlanabilir.

    22

  • Miras kavramnda ise nesneler arasnda zellik ve davranlarn miras yoluyla paylam gerekleir.

    oklu ilev prensibi, ayn davran farkl formlarda gerekletiren nesnelerin esnek bir yapda kullanlmasn hedefler.

    23

  • 24

    C++ Programlama Dili

    C programlama dilini temel alr

    C programlama dili,

    Dennis M. Ritchie

    AT&T Bell Laboratuvarlar

    1970li yllar

    yordamsal bir dildir

    C++ programlama dili

    Bjarne Stroustrup

    AT&T Bell laboratuvar

    Nesne-tabanl programlama

    C dilinde yazlm programlar C++ dili ile uyumludur, ancak C++ dilinde yer alan nesne-tabanl programlama zellikleri C dilinde yer almaz.