You are on page 1of 12

ALGORTMA VE PROGRAMLAMAYA GR

Yalolu

ALGORTMA VE PROGRAMLAMAYA GR

BLM 1
Yalolu

BLGSAYARIN TARHES
Hesap yapmay basitletiren ilk alet olan ABACUS, M.. 8. yzylda in'de yaplmtr. Ayn devirlerde Romallar ise yatay oluklarda kayabilen yzklerin bulunduu bir alet kullanyorlard. Her iki alette de birinci sra birler basaman, ikinci sra onlar basaman gsteriyordu.Sonralar bu ilem tahtalar gelitirildi ve bugn bile kullanlan, karekk alabilenleri yapld. Hesap makinesi denebilecek ilk alet 1642'de Pascal'n yapt dili arklardan oluan hesap makinesi oldu.Bu makine gnmzde kullanlan mekanik hesap makinelerinin ilkeli idi ve o da arpma iin st ste toplama tekniini kullanyordu. Bu makine daha da gelitirilerek 1850'de gvenilir toplama makineleri yapld. 19. yzyln sonlarna doru blme yapabilen mekanik hesap makineleri gelitirildi.Tm bu makineler tekbir eit ilem yapabiliyorlard ve hafzadan yoksundular. Birok ilem yapabilen hafzal ilk makine ngiltere'de Charles Babbage isimli matematiki tarafndan yapld ve bu makine hzla gelitirildi. 1929'da bilimsel uygulamalarda kullanlabilecek ilk makine yapld. Bu klavyesi olan bir makine idi ve yine 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 bu makine 18 metre uzunluunda ve 2.5 metre yksekliinde idi. alma ilkeleri ise hala mekanik tiptekiler gibiydi. 1947'de elektronikteki lambalarn icad ile program fikri ortaya atld ve programlama tekniiyle alan ilk bilgisayar yapld.Daha sonra transistorlarn icad ile 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 evlerde kullanlmaya baland.

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. Aadaki zelliklere 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 ok pahal tiplerdir. ok komplex yapdadrlar. Yaplan ilem analog bilgisayarn zeliklerine ihtiya duyduunda analog ksm, dijital bilgisayarn zelliklerine ihtiya duyduunda ise dijital ksm devreye girer. Kullanm yerine rnek vermek gerekirse proses kontrolde ilemin kritik deerleri saysal ksmla alnr, ilem analog ksmda icra edilir. Not: Kitabn bundan sonraki blmlerinde bilgisayar kelimesi, saysal bilgisayar anlamnda kullanlacaktr.

ALGORTMA VE PROGRAMLAMAYA GR GR - IKI NTELER KLAVYE MOUSE DSK,DSKET CD,DVD EKRAN HAVA HAT SCANNER KAMERA MKROFON JOYSTC KART,ERT TEYP Dier D Hafzalar

Yalolu

G R

MERKEZ BLGSAYAR

I K I

EKRAN PRNTER PLOTTER DSK,DSKET CD, DVD HAVA HAT KART YAZICI TEYP Dier D Hafzalar

