programlama temeller

Click here to load reader

Post on 07-Jun-2015

4.213 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

PROGRAMLAMA TEMELLERBilgisayar programlamasnn amac insan ile makine arasnda iliki kurmak ve haberlemeyi salamaktr. Yksek Seviyeli Diller (High Level Language) - Pascal, Cobol,Basic,C++ insan derleyici Alak Seviyeli Diller (Assembly Languages) - Assembly, Derleyiciler -

0101011 Makine Dili

Gnmzde yzlerce programlama dili vardr. Bunlar genel olarak gruba ayrabiliriz. 1. Makine dili (Machine Languages); mikroilemci komutlarnn kodunu zer, ikili saylara dntrr. Yani makine dili 1 ve 0 larn dizilimlerinden oluur. 2. Alak Seviyeli diller (Assembly Languages) ; Sembolik makine dillerini ve doal makine dillerini kapsar. MOV AX, S1 MOV BX, S2 ADD AX,BX MOV TOPLAM, AX 3. Yksek Seviyeli Diller ; belirli kalplarda belirli kurallara gre yazlmalar artlandrlmtr. Bu artlandrmalar her programlama diline gre deiir. Yksek Seviyeli bir programlama dilinin u ilevi yerine getirmesi gerekir. a). Bilgisayar kullanmnda uzmanlamam personel iin , insan diline olabildiince yakn bir yapay dile gereksinim vardr. b). Belirli bir kullanm alanna zg bir bilgi trn , olabildiince zahmetsiz bir ekilde ileyebilecek bir yapya sahip olmalar gerekir. c). Program yerine getirmek iin kullanlan bilgisayardan bamsz olmaldr. Yksek Seviyeli bir dili Alak Seviyeli veya Makine diline eviren programlar, derleyici veya yorumlayclardr. . Derleyiciler (Compilers) : leme ynelik dilde yazlm bir temel program (kaynak program), makine diliyle yazlm ama programa eviren programlardr. Derleyiciye evirmesi iin verilen programa kaynak (source) program, makine diline evrilen programa ise ama (object) program denir. Derleyiciler, yksek seviyeli her bir programlama diline zg yazlrlar. Yksek Seviyeli bir dille yazlan yazlmlarda, kurallarna ters den hata kontrollerini yaptktan sonra komutlarn ve bilgilerin makine tarafndan tannarak ilemlerin yaplmasn , sonularn tekrar yksek seviyeli programlama diline anlalr duruma getirilmesini salarlar. Kaynak kodu evriciler rnein; DOS letim sisteminde bir PASCAL programnn hangi aamalardan geerek alabilir bir kod haline geldii aadaki emada gsterilmitir. Ama ( object ) kodu

Editr

*.pas

Derleyici

*.obj

Balayc

*.exe

Kaynak programlar, editrler kullanlarak yazlrlar. Daha sonra bu kaynak kodlar derleyiciler tarafndan ama koda evrilirler. En sonunda ise balayc programlar ile alabilir hale getirilirler. Yorumlayclar ( Interpreters) : Yorumlayclar, kaynak program satr satr ele alarak dorudan altrrlar, yorumlayclar standart bir ama kod retmezler. Yorumlama ilemi satr satr yapldnda genellikle ilk hatann bulunduu yerde programn almas da kesilir. Yorumlayclar, derleyicilere gre ok daha kolay yazlabilir. Yorumlayclarn bir program icra zaman (run time) derleyicilere gre olduka uzundur. Yorumlayclarn her zaman kaynak koda ihtiya duymalar da kaynak kodun gizlilii ve gvenirlii asndan bir dezavantajdr. Basic programlama dili yorumlayc kullanrken , Pascal ,Cobol, Fortran C++ gibi diller derleyici kullanr.

Programlama dilleri :Hangi programlama dilini renirsek renelim 4 tane kalp her programlama dilinde geerlidir. Bunlar ; Deikenler Sabitler Mesajlar ( stediimiz zaman baka bir deerle deitirebileceimiz bir bilgi tadr.) ( Dorudan ileme sokulurlar ve program alt srece deimezler. ) ( Program ile kullanc aras iletiimi salar. Mesajlar aslnda birer sabittir. nk program alt srada deimezler. ) Komutlar (Bilgisayarn o an ne yapacan belirten bir emirdir. Ksaltlm yada tam ngilizce kelimelerden oluurlar. ) Deikenler : Deiken, bilgileri saklamak zere kullandmz ismini ve tipini belirlediimiz bellek alanlarna verilen isimdir. Basic Deiken tipi tamsay ise A% Deiken tipi tek duyarlkl gerel say A! , A (7 basamakl) Deiken tipi ift duyarlkl gerel say A# (17 basamakl) Deiken tipi string (alfa saysal) A$

