algoritma ve programlamaya giriş 1

Upload: ismail-yesilyurt

Post on 03-Apr-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    1/12

    0

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    2/12

    1

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    BLGSAYARIN TARHES

    Hesap yapmay basitletiren ilk alet olan ABACUS, M.. 8. yzylda in'deyaplmtr. Ayn devirlerde Romallar ise yatay oluklarda kayabilen yzklerinbulunduu bir alet kullanyorlard. Her iki alette de birinci sra birler basaman, ikincisra onlar basaman gsteriyordu.Sonralar bu ilem tahtalar gelitirildi ve bugnbile kullanlan, karekk alabilenleri yapld.

    Hesap makinesi denebilecek ilk alet 1642'de Pascal'n yapt dili arklardanoluan hesap makinesi oldu.Bu makine gnmzde kullanlan mekanik hesapmakinelerinin ilkeli idi ve o da arpma iin st ste toplama tekniini kullanyordu. Bumakine daha da gelitirilerek 1850'de gvenilir toplama makineleri yapld. 19.yzyln sonlarna doru blme yapabilen mekanik hesap makineleri gelitirildi.Tmbu makineler tekbir eit ilem yapabiliyorlard ve hafzadan yoksundular.

    Birok ilem yapabilen hafzal ilk makine ngiltere'de Charles Babbage isimlimatematiki tarafndan yapld ve bu makine hzla gelitirildi. 1929'da bilimseluygulamalarda kullanlabilecek ilk makine yapld. Bu klavyesi olan bir makine idi veyine mekanik sistemle alyordu.

    Daha sonra elektroniin gelimesiyle 1944'de MARK-1 ad verilen makine yapld.Saniyede 10 ilem yapabilen ve o zamana gre olaanst hz yapt saylan bumakine 18 metre uzunluunda ve 2.5 metre yksekliinde idi. alma ilkeleri isehala mekanik tiptekiler gibiydi.

    1947'de elektronikteki lambalarn icad ile program fikri ortaya atld veprogramlama tekniiyle alan ilk bilgisayar yapld.Daha sonra transistorlarn icadile bu bilgisayarlarn g ihtiyac azald, boyutlar kld ve hzlar artt.

    1970'lerde entegre devrelerin yaplmasyla boyutlar iyice klen bilgisayarlarn

    ilem kapasiteleri artt. Artk saniyede 1000000000 ilem yapabilenleri yapld.Gnmzde ise boyutlar ve fiyatlarnn iyice dmesi ile bilgisayarlar artk evlerdekullanlmaya baland.

    BLM 1

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    3/12

    2

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    BLGSAYARLARIN SINIFLANDIRILMASI

    Bilgisayarlar yaplar ve alma prensiplerine gre snfa ayrlrlar:

    1- Dijital (Saysal) Bilgisayarlar:Giri, ilem ve k bilgilerini saylar halinde kabul eden ve veren bilgisayarlardr.

    Aadaki zelliklere sahiptirler:

    a) Herhangi bir programlama dili ile kullanlabilirler.b) zel elektronik devrelerle dizaynlar yapldndan pahal know-how ve

    patentler ihtiva ederler.c) Mini ve mikro bilgisayarlar haline dnmler ve gnmzde yaygn hale

    gelmilerdir.d) Drt ilem ve karar verme (mukayese) ilemini ok hzl ve doru olarak

    yapabilirler.e) Giri, ilem ve k bilgilerini ok kk hacimde ok byk kapasite olarak

    depolayabilirler.f) Herhangi bir program icra edilirken grlen hata ancak ilem sonunda dzeltile

    bilir.

    2- Analog Bilgisayarlar:Giri ve k bilgilerini eriler olarak kabul eden ve veren bir yapya sahiptirler.

    Fiziksel byklkleri elektriksel bykle evirme esasna gre alrlar. Aadakizelliklere sahiptirler:

    a) Belirli bir programlama diline ihtiya yoktur.b) zm eriler halinde verildiinden sonu hassasiyeti yazcnn leine bal

    olarak deimektedir.c) Giri ve k bilgilerini depo etme kabiliyetleri yoktur.d) Bilgisayara icra esnasnda mdahale yaplabilir.e) Elektronik yap olarak ok zel devrelere ve bilgilere ihtiya gstermezler.f) Dijital bilgisayarlara nazaran daha yavatrlar.

    3- Hibrid Bilgisayarlar:Dijital ve analog bilgisayarlarn her ikisini de bnyesinde bulundurduklar iin okpahal tiplerdir. ok komplex yapdadrlar. Yaplan ilem analog bilgisayarnzeliklerine ihtiya duyduunda analog ksm, dijital bilgisayarn zelliklerine ihtiyaduyduunda ise dijital ksm devreye girer. Kullanm yerine rnek vermek gerekirseproses kontrolde ilemin kritik deerleri saysal ksmla alnr, ilem analog ksmdaicra edilir.

    Not: Kitabn bundan sonraki blmlerinde bilgisayar kelimesi, saysal bilgisayaranlamnda kullanlacaktr.

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    4/12

    3

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    GR - IKI NTELER

    KLAVYEMOUSEDSK,DSKETCD,DVD EKRANEKRAN G PRNTERHAVA HAT MERKEZ I PLOTTERSCANNER R K DSK,DSKETKAMERA BLGSAYAR I CD, DVDMKROFON HAVA HATJOYSTC KART YAZICIKART,ERT TEYPTEYPDier DHafzalar

    Dier DHafzalar

    ekil : Bilgisayarn giri verilerini almakta ve k verilerini vermekte kullandniteler.

    Bir bilgisayar yukardaki nitelerden en az 1 giri, 1 k nitesine sahipolmaldr. Ayn anda tm niteler de 1 bilgisayar zerinde buluna bilir.

    PROGRAMLAMA DLLER1-Alak seviyeli diller:

    a) Makine dilib) Assembler dili

    2-Yksek seviyeli dillera) FORTRAN 2,4,5b) ALGOLc) COBOL

    d) PL/1e) BASICf) PASCALg) C++h) Windows altndaki diller(Oracle, Dbase, )

    1- Alak Seviyeli Diller:Saysal bilgisayarlar her bilgiyi, her komutu ve her ilemi Boolen cebrindeki 0 ve 1

    rakamlar ile ifade etmektedirler.Ksaca bu sistemde saylar ondalkl sistem yerine2'li say sisteminde ifade edilmektedirler. Bu da demektir ki herhangi bir programparas yan yana gelmi 0 ve 1'lerden ibarettir. Bunlar elektroniksel olarak akmngetiine veya gemediine gre belirlenen ve alan sistemlerdir.

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    5/12

    4

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    lk bilgisayarlarda genel bilgilere gre hazrlanm program Boolen (0,1) cebrine

    uygun olarak yeniden ifadelendirilirdi. Bu ileme makine diline evirme denir. Hergeen gn bilgisayarlarn zel matematii kullanabilecek kiilerin haricinde;matematikten hi anlamayan meslek gruplarnda kullanlma ihtiyac doduktan sonra,makine dili yerine herkes tarafndan kullanlabilen dillerin kullanlmas ihtiyacdomutur. Bu diller bilgisayardaki derleyici program vastasyla otomatik olarakmakine diline evrilir. Bylece makine dili veya asembler dili renme zorunluluuortadan kalkmtr.

    2- Yksek Seviyeli Diller:

    FORTRAN: Formula Translation kelimelerinin balang ksmlar alnarak tretilmi

    bir kelimedir. Ksaca mhendislik ve dier ilmi almalarda kullanlan bilgilerin belirlikaide ve bilgiler nda tercme edilmi hali olarak dnlmektedir. Fortran-2olarak bulunan dil gelitike Fortran-4 ve 5 adn almtr. Aadaki zellikleresahiptir:

    a) Az sayda temel komut gerektirir.b) Problemin metin ileme pay az olmaldr.c) Kullanlacak saylar stel say biiminde gsterilmi olmaldr.d) leyebilecei veri miktar genellikle azdr ama daha kapsaml iler yapabilir.e) Belirli hesaplama aralar (algoritmalar) mevcuttur.

    ALGOL: Algoritmic Language kelimelerinden tretilmi olup, eitli algoritmalarnbelirli kaide ve bilgilerle ifadesinden baka birey deildir.Fortrana nazaran daha azkullanlr.

    COBOL: (Common Busines Oriented Language) Banka ve i idaresi iin yaygnolarak kullanlan genelletirilmi i idaresi dili anlamna gelir. zellikleri:

    a) Temel ilemler dnda hesap komutlar yoktur.b) Veriler kolaylkla diskete kaydedilir.c) Metin yazmna elverili komutlar vardr.

    PL/1: (Programming Language/1) Programlama dili 1 anlamnagelmektedir.Fortran ve Cobol dillerini birletiren bir dil olup hem i idaresi, hem demhendislikte kullanlr.

    PASCAL VE BASIC: (Beginers All Purpose Symbolic Instruction Code) : Bu dillermini ve mikro bilgisayarlar iin gelitirilmitir.Daha nce sraladmz dillere nazarandaha dar kapsaml diller idi ve yaplmak istenen ie ait komutlar aynen genelsistemdekine benzer olarak bilgisayara aktarlyordu. ok geni amal olarakkullanlmazd. Ancak gnmzde her iki dil de ok geni problemlerin zmndekullanlr hale gelmitir.

    Ayrca Windows iletim sistemine uygun olarak karlan yeni versiyonlar iledillerin kullanm da daha basit hale getirilmitir.

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    6/12

    5

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    SAYISAL BLGSAYARLARIN ANA LEM NTELER VE ALIMA

    PRENSPLER:

    Bilgisayarlar basit drt ilemi kat-kalemle uygulanan yolun aynsn takip ederekyaparlar.Burada her ilem iin ayr bir nite i grmektedir. Mesela:

    a=10 , b=20 ;c=2a+5bilemini yapmak iin u admlar takip edilir:

    a) Okuma: a ve b deerlerinin bir yerden okunarak bilgisayar i hafzasnda biryere kaydedilmesi.

    b) Kaydedilen bilgilerin ve yaplacak olan ilemin ezberlenmesi

    c) Hesaplama ileminin yaplmas.(Drt ilem veya herhangi bir algoritmannnasl hesaplandna dair bilgi sahibi olmak gerekir.)

    d) Yazma: Hesaplama neticesinde elde edilen sonucun herhangi bir ortamayazlmas ilemidir.

    e) Kontrol ilemi: Yukarda daha nce sraladmz drt admn her birinin doruyaplp yaplmadnn kontrol edilmesidir.

    ekil: Saysal bilgisayarlarn ilem-mantk emas

    ARTMETKEM

    NTES(ALU)

    KONTROLNTES

    IKINTES

    GRNTES

    HAFIZANTES

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    7/12

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    8/12

    7

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    Giri/k (G/) (I/O): Bilgisayarla evresel aygtlar arasnda genel bilgi alveriini

    salayan her trl giri ve k ilemlerini simgeler.

    Ham Program: Kullancnn simgesel dilde yazd programdr.

    Cursor: Ekranda genellikle kk dikdrtgen eklinde grlen iaret. Ekran zerindegiri ve k verilerinin nereden yazlmaya balanacan gsterir.

    Mikroilem Birimi: Kiisel bilgisayarlarn btn ilemlerini denetleyen devre.

    Alt Programlar: zel bir ilev grmek zere hazrlanm program paralardr. Anaprogramn herhangi bir noktasndan arlp orada kullanla bilir.

    SAYI SSTEMLER

    Bu blmde bizim kullandmz 10'lu sistem ile bilgisayarn kulland 2'li, 8'li ve16'l sistemler arasndaki farklar ve gereklilikler anlatlacaktr. ncelikle kullandmz10'lu say sisteminde saylar dnmeden yazar, okur ve anlarz. Sistem aynolmasna ramen dier say sistemlerinde dnmek hatta hesap yapmakzorunluluu duyarz. Bilgisayarmz ise say olarak yalnzca 1 (akm gemesi durumu)ve 0 (akm gememesi durumu) saylarn tanyabilir. yleyse bilgisayar ilemlerini2'li sistemde yapmaya zorunludur. Ancak bu blmde grlecei gibi 2'li sistem oktkz olduundan (ok bit kapladndan) bilgisayar 8'li veya 16'l sistemi kullanr. 10'lusistem yerine bu sistemlerden birini kullanmasnn sebebi ise 2'li sisteme olandntrme kolayldr. Artk gnmzde bilgisayarlar genellikle 16'lsistemi kullanmaktadrlar.

    A-) 10'LU SAYI SSTEM:Bu say sistemi iin 0,1,2,3,4,5,6,7,8,9 rakamlarn kullanmaktayz. Bir sayy

    belirtmek istediimizde 10 ve 10'un stel katlarnn arpmlarnn toplamlareklindeyazarz. Bunu matematiksel olarak sadan itibaren yle yazabiliriz:

    ...e.104

    + d.103

    + c.102

    + b.101

    + a.100

    Kesirli rakamlar iin de, virglden sonras iin:

    ,x.10-1 + y.10-2 + z.10-3 + ...

    eklinde olacaktr. Dier say sistemleri iin de durum ayn olup sadece taban deiikolacaktr.

    B-) 2'L SAYI SSTEM:Bu say sisteminde 0 ve 1 rakamlarn kullanrz. Bu saylar bilgisayarda akmn

    gemesi veya gememesi esasna gre belirlenir.

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    9/12

    8

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    a-) 2'li sistemden 10'lu sisteme dntrme:

    RNEK:(101101)2 = 1.2

    5 + 0.24 + 1.23 + 1.22 + 0.21 + 1.20 =

    =32 + 0 + 8 + 4 + 0 + 1 = (45)10

    rnekte grld gibi sistem 10'lu sistemin aynsdr. Aralarndaki fark ise 10'lutaban formlndeki 10 yerine 2 rakam gelmektedir. Bu sebeple de ikili taban dahaok bit istemektedir.

    b- 10'lu sistemden 2`li sisteme dntrme:

    Bu ilemi yapabilmek iin 10'lu sistemde verilen say srekli olarak ikiyeblnmektedir.Blmelerin kalanlar bize o saynn ikili sistemdeki karlnvermektedir.

    RNEK: 10'lu tabandaki 53 saysn ikili tabana eviriniz?

    Blnen Blm KalanBlm

    53 2 1 (53)10 =(110101)226 2 0 13 2 1 6 2 0 3 2 1 1 1

    1 1 0 1 0 1

    c-)Kesirli saylarn 10'lu sistemden 2'li sisteme evrilmesi:

    Bu ilemi yapmak iin verilen say srekli 2 ile arplr Virglden nceki saylar bizesaynn ikili sistemdeki karln verir.

    RNEK: 0.25 saysn ikili sisteme dntrnz?

    arplan/arpm arpan arpmn virglden nceki ksm

    0.25 2 0 0.50 2 1 0.00

    1 0 (0.25)10 = (0.01)2

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    10/12

    9

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    d-)Kesirli saylarn 2'li sistemden 10'lu sisteme evrilmesi:

    RNEK:0 1 1

    (0.01)2 =0.2-1

    +1.2-2

    = --- + --- = --- =(0.25)10

    2 22

    4

    C-) 8'L SAYI SSTEM:

    Bu say sistemi de dierlerinin ayns olup aradaki tek fark taban saysnndeimesidir. Bu sistemde 0,1,2,3,4,5,6 ve 7 rakamlar kullanlr.

    a-) 8'li sistemden 10'lu sisteme evirme:

    Bu ilemi yaparken yine ikili sistemdeki metot kullanlr.

    RNEK:

    (1734)8 = 1.83 + 7.82 + 3.81 + 4.80 =512+448+24+4=(988)10

    b-)10'lu sistemden 8'li sisteme evirme:

    RNEK:10'lu tabanda verilen 988 saysn 8'li sistemeeviriniz?

    988 8 4 123 8 3 15 8 7 (988)10 =(1734)81 1

    1 7 3 4

    c-)8'li sistemden 2'li ve 2'li sistemden 8'li sisteme evirme

    Bu ilemi yapmak iin iki trl yol vardr. Birincisi sayy nce 10'lu sisteme eviriporadan esas evirmek istediimiz tabana evirmek. Dieri ise pratik metot olarakbilinen ilemdir. Biz burada pratik metodu birer rnekle inceleyelim.

    RNEK: 1011010101 saysn 8'li sisteme evirmek istediimiz de nce bu sayysadan itibaren er er ayrrz. Sonra her bir ly kendi arasnda eviririz vebylece elde ettiimiz say verilen saynn 8'li sistemdeki karl olur.

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    11/12

    10

    ALGORTMA VE PROGRAMLAMAYA GR Yalolu

    1 011 010 101 (1011010101)2=(1325)8

    --- --- --- ---1 3 2 5

    Tersini yaptmzda da sayy 8'li sistemden ikili sisteme evirmi oluruz. Burada dasekizli sistemdeki her bir sayya karlk 2'li sistemde basamakl bir sayyazmalyz.

    3 7 4 1

    --- --- --- --- (3741)8 = (11111100001)2

    011 111 100 001

    D-)16'LI (HEKSODESMAL) SAYI SSTEM:

    Sistem yine ayndr fakat burada 16 adet rakam gereklidir. Bunun iinde busistemde 0,1,2,3,4,5,6,7,8, 9,A,B,C,D,E,F rakam ve harfleri kullanlr. Burada A=10 ,B=11 , C=12 ,D=13 , E=14 , F=15 karldr.

    a-) 10'lu sistemden 16'li sisteme evirme:

    RNEK:1613 16 13 100 16 4 6 6 6 4 D (1613)10 =(64D)16

    b-)16'l sistemden 10'lu sisteme evirme:

    RNEK:

    (1AB3)16 =1.163 + A.162 + B.161 + 3.160

    =1.163 +10.162 +11.161 +3.160

    =4096+2560+176+3= (6835)10

    c-)16'l sistem ile 2'li ve 8'li sistem arasndaki dnmler

    Bu ilemlerde nce 10'lu sisteme dnm yapp sonra dier sisteme geilir.

    Ancak 16'l

    sistem ile 2'li sistem aras

    nda yine pratik metod mevcuttur.

  • 7/28/2019 Algoritma ve Programlamaya Giri 1

    12/12