ekil : Bilgisayarn giri verilerini almakta ve k verilerini vermekte kulland niteler. Bir bilgisayar yukardaki nitelerden en az 1 giri, 1 k nitesine sahip olmaldr. Ayn anda tm niteler de 1 bilgisayar zerinde buluna bilir. PROGRAMLAMA DLLER 1-Alak seviyeli diller: a) Makine dili b) Assembler dili 2-Yksek seviyeli diller a) FORTRAN 2,4,5 b) ALGOL c) COBOL d) PL/1 e) BASIC f) PASCAL g) 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 yerine 2'li say sisteminde ifade edilmektedirler. Bu da demektir ki herhangi bir program paras yan yana gelmi 0 ve 1'lerden ibarettir. Bunlar elektroniksel olarak akmn getiine veya gemediine gre belirlenen ve alan sistemlerdir.

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. Her geen gn bilgisayarlarn zel matematii kullanabilecek kiilerin haricinde; matematikten hi anlamayan meslek gruplarnda kullanlma ihtiyac doduktan sonra, makine dili yerine herkes tarafndan kullanlabilen dillerin kullanlmas ihtiyac domutur. Bu diller bilgisayardaki derleyici program vastasyla otomatik olarak makine diline evrilir. Bylece makine dili veya asembler dili renme zorunluluu ortadan kalkmtr. 2- Yksek Seviyeli Diller: FORTRAN: Formula Translation kelimelerinin balang ksmlar alnarak tretilmi bir kelimedir. Ksaca mhendislik ve dier ilmi almalarda kullanlan bilgilerin belirli kaide ve bilgiler nda tercme edilmi hali olarak dnlmektedir. Fortran-2 olarak bulunan dil gelitike Fortran-4 ve 5 adn almtr. Aadaki zelliklere sahiptir: a) b) c) d) e) Az sayda temel komut gerektirir. Problemin metin ileme pay az olmaldr. Kullanlacak saylar stel say biiminde gsterilmi olmaldr. leyebilecei veri miktar genellikle azdr ama daha kapsaml iler yapabilir. Belirli hesaplama aralar (algoritmalar) mevcuttur.

ALGOL: Algoritmic Language kelimelerinden tretilmi olup, eitli algoritmalarn belirli kaide ve bilgilerle ifadesinden baka birey deildir.Fortrana nazaran daha az kullanlr. COBOL: (Common Busines Oriented Language) Banka ve i idaresi iin yaygn olarak 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 anlamna gelmektedir.Fortran ve Cobol dillerini birletiren bir dil olup hem i idaresi, hem de mhendislikte kullanlr. PASCAL VE BASIC: (Beginers All Purpose Symbolic Instruction Code) : Bu diller mini ve mikro bilgisayarlar iin gelitirilmitir.Daha nce sraladmz dillere nazaran daha dar kapsaml diller idi ve yaplmak istenen ie ait komutlar aynen genel sistemdekine benzer olarak bilgisayara aktarlyordu. ok geni amal olarak kullanlmazd. Ancak gnmzde her iki dil de ok geni problemlerin zmnde kullanlr hale gelmitir. Ayrca Windows iletim sistemine uygun olarak karlan yeni versiyonlar ile dillerin kullanm da daha basit hale getirilmitir.

ALGORTMA VE PROGRAMLAMAYA GR SAYISAL BLGSAYARLARIN PRENSPLER: ANA LEM NTELER VE

Yalolu ALIMA

Bilgisayarlar basit drt ilemi kat-kalemle uygulanan yolun aynsn takip ederek yaparlar.Burada her ilem iin ayr bir nite i grmektedir. Mesela: a=10 , b=20 ;c=2a+5b ilemini yapmak iin u admlar takip edilir: a) Okuma: a ve b deerlerinin bir yerden okunarak bilgisayar i hafzasnda bir yere kaydedilmesi. b) Kaydedilen bilgilerin ve yaplacak olan ilemin ezberlenmesi c) Hesaplama ileminin yaplmas.(Drt ilem veya herhangi bir algoritmann nasl hesaplandna dair bilgi sahibi olmak gerekir.) d) Yazma: Hesaplama neticesinde elde edilen sonucun herhangi bir ortama yazlmas ilemidir. e) Kontrol ilemi: Yukarda daha nce sraladmz drt admn her birinin doru yaplp yaplmadnn kontrol edilmesidir.

HAFIZA NTES

GR NTES

ARTMETK EM NTES (ALU)

IKI NTES

KONTROL NTES

ekil: Saysal bilgisayarlarn ilem-mantk emas

ALGORTMA VE PROGRAMLAMAYA GR

Yalolu