rnek :CLS PRINT 22 / 7 Saysnn gsterimi A%= 22 / 7 PRINT Tamsay deeri : , A% 3 A!= 22 / 7 PRINT Tek duyarlkl gerel say deeri : , A! A# = 22 / 7 PRINT ift duyarlkl gerelsay deeri : , A# A$ = 22 / 7 PRINT A$ 22 / 7 END.

3,142857 3,142857074737545

Pascal 1- Saysal deikenler : Tamsaylar : - Byte 0 355 - Integer -32768 ... +32767 - Word 0 65535 - Long int - 2 milyar... +2 milyar - Short int - 128 ... +128 Gerel saylar : - Real - Single :2.String (alfasaysal alfanmerik) deikenler char 1 karakter string string [n]

1 Byte 2 Byte 2 Byte 4 Byte 1 Byte 6 Byte 4 Byte

Sabitler :Bellein bir blmndeki bilgiyi ifade ederler. Sabitlerin bir ad vardr. Dorudan ileme sokulurlar ve programn almas esnasnda deimezler.

rnek :Cls nput yarap gir,r Pi = 3.14 Print dairenin alan Alan = pi * (r^2) Print dairenin alan ,alan End Not: Var A : nteger Const PI = 3.14

Mesajlar : Aslnda birer sabittir. nk program alt srece deimezler. Kullanc ile program arasndaki iletiimi salarlar.

Algoritma :Bir problem snfn sonlu bir zamanda zebilmek iin gelitirilmi ak seik, yrtlebilir, sral, basit ve gerektike tekrar eden admlardan oluan yntemdir.

Algoritma le lgili Temel Kavramlar :1. Sunum(presentation) 2. Program

3. Yrtm(execution)1.Sunum: Algoritmann ifade eklidir. 2.Program:Bir algoritmann bilgisayar iin gelitirilmi biimsel (format) sunum eklidir.Bu

ama iin eitli programlama dilleri kullanlr. Basc Print Gir Pascal Writeln Gir C Print Gir Yrtm (altrma)

Algoritma Program Sunum

3.Yrtm :Bir programn yrtm demek o program tarafndan sunulan algoritmay gereklemek demektir.

Ak Diyagram : Algoritmann ekillerle gsterilmesine denir. Program Yazarken Takip Edilecek Hususlar : 1. Programn algoritmasn oluturup (ak diyagramn) iziniz. 2. stenilen algoritma ve ak diyagramn bir programlama dilinde kodlaynz. 3. Programn bilgisayarda altrlmas. 4. Derleyici hata veriyorsa dzeltiniz. Test 5. Programda istediiniz sonular alamyorsanz 1. adm kontrol ediniz. Programlama Hatalar : 1. Yazm hatas 2. Mantk hatas Algoritmada Kullanlan Operatrler : Operatrler, nesneler veya sabitler zerinde nceden tanmlanm birtakm ilemleri yapan atomlardr. Operatrler CPU (ilemci) tarafndan bir faaliyete neden olurlar ve bu faaliyet sonunda bir deer retilmesini salarlar. Programlama dillerindeki her operatr bir yada birden fazla makine komutuna karlk gelir. rn: c=(a*b) + 2 ileminde 4 operatr vardr.1. Matematiksel ilem operatrleri :

2. Mantksal ilem operatrleri :

^ * / + -

st alma arpma Blme Toplama karma

VE VEYA DEL DORU YANLI

AND OR + NOT | TRUE FALSE

3. Karlatrma operatrleri :

4. Genel ilem operatrleri :

= < > =

Eittir Eit deildir Kktr Byktr Kk eit Byk eit

= Aktarma ( ) Parantez

rnek : Bir iyerinde alan iiler arasndan yalnzca ya 23 n zerinde olup asgari cretalanlarn isimlerini listeleyen komut satrn yaznz ? Eer (ya > 23)1.koul ve (maa = asgari cret)2.koul ise isim listele Eer ya > 23 veya maa = asgari cret ise isim listele

