You are on page 1of 61

T.C.

M LL E T M BAKANLII

MEGEP
(MESLEK E T M VE RET M S STEM N N GLEND R LMES PROJES )

B L M TEKNOLOJ LER

PROGRAMLAMA TEMELLER

ANKARA 2007

Milli E itim Bakanl taraf ndan geli tirilen modller; Talim ve Terbiye Kurulu Ba kanl n n 02.06.2006 tarih ve 269 say l Karar ile onaylanan, Mesleki ve Teknik E itim Okul ve Kurumlar nda kademeli olarak yayg nla t r lan 42 alan ve 192 dala ait ereve retim programlar nda amalanan mesleki yeterlikleri kazand rmaya ynelik geli tirilmi retim materyalleridir (Ders Notlar d r). Modller, bireylere mesleki yeterlik kazand rmak ve bireysel renmeye rehberlik etmek amac yla renme materyali olarak haz rlanm , denenmek ve geli tirilmek zere Mesleki ve Teknik E itim Okul ve Kurumlar nda uygulanmaya ba lanm t r. Modller teknolojik geli melere paralel olarak, amalanan yeterli i kazand rmak ko ulu ile e itim retim s ras nda geli tirilebilir ve yap lmas nerilen de i iklikler Bakanl kta ilgili birime bildirilir. rgn ve yayg n e itim kurumlar , i letmeler ve kendi kendine mesleki yeterlik kazanmak isteyen bireyler modllere internet zerinden ula labilirler. Bas lm modller, e itim kurumlar nda rencilere cretsiz olarak da t l r. Modller hibir ekilde ticari amala kullan lamaz ve cret kar l nda sat lamaz.

NDEK LER NDEK LER


NDEK LER.......................................................................................................................... i AIKLAMALAR ....................................................................................................................ii G R .......................................................................................................................................1 RENME FAAL YET - 1 ...................................................................................................3 1. PROGRAMLAMA D LLER .......................................................................................3 1.1. Bilgisayar Program in Neler Bilmeliyim? .............................................................. 6 1.2. Programlama Dili........................................................................................................6 1.3. Neden Birok Programlama Dili Vard r? ...................................................................6 1.4. H zl Uygulama Geli tirme Ortamlar ...................................................................... 11 1.5. Veri Taban (Database) Programc l ...................................................................... 12 1.6. Betik (Script) Programc l ...................................................................................... 12 1.7. Web Programc l ....................................................................................................13 UYGULAMA FAAL YET ............................................................................................ 15 LME VE DE ERLEND RME .................................................................................. 16 RENME FAAL YET - 2 ................................................................................................. 18 2. PROGRAM YAZIMI ......................................................................................................... 18 2.1. Prototip (Kal p) Olu turma ....................................................................................... 20 2.2. Sahte Kod ve Algoritma Yazma ............................................................................... 20 2.3. Ak emalar ............................................................................................................23 2.4. Karar Tablolar .......................................................................................................... 27 2.5. Bir Program n Hayat Dngs.................................................................................. 29 UYGULAMA FAAL YET ............................................................................................ 32 LME VE DE ERLEND RME .................................................................................. 33 RENME FAAL YET - 3 ................................................................................................. 35 3. PROGRAMLAMA ARALARI ....................................................................................... 35 3.1. Dzenleyici ............................................................................................................... 36 3.2. Derleyici....................................................................................................................36 3.3. Bcek Ay klay c (Debugger) ................................................................................... 37 3.4. Yard m ve Kurulum.................................................................................................. 38 UYGULAMA FAAL YET ............................................................................................ 44 LME VE DE ERLEND RME .................................................................................. 45 MODL DE ERLEND RME .............................................................................................. 48 CEVAP ANAHTARLARI ..................................................................................................... 51 SZLK ................................................................................................................................ 54 NER LEN KAYNAKLAR.................................................................................................. 56 KAYNAKA .........................................................................................................................57

AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI SRE N KO UL YETERL K Bilgisayarda program yazmaya haz rl k yapmak Genel Ama Gerekli ortam sa land nda, programlama dillerini tan y p, bilgisayarda bir problemin zm a amalar n yaparak, program yazmaya haz rl k yapabileceksiniz. Amalar 1. Programlama dillerini i levlerine gre ay rt
edebileceksiniz. 2. Program yazmaya haz rl k yapabileceksiniz. 3. Program yaz m aralar n kullanabileceksiniz.

481BB0024 Bili im Teknolojileri Alan Ortak Programlama Temelleri Programlama altyap s n ve temellerini olu turan renme materyalidir. 40/16

MODLN AMACI

E T M RET M ORTAMLARI VE DONANIMLARI

Bilgisayar laboratuvar ve bu ortamda bulunan; bilgisayar, yaz c , bilgisayar masalar , k t, kalem, lisansl i letim sistemi program ve ak diyagram sembolleri ile ilgili panolar. Her faaliyet sonras nda o faaliyetle ilgili de erlendirme sorular ile kendi kendinizi de erlendireceksiniz. Modl iinde ve sonunda verilen retici sorularla edindi iniz bilgileri peki tirecek, uygulama rneklerini ve testleri gerekli sre iinde tamamlayarak etkili renmeyi gerekle tireceksiniz. S ras yla ara t rma yaparak, grup al malar na kat larak ve en son a amada alan retmenlerine dan arak lme ve de erlendirme uygulamalar n gerekle tireceksiniz..

LME VE DEERLEND RME

ii

G R G R
Sevgili renci, Her eyden nce herkes bir programlama dilini renebilir. Bilgisayar programlama yksek bir zek ve matematik bilgisi gerektirmez. Sadece asla vazgememe sabr ve renme iste i yeterlidir. Programlama bir hnerdir. Baz insanlar do al olarak di erlerinden daha iyidir, ama herkes pratik yaparak iyi olabilir. Ba aramamaktan korkmak yerine, kendinizi bu maharete vererek, renmek iin u ra n. Programlama e lencelidir, fakat yanl al ma yntemleriyle sinir bozucu da olabilir ve zaman n z n bo a gemesine neden olabilir. Bu sebeple bu modlleri takip ederek, en az s k nt ve en yksek memnuniyet ile programlamay reneceksiniz. Programlamada, bir problemin zm a amalar n n s ral bir ekilde yaz lmas na Algoritma, bu a amalar n ekillerle gsterilmesine ise Ak diyagram denir. Algoritmay , gnlk hayattaki bir probleminizi zerken yapman z gereken uygulamalar belli bir dzene sokma i lemine benzetebilirsiniz. Algoritma, programlaman n temelidir. nce zm belirlenir sonra kullan lacak programlama diline uygun komutlarla program yaz l m tamamlan r. Algoritma bir binan n temeli gibidir. Temeli sa lamsa bina ayakta durur. Bu yzden algoritman n iyi tasarlanmas , program n temelinin iyi olu turulmas gerekmektedir. Bu modl sonunda; istedi iniz herhangi bir problemin bilgisayardaki zm a amalar n yazabileceksiniz. zm a amalar n belirledikten sonra istedi iniz bir programlama dilini kullanarak gerekli yaz l m olu turulabileceksiniz. Ak diyagramlar ile yazd n z algoritmay ekillerle daha kolay, anla l r ve takibi kolay k lacaks n z.

RENME FAAL YET 1 RENME FAAL YET -1


AMA
Programlama dillerini i levlerine gre ay rt edebileceksiniz

ARA TIRMA
Bu faaliyet ncesinde haz rl k amal a a da belirtilen ara t rma faaliyetlerini yapmal s n z. Bilgisayar n zdaki kurulu programlar n genel olarak kategorilerini belirleyip, bir liste haz rlay n z. Mesela mzik programlar , resim programlar , yard mc programlar gibi Kulland n z programlar n hangi programlama dilleri ile yap ld n ara t r n z. Size gre ok ilgin olan bir program n zelliklerini anlat n z. Ne i e yarad n ve nereden edinilebilece ini not ediniz. Farklprogramlama dillerinde Merhaba Dnya Hello World program rnekleri bulunuz. Dilin ad n ve rnek program bir k da yaz n z. Konularda baz kelimelerin alt mavi dalgal olarak izilidir. Bu konular ara t rman z tavsiye edilir. Not: Her dilin kendine gre avantaj bulunmaktad r. Modlde belli yerlerde verilen rnekleri yapt n zda o dilleri renmi olmayacaks n z. As l ama, anlat lmak istenen konunun uygulanmas d r, somut ve anla l r hale gelmesidir.

1. PROGRAMLAMA D LLER
Bilgisayar ok karma k bir elektronik cihazd r, imdilik bizi ilgilendiren k s m onun al ma prensibi de il, programlama k sm d r. Bilgisayar rendi ini unutmaz, e er iyi programlarsan z kusursuz olarak i lemleri yapar, yorulmadan hep ayn i lemi tekrar yapabilir. Programlar bilgisayar n tm kaynaklar na eri ebilir, tabii onu yazan programc izin vermiise. Bilgisayar, bir konuda yorum yapamaz, yeni durumlara uyum sa lamak iin aba sarf etmez. nsan unutkand r, hata yapabilir, yorulur ve beyninin tamam n kullanamaz, moral durumu de i ebilir ve duygusal olarak etkilenir. nsanlar n en byk avantaj , yeni durumlar kar s nda bocalasa bile zamanla uyum sa layabilmesidir. Ba na gelen olaylardan ders kartabilir. Tek ba na birok sorunu zebilirler. Bilgisayar ise her zaman ayn tepkiyi verir, kendini geli tiremez. nsan taraf ndan kontrol edilmedike etkinliklerini de i tirmezler.