Saysal bilgisayarlar yukarda sraladmz her bir ilemi, fonksiyon olarak birbirinden farkl nitelerle salamaktadr. Aadaki ekli inceleyecek olursak hafza nitesi giri ve k niteleriyle tek ynl, aritmetik ilem nitesiyle ift ynl ilikiye sahiptir.Sistemin almas ksaca yledir: Giri nitelerinden girilen bilgi nce hafzaya aktarlr.Hafzadaki bilgi aritmetik ilem nitesinde ileme tabi tutulduktan sonra tekrar hafzaya gider ve oradan k nitesine gnderilir.Kontrol nitesinin; her admn ayr ayr kontrol edilmesi asndan dier nitelerle ayr ayr ilikisi vardr. Buraya kadar olan bilgiler nda BASIC dilinde gerekletirilmesinde aadaki admlarn izlenecei aktr: 1. 2. 3. 4. bir programn

Programn analizi Basc programlama dilinde programn hazrlanp yazlmas Program iin gerekli verilerin derlenmesi ve bir kayt ortamna kaydedilmesi Hazrlanan programn bir derleyici kanalyla kaynak programndan gaye programna dntrlmesi 5. Programn icras 6. Hatalarn dzeltilmesi BAZI TANIMLAR Buraya kadar ve buradan sonraki olan konularda baz yeni terimler geecektir. imdi bunlara bir gz atalm: Adres: Hafzadaki herhangi bir yeri gsteren saydr. Hafzadan bilgi almak veya hafzaya bilgi yazmak iin bu adres saysnn bilinmesi gerekir. Ak Diyagram: Bir programn yapmas istenin ilerin izgi ile adm adm gsterilmesidir. "Ak", sorunu iin makinenin izlemesi gereken yolu belirler. Anahtar: Herhangi bir kaydn yerinin bulunmasn salayan blm. Byte (Bayt): Komutlarn tand, genellikle sekiz bitten oluan temel bilgi birikimi. Bit: erisinde 0 yada 1 bilgisini bulunduran en kk bilgi birikimi Derlenmi Program: Derleyici tarafndan makine diline evrilmi program. Derleyici: Bilgisayarn genel iletiim sisteminin bir paras olan programdr. Kullancnn yazd kiisel programlar makinenin anlayaca makine diline eviren program. Dng: Tekrar tekrar ileme girmesi gereken program blmleridir. Bu blmlerin ka kere ileme girmesi gerektii ya nceden belirlenir, ya da bir arta balanr.

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 zerinde giri 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. Ana programn herhangi bir noktasndan arlp orada kullanla bilir.

SAYI SSTEMLER
Bu blmde bizim kullandmz 10'lu sistem ile bilgisayarn kulland 2'li, 8'li ve 16'l sistemler arasndaki farklar ve gereklilikler anlatlacaktr. ncelikle kullandmz 10'lu say sisteminde saylar dnmeden yazar, okur ve anlarz. Sistem ayn olmasna ramen dier say sistemlerinde dnmek hatta hesap yapmak zorunluluu duyarz. Bilgisayarmz ise say olarak yalnzca 1 (akm gemesi durumu) ve 0 (akm gememesi durumu) saylarn tanyabilir. yleyse bilgisayar ilemlerini 2'li sistemde yapmaya zorunludur. Ancak bu blmde grlecei gibi 2'li sistem ok tkz olduundan (ok bit kapladndan) bilgisayar 8'li veya 16'l sistemi kullanr. 10'lu sistem yerine bu sistemlerden birini kullanmasnn sebebi ise 2'li sisteme olan dntrme kolayldr. Artk gnmzde bilgisayarlar genellikle 16'l sistemi 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 toplamlar eklinde yazarz. 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 deiik olacaktr. B-) 2'L SAYI SSTEM: Bu say sisteminde 0 ve 1 rakamlarn kullanrz. Bu saylar bilgisayarda akmn gemesi veya gememesi esasna gre belirlenir.

ALGORTMA VE PROGRAMLAMAYA GR a-) 2'li sistemden 10'lu sisteme dntrme: RNEK: (101101)2 = 1.25 + 0.24 + 1.23 + 1.22 + 0.21 + 1.20 = =32 + 0 + 8 + 4 + 0 + 1 = (45)10

