Professional Documents
Culture Documents
PROGRAMLAMA TEMELLER
PROGRAMLAMA D LLER
PROGRAMLAMA TEMELLER
Program Nedir?
Program bilgisayar n donan m n kullan labilir hale getiren komutlar toplulu udur. E er bilgisayara ne yapmas gerekti ini sylemezseniz, hibir ey yapamaz. Bilgisayara bir eyler sylemek ise programlar arac l ile olur.
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
Programlama Dili
Bilgisayar Trke, ngilizce veya ba ka bir dilden anlamaz. Bilgisayar n fonksiyonel bir beyni olmad insanlar komutlar yazmal d r. Bu zel dile programlama dili denir. iin
Komutlar bir araya gelerek program meydana getirir. Belli bir dil ile yaz lm komutlara kaynak kod da diyebiliriz.
PROGRAMLAMA TEMELLER
Her programlama dili zel bir amaca hizmet eder. Her dilin kendine gre avantaj ve dezavantajlar vard r. nsanlar farkl problemleri zmek iin de i ik programlama dilleri yazm lard r. Temelde bilgisayarlar 1 ve 0lardan olu an ikilik say sistemindeki dili anlarlar. Buna makine dili denir.
PROGRAMLAMA TEMELLER
ASSEMBLY
Makine dilinin dezavantajlar , hatal kod yaz m n n kolay olmas ve yaz m n n uzun srmesidir. Makine dilinin daha rahat programlanmas iin assembly dili geli tirilmi tir. Assembly dili basit, hat rlanmas kolay deyimlerden olu ur. Programc lar 1 ve 0 ile program yazma yerine assembly dilini geli tirmi lerdir, bilgisayar n bu yaz lanlarla ilgili hibir fikri yoktur. Bu sebeple programc lar assembly dil komutlar n makine diline eviren programlar yazm lard r. Bu programlara makine dili eviricisi - assembler denir.
PROGRAMLAMA TEMELLER
ASSEMBLY
PROGRAMLAMA TEMELLER
ASSEMBLY
Assembly dili makine dilinden daha rahat yaz lmas na ra men, hala baz dezavantajlara sahiptir: Yava ve ok yer kaplayan programlar olu ur. Ba ka dile evrilmeleri zordur. ok uzun program yaz m na elveri li de ildir.
PROGRAMLAMA TEMELLER
Programc lar donan ma eri imi daha kolay olan, okunakl , yaz m ve dzenlemesi kolay olan bir dile ihtiya duymu lard r. Bunun zerine C (1972) programlama dili geli tirilmi tir. Cobol (1959), Fortran (1957), Basic (1964) , Pascal (1971) gibi birok diller de vard r ama hala gnmzde yayg n olarak kullan lan C dili olmu tur. Assembly dilinden sonra geli tirilmi dillerin geneline yksek seviyeli diller denilmektedir. nsanlar n konu ma diline yak n olan dillere yksek seviye dil denilmi tir.
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
Derleyici (Compiler)
Yksek seviye bir dili makine diline eviren programlara derleyici compiler denir.
MAK NA D L (1,0)
DERLEY C
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
S k Sorulan Sorular
1. Assembly dili ile yksek seviye dil aras ndaki h z fark ne kadard r? Cevap:Assembly dili yakla k 2 ile 20 kat aras nda daha h zl d r. 2. Assembly dili ile yksek seviye dil aras ndaki program tasar m sresi ne kadard r? Cevap:Assembly dili yakla k 10 ile 100 kat aras nda daha yava srede tamamlan r. 3. Derleyiciler hangi dilde geli tirilmi lerdir? Cevap:nceleri assembly dili ile yaz lm lard r. Daha sonra yksek seviye diller glendike bu diller kullan larak derleyiciler yaz lm t r.
PROGRAMLAMA TEMELLER
Eski zamanlarda fare, grafik ekran imkn olmad iin metin tabanl ortamlarda al l rd . Pencere ve d me gibi kavramlar o zamanlar yoktu. Pencereler, kayd rma ubuklar , ara ubuklar , menler programc n n daha h zl bir ekilde program yapmas na sebep oldu u iin, bu ortamlara H zl Uygulama Geli tirme Rapid Application Development (RAD) denilmi tir. Grsel Programlama Dilleri (Visual Programming Languages) olarak da adland r l rlar. Programc olu turaca program n ara birimini, istedi i gibi tasarlayabilir ve bu ara birimi i levsel hle getiren kod k sm n yazabilir. Popler RAD dilleri: Visual Basic, Delphi, JBuilder ve Visual C#.
PROGRAMLAMA TEMELLER
RAD ile programc , temel programlama dilleri olan C, Basic ve Pascal gibi dilleri kullanarak, h zl bir ekilde uygulama geli tirebilir. Kullan c ara birimi geli tirmek kolayd r. C ve Basic bilen iin grsel programlama diline gei ok kolayd r. Maalesef RAD ile dilin ta nabilirli i azal r. Yani Windows ortam nda Visual Basic ile yaz lan program n, Linuxta al ma ihtimali azd r. RAD programlama ile yapt n z programlar daha ok disk alan kaplayacak ve daha yava al acaklar.
PROGRAMLAMA TEMELLER
Programc l k e itleri
PROGRAMLAMA TEMELLER
Veritaban Programc l
Bilgisayar programlar nda programa ait bilgiler veritaban denilen zel dosyalarda saklan r. Bu dosyalar ise veritaban programlar ile olu turulurlar. En ok kullan lan veritaban programlar MS Access, MS-SQL, MySQL, Oracle
PROGRAMLAMA TEMELLER
Veritaban Programc l
Veritabanlar na kay t ekleme, silme, dzenleme, sorgulama gibi i lemler iin kullan lan zel bir dil vardr . Buna SQL (Structured Query Language) denir.
PROGRAMLAMA TEMELLER
Veritaban Programc l
n n dezavantajlar :
Veri taban programlar , veri taban n i leyen program sistemde kurulu de ilse al t r lamazlar. Sadece veri taban program n kullanarak antivirs, oyun, kelime i lemci gibi program yapamazs n z.
PROGRAMLAMA TEMELLER
Uygulama Programc l
Herhangi bir ihtiyac n giderilmesine ynelik haz rlanm olan genel amal programlard r. Bu program bir oyun olabildi i gibi, bir firman n i ak n dzenleyen bir program da olabilir. Herhangi bir programlama dili kullan larak yap labilir. (Java, Visual C, Delphi, Visual Basic vs..) Bu tip programc l bulunmaktad r. n iinde Veritaban programc l da
PROGRAMLAMA TEMELLER
WEB Programc l
Web sayfalar zerinde al an programlar yazma i idir. Web programc s tasar mla u ra maz. Ancak u anda lkemizde maliyetleri azaltmak amac yla tasar m ve programlama i i genelde tek bir ki i taraf ndan yap lmaktad r.
PROGRAMLAMA TEMELLER
WEB Programc l
Web programc s temelde HTML (Hyper Text Markup Language) kullan r. Sadece HTML ile grsel a dan zengin sayfalar hazr lanamaz. Bu a kapatmak iin flash ve Javascript gibi programlar ve diller kullan l r. Web programc l sadece grsellik de ildir. Bunun yan s ra kullan c ile etkile im nemlidir. rne in kullan c dan al nan bilgilerin saklanmas iin de ayr diller kullan l r. Bunlar ASP, PHP, CGI, vs
PROGRAMLAMA TEMELLER
PROGRAM YAZIMI
PROGRAMLAMA TEMELLER
Program Yaz m
Bir program yazmaya ba lamadan nce o program ile alakal ka t zerinde planlama yap lmal d r. Planlama yap lmazsa bir sre sonra program iinden k lmaz bir hal al r. Bir program n hangi dil ile yaz ld nemlidir. Ancak program n dzgn al mas daha nemlidir. Bir program bir problemin zlmesine ynelik yaz l r. Problemlerin ise birden ok zm olabilir.
PROGRAMLAMA TEMELLER
PROGRAM YAZIMI
Program tasarlarken unlar gz nnde bulundurmal s n z: Kullan c : program kim kullanacak? Hedef bilgisayar: Windows mu, Linux mu, bir el bilgisayar m , yoksa bir sper bilgisayar m? Siz: tek ba n za m yapacaks n z? Tak m halinde al acak iseniz hangi k s mlar siz yazacaks n z?
PROGRAMLAMA TEMELLER
Kullan c
E er program sadece siz kullanacaksan z, grnm istedi iniz gibi tasarlayabilirsiniz, al mas yeterlidir. Satacak veya cretsiz olarak verecek iseniz, kar n zdaki insanlar tan man z mant kl olur. Kullan c n n bak a s ile bakarak program tasarlaman z gereklidir.
PROGRAMLAMA TEMELLER
Hedef Bilgisayar
bilgisayar n tr programlama
Hangi donan m kulland da nemlidir. Bir Mac kullan c s iin bol haf za, disk alan , renkli grafikler, ses avantaj varken, bir el bilgisayar nda ise daha az renk seene i, ekran znrl ve belle i vard r. Bir program ne kadar ok e itli ortamda al yor ise o kadar ra bet grr. Bu prensibe apraz platform cross platform denir.
PROGRAMLAMA TEMELLER
Siz
Program yaz m nda programc n n yetenekleri nemlidir. Programc n n bildi i dillerden hangisini kullanaca na karar vermesi gerekir. E er tek ba na yapam yorsa bir proje grubu olu turmal ve iyi bir grev da l m yapmal d r. Bir programc hi bilmedi i bir dilde de az bir al ma ile program yazabilir. Fakat bu biraz uzun zaman alabilir.
PROGRAMLAMA TEMELLER
Alt n Kelepeler
Bir programc y i e al rs n z, biraz para verirsiniz. Programc tam istedi iniz gibi bir program yazmaz. Paray kaybetmek yerine, biraz daha para vererek, program n yeni srmn yapt r rs n z. te bu noktada kelepelendiniz demektir. Programc ya devaml para verir ama hibir zaman istedi iniz program elde edemezsiniz. Ba ka programc ya da geemezsiniz; nk kaynak kod elinizde de ildir. Elinizde olsa bile kimse o program de i tirmek iin zaman harcamaz.
PROGRAMLAMA TEMELLER
Program Yazma A amalar 1. Prototip olu turma 2. Algoritma yazma 3. Ak emalar haz rlama
4. Program n yaz m
PROGRAMLAMA TEMELLER
Tam al mayan veya yanl al an bir program olmamas iin programa aylarca zaman harcamadan nce, programc lar mimarlar n maket modeller yapmas gibi, prototip olu tururlar. Bunu normal bir program gibi, menleri, formlar , diyalog kutular olan ama iinde kod olmayan bir uygulama olarak d nebilirsiniz. Fikir vermek amac ile yap l rlar. Prototipten memnun kal nca, programc kodlamaya geer.
PROGRAMLAMA TEMELLER
Algoritma Yazma
Programlama dili seseniz bile, hemen kod yaz m na geemezsiniz. Algortima denilen kodlama ile program n i lemleri yaz l r. Algoritma kurdu unuz mant ktaki kaaklar bulmaya yarar.
PROGRAMLAMA TEMELLER
Algoritma rne i
rne in; e er bir ehre fze gndermek isterseniz ad mlar n z u ekilde olabilir: 1. Hedefin koordinatlar n al 2. Fzenin u anki koordinat n al 3. Hedefi vurmas iin gerekeni hesapla 4. Fzeyi ate le
PROGRAMLAMA TEMELLER
Algoritma rne i
1. ad m n daha da geli mi hli yle olabilir: a. Fze teknisyeninden hedef koordinatlar edin b. Hedef koordinatlar n geerli oldu undan emin ol c. Hedef koordinatlar haf zaya kaydet a. maddesini daha alt basamaklara blebiliriz. i. Koordinattan emin ol ii. Hedef fzenin at uzakl iinde mi, kontrol et iii. Hedef dost blge mi, kontrol et
PROGRAMLAMA TEMELLER
Algoritma Ne
e Yarar
Algoritma zaman kayb gibi grlebilir. Ancak planl bir ba lang en az hata ile kar la mak demektir. E er plans z olarak program yazarsan z, ka n lmaz son, k sa sre sonra kod pl olabilir. Bu da bug (bcek) larla dolu bir program demektir. Algoritma en genelden en zele do ru yaz l r Byk bir program n temel ad mlar n n oldu u algoritma makro seviye olarak isimlendirilirken, detaylar n algoritmalar na mikro seviye denir. Makro seviye iinde birok mikro seviye algoritma vard r.
PROGRAMLAMA TEMELLER
Algoritma
Temelde program n z ana blme ay rabiliriz: Giri : Bilgisayar n zerinde al aca kullan c taraf ndan girilir. lem: Bilgisayar girilen bilgiyi i ler. k : Bilgisayar insanlar n anlayaca ekrana sonucu gsterir. ekilde veri
PROGRAMLAMA TEMELLER
Algoritma rne i
Giri : a. rnn ad n al. b. rnn miktar n al. c. Bir dosyadan rnn fiyat n oku. lem: a. rnn toplam fiyat n hesapla. b. Gerekli indirimi yap. k : a. Toplam sat
de erini yaz.
PROGRAMLAMA TEMELLER
Algoritma rne i
rnekteki ad mlar algoritma olarak alt alta toplarsak: 1. Ba la. 2. rnn ad n al. 3. rnn miktar n al. 4. Bir dosyadan rnn fiyat n oku. 5. rnn toplam fiyat n hesapla. 6. Gerekli indirimi yap. 7. Toplam sat de erini yaz. 8. Bitir.
PROGRAMLAMA TEMELLER
Algoritma Komutlar
unlard r:
Ba la : Program n ba lad n ifade eder. Bitir : Program n ba lad n ifade eder. Oku : Kullan c giri i iin yaz l r. Yaz : Kullan c ya bilgi veya sonu gstermek iin yaz l r. E er se : artlara gre ak n de i mesinde kullan l r. E er . De ilse : artlara gre ak n de i mesinde
kullan l r.
PROGRAMLAMA TEMELLER
Algoritma rne i
ki say y kullan c dan alan, bunlar toplayan ve ekrana sonucu yazd ran program n algoritmas : 1. Ba la 2. Say sal say 1, say 2, sonuc 3. Yaz; ki say giriniz 4. Oku; say 1 5. Oku; say 2 6. sonuc = say 1 + say 2 7. Yaz; Sonu: & sonuc 8. Bitir
PROGRAMLAMA TEMELLER
Algoritma rne i
renci numaras n kullan c dan alan, bu numaraya ait notlar veritaban ndan alan, e er not 50 den bykse geti, de ilse kald yazd ran program n algoritmas : Ba la Say sal renciNumaras Yaz; " renci numaras n giriniz" Oku; renciNumaras Veritaban ndan renciNotu bilgisini oku E er renciNotu 50'den byk se Yaz; renciNumaras & " Geti" De ilse Yaz; renciNumaras & " Kald " E er Bitti Bitir
PROGRAMLAMA TEMELLER
Algoritma rne i
ki say y kullan c dan alan, bu iki say y kar la t r p byk olan say y bulan ve byk olan ekrana yazan program n algoritmas : Ba la Say sal Say 1, Say 2 Oku; "Birinci say y giriniz", Say 1 Oku; " kinci say y giriniz", Say 2 E er Say 1 Say 2'den byk se Yaz; "Say 1 Say 2'den byktr." E er Say 2 Say 1'den byk se Yaz; "Say 2 Say 1'den byktr." De ilse Yaz; "Say 1 ve Say 2 e ittir." E er Bitti E er Bitti Bitir
PROGRAMLAMA TEMELLER
Algoritma dev
PROGRAMLAMA TEMELLER
Ak
emalar
Ak emas , algoritman n ekillerle ifade edilerek program n haritas n olu turmakt r. Ak diyagram basit, a k ve kolay takip edilebilir olmal d r. Her ak diyagram n n bir adet ba lang ve biti noktas bulunmal d r. Ak diyagram ok karma k hle gelince, ba lant noktalar ve alt program kullan lmal d r.
PROGRAMLAMA TEMELLER
Ak
emalar Sembolleri
PROGRAMLAMA TEMELLER
Ak
emalar Sembolleri
PROGRAMLAMA TEMELLER
Ak
emalar Sembolleri
PROGRAMLAMA TEMELLER
Ak
emalar rnekleri
PROGRAMLAMA TEMELLER
Ak
emalar rnekleri
PROGRAMLAMA TEMELLER
Ak
emalar rnekleri
PROGRAMLAMA TEMELLER
AKI
EMASI - DEV
3 rencinin ya ortalamas n bulan ve sonucu ekranda gsteren program n ak emas Bir akbil cihaz n n al mas n anlatan ak emas 3 say dan en by n bulan program n ak emas
PROGRAMLAMA TEMELLER
Genel olarak tipik bir program dngs yledir: 1. Geli tirilme a amas (ilk olu turulma ve yay mlanma) 2. Bak m dngs (olabildi ince k sa zamanda bceklerin ay klanmas ) 3. yile tirme dngs (yeni zellikler katma)
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
Bak m Dngs
Bak m gerekti inde u ad mlar yap l r: 1. Program n hangi k sm nda hata oldu u bulunur. 2. Bcek temizlenir. 3. Yeni bceklere sebep olunup olunmad anla lmas iin test edilir. 4. Testte grlen bcekler temizlenir. (1 ve 4 aras her bcek iin tekrar edilir) 5. Yaz l m iin yama geli tirilir.
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
PROGRAMLAMA ARALARI
PROGRAMLAMA TEMELLER
Temel htiyalar
Program yazmak iin gerekli olan temel ihtiyalar:
1. Dzenleyici (editor): Komutlar yazmam z iin kullan l r. 2. Derleyici (compiler): Komutlar m z makine diline evirir. 3. Bcek ay klay c (debugger): Program n zdaki hatalar bulmaya yard mc olur.
PROGRAMLAMA TEMELLER
Ek htiyalar
Ek olarak;
1. Yard m dosyas haz rlay c : Kullan c ya k lavuz olacak el kitab eklinde, yard m sa lamak iin kullan lan programlard r. 2. Kurulum program (setup / installation): Program n dosyalar n tek dosya haline getirerek, di er uyumlu bilgisayarlara kurmaya yarar.
PROGRAMLAMA TEMELLER
Dzenleyici (Editor)
ASCII (American Standard Code for Information Interchange) dosya olarak yazabilece iniz tm programlar i inizi grr. Mesela not defteri olabilir. Metin dosyalar tm bilgisayarlarda standart olan bir dosya trdr. Ama bir kelime i lemci program kullanmak yerine programc lar kendi dzenleyicilerini geli tirmi lerdir. Bylece program yazmak daha kolay hale gelmi tir.
PROGRAMLAMA TEMELLER
Derleyici (Compiler)
Derleyici kaynak kodu makine diline evirir. E er yaz m hatalar yok ise, sonuta al t r labilir bir dosya meydana gelir. Bu dosyay isterseniz di er insanlara verebilir veya satabilirsiniz. Derleyici i lemci trnze gre kod olu turur. E er i lemcinizin mimarisi farkl ise o i lemciye gre tekrar derlenmesi gereklidir.
PROGRAMLAMA TEMELLER
PROGRAMLAMA TEMELLER
Yard m ve Kurulum
Yard m dosyas ve kurulum haz rlama programlar ayr ca sat l r veya cretsiz olarak internette bulunabilir. Kurdu unuz programlama dilinde basit olarak yard m haz rlamak iin yard mc program olabilir. o u program n yard m dosyas vard r. lk kez program n z kullanan veya bir konuda tak lan biri iin ilk akla gelen ey, Bu program n yard m nerede? sorusudur. Yard m dosyas olan programlar daha modern hale gelir. Program test edildikten, hatalar giderildikten ve yard m dosyas haz rland ktan sonra son ad m olarak kuruluma geliriz. CD veya disketlere blnecek ekilde kur dosyas yap l r.
PROGRAMLAMA TEMELLER
www.dilovasi10-tl.tr.gg