You are on page 1of 39

T.C.

MLL ETM BAKANLII

BLM TEKNOLOJLER

KODLAMAYA HAZIRLIK
482BK0123

Ankara, 2011

Bu modl, mesleki ve teknik eitim okul/kurumlarnda uygulanan ereve retim Programlarnda yer alan yeterlikleri kazandrmaya ynelik olarak rencilere rehberlik etmek amacyla hazrlanm bireysel renme materyalidir. Mill Eitim Bakanlnca cretsiz olarak verilmitir. PARA LE SATILMAZ.

NDEKLER
AIKLAMALAR ....................................................................................................................ii GR ....................................................................................................................................... 1 RENME FAALYET1 .................................................................................................... 2 1. PROGRAMLAMANIN YAPI TALARI ........................................................................... 2 1.1. Bilgisayarn alma Mant ....................................................................................... 2 1.1.1. Makine Dili............................................................................................................ 3 1.1.2. kili Say Sistemi ................................................................................................... 4 1.1.3. Derleyici ................................................................................................................ 7 1.2. Yazlm.......................................................................................................................... 7 1.2.1. Bir Yazlmda Olmas Gereken Temel zellikler ................................................. 7 1.2.2. Yazlm eitleri.................................................................................................... 8 1.3. Programlama Aralar ................................................................................................... 8 1.3.1. Programlama Dili .................................................................................................. 8 1.3.2. Programlama Dilleri eitleri................................................................................ 9 UYGULAMA FAALYET .............................................................................................. 11 LME VE DEERLENDRME .................................................................................... 12 RENME FAALYET2 .................................................................................................. 13 2. ALGORTMA VE AKI DYAGRAMI ........................................................................... 13 2.1. Algoritma Yazm Aamalar ....................................................................................... 13 2.1.1. Problemi Tanmlama ........................................................................................... 13 2.1.2. Problemi Gelitirme............................................................................................. 14 2.1.3. Sisteme Uyumluluunu Tespit Etme (Girdi-kt Belirleme) ............................. 14 2.1.4. zm Kt zerinde Gsterme (Prototip Oluturma) ................................... 14 2.1.5. zm Deneme ................................................................................................. 14 2.1.6. zm Gelitirme.............................................................................................. 14 2.1.7. Oluabilecek Hatalar............................................................................................ 14 2.2. Ak Diyagram ........................................................................................................... 17 2.2.1. Ak Diyagram ekilleri ..................................................................................... 18 UYGULAMA FAALYET .............................................................................................. 21 LME VE DEERLENDRME .................................................................................... 22 RENME FAALYET3 .................................................................................................. 23 3. PROGRAMLAMA YAZILIMI ......................................................................................... 23 3.1 Programlama Yazlmnn Arayz ............................................................................. 23 3.1.1 Balang Sayfas(Start Page)............................................................................... 25 3.1.2 Solution Explorer Paneli....................................................................................... 27 UYGULAMA FAALYET .............................................................................................. 30 LME VE DEERLENDRME .................................................................................... 31 MODL DEERLENDRME .............................................................................................. 32 CEVAP ANAHTARLARI ..................................................................................................... 34 KAYNAKA ......................................................................................................................... 35

AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI SRE N KOUL YETERLK Kodlama ncesi hazrlklar yapmak Genel Ama Bu modl ile gerekli ortam salandnda programlamann kodlama ncesi hazrlklarn yapabileceksiniz. MODLN AMACI Amalar 1. Program yazmaya hazrlk yapabileceksiniz. 2. Algoritma ve ak diyagram hazrlayabileceksiniz. 3. Programlama dili yazlm ile alabileceksiniz. Ortam: Bilgisayar laboratuvar ETM RETM ORTAMLARI VE DONANIMLARI Donanm: Kt, kalem, ak diyagramlar ile ilgili panolar, bilgisayar, lisansl programlama yazlm Modl iinde yer alan her renme faaliyetinden sonra verilen lme aralar ile kendinizi deerlendireceksiniz. retmen modl sonunda lme arac (oktan semeli test, doru-yanl vb.) kullanarak modl uygulamalar ile kazandnz bilgi ve becerileri lerek sizi deerlendirecektir. 482BK0123 Biliim Teknolojileri Alan Ortak Kodlamaya Hazrlk Bir program yazlmas iin gerekli olan hazrlklara ait bilgilerin verildii renme materyalidir. 40/32

LME VE DEERLENDRME

ii

GR GR
Sevgili renci,

Okul yaantnzda reneceiniz her konu, yaptnz her uygulama ve tamamladnz her modl bilgi daarcnz gelitirecek ve ileride atlacanz i yaantnzda size baar olarak geri dnecektir. Eitim srecinde daha zverili alr ve alma disiplinini kazanrsanz; baarl olmamanz iin hibir neden yoktur.
Bu modl sonunda; istediiniz herhangi bir problemin bilgisayardaki zm aamalarn yazabileceksiniz. zm aamalarn belirledikten sonra istediiniz bir programlama dilini kullanarak gerekli yazlm oluturulabileceksiniz. Ak diyagramlar ile yazdnz algoritmay ekillerle daha kolay, anlalr klacaksnz.

RENME FAALYET1 RENME FAALYET1


AMA
Bu renme faaliyetinde, program yazmaya hazrlk yapabileceksiniz.

ARATIRMA
Gnlk hayatta bir olayn insan zerinde girdi, ileni ve kt durumlarn maddeler hlinde listeleyiniz. evrenizde say sistemlerinin hangi alanlarda nasl kullanldklarn aratrnz.

1. PROGRAMLAMANIN YAPI TALARI