Bilgisayar; ekonomi, bilim, mhendislik, e itim ve askeri alanlarda yard mc olmas iin retilmi tir. ok karma k formllerin sonucunu k sa zamanda elde etmek iin programlar yaz lm t r. zellikle kinci Dnya Sava veri ifreleme ve silahlar n hedefi daha do ru bulmas gibi konular sebebi ile bilgisayar n geli imi h zlanm t r. Bir programlama dilini neden reniriz? Bu sorunun cevab , e lence iin, bir ihtiyac gidermek iin, kariyer iin veya zekn z kan tlamak iin olabilir. Para kazanmak her ne kadar birincil hedef gibi grnse de, e er i inizi severek yapm yor iseniz, ne kadar kazand n z n pek nemi olmaz. E er bilgisayara ne yapmasgerekti ini sylemezseniz, hibir ey icra etmez. Bilgisayara yapt rmak istedi iniz eyi iki ekilde gerekle tirebilirsiniz: Ad m ad m bir program yazarak Uygun bir program sat n alarak

Baz programlar n giri ve k lar : Tr Kelime lemci Oyun Muhasebe Program Web Taray c Giri Klavyeden girilen karakterler Fare, klavye ve oyun ubu u tu bas mlar u anki ve gemi fiyatlar HTML kodlar lem Yaz y biimlendirir, yaz m n kontrol eder Ekranda h zl bir ekilde bir animasyon hesaplama Piyasadaki fiyat etkilerini tan mlama Kodlar resim ve yaz ya dn trme k Dzgnce ekrandan veya yaz c dan k Ekrandaki figrler

Gelecekteki rn fiyat Web sayfas n ekranda gsterme

yi bir program n temel zellikleri unlard r: Do ruluk Dayan kl l k Geni letilebilme Basitlik Modlerlik Uyumluluk Kontrol edilebilirlik Kolay kullan m Paralanabilirlik Anla l rl k Koruma : Verilen grevlerin tam olarak yerine getirilmesidir. : Beklenmedik hatalardan dolay program n al mas kesilmemelidir. : leri a amalarda grevlerin de i ikli i veya yenilerinin eklenmesi kolay olmal d r. : Karma k tasar mlardan ka nmak gerekir. : Program kodlar ba ka programlar iinde de kullan labilmelidir. : Ba ka bilgisayar ve sistemlerde al abilmelidir. : Hata olabilecek yerlere a klay c hata mesajlar konulmal d r. : Kullan c ara birimi kolay olmal ve rahat renilebilmelidir. : Problemin kk paralara ayr larak yaz lmas d r. : Ba kas n n yazd program elden geirilirken rahata okunabilmelidir. : Modller birbirlerine mdahale etmemelidirler. 4

Temel olarak bir algoritma, bilgisayara belli bir problemin zmn anlatmakt r. Dnya problemlerden olu tu una gre, pratikte insanlar n yazabilece i program say s ve e itlili inin bitmesi ok zordur. Byk bir problemin bilgisayara yapt r lmasiin, genellikle kk paralara blmek gereklidir. rne in bir oyunda u ad mlar zmek gerekebilir: Kullan c n n bir nesneyi (araba, adam, uzay gemisi) nas l hareket ettirebilece i Nesnenin duvar, uurum veya evredeki ba ka nesnelere gre arpmadan, d meden nas l hareket edece i Gereki olarak evre tasar m yapmak Gelen merminin nereye arpt n bulmak ve oyuncunun sa l k durumunu ekrana yazmak Programlama genellikle zor de ildir, ama zaman harcayan bir i tir. Bir pinpon oyununu yazmak, bir sava ua n n simlasyonunu yapmaktan daha kolayd r. E er ad m ad m bir yeri tarif edebiliyorsan z, program yazabilirsiniz. Bir bilgisayar aptal oldu una gre ona ne yapaca n ad m ad m anlatman z gereklidir. Arkada n za evinizin yolunu tarif ederken: Yayla mahallesine git nar soka na git Trafik klar ndan sa a dn ki sokak ileride sola dn

Bir insan iin kolay olan bu ad mlar bilgisayarda yaz ld nda hibir anlam ifade etmez: Yayla mahallesine nas l gidece im? nar soka n nas l belirleyece im? I klardan ne kadar sonra sa a dnece im? Sola dnnce arabay nas l park edece im?

Programc l k Programlar her zaman i e yaramayabilir. 1980li y llarda Amerikan ordusu Te men York isminde bir pilotsuz uan uak savar planlam t . Basit olarak ama, d man ua n bulup yok etmekti. Milyonlarca dolar harcand ktan, saatlerce program yaz ld ktan ve test edildikten sonra programc lar al aca na emin oldular. En st rtbeli subaylar ve grevliler nnde, deneme iin haz rl k yap ld . Maalesef deneme s ras nda, Te men York tm silahlar n d mana de il, komutanlar n zerine do rultmu tu. Neyse ki insanlar etrafa da l rken, fzelerini ate lememi ti! Bu korkun denemeden sonra proje rafa kald r ld .

1.1. Bilgisayar Program in Neler Bilmeliyim?


Bir programkullanmaktan ok, yazma konusunda istekli iseniz, zaten program yazmak iin gerekli eye sahipsiniz demektir. stek: nnze ne kadar engel ksa da, iste iniz varsa renirsiniz. (Kanuni olmayan bir ey ile ilgileniyorsan z, hapishanede geirilecek zaman n z olabilir!) Merakl l k: Bu sayede renece iniz dil size angarya gibi gelmez. Hayal gc : Bylece daha ilgin ve faydal program yapabilirsiniz.

1.2. Programlama Dili


Bilgisayar Trke, ngilizce veya ba ka bir dilden anlamaz. Bilgisayar n fonksiyonel bir beyni olmad iin insanlar komutlar yazmal d r. Bu zel dile programlama dili denir. Komutlar bir araya gelerek program meydana getirir. Belli bir dil ile yaz lm komutlara kaynak kod da diyebiliriz.

1.3. Neden Birok Programlama Dili Vard r?


Her programlama dili zel bir amaca hizmet eder. 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:
0010 0011 0101 1101 1010 1100 0110 1111 0001 1010 1101 0010 1101 1111 0101 1001

Makine dilinin dezavantajlar , kodlar yazarken hata yap lma olas l n n fazla olmas ve yaz m n n uzun srmesidir. Makine dilinin daha rahat programlanmasiin 1950li y llarda 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. Bylece assembly dili ile yaz lm bir kod, bilgisayar n anlayabilece i makine diline dn m olur.
Not: Bir program ilk denemede al t rmak zordur. Genel davran olarak programokunakl yazarsan z, hatalara f rsat vermez, ileride bir eklenti yapmak istedi inizde zorlanmazs n z.
*

Bir evrim rne i: (1100)2 = 1 * 2 + 1 * 2 + 0 * 2 + 0 * 2 = 8 + 4 = (12)10


3 2 1 0

Assembly dilinde kod rne i


Title Yazi Programi dosseg .model small .stack 100h .data my_message db 'Selam!',0dh,0ah, '$' .code main proc mov ax,@data mov ds,ax mov ah,9 mov dx,offset my_message int 21h mov ax,4C00h int 21h main endp end main

Resim 1.1: Bilgisayar n anlad dil; makine dili

Not: Intel uyumlu ve Microsoftun MS DOS ve Windows i letim sistemlerine uygun bir assembly dili ile burada rnek verdik. Ki isel bilgisayarlar (PC), PowerPC (Macintosh), PIC ve 8051 gibi i lemci ve mikro denetleyicilerin kendilerine has dilleri ve evirici programlar vard r. Temel olarak makine dilinde; mant ksal i lemler, aritmetik i lemler, dallanma i lemleri ve veri hareket i lemleri yapabiliriz. Bu i lemleri kullanarak ister basit ister ok karma k programlar yazabilirsiniz. Assembly dili makine dilinden daha rahat yaz lmas na ra men, hala baz dezavantajlara sahiptir: Yava ve ok yer kaplayan programlar olu ur. (bu sat r hatal assembly yaz lan programlar az yer kaplar ve yava al mazlar) Ba ka dile evrilmeleri zordur. ok uzun program yaz m na elveri li de ildir.

Resim 1.2: Dillerin genel grnmleri

Programc lar donan ma eri imi daha kolay olan, okunakl , yaz mve dzenlemesi kolay olan bir dile ihtiya duymu lard r. Bunun zerine C (1972 do um y l ) ta nabilir dili geli tirilmi tir. Cobol (1959) ve Fortran (1957) gibi birok diller de vard r ama hala gnmzde yayg n olarak kullan lan C dili olmu tur.
C dilinde kod rne i
main() { printf ("Selam!\n"); }

