programlamaya giris hafta-1

Upload: mehmet

Post on 30-May-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Programlamaya Giris Hafta-1

    1/27

    PROGRAMLAMAYAGR

  • 8/14/2019 Programlamaya Giris Hafta-1

    2/27

    2/27

    Kazanmlar

    Bu dersin sonunda, Programn ne olduunu, Program oluum safhalarn, Kaynak dosyay, Derleyiciyi, Program yazm sresince olua

    hatalar, Balayc ve arcnn ne olduunu

    reneceksiniz

  • 8/14/2019 Programlamaya Giris Hafta-1

    3/27

    3/27

    Program Nedir?

    Program, bir problemin zm iinherhangi bir programlama dilinin kurallarile oluturulmu komut kmesidir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    4/27

    4/27

    Program Olu um Safhalar

    Cde yazlan bir programn almas iin ounluklaaadaki srelerden gemesi gerekir.

    Bunlar kaynak dosyann yazlmas,

    derlenmesi, balanmas ve arlmas eklinde zetlenebilir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    5/27

    5/27

    Kaynak Dosya Source File

    Programn, herhangi bir programlamadilinin kurallarna gre ve onunkomutlarn kullanarak herhangi bir metin

    editr (Notepad, edit, pico vs.) ileoluturulmu ilk haline kaynak dosyadenir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    6/27

    6/27

    Kaynak Dosya Source File

    C programlama dilinin kurallar vekomutlar ile oluturulmu komut kmesi,editrde yazlp dosya uzants .C olacak

    ekilde kaydedilirse kaynak dosya hazrhale gelmi olacaktr.

  • 8/14/2019 Programlamaya Giris Hafta-1

    7/27

    7/27

    Kaynak Dosya: rnek

    /* lk C Program *//* Bu program ekrana Merhaba Dnya yazar */#include

    int main()

    {printf ( "Merhaba Dnya" ) ;/* Trnak ierisindeki mesaj grntler*/

    return 0;

    }

  • 8/14/2019 Programlamaya Giris Hafta-1

    8/27

    8/27

    Derleyici Compiler

    Bir programlama dilinde yazlm program baka birprogramlama diline eviren programlara evirici(translator) denir. Dntrlmek istenen programnyazld dile kaynak dil (source language),dnmn yapld dile ise hedef dil (targetlanguage) denir.

    Eer hedef dil, makine dili ya da simgesel makine dili isebu tr eviri programlara derleyici (compiler) denir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    9/27

    9/27

    Derleyici Compiler

    Derleyici, kaynak dosyay alr ve eer derleme ilemibaarl olursa bu kaynak dosyadan bir ama dosyas(object file) retir.

    Bu dosya artk ikilik (Binary) biimdedir ve dosyannuzants .OBJ olmutur.

  • 8/14/2019 Programlamaya Giris Hafta-1

    10/27

    10/27

    Derleyici Compiler

    Derleyici programnn derleme ilemini yaptsrece derleme zaman (compile time) denir.

    Bu sre baarszlkla da sonulanabilir ve eer

    derleme ileminde hata meydana gelirse programchata mesajlar ile uyarlr.

  • 8/14/2019 Programlamaya Giris Hafta-1

    11/27

  • 8/14/2019 Programlamaya Giris Hafta-1

    12/27

    12/27

    Derleme zaman

    Derleyici programnnverdii ileti :

    Bir hata iletisi olabilir.Bu durumda, derleyici

    programlar ounluklaama dosya retmeyireddeder.

    Bir uyar iletisi olabilir.

    Bu durumda, derleyiciounlukla ama dosyayretir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    13/27

    13/27

    Program gelitirmede ortaya kan hatalar

    Derleyici zaman hatalar (Compile TimeError)

    alma zaman hatalar (Run Time Error) Mantksal Hatalar (Logical Error)

  • 8/14/2019 Programlamaya Giris Hafta-1

    14/27

    14/27

    Derleyici zaman hatalar

    Bu tip hatalar genelde kullanlan dilin yazm kurallarna(syntax) uyulmadndan, komutlarn yanlyazlmasndan ya da uygun olmayan karakterlerinkullanlmasndan kaynaklanr.

    Buna C dilinde en iyi rneklerden birisi komutlarnsonuna yazlan ; (noktal virgl) iaretininkonulmamasdr.

  • 8/14/2019 Programlamaya Giris Hafta-1

    15/27

    15/27

    alma zaman hatalar

    Program kurallara uygun olarak yazlm ve herhangi biryazm hatas bulunmaz.

    alabilir bir uygulama haline getirilmi fakat almaannda bir takm veriler ya da uygun olmayan ortamlarnedeniyle alma annda bu tip hatalarla karlalr.

    Bu tip hatalara en iyi rneklerden birisi sfra blmehatasdr.

    Bir deerin baka bir deere blnmesi ileminde blen 0 (sfr)olarak verilirse, hibir say 0a blnemeyeceinden program hataverecektir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    16/27

    16/27

    Mantksal Hatalar

    Programcnn zm iin gerekli admlarnoluturulmasnda, zm ynteminin yanl olmasndan yada yanl ileler (operatrler) kullanmasndan kaynaklanr.

    rnein bir > byktr iareti yerine < iareti

    kullanldnda ne bir yazm hatas, ne de bir almazaman hatas ortaya kar.

    Fakat program kendisinden istenilen ileri yerine getirmez

    ve uygun ktlar retmez.

  • 8/14/2019 Programlamaya Giris Hafta-1

    17/27

    17/27

    Mantksal Hatalar

    Bir faktriyel problemi dnn. Bilindii zere:

    0! = 1 ve 1! = 1dir.

    Bu deerleri unutursak ortaya yanlsonular kacaktr.

  • 8/14/2019 Programlamaya Giris Hafta-1

    18/27

    18/27

    Mantksal Hatalar

    == deyimi yerine = kullanlrsaprogram bir hata vermez, nk Cninszdizimi kurallarna uygun ileler

    kullanlmtr. Ama sonular aynolmayacaktr. f (a==5) m++; f (a=5) m++;

  • 8/14/2019 Programlamaya Giris Hafta-1

    19/27

  • 8/14/2019 Programlamaya Giris Hafta-1

    20/27

    20/27

    Balayc program ne i e yarar?

    Derleyici tarafndan oluturulan makine koduyazlan btn komutlarn makine kodu deildir.

    Her programlama dilinin programcya saladilerini kolaylatran nceden retilmi ilev-fonksiyon (function) ad verilen kod paracklarbulunur.

  • 8/14/2019 Programlamaya Giris Hafta-1

    21/27

    21/27

    Balayc Linker

    Bunlarn oluturulmu ama kodlar ileprogramcnn yazd ama kodlar balayc(linker) tarafndan birletirilir.

    Bylece iletim sistemi tarafndan dorudanaltrlabilir bir uygulama elde edilmi olur.

    Artk dosyann uzants .EXE haline gelmitirve biimi de yine ikilik (binary) dir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    22/27

    22/27

    arc Loader

    Program bir uygulama haline gelmi ve diskte kaytlolarak durmaktadr.

    leyiini renebilmek iin altrmak gerekir.

    Oluturulan altrlabilir kod arc program ilealtrlarak ana hafzaya (RAM) yklenir.

    CPU tarafndan hafzadan arlarak altrlr.

  • 8/14/2019 Programlamaya Giris Hafta-1

    23/27

  • 8/14/2019 Programlamaya Giris Hafta-1

    24/27

    24/27

    Dikkat!

    Programcnn bu ileri ayrcagerekletirmesine gerek yoktur.

    Ama yine de oluum safhalarnbilmek nemlidir.

  • 8/14/2019 Programlamaya Giris Hafta-1

    25/27

    25/27

    zetle

    KAYNAK PROGRAM AMA PROGRAMEVRC PROGRAM

  • 8/14/2019 Programlamaya Giris Hafta-1

    26/27

    26/27

    zetle

  • 8/14/2019 Programlamaya Giris Hafta-1

    27/27

    27/27

    Kaynak a

    Yorulmaz, M., Yorulmaz, S.(2005).Programlamay C ile reniyorum(2. Bask).Palme Yaynlar, Ankara

    Karl, G. (2006). C'de Problem zmeMant. Pusula Yaynclk, stanbul.

    Ergin, N., C Kaynak Kitab, C ve SistemProgramclar Dernei