Programlama Temelleri Öğr.Gör. Hüseyin Bilal MACİT 2017

advertisement
Programlama Temelleri
Ders notları 1
Öğr.Gör. Hüseyin Bilal MACİT
2017
ì
Bilgisayar nedir?
ì Bilgisayar,kullanıcıdanaldığıverilerlemantıksalvearitmetiksel
işlemleriyapan;yaptığıişlemlerinsonucunusaklayabilen;
sakladığıbilgilereistenildiğindeulaşılabilenelektronikbir
makinedir.
ì Öncedenbelleğineyüklenmişbiryazılımilekendisineverilen
komutlaragöre,verilenverileriişleyereksonuçlarüretir.
ì Buişlemleriinsandandahahızlıyapabildiğiiçinbilgisayar
kullanımıhızlayaygınlaşmıştır.
ì Günümüzbilgisayarları,milyarlarcakarmaşıkişlemisaniyeler
içindeyapabilecekkadarhızlıdır.
Bilgisayarın tarihçesi
ì Bilgisayarıngelişiminin,günümüzden5000yılönceabaküsün
bulunmasıilebaşladığısöylenebilir.İnsanoğluilkdefaabaküs
kullanarakbiraraçyardımıilesayılarısaymayabaşlamıştır.
ì 1642yılındaBlaise Pascal,vergi
toplayıcısıolanbabasınayardım
edebilmekiçinilkbasithesap
makinesiniicatetmiştir.Üzerinde
sayılarolanbubasitmakine,
hesapmakinelerininatasısayılır.
Pascal’ın geliştirdiğibuhesap
makinesininadıPascaline’dır.
ì Pascaline
Bilgisayarın tarihçesi
ì 1673yılınagelindiğindeAlmanGottfried
Wilhelmvon Leibniz,Pascaline’ı
geliştirerekçarpmaişlemideyapabilen
birmakinehalinegetirmiştir
ì Leibniz
ì 1820yılındaFransızCharlesXavier ThomasdeColmar,dört
işlemyapabilenbirhesapmakinesiicatetmiştir.Colmar’ın icat
ettiğimakineninüzerindeçalışılarak‘Arithometer’adıverilen
mekanikhesapmakinelerikullanılmayabaşlanmıştır.
Bilgisayarın tarihçesi
ì Günümüzdeanladığımızişleviylebilgisayar
mantığınıntemeliniilkolarakİngilizmatematik
profesörüCharlesBabbage ortayaatmıştır.
1832yılındaBabbage,Difference Engine’adını
verdiğidiferansiyeldenklemçözümüyapabilen
makineyigeliştirmeyidüşünmüştür.Lokomotif
büyüklüğündevebuharlaçalışanbumakineyi,
programlarısaklayabileceğivehesaplamaları
yapıpçıktıalabileceğibirdüzenekteçalıştırmayı
ì Difference Engine
tasarlamıştır.10yılsürençalışmalarınsonunda
buülküsüneulaşamamıştır,ancakozaman
ì (Babbage)
düşündüğüyapıbugünbizimkullandığımız
bilgisayarlarınişlevinetıpatıpbenzemektedir.
Bilgisayarın tarihçesi
ì 1801yılındaJoseph-MarieJacquard,delikli
tahtayı(punch board)tasarlayarakeldeki
verilerinbutahtayabasılıpsaklanması
fikriniortayaatmıştır.Bufikirden
yararlanarakBabbage,‘AnalitikMakine’adı
verilengenelamaçlıkullanımıolabilecekbir
makinegeliştirmiştir.
ì 1890yılında,AmerikalımucitHerman
ì Tabulator (Hollerith)
Hollerith,Jacquard’ın deliklitahtabuluşunu
dahahızlıbaskıyapabilenbirmakinede
geliştiripkullanmıştır
Bilgisayarın tarihçesi
ì Tabulator’denenbumakineileilkişolarak
AmerikaBirleşikDevletleri’ndenüfussayımı
yapmayıplanlamıştır.Eskiyöntemleregöre
nüfussayımı10yıldatamamlanırken,
Hollerith’in buluşuilesayım6haftada
bitmiştir.
ì Hollerith,önce‘Tabulate Machine
ì Tabulator (Hollerith)
Company’,dahasonra1924yılında
‘InternationalBusinessMachines’(IBM)adı
altındabirfirmakurarakkendideliklikart
okuyucusunuişdünyasıyladatanıştırmıştır.
1. nesil bilgisayarlar (1945 - 1956)
ì Budönem1945-1956yıllarıarasınıkapsar.Birincinesil
bilgisayarlarıdiğerdönemlerdenayıranözellikler,vakum
tüplerininbulunmasıilevanaveteldevrelerdenoluşmasıdır.Bu
döneminbilgisayarlarındaelektrikakımı,vakumtüpleri
aracılığıyladenetlenmektedir,verilerisaklayabilmekiçinde
manyetikdavullarbulunmaktadır.
ì Bubilgisayarlarözelişlemleryapmalarıiçinüretildiklerinden,
kullanımalanlarıdasadecebuözelişlemlerinyapılmasıylasınırlı
kalmıştırveçalışmalarıçokyavaştır.
2. nesil bilgisayarlar (1956 - 1964)
ì 948yılındatransistörün icadıilebilgisayardünyasında
ilerlemelermüthişbirivmekazanmıştır.Transistörler,ilkdefa
1956yılındabilgisayarlardakullanılmayabaşlanmıştır.Bu
döneminenbelirginbuluşu,transistörlerin vakumtüplerinin
yerinialarakmakineboyutlarınınküçülmesini,birincinesil
makineleregöredahahızlıçalışmasınısağlamasıvemakine
dilininyerineprogramlamadillerinegeçilmişolmasıdır.Makine
dilindekullanılan‘Assembly’yerine,uzunvezorolanikili
(binary)kodlarıikincinesilbilgisayarlarlabirlikteprogramlama
dilinedönüştürülmüştür.Böylecebirincinesildekilergibiher
amaçiçinmakineüretmekyerine,heramaçiçinprogram
yazılmayabaşlanmıştır.‘COBOL’ve‘Fortran’dilleribudönemde
geliştirilmiştir.
2. nesil bilgisayarlar (1956 - 1964)
ì 1948yılındatransistörün icadıilebilgisayardünyasındailerlemeler
müthişbirivmekazanmıştır.Transistörler,ilkdefa1956yılında
bilgisayarlardakullanılmayabaşlanmıştır.Budöneminenbelirgin
buluşu,transistörlerinvakumtüplerininyerinialarakmakine
boyutlarınınküçülmesini,birincinesilmakineleregöredahahızlı
çalışmasınısağlamasıvemakinedilininyerineprogramlamadillerine
geçilmişolmasıdır.
Budönemdebilgisayarlarişdünyasınada
girmiştir.Malibilgilerinişlendiğibilgisayarlar
veprogramlarüretilmiştir.Budönemde
Heath firmasıelektronikanalog bilgisayarı,
IBMise‘IBM1401’adıylailkendüstriyel
bilgisayarıüretmiştir.
Analog Bilgisayar(Heath)
3. nesil bilgisayarlar (1964 - 1970)
ì Vakumtüplerininyerinialantransistörler,bilgisayartarihinde
çokönemlibirbuluşolmuştur.Ancakbilgisayarlarelektronik
devrelerindekiçabukısınmadandolayıuzunsüre
çalıştırılamamaktadır.1958yılında,Texas Instruments
mühendislerindenJack Kilby,bütünleşmişdevre(IC–
Integrated Circuit)buluşuylaısınmasorununuçözümlemiştir.IC,
üçelektronikparçanınküçüksilikondisklerdebirleştirilmesiyle
oluşanbirdevredir.Bilimadamlarıtekbiryonganınüzerineçok
dahafazlatransistör ekleyerekyarıiletkenleri(semi-conductor)
icatederler.Sonuçtayongalarıniçerisinenekadarçoktransistör
eklenirse,bilgisayarlarınboyutudaokadarküçülmektedir.Bu
dönemedamgasınıvuranikincigelişmede,bilgisayarlariçin
‘işletimsistemi’geliştirilerekçoksayıda,farklıprogramlar
çalıştırılabilmesidir.
4. nesil bilgisayarlar (1970 - günümüz)
ì Dördüncünesilbilgisayarlarıdiğerdönemlerdenayıran
özellik,milyonlarcatransistörün tekbirbütünleşik
devreyongası(Integrated CircuitChip)üzerinde
toplanarak,mikroişlemcilerinbulunmasıvekarmaşık
programlamadillerinegeçilmesidir.IBM,1981yılında,
insanlarıilkdefakişiselbilgisayarlar(PC– Personal
ì PC(IBM)
Computer)iletanıştırmıştır.Butarihtenitibaren
bilgisayarlarbüyükendüstriyelveaskeriamaçlı
çalışmalarındışında;evlere,okullaraveişyerlerine
girmiştir.Bilgisayarlarınbugelişimi,sonrakiyıllarda
masaüstüvedizüstübilgisayarlarolarakgündelik
hayatımızınayrılmazbirparçasıolmalarınısağlamıştır.
5. nesil bilgisayarlar (günümüz - gelecek)
ì Beşincinesilbilgisayarlarıngünümüzedamgasınıvuran
gelişmeleri,paralelişleme(parallel-processing)vebüyükölçekli
bütünleşmişdevrelerinbulunmasıdır.Bugelişmeilemilyonlarca
transistör tekbiryongadatoplanıp,milyarlarcaişlemisaliseile
ifadeedilebilecekzamandilimlerindegerçekleştirebilmektedir.
İnsanoğlununhayalgücüneparalelbuluşlargerçekleştirmesinin
sonuolmadığından,budöneminsonubelirtilememektedir.
5. nesil bilgisayarlar (günümüz - gelecek)
CPU
Yıl
Transistörsayısı
Intel4004
1971
2,300
Intel8086
1978
29,000
Intel80386
1985
275,000
IntelPentium
1993
3,100,000
Intel PentiumIII
1999
9,500,000
IntelCore 2Duo
2006
291,000,000
AMDK10Quad Core
2007
463,000,000
IntelCore i7
2008
731,000,000
Intel Xeon 8Core NehalemEX
2010
2,300,000,000
Apple A10
2016
3,300,000,000
5. nesil bilgisayarlar (günümüz - gelecek)
ì Transistörler şuhaliilebirvirüs’ün1000’de1boyutundavebiraz
dahaküçültülürleriseelektronudurduramazlar.Dolayısıyla
bit’leriüretemezveveriişleyemezler.Artıkbilgisayarların
değişmesigerekli.
ì Bunedenle2012yılındaQuantum mekaniğiileçalışanilk
bilgisayarüretildi.İlkbaştadevasaolanbubilgisayarlar,
günümüzdeyavaşyavaşküçültülmeyebaşladı.0ve1dediğimiz
bitleryerine,Qubitlerle çalışanQuantum bilgisayarları,şimdilik
sadeceşifreçözmeişlemleriiçinkullanılıyor.Geliştirilmesi
normalbilgisayarlaragöreçokdahazorolanbubilgisayarların,
2015yılındaDelft Üniversitesi’nde yapılanbirçalışmaileışık
hızındandahahızlıişlemyapabildiğiispatlandı.
Yazılım nedir?
ì Elektronikbircihazın,istenilenbirişiyapmasıiçinbirprogramlamadili
ilehazırlanmışkodkümesine“program”denir.
ì Belirliişlerinyapılmasıiçinkoordineçalışanprogramlarıntümünede
“yazılım”denir.Yazılımlar,sistemveuygulamayazılımlarıadıaltında
incelenir.
Sistem yazılımları
ì Bilgisayarınkullanıcıileetkileşiminisağlayanyazılımlardır.
ì Bilgisayarkullanımıiçingereklianafonksiyonlarısağlarve
bilgisayardonanımınavesisteminyürütülmesineyardımcıolur.
ì İşletimsistemleri
ì Aygıtsürücüleri
ì Derleyiciler
ì BIOS
Uygulama yazılımları
ì Birişletimsistemiüzerindeçalışan,belirliişlemleri
geçekleştirmeküzeregeliştirilmişyazılımlardır.
ì ÖrneğinWindowsişletimsistemindeçalışmaküzeregeliştirilmiş
biryazılım,MACOSişletimsistemiüzerindeçalışmaz.
ì Uygulamayazılımları,donanımladoğrudaniletişimegeçmez,
işletimsisteminiaracıolarakkullanırlar.
Uygulama yazılımları
ì Kelimeişlemyazılımları(Wordpad,MSWord,OpenOffice
Writer,Adobe Readervb.)
ì Elektroniktablo-hesapyazılımları(Excel,Numbers vb.)
ì Veritabanı yazılımları(MSAccess,Oracle,Paradox,SQLServer
vb.)
ì Tümleşikpaketyazılımlar(MSOfficevb.)
ì Grafikyazılımları(CorelDraw,Photoshop,Autocad vb.)
ì İnternettarayıcıyazılımları(GoogleChrome,MSEdge,Mozilla
Firefox,Safarivb.)
Uygulama yazılımları
ì İletişimyazılımları(Messenger,Whatsapp,BİPvb.)
ì Zararlıyazılımlar(Virüs,truva atı,solucanvb.)
ì Oyun-eğlenceyazılımları(PC,PS,Mobiltelefonvetablet
oyunlarıvb.)
ì Casusyazılımlar(Keylogger vb.)
ì Güvenlikyazılımları(Antivirüs,Firewallvb.)
ì Programgeliştirmeyazılımları(VisualStudio,Delphi,JBuilder
vb.)
Download