1.1. Bilgisayarn alma Mant
Bilgisayar, kullancdan ald verilerle mantksal ve aritmetiksel ilemleri yapan yapt ilemlerin sonucunu saklayabilen, saklad bilgilere istenildiinde ulalabilen elektronik bir makinedir. Bu islemleri yaparken veriler girilir ve ilenir. Ayrca, istenildiinde yaplan ilemler depolanabilir ve ks alnabilir. Giri: Kii tarafndan veya bilgisayar tarafndan salanan verilerdir. Bu veriler, saylar, harfler, szckler, ses sinyalleri ve komutlardr. Veriler giri birimleri tarafindan toplanr. lem: Veriler insanlarn amalar dorultusunda, programn yetenekleri lsnde ilem basamaklarndan geer. Bellek: Verilerin depoland yerdir. Giri yaplan ve ilenen veriler bellekte depolanr. k: Bilgisayar tarafndan ilem basamaklarndan geirilerek retilen yaz, resim, tablo, mzik, grafik, grnt, vb.nin ekrandan ya da yazc, hoparlr gibi degiik k birimlerinden alnmasdr. Bilgisayarn nasl altn renmek iin onun bilgileri nasl kullandn anlamak gerekir. Harfler ve rakamlar bilgisayarda kodlar eklinde ifade edildikten sonra kullanlr. Bilgisayarlarda kodlar elektrik olarak voltajn olup olmamas ile ifade edilir. Voltaj var, lamba yanyorsa 1; voltaj yok, lamba yanmyorsa 0 kodlarn alr. ki durumlu olan bu kodlamaya "ikilik sistem" denir. Bilgisayara tulardan verilen her bilgi 1 ve 0 kodlarna evrilir. Her 0 ve 1, bit olarak; sekiz bitlik grup ise byte olarak tarif edilir. Bilgisayar, ilemlerini ikilik say sistemi ile yapar. lemler ok sade ve basit olmakla beraber ok hzldr. 2

Bilgisayarlar sadece saylar saymakl kalmayp karar da verebilir. Bu kararlar, saymakla . Boolean matematii denilen mantk kaidelerine gredir. eitli artlara gre bilgisayar kaidelerine EVET, HAYIR, VE, VEYA, DEL gibi kararlar alabilir. Mesela; evi tamak iin bir L kamyon VE bir ofre ihtiya vardr. Bu kamyon bir dar kprden gemek zorundaysa kamyon geni VEYA yksekse kprye arpar. Ta Tanacak ev bo DEiL ise tama ilemi ma gecikecektir. Burada VE, VEYA, DE DEL kararlar verilmitir.

ekil 1.1: nsan ve bilgisayar aras benzerlik

1.1.1. Makine Dili


Makine dili mikroilemci ya da mikrodenetleyici gibi komut ileme yeteneine sahip entegrelerin ileyebilecekleri komutlardan ve buna uygun sz diziminden oluan dile verilen addr. Makine dili, ilemcinin verilen komutlar dorultusunda altrlmasn salayan ve ilemci mimarisine gre deien en alt seviyedeki programlama dili dilidir. Bu dil sadece 0 ve 1 ikililerinin anlaml kombinasyonlarndan meydana gelmektedir. Bu nedenle, makine dilinin anlalmas ok gtr. Sonu olarak bilgisayar program hangi dilde olursa olsun format makine diline evrilmesi gereklidir. Her emrin yerine ge evrilmesi getirilmesine Instruction Cycle denir ve 4 ana ksmdan oluur;

Fetch: Bir sonraki emri hafzadan getir. Decode: Emrin ne demek istediini z. Execute: Emir yerine getirilir, ilem yaplr. Store: Sonucu sakla. Ksaca zetleyecek olursak;
Bilgisayarn doal dilidir. Bilgisayarn donanmsal tasarmna baldr. Makine dili 010101001lerden oluan komutlardr ve bunlar dorudan makineye hitap eder. Makine dili ilemci trne zel olarak yazlmaktadr. Dolaysyla, bir ilemci tr iin makine diliyle yazlm program, dier ilemciler iin uygun olmamaktadr.

1.1.2. kili Say Sistemi


Bilgisayar ortamnda drt eit say sistemi kullanlmaktadr. Bunlar; kilik say sistemi(Binary) Sekizlik say sistemi(Oktal) Onluk say sistemi(Desimal) Onaltlk say sistemi(Heksadesimal)

Sekizlik say sitemi (oktal): Bu say sisteminde sadece 0,1,2,3,4,5,6,7 rakamlar kullanlr. Bu say sisteminin taban 8dir. RNEK: (25)8 , (376)8 , (27510)8 Onluk say sistemi (desimal): Bu say sistemi gnlk hayatta kullandmz saylardan oluur. Yani 0,1,2,3,4,5,6,7,8,9 saylarn kapsar. Bu say sisteminin taban 10dur. RNEK: (10)10 , (9999)10 , (820918)10 Onaltlk say sistemi (heksadesimal): Bu say sisteminde 16 tane rakam bulunmaktadr. 1,2,3,4,5,6,7,8,9,A,B,C,D,E,F rakamlarndan oluur. Say sisteminin taban 16dr. 16lk say sisteminde her bir harf bir rakam temsil eder. Bunlar; A = 10, B=11, C=12, D=13, E=14, F=15 tir. Bilgisayar sisteminde 1 ve 0 n yan yana yazlmasyla 10 says ayn ekilde ifade edildiinden karmaklk olmasn diye byle bir zm retilmitir. RNEK: (1029)16 , (AFDC)16 , (290A3DC)16

kili say sistemi(Binary): kili say sistemi 2 tabann kullanr. 0 ve 1 olmak zere iki rakam vardr. Bu saylar bilgisayarda akmn gemesi veya gememesi esasna gre belirlenir. RNEK: (001010)2 , (111011)2 , (10)2 2'li sistemden 10'lu sisteme dntrme:

RNEK:

(101101)2 = 1x25 + 0x24 + 1x23 + 1x22 + 0x21 + 1x20 = 32 + 0 + 8 + 4 + 0 + 1 = (45)10


10'lu sistemden 2`li sisteme dntrme:

Bu ilemi yapabilmek iin 10'lu sistemde verilen say srekli olarak ikiye blnmektedir. Blmelerin kalanlar bize o saynn ikili sistemdeki karln vermektedir. RNEK: 10'lu tabandaki 53 saysn ikili tabana eviriniz?

2li sistemden 8li sisteme dntrme:

(11001111011101)2 saysn sekizli say sistemine dntrelim. erli kmelere ayrma ve eksik bitleri tamamlama sonucunda, 011 001 111 011 101 3 1 7 3 5 Her bir kmenin temsil ettii sekizli say yazlrsa (11001111011101)2 = (31735)8 eitlii elde edilir. 8li sistemden 2lik sisteme dntrme

(567)8 saysn ikilik sisteme evirelim.

(567)8 = (101110111)2

2li sistemden 16l sisteme dntrme

(11001111011101)2 saysn onaltl say sistemine dntrelim. Drderli kmelere ayrma ve eksik bitleri tamamlama sonucunda, 0011 0011 1101 1101 3 3 D D Her bir kmenin temsil ettii onaltl say yazlrsa (11001111011101)2 = (33DD)16 eitlii elde edilir. 16l sistemden 2lik sisteme dntrme

(3A8F)16 saysn ikilik sisteme evirelim.

(3A8F)16 = (0011101010001111)2

1.1.3. Derleyici
Programclkta, bir programlama dilinde yazlm olan kaynak kodunu baka bir dile(genellikle makine koduna) eviren yazlmlara derleyici denir. rnein, u satr bir programn kaynak kodunda (programn okunabilir hali) dnelim: X= 2 +Y Alttaki assembly'de yazlm satrlar, ayn programn derlenmi hlidir:

Bu rnekte evirinin hedefi, programcnn anlad kaynak kodundan ilemcinin anlad 0 ile 1den oluan makine dili kodunu retmektir (LOAD, ADD ve STOR komutlar 0001, 0011 ve 0010 olarak yorumlanr.).

1.2. Yazlm
Yazlm, elektronik aygtlarn belirli bir ii yapmasn salayan programlarn tmne verilen isimdir. Bir baka deyile var olan bir problemi zmek amacyla bilgisayar dili kullanlarak oluturulmu anlaml anlatmlar btndr. Kelime ilemci programlar, bilgisayarnz aldnda CD srcnz, sabit srcleri, RAM'i tanyan BIOS; iletim sistemi, web taraycnz, virslerin kendileri, antivirs programlar hep birer yazlmdr.

1.2.1. Bir Yazlmda Olmas Gereken Temel zellikler


Doruluk: Yazlmn belirtilmi ihtiyalarn karlamasdr. Gvenilirlik: Gerekli ilevi ne hassaslkla yerine getirecei beklentisidir. 7

Verimlilik: levin gerekletirilmesi iin kullanlmas gereken bilgisayar kaynaklar ve kod miktardr. Gvenlik(Btnlk): Yazlm ve bilgilerine, istenmeyen insanlarca ulamn ne derece engellenebildiidir. Kullanlabilirlik: Programn renilmesi, altrlmas, girdi hazrlama ve kt yorumlama ilemlerinin kolaylk derecesidir. Hata bulma kolayl: Hatann yerini bulma ve dzeltme kolayldr. Esneklik: Yazlmda deiiklik yapma kolayldr. Tanabilirlilik: Programn farkl donanmlarda ve yazlm sistemi ortamlarnda kullanlmasdr. Tekrar kullanlabilirlik: Yazlm tamamnn ya da bir blmnn farkl bir uygulamada kullanlabilmesidir. Birlikte alabilirlik: Bir yazlm sisteminin dierleri ile balant salamas kolayldr.

1.2.2. Yazlm eitleri


Bilgisayar yazlmlar genel olarak 2 ana grupta incelenebilir. Sistem yazlmlar (system software) : Bilgisayar yneten, denetleyen, kontrol eden yazlmlardr. rnein: Linux, Pardus, Windows vb. Uygulama yazlmlar (application software) : Belli bir alana ve uygulamaya ilikin olarak kullanclar iin gelitirilmi yazlmlardr. rnein: Kelime ilemci programlar, web hazrlama aralar, programlama aralar vb. Btn sistem programlar iinde en temel yazlm iletim sistemidir ki, bilgisayarn btn donanm ve yazlm kaynaklarn kontrol ettii gibi kullanclara ait uygulama yazlmlarnn da altrlmalarn ve denetlenmelerini salar.

1.3. Programlama Aralar


1.3.1. Programlama Dili
ster genel ister zel amal olsun tm uygulama ve sistem yazlmlar programlama dilleriyle yazlr. Bir programlama dili, insanlarn bilgisayara eitli ilemler yaptrmasna imkn veren her trl sembol, karakter ve kurallar grubudur. Programlama dilleri insanlarla bilgisayarlar arasnda tercmanlk grevi yapar. Programlama dilleri, bilgisayara neyi, ne zaman, nasl yapacan belirten deyim ve komutlar ierir.

Bir programlama dili unlardan oluur. Genel komutlar: Programlama dilinin anlayaca komutlardr. Gelimi komutlar: Genel komutlar kullanarak oluturulmu komutlardr. API komutlar: letim sisteminin sunduu zellikleri kullanan komutlardr. Derleyici komutlar: Komut iinde almayp derleme esnasnda alnan bilgilere gre derleme yaplmasn salar. Aktif nesneler: Buton, Men, Gsterge ubuu ve Tabpanel gibi bileenlerin genel addr.

1.3.2. Programlama Dilleri eitleri


Bir programlama dili ya insan ya da makine anlayna yakndr. nsan anlayna daha yakn programlara dillerine yksek seviyeli programlama dilleri, makineye yakn olanlara ise dk seviyeli programla dilleri denir. Yksek seviye programlama ile yazlan projelerin kaynak kodlar ksa, derlenmi hlleri ise uzun olur. alma hzlar ise yavatr. Alak seviye programlama ile yazlan projelerin kaynak kodlar uzun, derlenmi hlleri ise ksadr olur. alma hzlar ise en yksek seviyededir.

Programlama dillerini seviyelerine gre 5 ana gruba ayrabiliriz: ok yksek seviyeli diller ya da grsel diller

Access, Foxpro, Paradox,Xbase, Visual Basic, Oracle Forms Yksek seviyeli diller (Bunlara algoritmik diller de denir.)

Fortran, Pascal, Basic, Cobol Orta seviyeli diller

C, C++(C Plus) , C#(C Sharp) Orta seviyeli diller daha az kaypla makine diline evrilebildiinden daha hzl alr. Alak seviyeli programlama dilleri