Ekrana Selam! yazan bu rnek ngilizce diline benzer kodlamaya sahiptir. nsanlar n konu ma diline yak n olan dillere yksek seviye dil denilmi tir. Asl nda programlama dilinin ngilizce olmas art de ildir. Kendi dilimizde olan rnek program Tupol ile yaz lm t r.
Tupol dilinde kod rne i
PROGRAM SelamProgrami; Basla Yazi(#i,"Selam!"); Bitti.

Resim 1.3te ba ka bir Trke programlama dili olan Pozitif dilinden rnek var.

Ta nabilir: Tasarland bilgisayar n haricinde, yani donan mdan ba ms z olarak di er bilgisayar trlerinde de al abilme zelli idir. 1995 y l nda iki gen bilgisayar mhendisi aday (Sava KSE ve Mehmet AKIN) taraf ndan lisans derslerinin aras nda 4 5 ay gibi k sa bir srede yaz lan TUPOL 2.0 ilk, belki de tek Trke derleyici olmas , azim ve al man n sonular n gstermesi a s ndan nemli bir rnektir. Pozitif baz matematiksel i lemleri, metinler zerinde oynamay , kullan c dan bilgi giri i alarak bunlar zerinde i lem yapabilmeyi sa layan bir dildir. Birkan KUYUMCU

Resim 1.3: Pozitif Trke programlama dili ile rnek program yaz m

Her ne kadar kendi dilimizde program yapmak gurur ve heyecan verici olsa da, ileride grece iniz bir dilin temel gereklilikleri sebebi ile bu dillerde byk (karma k) programlar yapmak zordur. Programlamaya s nmak iin, ilk denemelerinizi bu programlama dillerinde yapabilirsiniz. Bir dilin okunaklve kolay yaz labilir olmas d nda, bilgisayar n donan m na ula mas ve ba ka bilgisayarda da rahatl kla al mas gereklidir. Yksek seviye bir dili makine diline eviren programlara derleyici compiler denir. Derleyiciyi aynen Frans zca bir kitab n Trkeye evrilmesini sa lamak gibi d nebiliriz. Tabii insan dilinin ba ka dile evrimi ok daha zor bir i lemdir. E er uygun bir derleyiciniz var ise program n z n kaynak kodunu ba ka bilgisayarda derleyerek al t rabilirsiniz. rne in, Macintoshta yaz lan bir program n kodlar n Windowsta biraz de i tirerek kullanabilirsiniz. C programlama dili di er Cobol ve Fortran gibi dillerden daha basit oldu u iin, C dilini makine diline eviren birok derleyici yaz lm t r. C dili bylece yle ok yayg nla m t r ki, bu dile uyumlu olan diller ortaya km t r. Mesela C++ (c plus plus), Java, Perl, Python ve C# (c sharp) gibi. u anda kullan lan tan nm , tan nmam birok program C veya C++ ile yap lm t r: Windows, Unix, Microsoft Office gibi...
Not: Cnin ok gl olmas baz ktlkleri de beraberinde getirir: Tm sistem kaynaklar na eri mek gibi. Bu kullanmas n bilmeyen birinin eline elektrikli testere vermek veya el bombas nvermek gibidir Yanl yaz lan kod, bilgisayar n gmesine sebep olabilir. zellikle eski DOS gnlerinde programdaki hatalardan dolay bilgisayar n kilitlenmesi ok s k olan bir durumdu. Yeni i letim sistemleri, program hatalar nda bilgisayar n kilitlenmemesi iin nlemler alm lard r.

Programlama dilleri zel amalar iin yaz ld klar iin o dilde her istedi inizi yapmak zordur. Mesela Fortran matematik hesaplamalar iin yap lm t r, bu dilde bir i letim sistemi yazmak gereksiz yere ok uzun zaman alan bir i lem olur.

Mhendisler di er insanlar n rahata program yazmalariin Basic (Beginners All Purpose Symbolic Instruction Code - 1964) ve Pascal (1971) gibi diller retmi lerdir. Basit bir dilden yola k larak istenen dile gei yap labilir.
Basic dilinde kod rne i
PRINT "Selam!"

Grd nz gibi ekrana bir mesaj yazmak iin Basicte sadece bir sat r kod yeterli oluyor. Bu dil sayesinde insanlar kodun yaz mile u ra maya de il, amalad klari e odaklanabiliyorlar. C ve Basic aras nda kalan Pascal ise biraz daha iyi grnml, yap sal program yazmay sa l yor:
Pascal dilinde kod rne i
Program Message; Begin Writeln ('Selam!'); End.

Lisp 1950li y llarda yap lm bir derlenebilen mant k programlama dilidir. Prolog (programming in logic kelimelerinin k saltmas ) ad ndaki 1972 y l nda ortaya kan dil ise, mant k programlama dili olarak tarif edilebilir. Komut dizileri yerine mant k deyimleri ile program yaz l r. Genellikle yapay zek ile ilgili konularda kullan l r. Yaz m ve kurallar ok basittir. Yksek seviyeli dillerin genel zelliklerini yle zetleyebiliriz: Makine diline gre daha i kin ve yava kod meydana getirirler. Tm sistem kaynaklar na ula lamayabilir, tabii amac n z disk yard mc program (Norton SystemWorks) gibi program yazmak de ilse Bir derleyici gereklidir. K sa zamanda program yazmaya ba lan r. renme ve ustala ma iin geen zaman fazla de ildir. Yanl l kla sistem kaynaklar n n bozulmamas iin kalkanlar vard r. Okumas ve de i tirmesi kolayd r. Ba ka bilgisayar e itlerinde de al abilirler, yani ta nabilirdirler. 1. 2. 3. S k sorulan sorular: 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. 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. 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.

10

1.4. H zl Uygulama Geli tirme Ortamlar


Eski zamanlarda fare, grafik ekran imkn olmad iin metin tabanl ortamlarda al l rd . Pencere ve d me gibi kavramlar ise, 1984 y l nda Apple "System 1" ve 1992 y llar nda Microsoft Windows 3.1in ortaya kmas ile gnlk hayat m za girdi. 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#.

Resim 1.4: Visual Studio 2005 program n n hakk nda k sm

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. Tahmin etti iniz gibi, art k grsel programlama ile yapt n z programlar daha ok disk alankaplayacak ve daha yava al acaklar. Trke grsel programlama diline rnek Yunustur **.

Resim 1.5: Yunus ekran grnts


**

o unlukla Visual Basic benzeri kodlama sistemimiz var. Asl nda ho uma giden Pascal ve C++ komutlar ekledim. Sonuta Trke veya ba ka bir dile zelle tirilebilen basit bir e itim amal script (betik) dilimiz oldu. Tar k BA RIYANIK

11

1.5. Veri Taban (Database) Programc l


C ve benzeri diller genel amal diller oldu u iin, bu diller ile oyun, muhasebe program veya bir kelime i lemci program yap labilir. Bilgisayarlar n en ok kullan m alan ise, bilgi kaydetme ve dzeltmedir. simler, adresler, elektronik posta adresleri, telefon numaralar , i deneyimleri, muhasebe gemi leri gibi bilgiler veri tabanlar nda saklan r. Neredeyse tm firmalar veri taban sayesinde i lerini daha rahat yrtrler. Kimse garip komutlar ile kay t, okuma ve silme i lemlerini yapmak istemez. Veritaban n kolayla t rmak iin veritaban (database) programc l geli tirilmi tir. Veri taban programlama ile de i ik firmalar n isteklerine gre zel veri tabanlar olu turabilirsiniz. En ok kullan lan veri taban programlar Microsoft Access, MSSQL ve MySQLdir. Verileri dzenleme iin kendilerine has dilleri vard r. Bu dile SQL (Structured Query Language Yap sal Sorgu Dili) denir. dbase, FileMaker ve FoxPro programlar ise art k pek kullan lm yor. Yine SQL tabanl Oracle ise, ok byk veri tabanlar bar nd ran, gvenlik ve h z gerektiren uygulamalarda kullan l r. Veri taban programc l n n dezavantajlar unlard r: 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.

1.6. Betik (Script) Programc l


Birok program kendi programlama dilinin kullan lmasimkn n sa lar. rne in Word ve Excel iinde, neredeyse Visual Basice benzeyen, Visual Basic for Applications (VBA) ad verilen bir dil vard r. Office programlar iindeki makrolar (VBA) kullan c ya yard mc i levler sa lar:

Resim 1.6: Excelde makro rne i VBA dilinde kod rne i


Private Sub CommandButton1_Click() MsgBox "Selam!" End Sub

12

Macintosh i letim sisteminde bulunan AppleScript ile basit bir rnek grelim:
AppleScript dilinde kod rne i
on DisplayMessage() display dialog "Selam!" buttons {"Tamam"} end DisplayMessage DisplayMessage()

Windows i letim sisteminde bulunan y n dosyas (*.bat) ile basit bir rnek grelim:
Batch dilinde kod rne i
@Echo off Echo Selam! Pause

Betik dilleri normalde di er programlama dillerinden daha kolayd r. Bu diller ile kullan c ya yard mc baz i lemler yapabiliriz: Var olan bir program zelle tirebiliriz. ok az program yazarak, karma k bir program kullan l hale getirebiliriz.

unlar unutmay n z: Betik dili ana programa ba ml d r, sadece ana program n kurulu oldu u bilgisayarlarda yazd n z program al abilir. Program n z n sat ve da t m zordur. Almak isteyen ana program da sat n almak zorunda kal r. Genel programlama dillerinden daha k s tl imknlar n z vard r.

1.7. Web Programc l


Baz anlarda okunakl l azaltsa da, gnmz internet siteleri bol grafik, efekt ve animasyonlarla ssldr. Kolay web programc l iin HTML (HyperText Markup Language Hiper Yaz aret Dili) icat edilmi tir. Bir sitenin HTML olarak kayna n inceledi inizde ok karma k ve da n k gelebilir. HTML ile site tasar m ok zor oldu u iin JavaScript gibi web sayfasyard mc programlama dilleri yap lm t r. Etkile imli site yapmak, kullan c n n formlara girdi i verileri kontrol etmek, site iine oyun eklemek isterseniz, bunlar JavaScript, Java, CGI veya Macromedia Flash ile yapabilirsiniz.
JavaScript dilinde kod rne i
<script language="javascript"> alert("Selam!"); </script>

PHP dilinde kod rne i


<? echo "Selam!"; ?>

13

ASP dilinde kod rne i


<% Response.Write "Selam!" %>

Web programlama dilleri, sitenin ziyareti say s n art r r ve ziyaretinin uzun sre sitede kalmalar n sa lar. renmesi kolayd r ve dnyan n herhangi bir yerinden siteye (uygulamaya) ula p, de i iklikler yapabilme imkn vard r. Dezavantajlar : Tm web taray c lar JavaScript ve Java desteklemez. (Daha eski taray c lar gibi) Ba lant h z n d rr. nternet ba lant s yok ise sayfan n grntlenmesi mmkn olmayabilir. Sonu olarak her konuda bir i e yarayan mkemmel dil yoktur. Profesyonel olarak program yazmak istiyorsan z, C# gibi yksek seviye bir dil ve SQL gibi veri taban dili renmelisiniz. bulmakta zorlanmazs n z. E er sizden site yap lmas isteniyor ise Java, JavaScript, PHP ve ASP.NET gibi dillere a ina olmak ka n lmazd r. Eski bilgisayarlarda hl eski kodlar n bar nmas ndan dolay , piyasada az kullan lan diller ile iyi kariyer yapabilirsiniz. Hatta bilen say saz olmas ndan dolay , iyi cret alabilirsiniz. ok Dil Kullanma Baz derleyiciler, kaynak kodu nce zel bir dosya trne evirir. Object file nesne dosyas denilen bu dosya, kaynak dilden ba ms z hle gelir. Farkl dilde olu turulmu nesne dosyalar , linker - ba lay c ad verilen programlar ile birle tirilir. Sonuta ise al t r labilir tek dosya olu ur. Microsoft Windows, dillerin ortak kod kullan m iin DLL (Dynamic Link Libraries Dinamik Ba Ktphanesi) yntemi kullan r. Ara birimi olmayan bu dosyalar, farkl programlama dilleri kullanabilsin diye sisteme tan t lm t r. Son bir yntem, Microsoftun .NET teknolojisidir. Ayn ara birimde ister C#, ister Basic veya ba ka bir dil ile program yaz labilir. Aynveri taban n ve zm ortak kullanarak birok programcbir arada al abilir. Her dilin kendine has avantaj kullan larak, uygulamalar daha gl hle gelebilir.

14

UYGULAMA YET UYGULAMAFAAL FAAL YET


lem Basamaklar neriler 1. Bilgisayar n zdaki temel imknlar En ilkel yntemler ile program yap m n bulmaya ile basit programlar yaz n z. al n z. "debug " ile basit mikroi lemci komutlar denenebilir. Not defteri ile basit bir web sayfas yap labilir. *.bat y n dosyalar ile sisteme yard mc i lemler yap labilir 2. C dili ve assembly dillerinde basit Benzerlik, farkl l k, iyi ve kt ynlerini inceleyiniz. bir program n komutlar n kar la t r n z. 3. Bilgisayar n zda ykl olan grsel Grsel bir programlama dili ile metin tabanl bir programlama dilini kullanarak basit dilin benzerlik ve farkl l klar n inceleyiniz. bir uygulama haz rlay n z. Ara birimi haz rlarken i letim sisteminde ykl programlar rnek alabilirsiniz. 4. Web programlama dillerinden Web sayfalar nda en ok kullan lan dilleri birini kullanarak basit bir sayfa ara t r n z. haz rlay n z. cretsiz hizmet veren sitelerden (geocities, brinkster ve tripod gibi) yelik edinerek, site olu turma denemesi yapabilirsiniz. Sitenizi arkada lar n z ile payla n z.

Ba lat*al t r*debug komutu ile program al t rabilirsiniz.

15

LME VE DE ERLEND RME LME VE DE ERLEND RME


OBJEKT F TESTLER (LME SORULARI) A a daki sorulardan; sonunda parantez olanlar do ru / yanl sorular d r. Verilen ifadeye gre parantez iine do ru ise D, yanl ise Y yaz n z. kl sorularda uygun kk i aretleyiniz. 1. 2. 3. 4. 5. 6. 7. Bilgisayar ok ak ll d r, kullan c n n verece i komutlar tahmin ederek nceden cevab haz rlar. ( ) Bilgisayar, bilgileri zlemeyecek ekilde ifreleyebilir. ( ) Ba kas n n bilgisayar na, sitesine veya dosyalar na izinsiz olarak, ama zarar vermeden eri ebiliriz. ( ) Bilgisayarlar kendi aralar nda programlama dilleri ile anla rlar. ( ) Derlenmi bir dosyadan istedi imiz dile geri dn m yapabiliriz. ( ) Tm dillerde bilgisayara zarar veren program yaz labilir. ( ) A a dakilerden hangisi makine diline aittir: A) 15 B) A C) 0 D) % Hangi dil, bilimsel matematik i lemleri yapmak iin tasarlanm t r? A) Basic B) Fortran C) C D) Pascal Yaz l m nedir? A) Ana bellekte yer alan her trl de er B) Klavyeden girilen veriler C) Bilgisayar programlar D) lemci Hangisi yaz l md r? A) Bilgi B) Yaz c C) Derleyici D) Klavye 16

