algoritma ve programlamaya giriş 1
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