Sembolik makine dili (Assembler). Makine dili

En aa seviyeli programlama dilidir (Saf makine dili tamamen 1 ve 0 lardan oluuyor.) .

Kuak 1 2 3 4 5

Programlama Dili Makine dili Assembly dili Yksek seviyeli diller ok yksek seviyeli diller Yapay zekaya ynelik diller

Periyod 1940 1950 aras 1950li yllardan itibaren 1960l yllardan itibaren 1970li yllardan itibaren 1980li yllardan itibaren

Tablo 1.1: Programlama dillerinin tarihi geliimi

ekil 1.2: Programlama dili soy aac

10

UYGULAMA FAALYET UYGULAMA FAALYET


Say sistemleri arasnda dnmler yapnz.

lem Basamaklar
2lik say sisteminden 8lik say sistemine dnm yapnz. 8lik say sisteminden 2lik say sistemine dnm yapnz. 8lik say sisteminden 16lk say sistemine dnm yapnz.

neriler
Saylar erli gruplara blnnz. Eksik kalan bitleri tamamlaynz. Her grubun temsil ettii 8li sayy yanyana yazarak sonucu bulunuz. 8lik her bir sayy kendi iinde 2lik sisteme dntrnz. Elde eden saylar yanyana yazarak sonucu bulunuz. 8lik sayy nce 2lik say sistemine dntrnz. Elde edilen 2lik say sistemindeki sayy 16lk say sistemine dntrerek sonucu bulunuz.

11

LME VE DEERLENDRME LME VE DEERLENDRME


Aadaki cmleleri dikkatlice okuyarak bo braklan yerlere doru szc yaznz.

1.

., elektronik aygtlarn belirli bir ii yapmasn salayan programlarn tmne verilen isimdir.
Aadaki sorular dikkatlice okuyarak doru seenei iaretleyiniz.

2.

(01110101)2 2'lik tabandaki saynn 10'luk tabanndaki karl aadakilerden hangisidir? A) 121 B) 115 C) 117 D) 119

3.

359 10'luk tabandaki saynn 2'lik tabandaki karl aadakilerden hangisidir? A) C) 101100101 100101011 B) 101000111 D) 101100111

4.

(A55C)16 saysnn 2lik tabandaki karl aadakilerden hangisidir? A) C) 1101001100111010 1101010101011100 B) 1010010101011100 D) 1010001100111100

5.

Aadakilerden hangisi bir yazlmda olmas gereken temel zellikler arasnda deildir? A) C) Doruluk Tanabilirlik B) Esneklik D) Problem zme

DEERLENDRME Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz.

12

RENME FAALYET2 RENME FAALYET2


AMA
Bu renme faaliyeti sonunda algoritma ve ak diyagram hazrlayabileceksiniz.

ARATIRMA
Gnlk hayatta karlatnz problemleri nasl zmlediinizi dikkatlice gzlemleyiniz. rnein; okula geli ve gidi yolunda hangi tat aralar sra ile kullandnz, hava ve yol durumuna gre zm olarak neler yaptnz anlatnz. Problemleri zerken ilemleri belli bir sra ile mi yapyorsunuz yoksa zm iin gerekenleri rastgele mi uyguluyorsunuz, buna dikkat ederek arkadalarnzla paylanz. Bir yemek tarifini aratrnz. Yemek yapmnda izlenen admlar bir kda yaznz. Alternatif durumlar da belirtiniz.

2. ALGORTMA VE AKI DYAGRAMI


2.1. Algoritma Yazm Aamalar
Algoritma*, verilen herhangi bir sorunun zmne ulamak iin uygulanmas gerekli admlarn hibir yoruma yer vermeksizin ak, dzenli ve sral bir ekilde sz ve yaz ile ifadesidir.

2.1.1. Problemi Tanmlama


Her eyden nce zlecek problem tam olarak anlalmaldr. Bu admda yaplacak en ufak bir hata daha sonraki admlarn yeni batan yaplmasn gerektirebilir. Problemin tanm yaplrken var olan bilgiler, anlamlar ve birbirleri ile ilikileri tanmlanmaldr. Daha sonra istenilenler belirlenmeli ve bunlarn var olan bilgiler ile ilikileri renilmelidir. Son olarak yaplacak ilemler belirlenir. Mmkn ise rnek veriler ile elde edilen sonular deerlendirilmelidir.

Algoritma kelimesi, zbekistan'n Harezm, bugnk Trkmenistan'n Khiva kentinde domu Ebu Abdullah Muhammed bin Musa el Harezmi isimli Trk matematikinin adndan gelir. Bu alim 9. yzylda cebir alanndaki algoritmik almalarn kitaba dkerek matematie ok byk bir katk salamtr.

13

2.1.2. Problemi Gelitirme


Problem tanmn tam olarak yaptktan sonra zm iin yol aramak gerekir. Genellikle bir problemin birden fazla zm yolu olabilir. Bunlardan en uygunu seilmeye allr. Problem ne kadar kark olursa olsun, alt birimlere blnr. Her birimin zm ayr ayr yaplr. Bu yaplrken birimler aras iliki srekli olarak korunur.

2.1.3. Sisteme Uyumluluunu Tespit Etme (Girdi-kt Belirleme)


Sonularn d ortama, dolaysyla insana aktarm dzgn bir biimde yaplmaldr. Programc program kts olarak almak istedii dkmn biimini tasarlar. Bir dkm biimi tasarlanrken anlalr ve kullanlabilir olmasna zen gsterilmelidir. Genellikle programa, zd soruna ilikin baz verilerin dardan verilmesi gerekir.

2.1.4. zm Kt zerinde Gsterme (Prototip Oluturma)


Algoritma gelitirildikten sonra daha iyi anlalabilir olmas ve programlama dillerine aktarm daha kolay olmas nedeniyle, prototip hline getirilir. Bylece sorunun zm basamaklar, birbirleri ile ilikileri ve bilgi ak daha kolay grlebilir ve yanllklar dzeltilebilir.