rnek : Bir snfta Programlama Temelleri dersine 65 in zerinde not alp Trk Dili veya YabancDil derslerinin herhangi birinden 65 in zerinde not alanlarn isimlerini listeleyiniz ? Eer Prog.Tem. > 65 ve (Trk dili > 65 veya Yabanc dil >65) ise isimleri listele ki Saynn Toplamnn Yazlmas : NPUT Say 1 , Say 2 Toplam = Say 1 + Say 2 PRNT TOPLAM Algoritmalarda Kullanlan zel Terimler --Deiken : Programn almas esnasnda farkl deerler alabilen bilgi alanlardr. --Aktarma : Bir deikeni baka bir deikene atama (aktarma) olaydr. --Saya : Bir deikenin deerini belirli aralklarla fazlalatrma veya azaltma olaydr. Deikenlere isim verme kural : 1- Harfle balamal ve Trke karakter kullanlmamal. 2- 0 dan 9 a kadar rakam kullanlabilir. 3- zel karakterler ve boluk karakteri kullanlmaz. 4- Deiken isimleri anlaml olmaldr. Aktarma : A=5 5i A ya aktar.

rnek : Bilgisayara dardan say girecek bu saynn toplamn veren algoritmay oluturun.1- Bala 2- T = 0 3- Bir say gir (A) 4- T = T + A (T = 0+A 5- 2. sayy gir (B) 6- T = T + B 7- 3. sayy gir. (C) 8- T = T + C T=C 9- T yi gster.

T=A)

Saya : Saya deikeni = Saya deikeni + Artm deeri Saya olutururken ; 1- lk nce saya deikenine balang deeri verilir. 2- Saya artan veya azalan bir ekilde tanmlanr.

rnek : 1den 10a kadar saylarn toplamnn algoritmasn oluturunuz ?1- Bala 2- T = 0 , S = 1 3- T = T + S 4- S = S + 1 5- Eer S En uzun ise En uzun = B3 dr. 6. En uzun olan en uzundur. 7. Dur. II. YOL : 1. Bala 2. 3 kiinin boyunu giriniz ( B1 , B2 , B3 ) 3. Eer B1 > B2 ve B1 > B3 ise en uzun B1 4. Eer B2 > B1 ve B2 > B3 ise en uzun B2 5. Eer B3 > B1 ve B3 > B2 ise en uzun B3 6. En uzunu gster. 7. Dur. Algoritma Hazrlarken Dikkat Edilecek Hususlar : 1. Problemi iyice inceleyiniz. 2. Programlama mantna en uygun zm seiniz. 3. Algoritmada her ilem admna bir satr numaras veriniz. 4. Admlar aras geite kullanlan (dallanma komutu) git gidecei satr numaras ile birlikte kullanlr. 5. Mmkn olduu kadar az dallanma komutu kullannz. Bir problemi zerken : 1. nce deiken isimlerini belirleyiniz. 2. Veri girilerini yapnz.

3. Yaplacak ilemle ilgili formlleri yaznz. 4. Sonular ekrana yaznz.

Ak Diyagramlar :

lem

Balant

Karlatrma

Giri / k

Dng

Birletirme

Elle yaplacak Giri

Bala / Dur

Birletirme yn oklar

Monitr

kt

Ynlendirme

Elle yaplacak lem

Karar (E/H)

rnek : ki saynn toplamBala Say1,Say2 Toplam = Say1 + Say2 kt(T) Dur

rnek : 1den 10 a kadar olan saylarn toplamBala T=0 , S=1 T=T+S S=S+1 I S N E H E *,I I=I+1 M=1 H * , I^2 Dur M 2 N 5 I 1 2 3 4 5 6 *,1 *,4 *,9 * , 16 * , 25

rnek : N deeri 6 girilirse M ve I in son deeri ne olur ?Bala N M=1 I=2 M=M*I I=I+1 H E I>N I,M Dur N 6 M 1 2 6 24 12 0 72 0 I 2 3 4 5 6 7

Dng Yaps :

1. Tekrar says belli olan dngler: FOR Dng_deikeni= Balang_deeri TO Biti_deeri , Artm_miktar NEXT Artan dng : Balang deeri biti deerinden kk ise artan dngdr. Azalan dng : Balang deeri biti deerinden byk ise azalan dngdr.