8.

9.

10.

11.

Hangisi program n temel zelliklerinden olamaz? A) Basitlik B) Uyumluluk C) Hatas z olmak D) Do ruluk A a dakileri en kolaydan zor dile gre s ralan hangisidir? 1) Assembler 2) Delphi 3) C 4) Basic A) 1-3-2-4 B) 3-1-4-2 C) 4-3-2-1 D)4-2-3-1

12.

13.

Hangi dilde Trke kod yazamay z? A) Tupol B) Pascal C) Pozitif D) Yunus A a dakilerden hangi e le tirme hatal d r (bilmediklerinizi ara t r n z)? A) AutoCAD - AutoLisp B) 3DSMax - MaxScript C) Corel - CorelScript D) Office VB A a dakilerden hangisi programc n n as l i i de ildir? A) Program yazmak B) Program hatalar n gidermek C) Program n pazarlanmas n sa lamak D) Program n kurulum dosyas n yapmak

14.

15.

17

RENME FAAL YET 2


AMA

RENME FAAL YET -2

Bilgisayarda bir problemin zm a amalar n yaparak, program yazmaya haz rl k yapabileceksiniz.

ARA TIRMA
Bu faaliyet ncesinde haz rl k amal a a da belirtilen ara t rma faaliyetlerini yapmal s n z. Gnlk hayatta kar la t n z problemleri nas l zmledi inizi dikkatlice gzlemleyiniz. rne in; okula geli ve gidi yolunda hangi ta t aralar s ra ile kulland n z , hava ve yol durumuna gre zm olarak neler yapt n z anlat n z. Problemleri zerken i lemleri belli bir s ra ile mi yap yorsunuz yoksa zm iin gerekenleri rastgele mi uyguluyorsunuz, buna dikkat ederek arkada lar n zla payla n z. Algoritma kelimesinin kayna n ara t r n z. Bir yemek tarifini ara t r n z. Yemek yap m nda izlenen ad mlar bir k da yaz n z. Alternatif durumlar da belirtiniz.

Konularda baz kelimelerin alt mavi dalgal olarak izilidir. Bu konular ara t rman z tavsiye edilir.

2. PROGRAM YAZIMI
u anda oturup programlama yapabilir olsan z da, bu bir bebe in nne yemesi iin gerekli malzemeyi savurmaya benzer. Basit programlar renmek iin hemen yazabilirsiniz. Ekran n ortas na okulunuzun ad n yazman z iin uzun uzun plan yapman za gerek yoktur. Ama ok karma k programlar , bilgisayar n za aktarmadan nce, k t zerinde planlaman z gerekebilir. Program tasarlarken, ilk d nmeniz gereken ey hangi dili kullanaca n z de ildir. Programdan ne istedi inizi tam olarak bilirseniz, hangi dili kullanaca n za kolay karar verirsiniz. Tek bir dili aramak yerine, de i ik dilleri gz nnde bulundurunuz. Program n z al t srece, hangi dil ile yap ld nemli de ildir, zellikle de program n zalan m teri (kullan c da diyebiliriz) bununla ilgilenmez. Bilgisayarda zmeniz gereken problemin, sadece bir zm (algoritmas ) olmayabilir. Her zmn kendi avantaj veya dezavantaj olabilir. Baz algoritmalar daha 18

h zl olarak i lemi bitirirken, ayn algoritman n kod k sm nyazmak ok uzun srebilir, mant ok karma k olabilir. S k a alarla kapl bir ormana, d ar dan bakt n zda iinden geip gitmenin imkns z gibi gzkt n bilirsiniz. lemleri ad mlara bldke hazmetmesinin daha kolay oldu unu greceksiniz. Planlama sayesinde, yanl program kodu zerinde u ra maz, zm iin zaman kaybetmezsiniz. 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?

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. Hedef bilgisayar Kullan c n n kulland bilgisayar n trn gz ardedemeyiz. Programlama dilini buna gre seeriz. Hangi donan mkulland 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. Kullan c say s n art rma abalar m z, beraberinde daha fazla hata tr ile kar la mam za neden olur. M teri deste i sa larken bunlara dikkat edilmelidir. Farkl srmlere blnmek, kr n blnmesi demektir.
Not: Borland firmas , grsel programlama dili Delphinin Linux srm olan Kylixi karm t r. Fakat sadece 1.0 srmnde kalakalm , proje ileri gtrlememi tir.

Siz

Herhangi bir programlama dili ile u ra rken, nce kendi yeteneklerinize dikkat edersiniz. yi bir proje akl n za gelmi olabilir. Ama deneyiminiz az ve bilginiz az olunca, kendi program n zyazmak zor gelebilir. Acemi biri iin C ve C++ ile program yap m ok zaman al c olabilir. Daha basit olarak Visual Basicte program yazmay renip, piyasada al maya ba layabilirsiniz. Bir gnde program yazan ok az insan vard r. Program kod yaz m zaman al r, acele yap ld nda ii hatalarla dolabilir. Ne yapaca n zdan emin olduktan ve istenen program n ne i yapaca n anlad ktan sonra program yap m na ba lay n z.

19

Alt n Kelepeler Birok insan program yazmak yerine programc i e al rlar. Aman dikkat! zgr al an baz programc lar alt n kelepe kural ile geiniyor olabilir. 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 devamlpara 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.

2.1. Prototip (Kal p) Olu turma


Tam al mayan veya yanl al an bir program olmamasiin 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. Birok programc Visual Basic veya Delphi gibi grsel bir programlama dili ile prototip haz rlar.

2.2. Sahte Kod ve Algoritma Yazma


Programlama dili seseniz bile, hemen kod yaz m na geemezsiniz. Pseudocode sahte kod denilen kodlama ile program n i lemleri yaz l r. Sahte kod kurdu unuz mant ktaki kaaklar bulmaya yarar. 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 1. ad m n daha da geli mi hli yle olabilir: 1.a. Fze teknisyeninden hedef koordinatlar edin 1.b. Hedef koordinatlar n geerli oldu undan emin ol 1.c. Hedef koordinatlar haf zaya kaydet 1.a. maddesini daha alt basamaklara blebiliriz. 1.a.i. Koordinattan emin ol 1.a.ii. Hedef fzenin at uzakl iinde mi, kontrol et 1.a.iii. Hedef dost blge mi, kontrol et Bu stten a a top down tasar m ile kaba bir taslak gittike ayr nt l ekilde paralan r. Genelden zele do ru i lemleri belirleriz. Bu zaman kaybgibi grlebilir. Plans z olarak program n z yazmaya ba layabilirsiniz. Ama bu arabaya atlay p Samsundan Mersine gitmek iin kuzeye do ru gitmeye benzer.