2.1.5. zm Deneme
Algoritma yazldktan sonra sonular daha nceden bilinen veriler girilerek eldeki sonularla kan sonular karlatrlr. Algoritmann doruluu kontrol edilir.

2.1.6. zm Gelitirme
Bu aamada doruluu kontrol edilmi zmn tekrar edilen bloklarn daha ksa yoldan sonuca ulalmas durumlar gzden geirilir.

2.1.7. Oluabilecek Hatalar


Hazrlanan algoritmalarda en sk karlalan hatalar mantk hatalarndan olumaktadr. Mantk hatalar ise problemin zm admlar belirlenirken yaplan yanllklardan kaynaklanan hatalardr. Algoritma rnekleri rnek: rneimiz bir rencinin evden kp okula giderken izleyecei yolu ve okula giriinde ilk yapacaklarn tanmlamaktadr. zm: Evden darya k. Otobs durana yr. 14

Durakta gidecein yndeki otobs bekle . Otobsn geldiinde otobse bin . Biletini bilet kumbarasna at. necein yere yaknlatnda arkaya yr. neceini belirten ikaz lambasna bas . Otobs durunca in. Okula doru yr. Okul giri kapsndan ieriye gir. Snf arkadalarnla selamla. Srana otur. retmenin gelmesini bekle.

rnek: ki sayy toplamak iin gerekli programa ait algoritmann oluturulmas zm: A1 : Birinci sayy gir. A2 : kinci sayy gir. A3 : ki saynn toplamn yap . A4 : Toplamn deerini yaz. A5 : Bitir. rnek: ki sayynn ortalamasn bulmak iin gerekli programa ait algoritmann oluturulmas zm: A1 :Birinci sayy gir. A2 :kinci sayy gir. A3 :ki saynn toplamn yap. A4 :Toplam ikiye bl. A5 :Blmn sonucunu yaz. A6 :Bitir. Szcklerin ortaya karaca yanl anlamalarn ortadan kaldrmak amacyla semboller ve matematik dilini gerektiren baz ksaltmalar kullanmak daha uygun olacaktr. Bu aklamaya gre yukardaki rnekleri tekrar yapalm. rnek: ki sayy toplamak iin gerekli programa ait algoritmann oluturulmas zm: Birinci say iin X kinci say iin Y Toplam ad iin Z kullanlrsa 15

A1 :X deerini gir. A2 :Y deerini gir. A3 :Z = X + Y A4 :Zyi yaz. A5 :Bitir. rnek: ki sayynn ortalamasn bulmak iin gerekli programa ait algoritmann oluturulmas zm: Birinci say iin X kinic say iin Y Toplam ad iin Z Ortalama ad iin Ort kullanlrsa A1 :X deerini gir. A2 :Y deerini gir. A3 :Z = X + Y A4 :Ort = Z / 2 A5 :Ort deerini yaz. A6 :Bitir. Grld zere bu ekilde bir algoritma ile zm yolunu izlemek daha kolaydr. rnek: Kenar uzunluklar verilen dikdrtgenin alan hesabn yapan programa ait algoritmann hazrlanmas Kenar uzunluklar negatif olarak girildii durumda veri girii tekrarlanacaktr. zm: Dikdrtgenin ksa kenar : a Dikdrtgenin uzun kenar : b Dikdrtgenin alan : Alan Algoritma A1 :a deerini gir. A2 :Eer a<0 ise A1e git. A3 :b deerini gir. A4 : Eer b<0 ise A3e git. A5 :Alan = a*b A6 :Alan deerini yaz. A7 :Bitir. rnek: Be saynn toplamn ve ortalamasn veren programa ait algoritmann oluturulmas 16

zm: Toplam ad iin Top Ortalama ad iin Ort Girilen saylar iin X Arttrma iin Sayac kullanlrsa A1 :Top = 0, Sayac = 0 A2 :X deerini gir. A3 :Top= Top+X A4 : Sayac = Sayac +1 A5 :Eer Sayac <5 ise A2ye git. A6 :Ort= Top/5 A7 :Top ve Ort deerlerini yaz. A8 :Bitir. Sorular : 1. Girilen saynn pozitif, negatif veya sfra eit olduunu gsteren algoritmay hazrlaynz. 2. Girilen saynn faktriyelini hesaplayan algoritmay hazrlaynz. 3. Girilen saydan en byn bulup ekrana yazan algoritmay hazrlaynz. 4. Bir renciye ait vize ve final notlarnn ortalamasn hesaplayan ve ortalamaya gre ekrana Geti Kald yazan algoritmay hazrlaynz (Not: Ortalama hesaplanrken vizenin %40, finalin %60 alnacak, geme notu 45dir.) . 5. Bir komisyoncu satt mallardan fiyat 50 TLye kadar olanlardan %3, daha fazla olanlardan ise %2 komisyon almaktadr. Klavyeden girilen 5 maln komisyonlarn bularak toplam komisyonu hesaplayan algoritmay hazrlaynz.

2.2. Ak Diyagram
Herhangi bir problem iin oluturulan algoritmann, grsel olarak simge ya da sembollerle ifade edilmi ekline ak diyagram denir. Ak diyagramlar, yazlm oluturacak program paralarn ve bu paralarn birbirleri ile olan ilikilerini belirler. Ak diyagramlarnn algoritmadan fark, admlarn simgeler eklinde kutular iinde yazlm olmas ve admlar arasndaki ilikilerin oklar ile gsterilmesidir.

17

2.2.1. Ak Diyagram ekilleri Ak diyagramnn balang ve biti yerlerini gsterir. Balang simgesinden k oku vardr. Biti simgesinde giri oku vardr. Klavyeden yaplacak giriler iin kullanlr. Girilecek olan bilgi bir deikene aktarlr. Sembol iine deiken yazlmaldr. Her trl hesaplama ve atama ilemleri iin kullanlr. Bir karar verme ilemini temsil eder.

Kullancya yanstlacak bilgileri belirtmek iin kullanlr.

Diyagramn ak ynn, yani herhangi bir admdaki ilem tamamlandktan sonra hangi adma gidileceini gsterir.

Tablo 2.1: Ak diyagram ekilleri ve aklamalar

18

