ENDÜSTRİYEL OTOMASYON TEKNOLOJİLERİmegep.meb.gov.tr/mte_program_modul/moduller_pdf/Programlama... · 2.4. C Programlama Dili ... Algoritma sadece akış diyagramı ile değil

Embed Size (px)

Citation preview

  • T.C.

    MLL ETM BAKANLII

    ENDSTRYEL OTOMASYON

    TEKNOLOJLER

    PROGRAMLAMA MANTII

    Ankara, 2014

  • Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereve retim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarak

    rencilere rehberlik etmek amacyla hazrlanm bireysel renme

    materyalidir.

    Mill Eitim Bakanlnca cretsiz olarak verilmitir.

    PARA LE SATILMAZ.

  • i

    AIKLAMALAR ................................................................................................................... iii GR ........................................................................................................................................ 1 RENME FAALYET-1 ..................................................................................................... 3 1. ALGORTMA ...................................................................................................................... 3

    1.1. Bilgisayarda Problem zme Admlar ......................................................................... 3 1.1.1. Problemi Tanma .................................................................................................... 3 1.1.2. Algoritma Gelitirme ............................................................................................. 4 1.1.3. Girdi Ve kt Biimi Belirleme ............................................................................ 4 1.1.4. Ak Diyagram izme ........................................................................................... 4 1.1.5. Kodlama ................................................................................................................. 5 1.1.6. Program Snama .................................................................................................... 5

    1.2. Algoritma rnekleri ...................................................................................................... 7 1.3. Algoritmada Saysal rnekler ..................................................................................... 11

    1.3.1 Deikenler ........................................................................................................... 11 1.3.2. Programlamada lemler ...................................................................................... 12

    1.4. Programlamada Karar fadesi ...................................................................................... 15 1.4.1. Eer fadesinin Tek Durumlu Kullanm ............................................................. 15 1.4.2. Eer fadesinin ki Durumlu Kullanm ............................................................... 16 1.4.3. e Karar Yapsnn Kullanm ......................................................................... 17

    1.5. Saya Mant .............................................................................................................. 20 1.6. Dngler ...................................................................................................................... 22

    1.6.1. Temel Dng Yaps ............................................................................................ 22 1.6.2. e Dngler ..................................................................................................... 24

    UYGULAMA FAALYET ............................................................................................... 27 LME VE DEERLENDRME ..................................................................................... 29

    RENME FAALYET-2 ................................................................................................... 30 2. BLGSAYAR PROGRAMLAMA .................................................................................... 30

    2.1. Yazlm Kavram ......................................................................................................... 30 2.1.1. Bilimsel Ve Mhendislik Yazlmlar .................................................................. 30 2.1.2. Mesleki Yazlmlar ............................................................................................... 31 2.1.3. Yapay Zeka Yazlmlar ....................................................................................... 31 2.1.4. Grntsel Yazlmlar .......................................................................................... 31 2.1.5. Sistem Yazlmlar ................................................................................................ 31

    2.2. Say Sistemleri ............................................................................................................. 31 2.2.1. ki Tabanl (Binary) Say Sistemi ........................................................................ 31 2.2.2. Basamak Deerleri ............................................................................................... 33 2.2.3. Onalt Tabanl (Heksadesimal) Say Sistemi ....................................................... 35

    2.3. Programlama Dilleri .................................................................................................... 35 2.4. C Programlama Dili ..................................................................................................... 37

    2.4.1. C Programlama Dili zellikleri ........................................................................... 37 2.4.2. C Programnn Derlenmesi ................................................................................... 38 2.4.3. Program editrnn kullanlmas ......................................................................... 40

    UYGULAMA FAALYET ............................................................................................... 48 LME VE DEERLENDRME ..................................................................................... 50

    MODL DEERLENDRME ............................................................................................... 52

    NDEKLER

  • ii

    CEVAP ANAHTARLARI ..................................................................................................... 53 KAYNAKA ......................................................................................................................... 54

  • iii

    AIKLAMALAR ALAN Endstriyel Otomasyon Teknolojileri

    DAL/MESLEK Ortak Alan

    MODLN ADI Programlama Mant

    MODLN TANIMI Programlama yapabilme bilgi ve becerilerin verildii retim

    malzemesidir.

    SRE 40/32

    N KOUL

    YETERLK Bu modl tamamladnzda programlamaya hazrlk

    ilemini yapabileceksiniz.

    MODLN AMACI

    Genel Ama

    Gerekli ortam salandnda programlamaya hazrlk ilemini

    doru ve hatasz olarak yapabileceksiniz.

    Amalar 1. Algoritma hazrlama kurallarna gre ak diyagramn

    doru bir biimde izebileceksiniz.

    2. Bilgisayar program yazm aracn hatasz bir ekilde kuracak ve program derleyebileceksiniz.

    ETM RETM

    ORTAMLARI VE

    DONANIMLARI

    Ortam: Programlama Laboratuar

    Donanm: Bilgisayar, Bilgisayar evre birimleri,

    programlama ak ablonu

    LME VE

    DEERLENDRME

    Modl iinde yer alan her renme faaliyetinden sonra

    verilen lme aralar ile kendinizi deerlendireceksiniz.

    retmen, modl sonunda lme arac (oktan semeli test,

    doru-yanl testi, boluk doldurma, eletirme vb.)

    kullanarak modl uygulamalar ile kazandnz bilgi ve

    becerileri lerek sizi deerlendirecektir.

    AIKLAMALAR

  • 1

    GR

    Sevgili renci,

    Bugn bilgisayarlarda kullanlan iletim sistemleri, izim programlar veya oyunlar

    eitli program kodlarnn bir araya getirilmesi ile olumutur. Siz de temel programlama 1

    modl ile bilgisayar programclna adm atm olacaksnz. Bilgisayar programlamada

    hangi programlama dilini seerseniz sein yapacanz ilemleri belirli bir mantk zerine

    kurmak zorundasnz. O zaman ie programlama mantn renmeyle balamak bu yolda

    atlabilecek en doru admdr. Peki bu mant nasl reniriz ve en nemlisi de bunu

    bilgisayara nasl anlatrz?

    Bir bilgisayar ile iletiime geebilmek iin herhangi bir programlama dili kullanmak

    zorundayz. Hangi programlama dilini kullanrsak kullanalm bilgisayara yaptracamz

    ileri nceden kafamzda tasarlamamz gerekir. Herhangi bir ie balamadan kafamzda yada

    bir kat zerinde tasarladmz ilem yoluma algoritma denir.

    Programlamann en nemli ksm algoritma hazrlayabilmektir. Algoritma

    hazrlandktan sonra hazrlanan algoritmann herhangi bir programlama dilinde kodlanmas

    iin en basit ksmdr. Burada nemli olan programlama dili deil, problemin zm iin

    algoritma gelitirebilmektir.

    Bu nedenle programlamaya hazrlk modlnn ilk renme faaliyetinde algoritma

    oluturmay reneceksiniz. kinci renme faaliyetinde ise bilgisayarda ilk programnz

    yazacak ve program ktsn ekran zerine greceksiniz.

    Bilgisayar kendi amacnz iin programlamak ve programnzn sonucunu grmek

    almalarnzda motivasyon salayacaktr.

    GR

  • 2

  • 3

    RENME FAALYET-1

    Algoritma hazrlama kurallarna gre ak diyagramn doru bir biimde

    izebileceksiniz.

    Gnlk yaamnzda karlatnz problemlere kar davranlarnz

    dnnz.

    Problem karsnda uyguladnz zm yollarnn planl olup olmadn

    arkadalarnz ile paylanz.

    Problemi zmek iin takip ettiiniz admlar sralaynz.

    1. ALGORTMA

    Gnlk hayatmzda karlatmz problemlerin zmnde salkl bir sonuca

    ulaabilmenin yolu planl bir yol izlenme ile mmkn olacaktr. Rastgele zmler ile

    sreklilik salanamaz. Bilgisayarla problem zmnde de bu geerlidir. Problemin analizi,

    zmn tasarlanmas, gerekletirilmesi ve kontrol zmn temel aamalardr.

    1.1. Bilgisayarda Problem zme Admlar

    zm iin her eyden nce problemin tam olarak anlalmas gerekir. Tam anlamyla

    tanmlanamayan bir problemin zm de yanl olacak ve istenilen sonu elde

    edilemeyecektir.

    1.1.1. Problemi Tanma

    Doru sonucun bulunabilmesi iin neden, nasl, ne iin sorularnn yantlanmas

    gerekir.

    Descartes Discourse on method isimli kitabnda problem zme ile ilgili u

    nerilerde bulunur:

    Doruluu kesin kantlanmadka, hibir eyi doru olarak kabul etmeyin, tahmin ve nyarglardan kann.

    Karlatnz her gl mmkn olduunca ok paraya bln. Dzenli bir biimde dnn; anlalmas en kolay olan eylerle balayp yava

    yava daha zor ve karmak olanlara doru ilerleyiniz.

    RENME FAALYET-1

    AMA

    ARATIRMA

  • 4

    Yatmadan nce saatini ayarla

    Alarm alnca kalk

    Elini yzn yka

    Kahvalt hazrla

    Kahvalt yap

    Okul kyafetini giy

    Kapy a ve dar k

    Biletini al

    Otobse bin

    nmek iin ikaz lambasna bas

    Okula doru git

    Okula gir

    Olaya baknz ok genel, hazrladnz ayrntl liste ise hibir eyi darda brakmayacak kadar kusursuz ve eksiksiz olsun.

    1.1.2. Algoritma Gelitirme

    Algoritma, bir sorunun zm iin izlenecek yoldur. Baka bir ifadeyle mevcut

    bilgilerden istenilenlere erime yntemidir. Genellikle bir sorunun birden fazla zm yolu

    olabilir. Bunlardan en uygunu seilmeye allr. Her algoritma aadaki kriterleri

    salamaldr:

    Giri :Her algoritmann bir balang noktas vardr. Balangta herhangi bir saysal deer dardan verilmelidir.

    k :Her algoritmann bir k noktas vardr ve en az bir deer retmelidir.

    Kesinlik :Algoritmann her admnda yaplacak i ak olmal ve farkl anlamlar iermemelidir.

    Sonluluk :Her trl olaslk iin algoritma sonlu admda bitmelidir.

    Gnlk yaammzda her zaman yaptmz ilemleri algoritmik srayla aadaki gibi

    yazabiliriz:

    1.1.3. Girdi Ve kt Biimi Belirleme

    Sonularn d ortama, dolaysyla insana aktarm dzgn bir biimde yaplmaldr.

    Programc program kts olarak almak istedii sonucun biimini tasarlar. Bir sonu biimi

    tasarlanrken anlalr ve kullanlabilir olmasna zen gsterilmelidir. Genellikle programn

    zd soruna ilikin baz verilerin dardan verilmesi gerekir. rnein bir denklem

    takmnn kkleri bulunacaksa, ilgili katsaylarn programa verilmesi gibi.

    1.1.4. Ak Diyagram izme

    Ak emas belirli bir iin yaplabilmesi iin, basit ilemlerle ema halinde

    gsterilmesidir. Ksaca algoritmann emalarla gsterilmesidir. Algoritma gelitirildikten

    sonra, daha iyi anlalabilir ve programlama dillerine aktarmnn daha kolay olmas

  • 5

    nedeniyle, ak emas haline getirilir. Bylece sorunun zm basamaklar, birbirleri ile

    ilikileri ve bilgi ak daha kolay grlebilir ve yanllklar dzeltilebilir.

    ekil 1.1: Ak diyagram sembolleri

    1.1.5. Kodlama

    Ak emalar izildikten sonra, sorunun yapsna uygun bir programlama dili seilir.

    Bu dil ile ak emalar dilin kurallarna uygun olarak bilgisayarn anlayabilecei duruma

    getirilir.

    1.1.6. Program Snama

    Program yazldktan sonra, sonular daha nceden bilinen veriler girilerek, eldeki

    sonularla kan sonular karlatrlr. Programn doru alp almad snanr.

    Algoritmaya gre ak diyagramnn izilmesi ve programn ak diyagramna gre

    yazlmas bilgisayar programclna yeni balayanlar iin ok nemlidir.

  • 6

    ekil 1.2: Problem zme algoritmas

    (1) Sistem Analizi

    Problemi tehis edip, nasl zeceiniz hakknda karar verme

    (2) Giri k dizayn

    Hangi verilerin girilecei ve hangi sonularn alnaca hakknda karar verme

    (3) Deiken isimlerine karar verme Kesin olarak hangi deikenlerin

    kullanlacana karar verme ve onlar tanmlama

    Bala

    Giri k dizaynnn kontrol edilmesi

    Sistemi doru anlayp anlamadn kontrol etme

    (4) Ak diyagramn yapma

    Gerekli elemanlar ekleme ve temel yapya karar verme

    (5)Ak diyagramn takip

    etmek

    (7) Bilgisayara girilmesi

    (8) Hata ayklama ve altrma testi

    (6)Kod yazm (Ak diyagramndan koda

    gei)

    son

    Sonular istediiniz gibi mi?

    Hayr

    Evet

    Ak diyagramlarnn

    kontrol (Algoritma hatalar)

    Kod yazmnn kontrol

    (Gramer hatalarnn kontrol)

    Sonucun kontrol (Program ve alma

    hatalarnn kontrol)

  • 7

    1.2. Algoritma rnekleri

    Bu blmde gnlk yaamnzda her zaman yaptnz fakat zerine dnmediiniz

    ilemleri algoritma mant ile uygulayacaksnz. Bylece algoritmada saysal ilemleri daha

    kolay yapabileceksiniz.

    rnek 1.1.

    ekil 1.3: rnek (ay demleme) ak diyagram

    ay demleme ilemine

    balarken aydanl

    ocaa koymak ve altn

    yakmak bir sretir.

    Suyun kaynamasn kontrol

    etmek ise karardr.

    Karar ifadesi salanyorsa

    (EVET) ak srer, bu

    durum gereklemez ise

    (HAYIR) sre devam

    eder.

    EVET

    ay demle

    aydanla su ekle

    Demlik ve aydanl

    ocaa koy

    Su kaynad m? Bekle

    EVET

    HAYIR

    Oca kapat

    Dur

    Bala

    aydanla

    su doldur

    aydanl ocaa

    koy ve altn yak

    HAYIR Bekle Su kaynad m?

  • 8

    rnek 1.2.

    ekil 1.4: rnek (amar ykama) ak diyagram

    amar kutusunda beyaz

    amarn olup olmadn

    kontrol etmek bir dngdr.

    Dngde koul evet ise

    dng srer, hayr ise sre

    devam eder.

    Bala

    Makine kapan

    kapat

    Deterjan ve

    yumuatc koy

    Makine

    kapan a

    Beyaz amar

    var m?

    Beyazlar amar

    makinesine koy

    Scakl ayarla

    HAYIR

    EVET

    A Bekle

    Program ayarla

    Makine

    durdu mu ?

    EVET

    HAYIR

    Temiz amarlar

    topla

    Dur

    amarlar ipe as

    A

  • 9

    rnek 1.3.

    ekil 1.5: rnek (Kitap arama) ak diyagram

    Kitap arama ileminde

    ekmeceleri ama sras

    deiebilir. Bu rnek iin

    kullanlan karar

    ifadesinden kan sonu

    HAYIR ise sre devam

    eder.Karar EVET

    olduunda ak sona

    erecektir.

    Bala

    1. ekmeceyi a

    Kitap var m?

    Kitap var m?

    2. ekmeceyi a

    3. ekmeceyi a

    Kitap var m?

    4. ekmeceyi a

    Kitab al

    Dur

    EVET

    EVET

    EVET

    HAYIR

    HAYIR

    HAYIR

    HAYIR

  • 10

    rnek 1.4.

    ekil 1.6: Trafik lambas ak diyagram

    Araba ile yolculuk yaparken

    trafik lambalar karsnda

    davranlarnz ekildeki gibi

    olacaktr.

    Trafik lambasndaki n

    yeil sar krmz yanma

    srasn dikkate alrsak

    Yeil yanma durumunda ak

    diyagramnda sre GE

    olacaktr.

    Eer k yeil deil ise

    sardr. Bu durumda

    yavalamamz gerekir.

    Ik sar deil ise krmzdr

    ve durmamz gerekir.

    Durduktan sonra okuma

    ilemi tekrar yaplr ve n

    krmzdan yeile dnmesi

    snanr.

    Yavala

    Bala

    Ik yeil mi?

    Ik sar m?

    Dur

    Ik yeil mi?

    Ge

    Dur

    EVET

    HAYIR

    HAYIR

    HAYIR

    Trafik

    lambasndaki

    oku

    Trafik

    lambasndaki

    oku Bekle

    EVET

    EVET

  • 11

    1.3. Algoritmada Saysal rnekler

    Bu blmde bilgisayar programlamann temeli olan algoritmay saysal rnekler ile

    reneceksiniz. Verilen rneklerde herhangi bir programlama dili komutu kullanlmayacak,

    bunun yerine algoritma basit ve yaln ifadeler ile anlatlacaktr.

    1.3.1 Deikenler

    Programn herhangi bir basamanda tanmlanan ve farkl zamanlarda farkl deerler

    alabilen sembolik ifadeye deiken denir. Deikenler bilgisayarn RAM ad verilen

    belleinde geici olarak saklanrlar. Deikenleri RAM bellekte tahsis edilmi odacklar

    olarak dnebiliriz. Yani bir deiken tanmlandnda RAM bellekte bir odack (blm)

    alr ve buraya deiken ismi ile ulalr. Gerektiinde bu deikenler iine yeni deerler

    yazlabilir. Yeni bir deer yazldnda eski deerler silinir. Programdaki deikenler

    problemin tanm ve girdi kt belirleme aamalarnda belirlenmelidir.

    Program yazm srasnda deiken isimleri verilirken anlaml ksaltmalar yapmak

    programn anlalabilir olmas asndan nemlidir. Uzun deiken adlar bellekte daha fazla

    yer kaplayaca iin programn hacmini arttrr, ok ksa deikenler de programn

    izlenmesinde skntlar yaratr. rnein;

    ortalama ort renci notu ogrnot sat fiyat sfiyat

    rnek: Klavyeden girilen iki saynn toplamn bulan algoritmay tasarlayn.

    ekil 1.7: ki saynn toplanmas

    Bala

    Dur

    OKU A

    OKU B

    Toplam= A+B

    YAZ Toplam

    Klavyeden girilen iki saynn toplamn bulan program

    yazlrken 3 adet deiken tanmlanmaldr. nk

    klavyeden 2 say girilecek ve bu saylar toplanarak 3. bir

    deikene aktarlacaktr.

    Algoritma sadece ak diyagram ile deil komutlar ile

    de aklanabilir. Buna gre ak diyagramnn

    algoritmas aadaki ekilde yazlabilir:

    BALA OKU A OKU B Toplam=A+B YAZ Toplam DUR

  • 12

    rnekteki algoritmaya gre deikenlerin durumu u ekildedir:

    1.3.2. Programlamada lemler

    Bilgisayarlar bilgileri ileyen makinelerdir. Verilen bilgileri, kabul ederek tarif edilen

    problemi zer veya bilgileri kullanarak istenen sonular kartr. Bilgisayar bilgileri okur,

    iler, saklar, geri verir. Ancak btn bu ileri ok hzl bir ekilde ve gvenilirlikle yapar.

    Bu aklamalara gre baz kavramlar bilmemiz gerekir.

    Veri, bilgisayara girilen saysal deerler veya metinlerdir. Kendi bana anlam

    olmayan bu deerler ilenerek gerekli sonular kartlr. Bilgi ise verilerin ilenmesi ile

    kartlan sonulardr. nsanlar iin anlaml olan bu saysal sonular deerlendirilir ve

    uygulanr.

    ekil 1.8: Veri ve bilgi

    VER BLG

  • 13

    Bilgisayarlar girilen veriler ile u ilemleri yaparlar:

    1.3.2.1. Aritmetik Ve Karlatrma lemleri

    Bilgisayarlar temel matematik ilemleri yapabildii gibi karlatrma ilemleri de

    yapabilirler. Yalar girilen iki kiiden gen olan bulmak, snfn iinde en yksek puan alan

    renciyi tespit etmek, bir alveri merkezinde belli bir tarihte yaplan ilemleri bulmak

    gibi rnekleri verebiliriz.

    ekil 1.9: Aritmetik ve karlatrma ilem operatrleri

    rnek :

    (C*D/(A*D))+B+C*D/A

    1.3.2.2.Mantksal Balalar

    Bilgisayarlar iki veya daha fazla koulun birlikte snanmasn da yaparlar.rnein

    puan 69 dan byk VE 85 den kk olma koulu renci notunun 4 olmasn

    salar.Dier bir rnek de rencinin edebiyat VEYA matematik notunun 70 ten yukar

    olmas durumunda renci snf geebilsin ifadesidir.

    VE balac: Verilen koullarn hepsi doru ise sonu salanr. VE balac ile

    balanm nermelerden en az birinin yanl olmas sonucu yanl yapar.

    VEYA balac: VEYA balac ile balanan koullardan en az birisi doru ise sonu

    dorudur.

    DEL balac: DEL balac doruyu yanl, yanl doru yapar. DEL tek bir

    nerme ve koul zerinde uygulanr.

    Doru= 1 ve Yanl= 0 tanmyla, x ve ynin alaca deerlerin sonular aadaki

    tabloda gsterilmitir:

    Toplama karma arpma Blme Aktarma

    + - * / = Byk Kk Byk eit Kk eit Eit deil

    > < >=

  • 14

    ekil 1.10: Mantksal balalar

    rnek: Klavyeden girilen 3 saynn ortalamasn bulan algoritmay tasarlayn.

    ekil 1.11: Ortalama bulunmas

    X Y X ve Y X veya Y Z deil Z

    0 0 0 0 0 1

    0 1 0 1 1 0

    1 0 0 1

    1 1 1 1

    Bala

    OKU A

    OKU B

    Dur

    T= (A+B+C)/3

    YAZ T

    OKU C

    BALA OKU A OKU B OKU C T=(A+B+C)/3 YAZ T DUR

    Bu rnekteki (A+B+C)/3

    ileminde parantez

    ncelii vardr.

    Eer parantez

    kullanlmasayd

    A+B+C/3 ileminde

    blmenin toplamaya

    gre ncelii olacakt

  • 15

    rnek: Klavyeden fiyat girilen bir maln KDV eklenmi sat fiyatn veren algoritmay

    yaznz.

    ekil 1.12: Sat fiyat bulunmas

    1.4. Programlamada Karar fadesi

    Programlamada karar yaps EER ifadesi ile salanr. Gnlk hayatmzda da ok

    kullandmz bu ifade bilgisayar programlarnda nemli bir yer tekil eder. Genellikle

    programlama dillerinde ngilizce if olarak kullanlr.

    1.4.1. Eer fadesinin Tek Durumlu Kullanm

    Su kaynad m? ay demle

    EER su kaynad ise ay demle

    Makine durdu mu? beyaz amarlar topla

    EER makine durdu ise beyaz amarlar topla eklinde ifade edilebilir.

    ekil 1.13: Tek durumlu karar yaps

    Bala

    OKU A

    Dur

    T=A+A/100x18

    YAZ T

    BALA OKU A T=A+A/100x18 YAZ T DUR

    T=A+A/100x18 ileminde

    parantez almaya gerek yoktur.

    arpma ve blmenin kendi

    aralarnda ncelii olmad iin

    A/100x18 ileminin sonucu ile A

    deeri toplanr.

    HAYIR art salanyor

    mu?

    lem

    EVET

    Eer ifadesinin tek durumlu

    kullanmnda gerekli art

    salanyorsa sadece bir ilem

    yaplr. Aksi durumda herhangi

    bir ey yaplmaz.

  • 16

    rnek: Klavyeden girilen pozitif sayy ekrana yazdran algoritmay tasarlayn.

    ekil 1.14: Tek durumlu karar yaps rnei

    1.4.2. Eer fadesinin ki Durumlu Kullanm

    Biletin var m? Otobse bin Biletin yoksa Dolmua bin

    EER biletin var ise otobse bin DELSE dolmua bin

    Naktin varsa Nakit deme yap Naktin yoksa Kredi kart ile de

    EER naktin var ise demeyi nakit yap DELSE kredi kart ile deme yap ile ifade

    edilebilir.

    ekil 1.15: ki durumlu karar yaps

    A>= 0 m?

    Bala

    Dur

    OKU A

    YAZ A

    HAYIR

    EVET

    BALA OKU A EER A>=0 SE YAZ A

    DUR

    HAYIR

    art salanyor

    mu?

    lem1

    EVET

    lem2

    Eer ifadesinin iki

    durumlu kullanmnda

    gerekli art salanyorsa

    bir ilem yaplr.

    art salanmyor ise

    baka bir ilem yaplr.

  • 17

    rnek: Klavyeden girilen iki saydan hangisinin byk olduunu bulan algoritmay

    yaznz.

    ekil 1.16: ki durumlu karar yaps rnei

    1.4.3. e Karar Yapsnn Kullanm

    ki durumlu karar yapsnda sadece iki olaslk iin sonu alnabiliyordu. ie karar

    yapsnda ise bir koul kendisinden nce gelen koulun alternatifidir.

    ekil 1.17: ie karar yaps

    YAZ B

    A>B mi?

    Bala

    Dur

    OKU A

    YAZ A

    HAYIR

    EVET

    OKU B

    BALA OKU A OKU B EER A>B SE YAZ A DELSE YAZ B

    DUR

    HAYIR

    art salanyor

    mu?

    lem1

    EVET

    lem2

    art salanyor

    mu?

    lem3

    HAYIR

    EVET

    EER art gerekleiyor ise

    1. ilem

    DELSE

    EER art gerekleiyor ise

    2. ilem

    DELSE

    3. ilem

    EER SONU

    EER SONU

  • 18

    rnek: Aadaki cret tarifesine gre aracn otopark cretini hesaplaynz. Aralarn

    otopark iinde en fazla 24 saat kaldn varsayn.

    Zaman deikeni T

    0 - 2 saat 2 YTL

    2 - 8 saat 5 YTL

    8-24 saat 8 YTL

    ekil 1.18: ie karar yaps rnei

    YAZ 5 YTL

    T

  • 19

    rnek: Klavyeden girilen puan deerine gre renci notunu hesaplayan algoritmay

    yaznz.

    Not sistemine gre renci puan 0- 24 ise 0 55- 69 ise 3

    25- 44 ise 1 70- 84 ise 4

    45- 54 ise 2 85- 100 ise 5 olacaktr.

    ekil 1.19: ie karar yaps rnei

    PUAN

  • 20

    1.5. Saya Mant

    Daha nce incelediimiz algoritmalarda deikenler belirleniyor, programa yaplan

    girdiler ile ilemler gerekletiriliyordu. Bu ilemler program iletimi srasnda birer

    kez yaplyor ve program sonlanyordu. Programlamada ilemlerin arka arkaya yaplabilmesi

    iin saya mant kullanlr.

    imdi bu mant bir rnek ile aklayalm.

    rnek: Klavyeden girilen 100 saynn toplamn bulan ve sonucu ekrana yazdran

    algoritmay tasarlayn.

    100 saynn toplamnn bulunabilmesi iin normal olarak 100 adet deikenin

    belirlenmesi ve bunlarn toplanmas gerekir.

    ekil 1.20: Klavyeden girilen saylarn toplanmas

    say1

    say2

    say3

    . .

    . .

    say99

    say100

    Byle bir deiken yaps programn

    tasarlanmas ve iletimi asndan ok

    hantaldr.

    Bu durum 100 kova ile dolan bir su

    tank iin 100 ayr kova kullanmaya

    benzer.

    Burada bilinmesi gereken 1 kovann

    ka defa kullanlacadr.

    Bala

    OKU A

    Dur

    YAZ T

    S=100 m? HAYIR

    EVET

    S=S+1

    T=T+A

    Deikenler

    A (Say) A deikeni ile klavyeden her

    defasnda deiik bir say alabiliriz. Bu

    deikenin deeri srekli deiir nk yeni bir

    say aldnda eski deeri siler.

    S(Saya) Balangta deeri 0 olan saya

    deikeni klavyeden say girilirken 1 deer

    artar. Bu durum S=S+1 ilemi ile salanr.

    Buradaki ilem matematiksel adan yanl olsa

    bile saya iletimi iin ok nemlidir.

    T(Toplam say) Toplam say klavyeden

    girilen saylarn toplamn saklayan deikendir.

    Bu deiken de saya deeri her arttnda

    T=T+1 ilemine gre yeni bir deer alr

  • 21

    imdi programn iletimi srasnda dikkat edilmesi gereken baz noktalar ksaca

    aklayalm.

    Klavyeden saynn alnma ilemidir. Bu say istenilen deerde bir

    tam say olabilir.

    Saya deikeninin balang deeri 0 dr. Bu durumda eitliin sa tarafndaki deer eitliin sol tarafna atanr.

    Sayacn ilk deeri 0 ise S = 0 + 1 S = 1 olur.

    Sayacn yeni deeri 1 ise S = 1 + 1 S = 2 olur.

    Toplam deikeninin balang deeri 0dr. Bu durumda eitliin sa tarafndaki deer eitliin sol tarafna atanr.

    Klavyeden girilen 1.say 4 ise T = 0 + 4 T = 4 olur.

    Klavyeden girilen 2. say 16 ise T = 4 +16 T = 20 olur.

    Sayacn kontrol EER koulu ile salanr. Saya deeri ilk

    durumdan itibaren her artnda EER koulu ile sorgulanr.

    S=100 deil ise klavyeden yeni giri yaplmas salanr.S=100

    olduunda 100 saynn toplam sonucu alnmtr.

    Programa rastgele deerler verilerek almas incelenebilir.Bu yntem programlarn

    test edilmesinde ok nemlidir.

    OKU A

    S=S+1

    T=T+A

    S=100 m? HAYIR

    EVET

    1.BALA 2.OKU A 3.T=T+A 4.S=S+1 5.EER S100 ise GT2 6.YAZ T

    7.DUR

  • 22

    rnek : Ekrana 10 defa merhaba yazdran algoritmay yaznz.

    ekil 1.21: Ekrana 10 defa merhaba yazlmas

    nceki rnekte saya, EER karar

    yapsnda belirlenen deere kadar sayyor,

    sayma ilemi sona erdiinde ekrana

    program sonucu yazlyordu. Yukardaki

    algoritmada ise S saya deeri S=S+1

    ilemi ile artmaktadr. Saya deeri her

    artnda ekrana merhaba yazlr. Saya

    10 deerine ulatnda ise yazma ilemi

    durur.

    1.6. Dngler

    Dngler, saya mant ile yaplan ilemleri otomatik olarak yapan yaplardr.

    1.6.1. Temel Dng Yaps

    nceki konuda saya mantn rendik. Saya yapsnda bir balang deeri, art

    deeri ve koul vardr. Sayma ilemi balang deerinden balar ve EER karar yapsnda

    belirlenmi koul ile sorgulanr. Saya artnda koul salanmam ise program ak GT

    komutu ile balang deerine gider.

    Dnglerde de bir balang says, art deeri ve koul vardr.

    No A S=S+1 T=T+A

    1 4 1=(0+1) 4=(0+4)

    2 8 2=(1+1) 12=(4+8)

    3 5 3=(2+1) 17=(12+5)

    4 3 4=(3+1) 20=(17+3)

    5 7 5=(4+1) 27=(20+7)

    6 9 6=(5+1) 36=(27+9)

    7 11 7=(6+1) 47=(36+11)

    8 1 8=(7+1) 48=(47+1)

    9 16 9=(8+1) 64=(48+16)

    Bala

    Dur

    YAZ

    merhaba

    S=10 mu? HAYIR

    EVET

    S=S+1 1.BALA 2.S=S+1 3.YAZ merhaba 4.EER S10 SE 5.GT 2

    6.DUR

  • 23

    ekil 1.22 Saya ve Algoritmalar

    Dng kullanmnda S=1, N, 1 ifadesi S deikenini 1 deerinden N deerine

    kadar 1 er arttr anlamna gelmektedir.

    rnek : 1` den 100`e kadar olan saylarn toplamn hesaplayan algoritmay yaznz.

    ekil 1.23: Dng rnei

    S=N mi ? HAYIR

    EVET

    lem

    S=S+1

    BALA DNG S=1,100,1 T=T+S DNG SONU YAZ T DUR

    Dng iinde balang deeri S=1dir.Sayma

    ilemi 100 deerinde bitecek ve S deikeni

    dngnn her dnnde 1 artacaktr.

    Program komutlarndaki

    DNG

    --------------

    --------------

    DNG SONU

    ifadesi 1 den 100 e kadar olan toplama ileminin

    dng sayma deeri kadar sreceini

    belirtmektedir.

    Sayac

    algoritmas

    Dng Algoritmas

    (modlmzde kullanlan)

    Dng Algoritmas

    (Alternatif izim)

    lem

    S=1,N,1 lem

    S=1 , N ,

    1

    Dng sonu

  • 24

    rnek : 1` den 100`e kadar olan tek saylar gsteren algoritmay yaznz.

    ekil 1.24: Dng rnei

    1.6.2. e Dngler

    Daha nce rendiimiz temel dng yapsnda yaplacak ilem balang ve koul

    deerlerine gre otomatik olarak tekrar ediliyordu.

    Eer dng iindeki bir ilemin alt ilemleri var ise bu durumda i ie dng yaps

    kullanlr. Bu yap bilgisayar programclnda ska kullanlan bir yntemdir.

    ekil 1.25: Dng rnei

    BALA DNG S=1,100,2 YAZ T DNG SONU DUR

    1 den 100 deerine kadar olan tek saylar

    gstermek iin dng deikeninin

    balang deeri 1, biti deeri 100, art

    deeri ise 2 olmaldr.

    ie dng yapsnda iki veya daha

    fazla dng bulunur.

    Aklamalarmz konunun daha iyi

    anlalmas asndan 2 dngl yap

    zerinde yapacaz.

    ekilde grlen birbirinin iine girmi

    dng yapsnda d dng deeri 1

    arttnda i dng N saysna kadar

    dnmektedir. Bu durumda d

    dngnn N kadar dnmesi i dng

    iindeki ilemin M x N says kadar

    yaplacan gsterir.

  • 25

    ie dng yapsn u rnek ile aklayabiliriz;

    1 gnlk zaman dilimini dikkate alrsak 60 saniye sonunda 1 dakika, 60 dakika

    sonunda ise 1 saat gemektedir.24 saat sonunda gn tamamlamaktadr. Bu durumu i ie

    dng yapsna uyarlarsak saniye en iteki dng saat ise en dtaki dngdr.

    Saat Dakika Saniye

    lem (60x60x24)

    ekil 1.26: ie dng rnei

    rneimiz 3 dngl bir yapdr. Bir

    ilemin 1 saniye srdn varsayalm.

    En iteki saniye dngs 0-59 arasnda 60 defa dner. Bu durumda

    dakika dngs 1 olur.

    Dakika dngs 0- 59 arasnda 60 defa dndnde ise 1 saatlik zaman

    dilimi elde edilir.

    Saat dngs 24 defa dndnde yaplan ilem 60x60x24 =84600

    defa tekrar etmitir.

  • 26

    rnek : 1-9 aras saylarn arpm tablosunu gsteren algoritmay yaznz.

    BALA DNG SAAT 0,23,1 DNG DAKKA 0,59,1 DNG 0,59,1 YAZ SAAT,DAKKA,SANYE DNG SONU DNG SONU DNG SONU

    DUR

    BALA DNG =1, 9, 1 DNG J=1, 9, 1 YAZ arpm= x J DNG SONU DNG SONU

    DUR

  • 27

    UYGULAMA FAALYET Aadaki sorulara ilikin uygulama faaliyetini yapnz.

    1. Aadaki formle gre 0 Fahrenheittan 210 Fahrenheit a kadar s deerlerinin Celsius

    karlklarn hesaplayan programn algoritmasn iziniz.

    2. 20'den 50'ye kadar olan saylarn toplamn bulan programn ak diyagramn yaznz.

    3. ki tamsaynn arpma ilemini sadece toplama ilemi kullanarak yapan programn ak diyagramn iziniz.

    4. ki tamsaynn blme ilemini sadece karma ilemi kullanarak yapan programn ak diyagramn iziniz. Blm ve kalann ne olduu bulunacak.

    lem Basamaklar neriler Problemi tespit ediniz.

    Problem ile ilgili verileri belirleyiniz. Verilen bilgileri ve istenenleri not ediniz.

    zm iin kullanlacak deikenleri belirleyiniz.

    Deiken isimlendirmesini yaparken mmkn olduka temsil ettii deeri

    hatrlatacak ksa isimler vermeye

    alnz.

    Problemi adm adm kada yaznz. Admlar belirlerken gereksiz admlardan kannz.

    Her adm sadece bir ilemi temsil edecek ekilde hazrlaynz.

    Ak diyagramn iziniz. Her algoritmann bann ve sonunun belli olmas gerektiini unutmaynz.

    Algoritma admlarnda problemin zmn etkileyecek her hangi bir

    belirsizlik olmamaldr. Dikkat ediniz.

    Algoritma iinde dng kullanlm ise balang, biti ve artm miktarn

    yazmay unutmaynz.

    Algoritma hazrlanrken eer bir karar yaps varsa; yaplan ilem sonucunda

    her trl alternatifi deerlendiriniz. Bir

    sorunun cevabnn evet olabilecei gibi

    hayr olabilecei de unutmaynz.

    Algoritmay kontrol ediniz.

    ( 32) 5

    9

    FC

    UYGULAMA FAALYET

  • 28

    KONTROL LSTES

    Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz becerileri Evet

    kazanamadnz becerileri Hayr kutucuuna (X) iareti koyarak kendinizi deerlendiriniz.

    Deerlendirme ltleri Evet Hayr 1. Problemi doru tespit ettiniz mi?

    2. Problemle ilgili verileri belirlediniz mi?

    3. Kullanlacak deikenleri belirlediniz mi?

    4. Problemi adm adm yazdnz m?

    5. Ak diyagramn izdiniz mi?

    6. Ak diyagramna bal olarak algoritmay oluturdunuz mu?

    7. Oluturduunuz algoritmay kontrol ettiniz mi?

    8. Teknolojik kurallara uygun bir alma gerekletirdiniz mi?

    9. Sreyi iyi kullandnz m?

    DEERLENDRME

    Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz.

    Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz

    Evet ise lme ve Deerlendirmeye geiniz.

  • 29

    LME VE DEERLENDRME Bu faaliyet sonunda kazandklarnz aadaki sorular cevaplandrarak lnz.

    1. Aadaki ilemin bilgisayar programndaki karln tamamlaynz.

    2. Aadaki aktarma ilemlerinin sonularn tabloda gsteriniz.

    A=1

    B=1

    C=A+B

    D=C+B

    E=D+A

    3. Taban ve ykseklii verilen bir genin alann bulan program iin gereken ifade ile boluu doldurunuz.

    BALA

    OKU TABAN

    OKU YKSEKLK

    ALAN = ________________

    YAZ ALAN

    DUR

    4. Eer ifadesi kullanmna ak diyagramnda karlk gelen sembol hangisidir?

    A) B) C) D)

    DEERLENDRME

    Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap

    verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.

    Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz.

    C D E

    LME VE DEERLENDRME

    1 2

    1 2

    R RR

    R R

    1* 2/.................R R R

  • 30

    RENME FAALYET-2

    Bilgisayar program yazm aracn hatasz bir ekilde kuracak ve program

    derleyebileceksiniz.

    Bilgisayar programlama dilleri hakknda aratrma yapnz.

    Derleyiciler hakknda aratrma yapnz.

    2. BLGSAYAR PROGRAMLAMA

    Bilgisayar iki blmden oluur. Bunlardan birincisi bilgisayarn fiziksel grnn

    oluturan klavye, fare, ekran vb. Paralarnn btndr. Bilgisayarn bu fiziksel paralarn

    btndr. Bilgisayarn bu fiziksel paralardan oluan ksmna donanm denir. kinci ksm

    ise yazlmdr. Bu blm bilgisayara ilerlik kazandran, kullancnn bilgisayara birtakm

    iler yaptrabilmesini salayan blmdr.

    2.1. Yazlm Kavram

    Bilgisayarn fiziksel grnne ek olarak ona yaptrmak istediklerimiz iin birtakm

    emirler verebilmemiz gerekir. Bilgisayara yaptrmak istediimiz iler iin vereceimiz

    emirlere komut denir. rnein bilgisayara verebileceimiz kaydet, sil, yazcya gnder gibi

    emirler birer komuttur. Bu komutlar bilgisayar ile kullanc arasnda iliki kuran zel bir dil

    grevi yapar. Bilgisayara istenilen ileri yaptrmak iin kullanlan komutlar zincirine

    program denir. Bilgisayara yaptrlacak iler iin verilen komutlar ile bu komut zincirinden

    oluan bilgisayar programlar birer yazlmdr. Ksaca, bir bilgisayarn fiziksel grnmne

    ilerlik kazandran, insan abas sonunda meydana getirilen programlar ve fonksiyonlara

    yazlm ad verilir.

    2.1.1. Bilimsel Ve Mhendislik Yazlmlar

    Bilimsel ve mhendislik konularndaki problemlerin zlmesinde kullanlan

    programlardr. Bu tr programlarda veri miktar greli olarak dktr ancak matematiksel

    ve istatistiksel algoritmalar youn olarak kullanlabilir. Tamamen hesaplama arlkl

    ilemler ierir. Elektronik devrelerin zmn yapan programlar, istatistik analiz

    paketlerini bu tr programlara rnek olarak verebiliriz.

    RENME FAALYET-2

    AMA

    ARATIRMA

  • 31

    2.1.2. Mesleki Yazlmlar

    Veritaban arlkl yazlmlardr. Genel olarak verilerin yaratlmas, ilenmesi ve

    dosyalarda saklanmas ile ilgilidir. Bu tr programlara rnek olarak stok kontrol programlar,

    mteri takip programlar, muhasebe programlarn verebiliriz.

    2.1.3. Yapay Zeka Yazlmlar

    nsan davranlarn taklit etmeyi amalayan yazlmlardr. rnek olarak robot

    yazlmlar, satran gibi zeka oyunlarn oynatan programlar vs. verilebilir.

    2.1.4. Grntsel Yazlmlar

    Grntsel ilemlerin ve algoritmalarn ok youn olarak kullanld programlardr.

    rnek olarak oyun ve animasyon yazlmlarn verebiliriz. Bu yazlmlar arlkl olarak

    bilgisayarn grafik arabirimini kullanrlar.

    2.1.5. Sistem Yazlmlar

    Bilgisayarn elektronik yapsn yneten yazlmlardr. Derleyiciler, haberleme

    programlar, iletim sistemi birer sistem yazlmdr. rnein text editr de bir sistem

    yazlmdr. Uygulama programlarna gre daha dk seviyeli ilem yaparlar.

    2.2. Say Sistemleri

    Gnlk yaantmzda 35 YTL, 4 kg veya 17 haziran ifadelerini kullandmzda herkes

    ne sylediimizi anlayabilir. Buradaki 35, 4 ve 17 desimal say sistemine aittir.

    2.2.1. ki Tabanl (Binary) Say Sistemi

    Saysal elektronik sistemler bize yabanc bir say sistemi kullanr. Bu say sistemine

    ikilik say sistemi (binary) denir. Bilgisayarlar ve dier mikroilemci tabanl sistemler

    onaltlk (heksadesimal) ve sekizlik (oktal) say sistemleriyle alr.

    Desimal say sistemi 0,1,2,3,4,5,6,7,8,9 rakamlarndan oluur.Bu nedenle onluk veya

    on tabanl say sistemi olarak adlandrlr.Binary say sisteminde sadece 0 ve 1 rakamlar

    olduu iin ikilik veya iki tabanl say sistemi olarak adlandrlr.

    ekil 2.1da daireler madeni paray ifade etmektedir. Bu tabloda; madeni paralarn

    miktarlar desimal say sistemi iin sol stunda ve binary say sistemi iin sa stunda

    ki tabanl (binary) ve onalt tabanl (heksadesimal) say sistemleri

    bilgisayar programlamaya yeni balayanlar iin renilmesi gerekli temel

    konularn banda gelir.

  • 32

    sembolize edilmitir. rnein dokuz madeni parann olduu satrda bu paralarn miktarn

    desimal say sistemine gre belirtmek istediimizde 9 semboln kullanmamz gerekir. Ayn

    miktar binary say sistemi ile ifade etmek iin 1001 semboln kullanmalyz. 0 ve 1 saylar

    desimal ve binary say sisteminde kullanlan ortak sembollerdir.

    ekil 2.1: Say sembolleri

    ki tabanl say sisteminde 10 saysn bir sfr eklinde, 111 saysn bir bir bir,

    1001 saysn ise bir sfr sfr bir eklinde sylememiz gerekir.

    ki tabanl say sistemindeki, her sembol bit (basamak) olarak adlandrlr. Her bit 0 ve

    1 olmak zere iki farkl deer alabilir. Buna gre n bitlik bir say 2n deiik ekilde

    oluturulabilir. 0 ve 1 saylar elektrik devrelerinde sinyal var ya da yok anlamnda

    kullanld gibi, bir lambann yanp yanmadn veya bir anahtarn kapal m yoksa ak m

    olduunu da gsterir.

    rnek: Aada 4 bitlik saylar verilmitir. Bu saylardaki her bitin bir lamba

    olduunu dnerek ledlerin yanp yanmayacan belirleyiniz.

    a. 1010 b. 1000 c. 1111

    zm :

    Binary saylar Lambalar

    1010

    1000

    1111

    ekil 2.2: Lambalar kullanlarak binary saylarn gsterimi

    Desimal Binary

    0

    1

    2

    3

    4

    5

    6

    9

    7

    8

    0

    1

    10

    11

    100

    101

    110

    111

    1000

    1001

  • 33

    rnek: Binary say sisteminde 4 bit, 8 bit ve 16 bit kullanlarak ka farkl say

    yazlabilir?

    zm : 4 bitlik 2 4 = 16

    8 bitlik 2 8 = 256

    16 bitlik 2 16

    = 65536 deiik say yazlabilir.

    2.2.2. Basamak Deerleri ki tabanl say sistemlerinde basamak sistemini on tabanl sisteme gre

    aklayabiliriz. rnein alverie ktnz ve aldnz maln tutar 5,75 TL olsun. Bu creti

    satcya aadaki ekilde olduu gibi 5 adet 1 TL, 7 adet 10 kuru ve 5 adet 1 kuru olarak

    deyebiliriz.

    ekil 2.3: Basamak sistemi

    648 saysn yukardaki rnee gre basamaklarna ayrrsak, soldaki 6 rakam yzler

    basaman, 4 rakam onlar, 8 rakam da birler basaman gsterir.

    648 = 600 + 40 + 8

    ki tabanl say sistemini de basamaklarna ayrabiliriz.

    rnein 1001 (bir sfr sfr bir olarak okunur.)saysn dnelim.

    5,75 = + +

    5 7 5

    1TL 10 kr 1kr

    8 4 2 1 1 0 0 1

    9

    Onluk say sisteminde basamaklar sadan sola

    10nun katlar eklinde artyordu.

    ki tabanl say sisteminde basamak deerleri

    sadan sola 2nin katlar eklinde artar.

    1001 saysnda 1. basamanda 1 deeri vardr.

    2 ve 4. basamakta 0 olduu iin bu basamaklarn saysal deeri yoktur.

    8. basamakta 1 deeri olduu iin 1001

    saysnn desimal karl 8+1=9 dur.

  • 34

    Binary (iki tabanl) say sisteminde taban 10 yerine 2 olduu iin basamak deerleri

    20=1, 2

    1=2, 2

    2=4, 2

    3=8, 2

    4=16, 2

    5=32 ... eklinde ifade edilir.

    rnek olarak; (00101011)2 saysnn desimal sistemde (43)10 a eit olduunu u

    ekilde kantlayabiliriz:

    =0x128+0x64+1x32+0x16+1x8+0x4+1x2+1x1 =(0+0+32+0+8+0+2+1) =(43)10

    En soldaki binary rakam En Byk Dereceli Rakam (The Most Significant Bit-

    MSB), en sadaki rakam ise En Kk Dereceli Rakam (The Least Significant Bit-LSB)

    olarak adlandrlr. Bu ifade ekil 2.4te MSB ve LSB olarak belirtilmitir.

    ekil 2.4: Basamak sistemi

    Saynn Deeri = (127)+(02

    6)+(12

    5)+(02

    4)+(12

    3)+(02

    2)+(12

    1)+(12

    0)

    = (1128)+(064)+(132)+(016)+(18)+(04)+(12)+(11)

    = 128 + 0 + 32 + 0 + 8 + 0 + 2 + 1

    = (171) 10

    ekil 2.5: Binary say sistemi

    28

    27

    128

    26

    64

    25

    32

    24

    16

    23

    8

    22

    4

    21

    2

    20

    1

    1 0 1 0 1 0 1 1

    MSB LSB

    100 10 1 8 4 2 1

    0 0

    1 1

    2 1 0

    3 1 1

    4 1 0 0

    5 1 0 1

    6 1 1 0

    7 1 1 1

    8 1 0 0 0

    9 1 0 0 1

    1 0 1 0 1 0

    1 1 1 0 1 1

    1 2 1 1 0 0

    1 3 1 1 0 1

    1 4 1 1 1 0

    1 5 1 1 1 1

    Desima

    l Binary

  • 35

    2.2.3. Onalt Tabanl (Heksadesimal) Say Sistemi

    Binary say sistemi bilgisayarn anlad tek say sistemidir. Bilgisayardan girdiiniz

    tm yaz, say ve ilemler binary sayya evrilerek bilgisayar tarafndan alglanr. Fakat

    binary say sisteminde yalnzca 2 rakam olduu iin byk saylar ifade etmek olduka fazla

    rakamla mmkn olur. rnein desimal say olan 202 saysn 3 rakam kullanarak ifade

    edebilirken ayn sayy binary say sisteminde 11001010 eklinde yazarz ki bu bizim 8

    rakam kullandmz gsterir.

    Bilgisayar reticileri bu sorunu heksadesimal say sistemini gelitirerek zmlerdir.

    Bu say sisteminde saylar daha az rakam kullanlarak ifade edilebilmektedir. Ayrca bu say

    sisteminin ayr bir stnl de binary sayya gei ve binary saydan heksadesimal sayya

    geiin kolay olmasdr. Heksadesimal say sisteminde 16 sembol kullanlr. Bunlar

    0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F dir.

    A harfi 10 saysna, B harfi 11 saysna , C harfi 12 saysna, D harfi 13

    saysna, E harfi 14 saysna ve F harfi de 15 saysna karlk gelir. Bunun yannda

    heksadesimal sayy yazarken dier sistemlerde de olduu gibi taban belirtmek zorundayz.

    Bu belirtme rnein; (1A)16 eklinde olabilecei gibi 1Ah eklinde de olabilir.

    Heksadesimal saylar 4er bit eklinde ayrlrlar. rnein 0000 0101 binary sayy

    heksadesimal olarak ifade ederken ilk drt bitin deeri sfr olsa dahi 05h olarak yazmak

    zorundayz. rnek olarak heksadesimalde (F)16 says, binary sistemde (1111)2 olarak

    gsterilir. Ya da (9)16 says (1001)2 dir.

    Dier bir rnek ise (4C)16 says 8 bit binary sayy ifade eder. Binary yazlm ise

    (0100 1100)2 dir. Heksadesimal say sistemi mikroilemci temelli uygulamalarda binary say

    sistemindeki 8, 16, 32, 64 biti gsterebilmek iin sklkla kullanlr.

    2.3. Programlama Dilleri

    Bir dil, yalnzca o dilden anlayan insanlar ile iletiim kurabilmemizi salayan bir

    aratr. Ana dili bizimki ile yan olmayan insanlar ile anlaabilmek iin onlarn dillerini

    renmeye aba gsteririz. Bir bilgisayar ile anlaabilmek iin de bilgisayarn kabul

    edebilecei dili renmek gerekir. Bilgisayara ancak anlad dilde komutlar verilirse

    istenenler yaptrlabilir.

    Bilgisayarn kullanabilecei ve anlayabilecei dile makine dili denir. Makine dili

    01010101 gibi iki tabanl saylardan oluur. Bilgisayarn kullanlmaya baland ilk

    yllarda, programlar makine dilinde yazlarak hazrlanmaktayd.

    Makine dilinde program yazmann zorluu insanlar bir baka yolla program

    yazabilme arayna gtrmtr. Bir sre sonra da kolay renilen ve problemleri daha

    kolay zmeye olanak veren yksek seviyeli programlama dilleri gelitirilmitir. Bunun

    yannda, programlama dilleriyle yazlan programlar bilgisayarn anlayaca hale evirecek

  • 36

    derleyiciler de ortaya kmtr. Derleyici (compiler), programlama dilinde yazlan

    programlar makine diline eviren programdr.

    ekil 2.6: Bilgisayarda veri ileme

    PROGRAMLAMA DLLER

    Dk Seviyeli Diller Yksek Seviyeli Diller

    Makine Dili

    Assembly Grsel Diller Grsel Olmayan Diller Visual basic C Delphi Fortran

    Html Cobol

    Java C++ Java script Qbasic

    Turbo pascal

    ekil 2.7: Programlama dilleri

    Derleyicisi olan dillerde yazlan program derleyiciden geirilerek yazm hatas, saysal

    hata, komut, sra hatas vb. gibi hatalar varsa bu hatalar listelenir. Programc bu hatalar

    gidererek program yeniden derler. Bu tr programlar ancak btn olarak derlendikten sonra

    altrabilir.

    Veri Derleyici Bilgisayar Derleyici kt

    Derleyiciler program kodlarn, klavyeden giri hatalar ve dilin programlama

    komutlarnn yanl kullanm gibi teknik hatalar iin kontrol ederler. Ancak

    programlardaki yanl bir veri veya forml gibi hatalar kontrol edemezler. Program

    mantk hatalarndan arndrmak programcnn iidir.

  • 37

    Bilgisayara girilen veriler ekli ve tipi ne olursa olsun, nce derleyiciye ulaarak

    makine diline evrilir. Bilgisayar verileri iler. Elde edilen sonular yine derleyicide

    kullancnn anlayabilecei bir dile evrilir. Bilgisayar anlalabilir duruma getirilen

    sonular verir. Bu durumu aadaki rnek ile aklayalm.

    Bilgisayar belleinde tanml 256 farkl karakter vardr. Bu karakterlere ASCII kodu

    ad verilir. Bilgisayar bu karakterlerin her birini bir sra numarasyla tanr. rnein A

    harfinin sra numaras 65 a harfinin sra numaras ise 97dir.

    Bilgisayara bir karakter (harf, rakam ya da zel iaret) yazldnda, nce bu

    karakterlerin sra numaras bulunur. Bilgisayar, bu sra numarasnn 0 ve 1lerden oluan

    saysal karln bulur. Bilgi bu ekliyle bilgisayarn anlayabilecei hale gelmi olur.

    lemler de bu bilgi zerinden yaplr. Daha sonra kan sonu yine 0 ve 1lerden oluan bir

    sonutur. Bilgisayar bu kez 0 ve 1lerden oluan bu bilginin sra numarasn bulur. Bu sra

    numarasna karlk gelen karakteri sonu olarak verir.

    Kullanc yalnzca verdii bilgi ve ald sonucu grr. Dier ilemler ise bilgisayar ve

    derleyicilerde otomatik olarak yaplr.

    ekil 2.8: Bilgisayarda veri ileme sras

    2.4. C Programlama Dili

    C bir sistem programlama dilidir. Sistem Programlama; donanmn ynetilmesi,

    kontrol ve denetimi iin yazlan, dorudan donanmla ilikiye giren programlama eklidir.

    rnein, iletim sistemleri, derleyiciler, yorumlayclar, aygt srcleri, bilgisayarlarn

    iletiimine ilikin programlar, otomasyon programlar sistem programlardr. Dier

    uygulama programlarna destek veren yazlmlar da ounlukla sistem programlar olarak ele

    alnrlar.

    2.4.1. C Programlama Dili zellikleri

    C'den nce sistem programlar assembly dillerle yazlyordu. C dilinin sistem

    programlarnn yazlmasnda hemen hemen alternatifsiz olduunu sylenebilir. Bugn cep

    telefonlarndan, uaklardaki bilgisayar sistemlerine kadar her yerde C kodlar almaktadr.

    C dilinin zelliklerini u ekilde sralayabiliriz.

    C algoritmik bir dildir. C'de program yazmak iin yalnzca dilin yazm kurallarn ve yapsn bilmek yetmez, genel bir algoritma bilgisi de gerekir.

    Bilgisayara verilen bilgi 2 +

    3

    Saysal karl

    00110010 00101011

    00110011

    Karakter sra

    numaras 50 43

    51

    lem

    sras

    Saysal Sonu 00110101

    Sonucun karakter

    sra numaras

    53

    Kullancya verilen sonu

    5

  • 38

    C dier dillerle kyaslandnda tanabilirlii ok yksek olan bir dildir. nk 1989 ylndan bu yana genel kabul grm standartlara sahiptir. fade gc

    yksek, okunabilirlik zellii gl bir dildir.

    C ok esnektir. Dier dillerde olduu gibi programcya kstlamalar getirmez. Gl bir dildir. ok iyi bir biimde tasarlanmtr. C'ye ilikin operatrlerin ve

    yaplarn birou daha sonra baka programlama dilleri tarafndan da

    benimsenmitir.

    C verimli bir dildir. Seviyesinden dolay hzl alr. Verimlilik konusunda assembly diller ile rekabet edebilir.

    C doal bir dildir. C bilgisayar sisteminin biimiyle uyum iindedir.

    2.4.2. C Programnn Derlenmesi

    Daha nce de bahsedildii gibi bilgisayarlar sadece makine dilinde yazlan kodlar

    ileyebilirler. Yksek seviyeli dillerle yazlan programlar makine diline derleyiciler

    (compiler) vastasyla dntrlrler.

    C programlama dilinde derleme ilemi ekil: 2.4 de gsterilmitir. Kaynak kod

    herhangi bir kelime ilemci program yardmyla girilir. (kaynak kodun dosya uzants .c

    olmak zorundadr.) ncelikle, nilemci (preprocessor) kaynak kod iindeki # ile balayan

    nilemci komutlarn kontrol eder. Daha sonra bir makroyu atar yada baz ktphane

    dosyalarn okur ve iler. Bundan sonraki admda derleyici tarafndan ilenen dosya, makina

    diline evrilir. Makina dili haline dnm kodun bu haline nesnesel program (object

    program) ad verilir. Bu admda nesnesel program, fonksiyonlarn makina diline evrilmi

    kodunu ve iletim sisteminde iletilecek gerekli bilgileri iermez.

    Balayc (Linker) fonksiyonlarn makina kodunu, nesnesel program ierisindeki

    ktphane ad verilen dosya ierisinde balamaya ve bu kodu altrmak iin gerekli

    bilgileri hazrlamaya yarar ve dosyann son hali altrlabilir dosya (executable

    program) olarak adlandrlr.

    Temel bir C program aadaki gibi olacaktr.

    Program iine /* -------- */ eklinde yazacanz aklama satrlar derleyici

    tarafndan dikkate alnmaz.

    # iareti programda nilemci kullanlacan belirtir. Her C program ifadesi ile balar.Standart giri k (standart input output) anlamna

    /* ilk C programi */ #include main() { printf("Merhaba Dnya!\n"); }

    1

    2

    3

    4

  • 39

    gelen bu ifade temel komutlarn kullanlabilmesini salayan ktphane

    dosyasdr.Baka bir ifade ile #include, derleyiciye stdio.h

    ktphanesindeki fonksiyonlar program ile birlikte derleme iini yaptrr.

    C programlar fonksiyonlardan meydana gelir.main() (temel) fonksiyonu her programda mutlaka kullanlmas gereken bir fonksiyondur. Bu fonksiyon kme

    parantezi ile balar ve biter.

    Bilgisayar ekranna kt verebilmek iin printf komutu kullanlr. Komut iine yazlacak ifade karakterleri arasnda olmaldr. Program fonksiyonu (main())

    iinde kullanlan her komut; karakteri ile sonlandrlmaldr. Aksi halde

    derleyici komutu dikkate almaz. \n ifadesi merhaba dnya yazdktan sonra

    bir alt satra gemek iin kullanlr.

    ekil 2.9: Derleme lemi

    Ktphanee

    n ilemci

    C kaynak kodu

    Ktphane dosyas

    Derleyici

    Balayc

    Nesnesel Program

    altrlabilir program

  • 40

    Bir C programn derleme ileminin algoritmas aadaki ekilde olabilir:

    ekil 2.10: Program derleme ilem sras

    2.4.3. Program editrnn kullanlmas

    Bir bilgisayar programndaki tm komutlar ve ifadelerin hepsine Kaynak Kodu ad

    verilir. Kaynak kodu bilgisayarn hafzasna program editr kullanlarak yazlr. Yazlan

    program derleme (compile) ve altrma (run) ileminden nce bir diske (disket veya sabit

    disk vb.) uzants .C olacak ekilde bir dosya altnda saklanr.

    Aada Turbo C derleyicisinin kurulumu ve rnek programn derlenmesi

    aklanmaktadr.

    Derleyici ve program editrnn ayn yapda kullanld Turbo C

    internet zerinden cretsiz olarak indirilebilir.

    Hatay dzelt

    Program altr.

    Dur

    Bala

    Program bilgisayara

    gir

    Program kaynak

    dosya olarak kaydet

    EVET

    HAYIR Hata var m ?

    Kaynak dosyay derle

  • 41

    Sktrlm Tcpp30 dizini bilgisayarda belirlenecek sabit disk iinde alr.

    Sabit disk iinde alan Tcpp30 dizini ile beraber yeni bir dizin oluturmalsnz. Bu dizinin ismini daha sonra deitirebilirsiniz. Yapacanz programlarn .exe uzantl uygulanabilir dosyalar ve nesne dosyalar bu dizin iinde saklanacaktr

    Tcpp30 dizini iindeki BIN

    dizinine girilir.

  • 42

    BIN dizini iindeki TC isimli

    MS-DOS semboll simge

    tklanr.

    Editr mensnden yeni bir

    alma sayfas alr.

    file new

    Alan alma

    sayfasna isim

    verilir. (ornek_1)

    file save as

  • 43

    Ekran ile ilgili dzenlemeleri yapan nilemci

    Turbo C editrnde programn ekran grnts ve fonksiyon zellikleri

    iin aadaki ifadelerin programlarnza eklenmesi tavsiye edilir.

    Program sonularnn ekranda kalmasn salayan fonksiyon

    Program ve fonksiyonlar sona erdiren komut

    Derleme ilemi Alt + F9

    Baarl bir derleme sonucu

  • 44

    Program komutlar bilgisayar donanmlarna ynelik yazldndan dolay bunlarn

    hatasz olmas gerekmektedir. ou zaman hatalar, yanl yazlm bir komut, noktalama

    iaretlerinde yaplm bir hata vb. olabilirler. Dolays ile hatal yazlm bir program kodu

    derlendii zaman program almaz ve yaplan hatalar editrn alt ksmnda alan bir

    pencerede belirtilir.

    Genelde programlamada yaplan en yaygn hata ise spesifik yap hatasdr (syntax

    error) ve bu hata tr genellikle komut formatnn yanl yazlmasndan kaynaklanr. Oluan

    hatalar gidermek iin editrn altnda bulunan hata penceresinde hatalarn olutuu satrlar

    tespit edilip daha sonra hatalarn dzeltilmesi yaplr. Eer hata dzeltilemiyorsa C program

    dili ile ilgili bir referansa mracaat edilir. Baka bir yol ise programdaki hatann olduu

    yerler programdan kartlp alternatif yazlm ile programn adm adm altrlmas ile

    bulunmasdr. Bu ilem F8 tuu ile yaplr. Aadaki ekilde editr zerinde hata

    mesajlarnn olutuu hata penceresi ile program kaynak kodu grlmektedir:

    Baarsz bir derleme sonucu Hata: printf fonksiyonunda

    (;) eksiklii

    Baarl olarak derlenmi bir program altrma Ctrl + F9

  • 45

    GCC Kullanm GCC unix trevi iletim sistemlerinde kullanlan c derleyicisidir. GNU C

    Complier kelimelerinin ba harflerinden olumutur. Gcc cretsiz bir derleyicidir, bu

    nedenle kullanm olduka yaygndr.

    Gccnin bir ok versiyonu vardr. Unix trevi iletim sitemi kullanlan

    bilgisayarnzdaki gcc versiyonunu grntlemek istediinizde aadaki komutu

    kullanabilirsiz.

    bu komutu yazdnzda karnza gcc programnn nasl konfigre edildii ve

    versiyon bilgileri karnza gelecektir.

    imdi ilk gcc kullanmn renmek amac ile aada verilen kodu yazp bu

    kodu merhaba.c olarak kaydedelim.

    Not : Bu program herhangi bir unix editr programnda yazabilirsiniz.

    rnein vi, pico, gedit gibi.

    # gcc v

    #include

    main()

    {

    printf( Merhaba Dnya);

    }

    Uygulanabilir dosya Ornek_1.exe (temp dizini iindedir)

    C dili iin farkl derleyiciler kullanmak mmkndr. Gnmzde en popler

    derleyiciler visual C++, visual C, gcc arasnda saylabilir.Bu derleyicilerden gcc

    cretsiz olduu iin gnmzde ok kullanlan derleyiciler arasna girmitir.

    Aada gcc ile ilgili ek bilgi verilmektedir.

  • 46

    Yukarda yazdmz merhaba.c dosyasn derleyelim. En basit ekli ile

    derlemek istenirse aadaki komut kullanlabilir.

    Eer herhangi bir hata mesaj ile karlamadysak derleme ilemi baarl olmu

    demektir. Bu komut satr eklinde derlenirse derleyici otomatik olarak altrlabilir

    dosya trnde a.out adnda bir dosya oluturacaktr. Bu dosyay altrmak iinde

    aadaki komut yazlabilir.

    Bu durumda ekrana Merhaba Dnya yazdrlacaktr. Baka bir c dosyas

    oluturup ayn ekilde derlendiinde her derleme sonunda a.out dosyas

    oluturulacaktr. Bu durumda sadece son derlenen dosyay altrabiliriz. Bu

    karkl engellemek amac ile -o parametresinini kullanabiliriz. -o

    parametresinin bitiiine altrlabilir trden oluturulacak dosyann ismi yazlr.

    Aada gcc derleyicisinin -o parametresinin kullanm ile ilgili rnei

    grebilrsiniz.

    Bu durumda gcc merhaba.c dosyasn derleyerek bu derleme sonunda

    merhaba adnda bir dosya oluturulacaktr. Bu dosyay altrmak iin aadaki

    formatta yazabilirsiniz.

    Bylelikle oluturulan dosyay altrm oluruz.

    imdide aadaki program derleyelim. Dosya adn matematik.c verelim.

    Derleme srasnda aadaki dzeni kullanacaz.

    #include

    #include

    main(){

    int a=80;

    printf(%d derecenin Kosinusu=,a,cos(a));

    }

    #./mrehaba

    #gcc merhaba.c

    #gcc merhaba.c o merhaba

    # gcc -o matematik matematik.c -lm

    # ./a.out

  • 47

    Burada derleme komut dizisinde eklediimiz lm parametresi matematik

    ktphanesi ile balanty salar.

    Sadece math.h dosyasnda deil dier baz ktphaneler de eklendiinde derleme

    komutuna da baz eklentiler yapmak gerekir. rnein aada yazdmz nc.c

    dosyasnda ncurses.h ktphanesi kullanlm.

    nc.c programn derlemek iin yazacamz komutlar ve eklentileri aadaki

    gibi olacaktr:

    Burada lncurses -ncurses ktphanesi ile link kurulacan ve -

    I/usr/local/include satr ile de kullanlan ktphanelerin bulunduu klasr yol olarak

    gsterilir.

    Tabi sonu olarak nc adl altrlabilir dosya oluturulur. altrmak iin

    aadaki komut kullanlabilir:

    Gcc derleyicisin daha bir ok ek parametresi kullanlabilir. Bunlarla ilgili daha

    geni bilgiye web sitelerinde rahatlkla ulaabiliriz.

    #./nc

    #gcc o nc nc.c I/usr/local/include lncurses

    #include

    main(){ initscr();

    printw("Merhaba Dnya ");

    refresh();

    getch();

    endwin();

    }

  • 48

    UYGULAMA FAALYET Turbo C editorn altrarak dosya ama, kaydetme ve altrma ilemlerini

    yapnz.

    lem Basamaklar neriler Turbo C editrn anz. Turbo c editrn atktan sonra

    options blmnden directories

    seceneinin doru ayarlanm olmas

    gerekir.

    Yeni bir dosya anz.

    Her hangi bir rnek program yaznz. Programn yazm kurallarna dikkat ediniz.

    Bu dosyay kaydediniz. Programa isim verirken ( . , / + -) karakterlerini kullanmamaya zen

    gsteriniz.

    Program derleyerek alma testi yapnz. Derleme sonrasnda hata var ise komutlarn doru yazlp

    yazlmadn kontrol ediniz.

    Dosyann kaydedilip edilmediini kontrol ediniz

    UYGULAMA FAALYET

  • 49

    KONTROL LSTES

    Bu faaliyet kapsamnda aada listelenen davranlardan kazandnz becerileri Evet,

    kazanamadnz becerileri Hayr kutucuuna (X) iareti koyarak kendinizi deerlendiriniz.

    Performans Deerlendirme Evet Hayr

    1. Programlama yazm aracn bilgisayarnza kurdunuz mu ?

    2. Programlama yazm arac kurulumunda gerekli ayarlamalar yaptnz m?

    3. Yeni bir dosya oluturdunuz mu?

    4. Dosyay doru olarak kaydettiniz mi?

    5. Program yazp tekrar kaydettiniz mi?

    6. Program derlediniz mi?

    7. Program doru alyor mu?

    8. Teknolojik kurallara uygun bir alma gerekletirdiniz mi?

    9. Sreyi iyi kullandnz m?

    DEERLENDRME

    Deerlendirme sonunda Hayr eklindeki cevaplarnz bir daha gzden geiriniz.

    Kendinizi yeterli grmyorsanz renme faaliyetini tekrar ediniz. Btn cevaplarnz

    Evet ise lme ve Deerlendirmeye geiniz.

  • 50

    LME VE DEERLENDRME Aadaki sorular dikkatlice okuyarak doru seenei iaretleyiniz.

    1. Binary (ikili) say sisteminde 6 haneli ka farkl say yazabiliriz. A) 25 B) 26 C) 29 D) 27

    2. Binary 1101 saysnn desimal (onluk) say sistemindeki karl aadakilerden hangisidir?

    A) 13 B) 14 C) 15 D) 16

    3. Aadaki derleyicilerden hangisi unix trevi iletim sistemlerinde kullanlan c derleyicisidir?

    A) Bcc B) Tcp C) Gcc D) turbo c

    4. Aadaki programlama dili-tip elemelerinden hangisi yanltr. ? A) Visualbasic- Grsel dil B) Java grsel dil C) Assembly- Dk seviyeli programlama dili D) C grsel dil

    5. Turbo C de program ierisinde dikkate alnamamasn istediimiz satrlarn sonuna ve bana hangi iareti koymalyz?

    Balang Son

    A) /- -/ B) # # C) D) /* */

    6. Turbo C editrnde aadaki men ve alt seeneklerin hangisini seerek program derleyebiliriz?

    A) Compile- Compile seenei B) File- New seenei C) Options-directories seenei D) Compile - Link seenei

    LME VE DEERLENDRME

  • 51

    DEERLENDRME

    Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap

    verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz.

    Cevaplarnzn tm doru ise Modl Deerlendirmeye geiniz.

  • 52

    MODL DEERLENDRME

    PERFORMANS TEST (YETERLK LME)

    Modlde yaptnz uygulamalar tekrar yapnz.

    Modlde kazandnz becerileri aadaki tablo dorultusunda lnz.

    Performans Deerlendirme Evet Hayr

    Problemi doru tespit ettiniz mi?

    Deiken isimlerini belirlendiniz mi?

    Ak diyagramn izdiniz mi?

    Komut listesini yazdnz m?

    Ak diyagramn ve komut listesinin uyumunu kontrol ettiniz

    mi?

    Programlama yazm aracn bilgisayarnza kurdunuz mu?

    Programlama yazm arac kurulumunda gerekli ayarlamalar

    yaptnz m?

    Yeni bir dosya oluturdunuz mu? Dosyay doru olarak kaydettiniz mi?

    Program yazp tekrar kaydettiniz mi?

    Program derlediniz mi?

    Program doru alyor mu?

    Teknolojik kurallara uygun bir alma gerekletirdiniz mi?

    Sreyi iyi kullandnz m?

    Modl deerlendirmeniz sonucunda hayr seeneini iaretlediiniz ilemleri tekrar

    ediniz.

    MODL DEERLENDRME

  • 53

    CEVAP ANAHTARLARI RENME FAALYET1N CEVAP ANAHTARI

    1 R1+R2

    2 C D E

    2 3 4

    3 TABAN*YKSEKLK /2

    4 C

    RENME FAALYET2N CEVAP ANAHTARI

    1 B

    2 A

    3 C

    4 D

    5 D

    6 A

    CEVAP ANAHTARLARI

  • 54

    KAYNAKA

    ISHIDA Yasuhiro, Hideki MURAKAMI, Ito KOICHI, Grcan AYIR,

    Bilgisayar Kontrol Teknolojisi, M.E.BJICA, 2005.

    KAYNAKA