lk retilen bilgisayarlardan istenen, h zl hesap gc sayesinde do ru bir ekilde sonu vererek, silahlara destek olmakt .

20

Sahte kodlar program n z n ana hatlar n belirtir. Bylece bilgisayar n ba araca i iin gerekli tm veriyi toplam olursunuz. 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. lk kez program yazan ki iler detay k s mlar n genelde grmezden gelirler. zerinde ok d nlmeden yaz lan program, her ihtimale uygun cevap veremeyece i iin hatal al r. E er plans z olarak program yazarsan z, ka n lmaz son, k sa sre sonra kod pl olabilir. Program alan ki i nas l kod yazd n z umursamasa da, bceklerle (bug)* dolu bir yaz l m , siz olsan z kullan r m yd n z? Temelde program n z ana blme ay rabiliriz: Giri : Bilgisayar n zerinde al aca veri kullan c taraf ndan girilir. lem: Bilgisayar girilen bilgiyi i ler. k : Bilgisayar insanlar n anlayaca ekilde ekrana sonucu gsterir. rnek: Giri : a. b. c. lem: a. b. k : a.

rnn ad n al. rnn miktar n al. Bir dosyadan rnn fiyat n oku. rnn toplam fiyat n hesapla. Gerekli indirimi yap. Toplam sat de erini yaz.

rnekteki ad mlar sahte kod 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. Baz temel sahte kod komutlar unlard r: Ba la Bitir : Sahte kodun ilk sat r ba lang ve son sat r biti i iin yaz l r. Oku : Kullan c giri i iin yaz l r. Yaz : Kullan c ya bilgi veya sonu gstermek iin yaz l r. E er se De ilse : artlara gre ak n de i mesinde kullan l r.
*

Bcek (bug): Programda hatalara sebep olan program sat rlard r.

21

rnek: 1. 2. 3. 4. 5. 6. 7. 8.

Ba la Say sal say 1, say 2, sonuc Yaz; ki say giriniz Oku; say 1 Oku; say 2 sonuc = say 1 + say 2 Yaz; Sonu: & sonuc Bitir

Not: Birden fazla de er pe pe e okumada, k saca u ekilde de tek sat rda okuma yapabilirsiniz: Yaz; ki say giriniz Oku; say 1, say 2

Sahte kodu sat r numaralarolmadan bloklar hlinde yapabiliriz. Her blok a ld nda biraz daha ieriden yazmaya dikkat ediniz. Bylece program daha okunakl hle gelir. rnekler:
Ba la

renci notlar ile ilgili sahte kod yazal m:


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

Ba la

2 say y kar la t ran sahte kod yazal m:


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

22

Kitap indirimi ile ilgili sahte kod yazal m:


Ba la Yaz; Oku; E er E er Bitir "Kitap trn giriniz" kategori kategori A se Yaz; "A kategorisinde %10 indirim vard r." kategori B se Yaz; "B kategorisinde indirim yoktur."

Siz de basit olarak bir ay makinesinin, tnn ve telefonun kullan m ile ilgili ad mlar yaz n z. 2.3. Ak emalar
Ak diyagramlar grsel olarak basite bir problemin ak n n gsterimidir. Microsoft firmas n n Visio, Word, Powerpoint gibi birok program ile bu grafikleri haz rlayabilirsiniz. Biz de bazrnekleri denemek ve izmek iin Flow Chart Visual Programming Language isimli a k kaynak kodlu*** bir proje olan program kullanaca z. Ayr ca Crocodile Technology isimli program ile de ak emalar n n hem tasarlanmas hem de al t r lmas imkn m z var. ema ile program haz rl ayr ca UML ile yap labilir. UML ngilizce Unified Modelling Language (Birle tirilmi Modelleme Dili) kelimelerinin ba harflerinden meydana gelir. Modelleme s ras nda kullan lacak bir dizi ematik gsterimi te kil eder. Genelde nesne tabanlsistemlerin analiz ve modelleme a amalar nda kullan l r. Nesnelerin birbirleri aras ndaki ili kilerini ve kendi i yap lar n gsterir. Programlama dilinden ve i letim sisteminden ba ms z bir modelleme dilidir. IBM Rational Rose program ve ArgoUML ile tasar m yapabilirsiniz. ANSI (American National Standards Institute ), ak diyagramlarile ilgili baz tavsiyelerde bulunmu tur: Ak diyagram ndaki standart sembollerle program n mant sunulmal d 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 n n takip yn yukar dan a a ya, soldan sa a do ru olmal d r. Veri giri leri mant kl bir s rada listelenmelidir. Ba lang ve biti sembollerinde tek hat kullan lmal d r. Ak diyagram ok karma k hle gelince, ba lant noktalar ve alt program kullan lmal d r. Test verisi ile ema denenmelidir. De erleri bir tabloya aktar lmal d r.

2005 y l nda 3.0 srmne ula an Visual Basic 6 ile yap lm program d r. Program n da t m nda kaynaklar da dhil olursa a k kaynak kod proje ad verilir. Bir standart olarak Object Management Group (OMG) taraf ndan dnyaya yay lmaktad r.
***

23

ekil

Grev Giri veya k (input ve output)


Kullan c etkile imi iin gereklidirler

lem, hesaplamalar (process , calculation )


Bilgisayar n as l yapt i ler burada gerekle ir

Karar, e er (decision, if)


Program iki ihtimale gre ak n de i tirir, her ihtimalin ne i lem yapaca n gstermeyi unutmay n z

Alt program, fonksiyon (sub program, function)


Ak diyagram karma k hale gelince, tekrarlanan belli k s mlar n alt program haline getirebilirsiniz

Ak izgisi ( flowline )

Genellikle yukar ve sola do ru izilmezler

Ba la ve ya Bitir (Start ve Stop )

Her program n bir ba lang ve bir biti i vard r

Birle tirici, ba lant noktas (connector)


Birok sayfadan olu an ak emalar n birbirine ba lar

Dng (for, cycle)

Ba lang , art m ve sonlanma artlar n iyi belirleyiniz

Dosya (file , storage)


Saklanmas gereken bilgileri kaydederiz

24

ki say y toplay p sonucunu gsteren program n ak emas u ekildedir: Ba la

2 say giriniz; a,b

2 say y topla sonu = a + b

sonu de erini gster

Bitir

ki say y kar la t rma program n n ak emas u ekildedir: Ba la

2 say giriniz; a,b

Hay r a say s bden byk m? Evet

b say s byktr

a say s byktr

Bitir

25

Bozuk bir televizyon kumandas ile ilgili zm ak emas u ekildedir: Ba la

Kumanday elinize al n

Kumandan n ledini temizleyiniz

Kumanda al t m ? Hay r

Evet

Pillerin ynlerinin uygun olup olmad n kontrol ediniz

Kumanda al t m ? Hay r Pilleri de i tiriniz

Evet

Kumanda al t m ? Hay r Kumandan n yenisini al n z

Evet

Bitir

26

Ara tamir ve bak m ile ilgili bir rnek ak emas :

Resim 2.1: Grsel olarak ak diyagram haz rlama ve al t rma rne i

Ak diyagramlar sahte kodlara gre daha anla l r ve etkindir. Geli tirme a amas nda iyi bir yol gstericidir, hatalar daha rahat grlr. Dezavantajlar unlard r: ok sayfa sren ak diyagramlar zor takip edilir. Bir grafik program ile izimi zaman kayb na neden olur. Bir de i iklik yapmak gerekince eman n tekrar izilmesi gereklidir.

2.4. Karar Tablolar


Ba ka bir programlama yard mc s karar tablolar d r (decision table). ok karma k karar yap lar bu sayede kolayca zlebilir hle gelir. art kt , art, durum kt ve durum olmak zere tablo halinde 4 paradan olu ur. art kt Durum kt artlar Durumlar

art kt : Hangi kararlar verilecek? artlar: art n alternatifleri neler? Durum kt : Belli artta ne yap lacak? Durumlar: E (Evet) ve H (Hay r) halinde hareket seenekleri rnek: ABC irketi bir sekreter eleman alacakt r. artlar : a. Aday bayan olmal b. En az 2 y l deneyimli olmal c. Bekr olmal 27

ABC Firmas n n Eleman htiya Karar Tablosu art Kt artlar Bayan m ? H E H E H E 2 y l deneyimli H H E E H H mi? Bekr m ? H H H H E E Durum Kt Durumlar Kabul H H H H H H durumlar

H E E H

E E E E

Dikkat ettiyseniz en fazla sekiz durum olabiliyor. Bu say 2 ^ 3 = 8 * hesab ndan geliyor. kilik say sistemindeki gibi sadece iki ihtimal (E / H) oldu u iin taban ikidir. adet de limit sa layan art m z var. Tm olabilecek durum gzden geirilerek hata olmas engellenir. Ak diyagram na gre daha okunakl d r. Fakat ilk kez program yazanlar genellikle ak diyagram izmeyi tercih ederler.

A a daki
zmn yap n z: 1. 2.

sorular n sahte kod, ak emas veya karar tablolaryntemi ile

3.

Bir s n ftaki 5 rencinin notlar girilir, ortalamas hesaplan r. Bir elektronik ma azas nda 37 ekran televizyonlar %20, 54 ekran televizyonlar da %15 indirim yap l yor. Buna gre ekran boyutu girildi inde, indirim oran n mesaj olarak gsteriniz. Bir niversite teorik dersin 25 saatine 1 kredi, laboratuvar n 10 saatine 1 kredi veriyor. Ders ve laboratuvar saati girilince toplam krediyi hesaplayan program yaz n z.