rnek: ki sayy toplamak iin gerekli programa ait ak emasnn oluturulmas. zm:

rnek: ki sayynn ortalamasn bulmak iin gerekli programa ait ak emasnn oluturulmas zm:

19

rnek : Kenar uzunluklar verilen dikdrtgenin alan hesabn yapan programa ait algoritmann hazrlanmas Kenar uzunluklar negatif veya sfr olarak girildii durumda veri girii tekrarlanacaktr.

rnek : Be saynn toplamn ve ortalamasn veren programa ait algoritmann oluturulmas zm:

zm:

20

UYGULAMA FAALYET

UYGULAMA FAALYET
Gnlk hayatta karlatmz bir problem iin algoritma ve ak emasn hazrlaynz. lem Basamaklar Problemi tanmlaynz. Problemi iin zmler gelitirniz. neriler Var olan bilgileri, anlamlar ve birbirleriyle olan ilkileri belirleyiniz. Problemi alt birimlere blnz. Her birim iin ayr ayr zmler gelitiriniz. En uygun olan zm seiniz. Setiimiz zm iin dardan veriler girerek sonularn belirleyiniz. Problemi, ayrdmz her birim ve zmleri ile kt stne aktarnz. zme dardan veriler girerek kan sonular doruluu kantlanm dorularla karlatrp doruluunu test ediniz. Doruluu tespit edilen zmzde tekrar eden birimleri tek bir birime drmek iin yeni yollar gelitiriniz. Oluabilecek mantk hatalarn tespit ediniz. Oluturulan zmn en son hlini ak emas olarak iziniz.

Girdi ve ktlarn belirleyiniz. zm kt zerinde gsteriniz. zm deneyiniz.

zm gelitiriniz. Oluabilecek hatalar gzden geiriniz. Ak emasn iziniz.

21

LME VE DEERLENDRME LME VE DEERLENDRME


Aadaki cmleleri dikkatlice okuyarak bo braklan yerlere doru szc yaznz.

1.

Verilen herhangi bir sorunun zmne ulamak iin uygulanmas gerekli admlarn hi bir yoruma yer vermeksizin ak, dzenli ve sral bir ekilde sz ve yaz ile ifadesine .................... denir. Algoritma yazldktan sonra, sonular daha nceden bilinen veriler girilerek, eldeki sonularla kan sonular karlatrld aama ..............................'dr.
Aadaki sorular dikkatlice okuyarak doru seenei iaretleyiniz.

2.

3.

Aadakilerden hangisi algortima yazm aamalar arasnda yer almaz? A) C) Problemi tanmlama Oluabilecek hatalar B) zm gelitirme D) Gvenirlik

4.

Her trl hesaplama ve atama ilemlerinin yapld ak diyagram ekli aadakilerden hagisidir? A) C) B) D)

5.

A1 :sayac = 0 A2 :a deerini gir. A3 :Eer a < 0 A2'ye git. A4 :toplam = toplam + a A5 :. A6 :Toplam deerini yaz. A7 :Bitir. Yukardaki algoritmann klavyeden girilen 5 adet pozitif saynn toplamn ekrana yazdrmas iin bo braklan satra aadaki seeneklerden hagisi yazlmaldr. A) Eer sayac < 6 A2ye git B) Eer sayac < 5 A2' ye git C) Eer sayac < 5 A4e git D) Eer sayac > 5 A4 e git

DEERLENDRME Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki renme faaliyetine geiniz. 22

RENME FAALYET3 RENME FAALYET3


AMA
Bu renme faaliyeti sonunda programlama dili yazlm ile alabileceksiniz.

ARATIRMA
En ok hangi programlama yazlmnn kullanldn aratrnz. Bir program yazmak iin kullanlabilecek aralar listeleyip bunlar iinden en rahat kullanabileceklerinizi iaretleyiniz.

3. PROGRAMLAMA YAZILIMI
Bilgisayar programlama konusunda u ya da bu programlama dili daha iyidir demek yanltr. nemli olan yazlmn ieriidir. Seilecek programlama dili ile yazlmn en efektif ekilde retilmesi amalanr. Programlama yazlmlarnn grevi yazm olduumuz kodlar belirle kurallar erevesinde bilgisayarn anlayaca dile evirmektir. Her programlama yazlm btn dilleri derleyemeyeceinden yazacamz kodlara uygun bir yazlm sememiz gerekmektedir. Gnmzde kullanlan ok eitli programlama yazlmlar mevcuttur. IDE: Tmleik gelitirme ortam (Integrated development environment), bilgisayar programclarnn hzl ve rahat bir ekilde yazlm gelitirebilmesini amalayan, gelitirme srecini organize edebilen birok ara ile birlikte gelitirme srecinin verimli kullanlmasna katkda bulunan aralarn tamamn iinde barndran bir yazlm trdr. Tmleik gelitirme ortamlarnda olmas gerekli en temel zellikler: Programlama diline gre szdizimi renklendirmesi yapabilen kod yazm editr Kod dosyalarnn hiyerarik olarak grlebilmesi amacyla hazrlanm gerek zamanl bir dizelge Tmleik bir derleyici, yorumlayc ve hata ayklayc Yazlmn derlenmesi, balanmas, almaya tmyle hazr hle gelmesi ve daha birok ek ii otomatik olarak yapabilmek amacyla kk ina aralar

3.1. Programlama Yazlmnn Arayz


Visual Studio, ok gelimi zelliklere ve yardmc aralara sahip bir dosya editrdr. NET platformu zerinde gelitirilen proje dosyalar dnda metin dosyalar, sql, rtf uzantl dosyalar da dzenlenebilir.

23

alma sayfalar (tab pages)

Visual Studio ortamnda dosyalar, birer alma sayfas olarak alr. Bu dosyalar sekmeler hlinde sralanr. Sayfalar arasnda CTRL-TAB ksayolu ile gei yaplr. Bu alma modelinde, sadece bir sayfa grnr ve zerinde alma yaplr. Ara ubuklar (toolbars)

Resim 3.1: Programlama yazlm ara ubuklar