Yalolu

rnekte grld gibi sistem 10'lu sistemin aynsdr. Aralarndaki fark ise 10'lu taban formlndeki 10 yerine 2 rakam gelmektedir. Bu sebeple de ikili taban daha ok bit istemektedir. b- 10'lu sistemden 2`li sisteme dntrme: Bu ilemi yapabilmek iin 10'lu sistemde verilen say srekli olarak ikiye blnmektedir.Blmelerin kalanlar bize o saynn ikili sistemdeki karln vermektedir. RNEK: 10'lu tabandaki 53 saysn ikili tabana eviriniz? Blnen Blm Kalan Blm 53 2 1 (53)10 =(110101)2 26 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 bize saynn 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

ALGORTMA VE PROGRAMLAMAYA GR d-)Kesirli saylarn 2'li sistemden 10'lu sisteme evrilmesi: RNEK: (0.01)2 =0.2-1 C-) 8'L SAYI SSTEM: +1.2-2 0 1 = --- + --2 22

Yalolu

1 = --- =(0.25)10 4

Bu say sistemi de dierlerinin ayns olup aradaki tek fark taban saysnn deimesidir. 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 sisteme eviriniz? 988 123 15 1 8 8 8 4 3 7 1 1 7 3 4

(988)10

=(1734)8

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 evirip oradan esas evirmek istediimiz tabana evirmek. Dieri ise pratik metot olarak bilinen ilemdir. Biz burada pratik metodu birer rnekle inceleyelim. RNEK: 1011010101 saysn 8'li sisteme evirmek istediimiz de nce bu sayy sadan itibaren er er ayrrz. Sonra her bir ly kendi arasnda eviririz ve bylece elde ettiimiz say verilen saynn 8'li sistemdeki karl olur.

ALGORTMA VE PROGRAMLAMAYA GR 1 --1 011 --3 010 --2 101 --5 (1011010101)2=(1325)8

Yalolu

Tersini yaptmzda da sayy 8'li sistemden ikili sisteme evirmi oluruz. Burada da sekizli sistemdeki her bir sayya karlk 2'li sistemde basamakl bir say yazmalyz. 3 --011 7 --111 4 --100 1 --001

(3741)8

= (11111100001)2

D-)16'LI (HEKSODESMAL) SAYI SSTEM: Sistem yine ayndr fakat burada 16 adet rakam gereklidir. Bunun iinde bu sistemde 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 100 6 16 16 13 4 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 arasnda yine pratik metod mevcuttur.

10

ALGORTMA VE PROGRAMLAMAYA GR RNEK: 6 F 1 8 (6F18)16 = ---- ---- ---- ---- =(110111100011000)2 0110 1111 0001 1000 RNEK: 1 0100 1101 0011 1010 (10100110100111010)=---- ---- ---- ---- ---1 4 13 3 10

Yalolu

=(14D3A)16

Metot 8'li sistemin aynsdr,fakat burada l yerine drtl ayrma yaplmaktadr.

RAKAMLARIN BLGSAYARDA YAZILISI:


a-) Tamsaylar: Bilgisayarlar tamsaylar (ondalkl olmayan saylar) nnde (-) iareti olmazsa pozitif kabul eder. RNEK: -15 , 1548 , 0 ,... gibi b-) Ondalkl saylar: Ondalkl say sabitleri nnde (-) iareti yoksa pozitif kabul edilir. Ondalkl ksm (.) iareti ile blnr. Eer (,) ile blnrse yazlm hatas (syntax error) oluur. Bir ok bilgisayar tm saylar ondalkl gibi iler, yani tamsaylar sonunda (.0) gibi kabul eder. RNEK: 2.15 , -67.7 , .25 , 328.0 gibi c-)sl saylar: Bilgisayarlar genelde 0.01'den kk ve 999999999'dan byk saylar sl (bilimsel) yazlmla yazarlar. RNEK: 2E4 = 2.104 = 20000 RNEK: 3E-2 = 3.10-2 = 0.03

11

You might also like