Sahte kodu kar k olarak verilen problemin sat r s ralar ndzeltiniz. Problem udur; 3 rnn sat ve maliyet fiyatlar girilir, krlar toplan r ve ortalamalar al n r.
rnn kr n topla. nc rnn sat fiyat n gir. Birinci rnn sat fiyat n gir. Toplam 3e blerek ortalamas n bul. nc rnn maliyet fiyat n gir. Bitir. kinci rnn sat fiyat ndan maliyet fiyat n kar p kr n bul. kinci rnn maliyet fiyat n gir. Ortalama kr gster. Ba la. nc rnn sat fiyat ndan maliyet fiyat n kar p kr n bul. kinci rnn sat fiyat n gir. Birinci rnn sat fiyat ndan maliyet fiyat n kar p kr n bul. Birinci rnn sat fiyat n gir.
*

Buradaki ^ apka karakteri Basic dilinde s alma i lemi iin kullan lan i letir.

28

2.5. Bir Program n Hayat Dngs


ok az program; yaz l r, geli tirilir ve ylece b rak l r. Bunun yerine, kullan lmayacak hale gelene dek, program de i ik dnglerde gncellenir. Fakat her ey devaml de i mez, mesela neredeyse her y l yeni bir kelime i lemci program srm kar lmas na ra men, alfabedeki harfler hep ayn kal r. Genel olarak tipik bir program dngs yledir: Geli tirilme a amas (ilk olu turulma ve yay mlanma) Bak m dngs (olabildi ince k sa zamanda bceklerin ay klanmas ) yile tirme dngs (yeni zellikler katma) Geli tirme a amas :Her program programc n n bilgisayar nda bobir ekran olarak ba lar. Bir fikirden, gerek bir program oluncaya dek, geli tirme a amas devam eder. 1. Fikir do ar. 2. Program n tipik hali ortaya kar. 3. Hangi bilgisayarlarda al aca belirlenir. 4. Sahte kodlar yaz l r. 5. Bir veya daha fazla dil seilir. 6. Program yaz l r. 7. Test edilir. (Alfa srm denir.) 8. Problemler giderilir. (7 ve 8. ad m gerekti i kadar tekrar edilmelidir.) 9. Di er insanlara test etmeleri iin verilir. (Beta srm denir.) 10. Problemler giderilir. (9 ve 10. ad m gerekti i kadar tekrar edilmelidir.) 11. Halka program sunulur ve pazarland gibi al mas umulur. Bak m dngs: o u programc , eski bir programgncellemek yerine yeniden program yazarlar. Gncellemek aynen, kendi evinizi temizlemek yerine, ba kas n n evini temizlemek gibidir. 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. yile tirme dngs: Yaz l m n tamiri ve kararl , gvenilir hle gelmesi, cretsiz bir destek hizmeti oldu u iin irket para kazanmaz. Bunun yerine yeni eklentilere sahip srmleri satmak kazand r r.

29

Yeni yaz l m ve donan m ortamlar n n avantaj n kullanmak iin birok program, tekrar elden geirilir. 1. Programa ne eklenecekse belirlenir. 2. Bu zellik nas l al acak ise sahte kodlar ile yaz m yap l r 3. Program de i tirilir. 4. Alfa srm olarak test edilir. 5. Hatalar tespit edilip giderilir. 6. Beta srm olarak test edilir. 7. Beta testilerinin hata raporlar okunur. (1 ve 7. ad mlar aras her eklentide tekrar edilir.) 8. Halka sunulur ve kabilecek yeni hatalar beklenir. (Bak m dngsne girilir.) niversitelerdeki ve sektrdeki yaz l m mhendisli i szndeki mhendislik, asl nda daha ok sanat olarak kullan labilirdi. Yazmak, de i tirmek ve gncellemek yksek bir zek ve matematik bilgisi gerektirmez. Daha ok retkenlik, azim ve bol hayal gc gerektirir.

stedi iniz ekilde program yazabilirsiniz. Ama ileride olabilecek problemleri nlemek iin en iyi yol, planl olmakt r.

30

Resim 2.2: Programlama dillerinin soy a ac

Resim 2.3: Programlama dillerinin kullan m oranlar

31

UYGULAMA YET UYGULAMAFAAL FAAL YET


lem Basamaklar 1. Problemi tespit ediniz. 2. Problem ile ilgili verileri belirleyiniz. 3. Algoritma ad mlar n belirleyiniz. neriler Gnlk hayattan bir rnek bulunuz. Verilen bilgileri ve istenenleri ayr ayr not al n z. Ad mlar belirlerken gereksiz ad mlardan ka n n z. Her ad m sadece bir i lemi temsil edecek ekilde haz rlay n z. Her algoritman n ba n n ve sonunun belli olmas gerekti ini unutmay n z. Algoritma ad mlar nda problemin zmn etkileyecek herhangi bir belirsizlik olmamal d r. Algoritma haz rlan rken e er bir karar yap s varsa; yap lan i lem sonucunda her trl alternatifi de erlendiriniz. Bir sorunun cevab n n Evet olabilece i gibi Hay r olabilece ini de unutmay n z.

4. Her ad ma bir numara veriniz. 5. Algoritmay kontrol ediniz.

32

LME ERLEND RME LMEVE VEDE DE ERLEND RME


OBJEKT F TESTLER (LME SORULARI) A a daki sorulardan; sonunda parantez olanlar do ru / yanl sorular d r. Verilen ifadeye gre parantez iine do ru ise D, yanl ise Y yaz n z. 1. 2. 3. 4. 5. 6. 7. Ak diyagram ; algoritman n ekillerle ifade edilmi hlidir. ( ) Bir ak semboll iinde ayn anda sadece bir i lem gerekle tirebilir. ( ) Ayr haz rlanan iki ak diyagram n birle tirmek iin i areti kullan l r. ( ) Algoritmada i lem s ras nemli de ildir. Kullan lan her veri hemen en stte tan mlanmal d r. ( ) Bir kar la t rma i leminin sonucu Evet ya da Hay r gibi bir ifadedir. ( ) A a da verilen ak diyagram ndaki ifadenin anlam a a dakilerden hangisidir?

I =1, N, 1

lemler

A) I de eri e er Nye e it ise 1 art r, i lemleri yap B) I de erini Nden ba layarak 1er 1er art r, i lemleri yap ve k C) I de eri 1e e it ise Nye 1 ekle, i lemleri yap D) Iy 1den ba layarak Nye kadar 1er 1er art r. In n her de eri iin i lemleri yap 8. A a dakilerden hangisi bir problem olabilir? A) Piyangodan byk ikramiye kmas n beklerken amorti kmas B) Piyangodan byk ikramiye kmas n beklerken byk ikramiye kmas C) Aras na piyango bileti konulan kitab n yerinin bilinmemesi D) Piyango ekili inin her zamanki yerinde ve zaman nda yap lmas

33

9.

A a da ak diyagram sembolleri ve anlamlar verilmi tir. 1. 2. 3. 4.

5.

6.

( ) Ba la / Dur ( ) Bilgi Giri i ( ) lem ( ) Karar ( ) Ba lant Yukar daki verilere gre a a daki seeneklerden hangisi yanl t r? Sembol Nu. Anlam A) 1 lem 5 (Ba lant B) 3 Karar 6 Bilgi giri i C) 2 Karar 6 Ba lant D) 3 Karar 5 Dng

( ) Dng

34

RENME FAAL YET 3 RENME FAAL YET -3


AMA
Programlama dillerindeki yaz m aralar n kullanabileceksiniz.

ARA TIRMA
Bu faaliyet ncesinde haz rl k amal a a da belirtilen ara t rma faaliyetlerini yapmal s n z. Bilgisayar n zda kurulu olan bir program n (i letim sistemi de olabilir) kurulum dosyalar n ve kurulum ad mlar n inceleyerek s n f n zda sunu olarak tan t n z. En rahat program yazabilece iniz yard mc aralar ara t r n z. Program n hangi programlama dillerini destekledi ini inceleyiniz.

Konularda baz kelimelerin alt mavi dalgal olarak izilidir. Bu konular ara t rman z tavsiye edilir.

3. PROGRAMLAMA ARALARI
Programlamay kolayla t r c birok ara vard r. Bu aralar n kullan m n rendikten sonra program yazmak iin fazla zaman kaybetmezsiniz. Temel gereksinimler: Dzenleyici (editor): Komutlar yazmam z iin kullan l r. Derleyici (compiler): Komutlar m z makine diline evirir. Bcek ay klay c (debugger): Program n zdaki hatalar bulmaya yard mc olur. Ek olarak: Yard m dosyas haz rlay c : Kullan c ya k lavuz olacak el kitab eklinde, yard m sa lamak iin kullan lan programlard r. Kurulum program (setup / installation ): Program n dosyalar n tek dosya haline getirerek, di er uyumlu bilgisayarlara kurmaya yarar. Linux ve A k Kaynak Hareketi lk zamanlarda programc lar gnll olarak kaynaklar n payla arak, programlar n geli mesine katk da bulunma fikrindeydiler. Zamanla, emeklerinin kar l nda para kazanmak istediler. Kaynaklar n kendilerine saklad lar. Bylece bir yaz l m endstrisi meydana geldi. Yay m tarihleri aksayan, gvensiz ve kt yaz lm yaz l mlar da artt . Fakat kaynak kod payla m fikri tekrar ortaya karak, Linux 35

i letim sisteminin ortaya kmas na sebep oldu. Para vermeden kullan labiliyor ve kaynak kodlara gz atabiliyorsunuz.

Resim 3.1: A k kaynak proje sitesi rne i Not: Baz diller yorumlay c (interpreter) olarak al rlar. Yorumlay c , derleyici gibi *.exe (veya al t r labilir dosya) dosyay diske de il, sat r sat r geici olarak haf zaya olu turarak program al t r r.