Visual Studio, men komutlar iin grsel ksayollar ara ubuklar ile sunar. Benzer ilemler iin kullanlan komutlar bir ara ubuunda gruplanr. rnein standart ara ubuu, yeni dosya oluturmak, bir dosyay amak - kaydetmek gibi genel dosya ilemleri iin kullanlr. Ara ubuklar, varsaylan olarak menlerin altnda bulunur. Ancak ubuklar tanarak yerlerini deitirebilir veya kayan duruma getirilebilir. Ayrca istenen ubuklar saklanlabilir veya gsterilebilir. Ara ubuklarn listesini grmek iin View mensnden Toolbars alt mensne iaret ediniz. Paneller

Paneller, Visual Studio iindeki pencerelerdir. alma ortamnda birok panel bulunmasyla beraber, Solution Explorer, Toolbox, Database Browser, Properties, Find Result, Eror List gibi ska kullandmz paneller vardr.

Resim 3.2: Solution explorer paneli

PUCU: Grmek istenilen paneller View mensnden seilebilir. 24

Paneller, Visual Studio ortam iinde istenilen yere tanabilir veya sabitlenebilir. Panellerin birka genel zellii vardr:

Resim 3.3: Panel zellikleri

Auto hide(otomatik gizle): Panelin, fare zerindeyken grnmesi ve fare ekildikten sonra gizlenmesidir. Dockable(sabitlenebilir): Panelin, Visual Studio ortam iinde bir yerde sabitlenebilme zelliidir. Floating(kayan): Kayan paneller herhangi bir yere sabitlenemez. Ancak her sayfann stnde durur ve bylece srekli grnr. Panellerin bu zelliklerine Window mensnden eriilebilir.

3.1.1 Balang Sayfas(Start Page)


Balang sayfas projelere erimeyi ve yeni projeler oluturmay ksayoldan salad gibi rn bltenlerini, yaklaan konferanslar ve en son gelime makalelerini okuma olana da tanr. Balang sayfasna ulamak iin View(grnm) Start Page(Balang Sayfas) mensn kullanabilirsiniz. Balang sayfas command section(komut blm), recent projects(son projeler) ve content area(ierik alan) olmak zere blmden oluur. Sayfann sol alt ksmnda ise balang sayfasnn grnm ayarlar iin seenekler mevcuttur.

25

Resim 3.4: Programlama yazlm balang sayfas( sayfas(start page)

Command section(komut blm) (komut

Yeni proje ve bilgisayarda kaytl olan projerleri amak iin kullanlan blmdr. roje Recent projects(son projeler) (son

Son projeler listesi iin balantlar grntlenir. Bir link tklandnda Visual Studio rojeler Visual Studio ile ilgili proje alr. Link zerinde sa tklandnda aadaki tablodaki seeneklerden birinin seilmesini salayan bir men alr.

Resim3.5: Son alan projeler listesi zerinde yaplacak ilemler mens

Seenek Open Project Open Containing Folder Remove From List

Aklama Projeyi aar. Projeyi ieren klasr Windows explorerda aar. Projeyi son projeler listesinden kaldrr.

Tablo 3.1: Son alan projeler stnde yaplacak ilemler aklamas ilemlerin

26

Son projeler listesinde bir e zerine gelindiinde, geyi vurgular ve bir raptiye simgesi grnr. Raptiye simgesi bir kez tklandnda o proje listede kalc olarak saklanr. Content area(ierik alan)

erik alan Get Started(Balarken) ve Latest News(Son Haberler) sekmelerini iermektedir. Get Started sekmesi altnda bulunan kategorilerden birini seerek aadaki listeyi deitirebiliriz. Bu sekmede teknik makaleler, yardm konular, verimlilik art ve rn zellikleri hakknda yardmc bilgiler yer almaktadr. Latest News sekmesinde kutuya girmi olduumuz adreste bulunan makalelerin listesi yaynlanr. RSS besleme adresini deitirerek farkl bir haber kanalna geebiliriz. MSND Web sitesinde kullanabileceimiz RSS besleme adreslerini bulabilirsiniz. Display options(gsterme seenekleri)

Balang sayfasnn grnm ayarlarnn yapld blmdr.

Resim 3.6: Programlama yazlm balang sayfas grnm seenekleri

Seenek Close page after project load Show page on startup

Aklama Bir proje aldnda balang sayfasn kapatr. Visual Studio her balatldnda balang sayfasnn grntlenmesi salanr.

Tablo 3.2: Balang sayfas grnm seenekleri aklamas

3.1.2 Solution Explorer Paneli


Visual Studio alma ortamnda projeler bir solution (zm) altnda alr. Bir solution iine farkl dilde ve tipte projeler dhil edilebilir. Visual Studio ile bir solution2 aldnda, Solution Explorer paneli ile solution iinde bulunan tm projeleri, ilgili dosya ve klasrleri grntler. Panelde koyu yaz tipinde gzken proje, solution iindeki balang projesidir.

27

Resim 3.7: Solution explorer paneli

Panelin st ksmnda, seilen e zerinde basit ilemler gerekletirmek iin bir ara ubuu bulunur. Refresh (yenile)

Proje dosyalar zerindeki deiikliklerin grnmesini salar. Show all files (btn dosyalar gster)

Seilen projenin bulunduu klasrdeki tm dosyalar ve alt klasrleri gsterir. Panelde grnen beyaz geler proje iine dhil edilmemi gelerdir. Projede kapsamnda kullanlmak istenen geler (rnein arka plan resmi), zerine sa tklanp 2Include In Project komutu ile projeye dhil edilmelidir. Properties (zellikler)

Paneldeki tm gelerin zellikleri, Properties komutu ile grlebilir. Bu komut seildiinde genin zellikleri Properties paneli ile grntlenir. View code (kodu gster)

Panel zerinde semi olduumuz dosyann kodlama sayfasnn grntlenmesini salar. Solution Explorer paneli, View Other Windows Solution Explorer mensnden grlebildii gibi varsaylan klavye seeneklerinde CTRL-ALT-L ksayolu ile de grlebilir.

28

Projeye yeni bir ge eklemek iin Solution Explorer'da, bir hedef proje seiniz. Proje zerinde sa tklayarak AddNew Item seiniz. Kategori blmesinde bir kategori seiniz. Projeye varolan bir ge eklemek iin Solution Explorer'da, bir hedef proje seiniz. Proje zerinde sa tklayarak AddExisting Item seiniz. ge iletiim kutusunda eklemek istediiniz proje veya geyi bulup seiniz.

29

UYGULAMA FAALYET UYGULAMA FAALYET


Aadaki ilemleri uygulaynz.
lem Basamaklar Yeni bir proje oluturunuz. neriler Program altrnz. Komut blm veya File mensnden New Project seeneini seiniz. Gelitireceimiz uygulama trn seip isimlendiriniz. Komut blm veya File mensnden Open Project seeneini seiniz. Projemizin kaytl olduu yeri bulup anz. Son projeler blmde proje isimleri zerine sa tklaynz. Remove From List seeneiini seip projeyi listeden kaldrnz. Balang sayfasnda Display Options(Gsterme Seenekleri) blmndeki Close page after project load kutucuunu onaylaynz.

Kaytl olan bir projeyi anz.

Son projerler blmndeki proje listesini temizleyiniz. Projeyi atktan sonra balang sayfasnn otomatik olaraka kapanacak ekilde ayarlaynz. Debug ara ubuunu grnr hle getiriniz. Database penceresini grnz hle getiriniz.

30

LME VE DEERLENDRME

LME VE DEERLENDRME
Aadaki sorular dikkatlice okuyarak doru seenei iaretleyiniz.

1.

Aadaki eletimelerden hangisi yanltr? A) B) C) D)