3.1. Dzenleyici
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 timi lerdir. Program , yazmas , dzenlemesi ve yazd r lmas kolay bir ara gibi d nebilirsiniz.

3.2. Derleyici
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. Mesela Microsoft Word program derlenmi bir dosyad r. Kaynak kod de i medi i srece tekrar derleme i lemi yap lmas na gerek yoktur. Derleyici i lemci trnze gre kod olu turur. E er i lemcinizin mimarisi farklise o i lemciye gre tekrar derlenmesi gereklidir. Perl ve Visual Basic yorumlay c(interpreter) olarak al r. Kodlar sat r olarak al t r l r. o u web programlama dili yorumlanarak al t r l rlar. Mesela web taray c lar , sitedeki JavaScript kodlar n yorumlarlar. Yani ortada derlemibir dosya yoktur. Bu da sitedeki kaynak kodun bilgisayara metin olarak indirilip, al t r lmas anlam na gelir. 36

P-code (sanal makine kodu) denen hem derleyici hem de yorumlay c programlama dilleri de vard r. Birok bilgisayarda az de i iklik yap larak al abilen program yazmak iin programc lar, p-code programlar n tasarlam lard r. Program sanal makine koduna dn trlr. P-code olarak derlenmi kodu al t rmak iin bir yorumlay c kullan l r. Java bu ekilde platformdan ba ms z al t r l yor. Bu yntemle kaynak kod korunmu olur. Asl nda programlar her ne kadar derlenme sonucunda korunsa da, decompiler kaynak koda dn trc ile makine dilinden dn trlebiliyor. P-code tamamen orijinal koduna decompile edilebilir, di er dillerde de bu vard r. Fakat tamamen orijinal kod haline gelemez. Hangi st seviye dille yaz ld n bilmek mmkn olmad iin, makine dili kodlar , assembly diline dn trlebilir. Bu kodu alarak kendiniz kaynak kodlar yazabilirsiniz. Ya da en az ndan o program ile ilgili fikir alabilirsiniz.

Resim 3.2: Bir C program n n derlenmesi Not: AMD ve intel ayn x86 (CISC) kod ailesindendir, IBM firmas n n PowerPCsi ise farkl mimaride (RISC) retildi i iin kodlar ayr ca derlenmelidir. Ayr ca 32 bit ve 64 bit i lemcilerde assembly kodu farkl oldu u program tekrar derlenmelidir.

3.3. Bcek Ay klay c (Debugger)


ok az program %100 tam al r. Hatalar yznden programlar ker, veriler kaybolur, ya da program tuhaf al r. Asl nda program her zaman ayn durumda ayn sonucu vermelidir. Ama yaz l m ve donan m farkl l klar ndan dolay her zaman istenen sonu elde edilemeyebilir. Yaz l m n oldu u her yerde bcek vard r. Derleyiciniz, i letim sisteminiz ve tabii ki kendi program n zda da bcekler olabilir. Maalesef bir bce i temizlemek yeni bcekler olu mas na sebep olabilir.

37

Yazd n z programlarda bcek* ay klaman n (debugging) yollar ; ad m ad m al t rmak (step), durak noktalar kullanmak (breakpoint), de i kenleri izlemektir (watch). Ad mlamak: Program n sat r sat r al t r lmas d r. Bylece bcek olan sat r incelenebilir. Neyi yanl yapt n zyazd n z kodlar inceleyerek renirsiniz. Durak noktalar : Tm program sat r sat r al t rmak yerine, phelendi iniz yerlere durak noktalar ekleyerek, program n oraya kadar al p durmas sa lan r.. Program durunca da sat r sat r al t r larak nerede hata oldu u bulunmaya al l r. De i ken izleme: Program al rken, haf zadaki de i kenlerin de erlerinin nas l de i ti ini grebilirsiniz. Yanl bilgi var ise, programdaki hatay anlamaya, de i kenin nereden etkilendi ini bulmaya al rs n z.

3.4. 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.
Not: Bazprogramlar do rudan istenen herhangi bir dizinde al sa bile, genellikle ek dosyalar (veritaban dosyalar , DLL, OCX dosyalar gibi) problem karabilir.
*

lk bilgisayar bce i ile ilgili resmi ara t r n z

38

Kurulumu olmayan programlar kullan c denemeye bile al mayabilir. nk elle kurulum zahmetli bir i lemdir. Bu i i kolayla t ran kurulum program d r. Kurulum halinin do ru al t ntest ederek da t m n zyapabilirsiniz. Ayr ca kurulum programlar dosyalar s k t rd klar iin kur dosyas az yer kaplar. Kurulum s ras nda kullan c ya bilgi veren ses ve grafik grntler vard r. lerleme durumunu gsteren ubuk sayesinde ne kadar zaman kald nanlayabiliriz. Diske dosyalar n kopyalanmas h zlve przsz olarak halledilir. Bu da kullan c ya program n z n profesyonel oldu unu gsterir.

Resim 3.3: Bir program n kurulum ekran

Engelli insanlara bilgisayar kullan m nda nas l bir yard m edilebilir? Mesela gzleri grmeyen veya az gren insanlar nas l bilgisayar kullanabilir?
rnek 1: En kolay ekilde yard m dosyas haz rlayal m. 1. danish-shareware.dk/soft/shelpmbeta/index.html sitesinden Shalom Help Maker program n indirip, bilgisayar n zda belli bir klasre a n z.

Resim 3.4: Her iki dosyay indiriniz, dosyalar ayn klasre a n z

2. Ana program dosyas olan shalomhelp.exe dosyas n al t r n z.

39

Resim 3.5: Yard m dosyas n n ilk hali ve F6 k sayolu ile a lan proje seeneklerinden, Trke dil deste inin sa lanmas

3. Tasar m penceresinde sayfa sayfa dokmanlar yaz l r, ok uzun olmayacak ekilde program n kullan m anlat l r. Yeni sayfa eklemek iin Ctrl+N k sayolu kullan l r. Her sayfan n anahtar kelimeleri Keywords k sm na noktal virgllerle ayr larak yaz l r. 4. Tasar m denemek iin F9 k sa yolu kullan l r. Bu k sa yol ile yard m dosyas derlenir ve al t r l r.

40

Resim 3.6: Yard m dosyam z n grnm

rnek 2: En kolay ekilde kurulum dosyas haz rlayal m. 1. www.clickteam.com/English/download_main.php?PID=4 sitesinden Install Maker program indirip, bilgisayara kurulur.

Resim 3.7: Kurulum haz rlama program

2. Program a ld nda kar m za gelen sihirbaz takip ederek, kurulumu haz rlar z. 3. Kurulum dosyas na kaynak dosyalar eklemek zorunda de ilsiniz. Bu sebeple, gerekli dosyalar ba ka bir klasre alabilir ve sihirbazda bu klasr belirtebilirsiniz. 4. Olu turulacak k sa yollar belirtiniz. Genellikle ana program ve yard m iin k sa yol yap l r. 5. Sihirbaz sonland r ld nda, kurulumu test etmek iin, olu an dosyay al t r r z. 6. Ba lat mensnde olu an k sa yollar al t rarak deneyebiliriz. 7. Program n z n deneme kurulumunu Kald r Uninstall k sa yolu ile bilgisayar n zdan silebilirsiniz. 41

a)

b)

c)

42

) Resim 3.8: a, b ve c resimlerinde kurulum sihirbaz ve kurulum ayarlar n n yap lmas , resminde ise derleme i lemi (Ctrl+B) ve test i lemini (Ctrl+T) ad m vard r.

43

UYGULAMA YET UYGULAMAFAAL FAAL YET


lem Basamaklar 1. stedi iniz bir program n grsel ara birimini planlay n z. 2. Bir grsel programlama dili ile kabaca program n z n prototipini tasarlay n z. 3. Program n za yard m dosyas ekleyiniz. 4. Program n z n kurulum dosyas n olu turunuz. 5. Yapt n z prototipleri arkada lar n z ile payla n z. neriler Bilgisayar n zdaki ykl programlar inceleyiniz. Tek form zerine gerekli nesneleri mant kl bir grnm alacak ekilde yerle tiriniz. Tak ld n z yerlerde retmeninize dan n z. Yard m dosyas olu turmak iin gerekli programlar ara t r n z. Kurulum dosyas olu turmak iin gerekli programlar ara t r n z. Di er bilgisayarlarda al abiliyor ise program n z n kurulumu bitmi tir.

44

LME ERLEND RME LMEVE VEDE DE ERLEND RME


OBJEKT F TESTLER (LME SORULARI) A a daki sorulardan; sonunda parantez olanlar do ru / yanl sorular d r. Verilen ifadeye gre parantez iine do ru ise D, yanl ise Y yaz n z. 1. 2. 3. 4. 5. Komutlar dzenleyici ile yazar, derleyiciler ile makine diline eviririz. ( ) Program m z n yard m dosyas ile programc ya yard m bilgisi sa lar z. ( ) Web sayfalar derlenerek al rlar. ( ) o u zaman iyi yaz lan bir program test etmeye gerek yoktur. ( ) Hangisi bir programlama dilinin iinde bulunmak zorunda de ildir? A) Metin dzenleyici B) Kurulum yapma program C) Bcek ay klay c D) Derleyici Program yazmak iin en kullan l program hangisidir? A) Not defteri B) Crimson Editor C) Microsoft Word D) Edit Hangisi bcek ay klama ile ilgili bir yntem de ildir? A) Program durdurmak B) Ad mlamak C) De i ken izlemek D) Durak noktalar yapmak

6.

7.

Ba lat*al t r*Edit komutu ile al t r labilir.

45

BULMACA
1 4 5 2 3

6 8 9 10 11 12 13 15

14

16

17

18

19

20

21

46

A a 1. Bilgisayar n fiziksel k s mlar 3. C dilinin sonraki srm 5. Yap sal sorgu dili 6. Grsel Pascal dili 7. Azalt lm komut kmesi 8. PC'lere benzeyen di er bilgisayar tr 9. HTML'ye yard mc bir dil 10. Basit veritaban program 14. Microsoft firmas n n veri taban ynetim program 18. Delphi'nin Linux srm

Yan 2. Windows nesne ktphanesi 4. cretsiz bir veri taban ynetim program 6. Windows sistem ktphanesi 9. C dilinden tretilen bir dil 11. Karma k komut kmesi 12. Programlanabilen mikro bilgisayar 13. Amerikan standartlar kurumu 15. Windows kmadan nceki yayg n i letim sistemi 16. Temel metin dosya karakterleri 17. Bilgisayar n anlad say sistemi 19. Web sayfalar n n genel dili 20. Unix i letim sisteminin yayg n kullan lan di er srm 21. C dili ile retilmi bir i letim sistemi

De erlendirme: Cevaplar n zcevap anahtarile kar la t r n z. Do ru cevap say n zbelirleyerek kendinizi de erlendiriniz. Yanl cevap verdi iniz ya da cevap verirken tereddt ya ad n z sorularla ilgili konular faaliyete geri dnerek tekrar inceleyiniz.

Modern olan eyler di erlerine gre hep gz al c olurlar.

47

MODL DE ERLEND RME MODL DE ERLEND RME


PERFORMANS TEST 1 (YETERL K LME) Modl ile kazand n z yeterli i, retmeniniz i lem basamaklar na gre 0 ile 8 puan aras nda olacak eklinde de erlendirecektir. DEERLEND RME KR TERLER Bilgisayar n zdaki programlama dillerini inceleme Temel bir programlama dili ve assembly komutlar n kar la t rma Bilgisayar n zda ykl olan bir grsel programlama dilini inceleme Web programlama dilleri ile ilgili ara t rma yapma Ak diyagram n karmak iin gerek hayattan bir problemi tespit etme Problem ile ilgili verileri belirleme Problem ile ilgili algoritma ad mlar n belirleme Problem ile ilgili yapt n z algoritmay test etme stedi iniz bir program n grsel ara birimini d nme Bir grsel programlama dili kullanarak ile program n z tasarlama Program n za yard m dosyas ekleme Program n z n kurulum dosyas n olu turma Toplam (en fazla 96 puan olabilir) Puan

48

LME SORULARI 1. Bilgisayara ne yapaca n n sylendi i komut toplulu una ne denir? A) Algoritma B) Program C) Ak emas D) Olay emas Bir problemi sahte kod halinde yazarken, karar verilecek en son ad m hangisidir? A) Giri B) k C) lem D) Kullan c Program n geli tirilme a amas nda, problemin tan mland ad m hangisidir? A) Analiz B) Tasar m C) Kod D) Test Program geli tirmenin, tasar m a amas ile _______________. A) Problem tan mlan r. B) zm planlan r. C) Nesneler seilir. D) Algoritma programlama diline evrilir. Ad m ad m mant ksal s ralama hangisidir? A) Ak emas B) Ara birim C) Algoritma D) Bcek ay klama Programdaki hatalar n bulunmas ve giderilmesi a amas hangisidir? A) Analiz B) Tasar m C) Yard m dosyas ekleme D) Test ve bcek ay klama Hangisi algoritman n programlama diline evrilmesidir? A) Analiz B) Tasar m C) Kodlama D) Test ve bcek ay klama Program tarif eden tm materyallere ne denir? A) Analiz B) Tasar m C) Yard m dosyas D) Test ve bcek ay klama Hangisi bir grevin mant ksal s ras n grafiksel olarak resmeder? A) Ak emas B) Sahte Kod C) Olay Grafi i D) Nesne grafi i Belli bir problemin taslak olarak Trke komut haline getirilmesine ne denir? A) Ak emas B) Sahte Kod C) Olay emas D) Nesne grafi i Sembolleri birbirine ba layan simge hangisidir? A) ak izgisi B) sonland rma C) ynler D) artlar 49

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

_____________ sembol ile matematiksel i lemler yap l r. A) Ak izgisi B) Biti C) Karar D) lem ____________ sembol ile program ba lang c gsterilir. A) Ak izgisi B) Ba lang C) Karar D) lem ____________ sembol ile semboller birle tirilir ve mant n yn gsterilir. A) Ak izgisi B) Ba lang C) Karar D) lem _____________ sembol farkl ak izgilerini birle tirir. A) Ak izgisi B) Ba lang C) Karar D) Ba lant noktas Hangisi sahte kodun dezavantaj d r? A) Basittir. B) Ak emas ndan daha az yer kaplar. C) Programlama diline benzer yaz m vard r. D) Bir program kolay bir ekilde anla labilir.

13.

14.

15.

16.

DE ERLEND RME
Yapt n z de erlendirme sonucunda eksikleriniz varsa renme faaliyetlerini tekrarlay n z. Modl tamamlad n z, tebrik ederiz. retmeniniz size e itli lme aralar uygulayacakt r. retmeninizle ileti ime geiniz.

50

CEVAP ANAHTARLARI CEVAP ANAHTARLARI


RENME FAAL YET -1 CEVAP ANAHTARI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Y Y Y Y Y D C B C C C D B D C

RENME FAAL YET -2 CEVAP ANAHTARI 1 2 3 4 5 6 7 8 9 D Y Y Y D D D C D

RENME FAAL YET 3 CEVAP ANAHTARI 1 2 3 4 5 6 7 D Y Y Y B B A

51

BULMACANIN CEVABI 1E 4M Y 5 S Q 6D E L 12 P I H I C 13 A L L Q L E K T R O N I K S 8M A C I N T O 16 A S H 19 H C 9 J A V A S C R I P T M L I 17 18 K Y 20 L I 21 U N I X I N UX 15 M A V 10 A 11 C C E S S D O I 2O 3C + + 7R I S C 14 M S S Q L K C X

52

MODL DEERLEND RME CEVAP ANAHTARI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 B C A D C D C C A B A D B A D D

Cevaplar n z cevap anahtarlar ile kar la t rarak kendinizi de erlendiriniz.

53

SZLK SZLK
sim access administrator agent application area argument assemble associate attribute backup base batch binary boolean boot branch buffer bug C++ cache caret cascaded CGI chain char circuit cluster code collapse command compare component conditional conflict console convert current cursor database Okunu ekses dmin streyt r eyc nt eplikey n eria argyum nt ssembl esso ieyt ettribyut bekap beyz be bayn ri buuli n buut bran baf r bag si plas plas key kar t keskeydid si ci ay eyn ar srkit klast r kod k leps k mand k mpeyr k mpoun nt k ndi n l k nflikt konsoul k nvrt krr nt krs r deytabeyz Anlam eri mek idareci, sper kullan c ajan, memur uygulama alan parametre, argman, fonksiyona veri gnderme toplamak, bir araya getirmek ili kilendirmek znitelik, zellik yedekleme taban, merkez, baz toplu dosya ikilik say sistemi mant ksal de er bilgisayar n a l (bootup) program n ba ka yne dallanmas n bellek, tampon, ara haf za bcek, hata C dilinin st versiyonu n bellek, ka e ^ i areti, apka basamakl , azalan internette veritaban uygulamalar zincir tek karakterlik de er (character kerikt r) devre kme, her track izdeki sektr grubu kod, programda kullan lan komut kmesi gmek, gizlemek komut kar la t rmak, comparison kar la t rma nesne, bile ik art, ko ullu ak ma ekran ve klayve arabirimi (CON) evirmek, biim de i tirmek geerli, u anki imle, fare oku (mouse pointer) veritaban

54

55

NER LEN KAYNAKLAR NER LEN KAYNAKLAR


bups.bups.bilkent.edu.tr/ibcomp/course/course.html computer.howstuffworks.com dan.corlan.net/bench.html en.wikipedia.org/wiki/Comparison_of_programming_languages en.wikipedia.org/wiki/Computer_bug en.wikipedia.org/wiki/Prolog www.alicebot.org www.analystdeveloper.com www.bilgisayarogren.com www.brianhetrick.com/casio/tpre.html www.btturk.net www.ceebot.com www.ceturk.com www.ceviz.net www.crimsoneditor.com www.delphiturk.com www.elk.itu.edu.tr/~caliskan/Harzemli.doc www.emu8086.com www.eng.iastate.edu/efmd/161algor.htm www.geocities.com/tablizer/langopts.htm www.google.com www.haber7.com/haber.php?haber_id=141185 www.hazirkod.com www.icsharpcode.net www.ileriseviye.org www.math.uni-hamburg.de/it/software/fpk/ref/node1.html www.msakademik.net www.music.columbia.edu/cmix/algo.html www.nos.org/htm/basic2.htm www.osdata.com/topic/language/asm/asmintro.htm www.programmersheaven.com www.roesler-ac.de/wolfram/hello.htm www.scism.sbu.ac.uk/law www.sorucevap.com www.sourgeforge.net www.theadvisors.com/langcomparison.htm www.tpub.com/progintro www.tubider.org.tr/etik.html www.turing.org.uk/turing/scrapbook/computer.html www.vbturk.net www.yunus.projesi.com www2.latech.edu/~acm/HelloWorld.shtml

56

KAYNAKA KAYNAKA
Anadolu niversitesi A k retim Sistemi (www.aof.edu.tr) AYFER Can U ur, Kim Gler Bilgisayarlara?, Pusula Yay nevi, stanbul, 1998 AYDIN Serkan, Programlama Ders Notlar BA RIYANIK Tar k, Programlama Ders Notlarve Uygulamal Genel Programlama Kitab (www.yunus.projesi.com) DURMAZ Alparslan, Programlama Ders Notlar EKER Mustafa, Algoritmay Anlamak, Nirvana Bas mevi, Ankara, 2005 NIIT Global Learning Solutions, Fundamentals of Programming MAGUIRE Steve, Writing Solid Code, Microsoft Bas mevi, Washington, 1993 TAN Ali, Programlama Ders Notlar WALLACE Wang, Beginning Programming for Dummies, Wiley Bas mevi, Indianapolis, 2004

57

You might also like