------> Refresh (Yenile) ------> Show All Files (Btn Dosyalar Gster) ------> Categorized (Kategorile) ------> View Code (Kodu Gster)

2.

Balang sayfas aadaki blmlerden hangisini iermez? A) B) C) D)


Connect to Database(Veritaban Balants) Command Section(Komut Blm) Recent Projects(Son Projeler)

Content Area(erik Alan)

3.

Panelin, Visual Studio ortam iinde bir yerde sabitlenebilmesini hangi seenek salar.? A) B) C) D)
Auto Hide Dockable

Floating Property

Aadaki cmleleri dikkatlice okuyarak bo braklan yerlere doru szc yaznz.

4. 5.

alma sayfalar arasnda geii ....................... klavye ksayolu ile salarz. Grmek istediimiz panele ............... mensnden eriilir.

DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise Modl Deerlendirmeye geiniz. 31

MODL DEERLENDRME MODL DEERLENDRME


Aadaki cmleleri dikkatlice okuyarak bo braklan yerlere doru szc yaznz. 1. 2. Kii tarafndan veya bilgisayar tarafndan salanan verilere ..................... denir. Kaynak kodu ksa, derlenmi hlleri uzun ve alma hzlar yava olan projeler ...................................... dil ile yazlmtr. Herhangi bir problem iin oluturulan algoritmann, grsel olarak simge ya da sembollerle ifade edilmi ekline .............................. denir. Men komutlar iin oluturulmu grsel ksayollara ................................. denir. Aadaki sorular dikkatlice okuyarak doru seenei iaretleyiniz. 5. Aadakilerden hangisi makine dili iin yanltr? A) Bilgisayarn doal dilidir. B) Bilgisayarn donanmsal tasarmna baldr. C) Dorudan makinaya hitap eder. D) Her ilemci iin ortakdr. Hangi say sistemi 0-7 aras rakamlar kapsar? A) Yedilik B) kilik C) Sekizlik D) Onluk (0011010)2 saysnn 10luk sistemde karl aadakilerden hangisidir?

3.

4.

6.

7.

A) 21
8.

B) 26 B) 110111 B) 146 B) 10101001 B) B3F5

C) 17 C) 100111 C) 158 C) 01111001 C) B5F3

D) 19 D) 101011 D) 156 D) 10101101 D) B5E3

(39)10 saysnn 2lik sistemde karl aadakilerden hangisidir?

A) 100101
9.

(1101110)2 saysnn 8lik sistemde karl aadakilerden hangisidir?

A) 155
10.

(271)8 saysnn 2lik sistemde karl aadakilerden hangisidir?

A) 10111001
11.

(1011001111110101)2 saysnn 16lk sistemde karl aadakilerden hangisidir?

A) B3E5

32

12.

(8FD2)16 saysnn 2lik sistemde karl aadakilerden hangisidir?

A) 1000110011010010 C) 1010111111010110
13.

B) 1000111111001010 D) 1000111111010010

Aadakilerden hangisi kullancya yanstlacak bilgileri belirtmek iin kullanlr?

A) C)
14.

B) D)
butonunun grevi aadakilerden hengisidir?

A) Properties (zellikler) B) View code (kodu gster) C) Refresh (yenile) D) Show all files (btn dosyalar gster)

DEERLENDRME
Cevaplarnz cevap anahtaryla karlatrnz. Yanl cevap verdiiniz ya da cevap verirken tereddt ettiiniz sorularla ilgili konular faaliyete geri dnerek tekrarlaynz. Cevaplarnzn tm doru ise bir sonraki modle gemek iin retmeninize bavurunuz.

33

CEVAP ANAHTARLARI CEVAP ANAHTARLARI


RENME FAALYET 1CEVAP ANAHTARI 1 2 3 4 5 Yazlm C D B D

RENME FAALYET 2 CEVAP ANAHTARI 1 2 3 4 5 Algoritma zm Deneme D A B

RENME FAALYET 3 CEVAP ANAHTARI 1 2 3 4 5 C A D Ctrl + Tab View

MODL DEERLENDRME CEVAP ANAHTARI 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Giri Yksek Seviyeli Ak Diyagram Ara ubuklar D C B C D A B D A C

34

KAYNAKA KAYNAKA
http://www.ecma-international.org/ http://www.gorselprogramlama.com/ (15.03.2011- 12:00) http://www.yazilimmutfagi.com/ (15.03.2011- 12:00) http://www.csharpnedir.com/ (15.03.2011- 12:00) http://www.programmersheaven.com/ (15.03.2011- 12:00) http://tr.wikipedia.org/wiki/Ana_Sayfa

35

You might also like