You are on page 1of 48

Algoritmalar ve

Programlama
Algoritma

Algoritma
Bir sorunu / problemi zmek veya belirli bir amaca ulamak iin
gerekli olan sral mantksal admlarn tmne algoritma denir.
Algoritma bir sorunun zm iin izlenecek yolun tanmdr.
Ksaca algoritma mevcut bilgilerden istenilenlere erime
yntemidir.
Programlamann en nemli ksm problemin zm iin algoritma
hazrlayabilmek / gelitirmektir.
Hazrlanan algoritmann bir programlama dili ile kodlanmas iin
basit ksmdr.
Kullanlan dilin basic / pascal / c ya da baka bir programlama dili
olmas bir eyi deitirmez.
Yani burada Bu yzden kullanlan programlama dilinin eski yada yeni
bir programlama dili olmas hi nemli deildir.

Algoritmadan Beklentiler
Etkinlik: Bilgisayarlar dnemez. Bu yzden algoritmann her adm
anlalr, basit ve kesin bir biimde ifade edilmi olmaldr. Yorum
gerektirmemeli ve belirsiz ifadelere sahip olmamaldr. Gereksiz
tekrarlarda bulunmayan dier algoritmalar ierisinde de
kullanlabilir olmaldr.
Sonluluk: Her algoritmann bir balang noktas, belirli ilem adm
ve bir biti noktas iermelidir. Sonsuz dngye girmemelidir.
Kesinlik: lem sonucu kesin olmal, ayn veri iin her yeni
altrmada ayn sonucu retmelidir.
Giri/k: Algoritma giri (zerinde ilem yaplacak deerler) ve
k (yaplan ilemler neticesinde retilen sonu deerler)
deerlerine sahip olmaldr.
Baarm/Performans: Ama donanm gereksinimi (bellek kullanm
gibi), alma sresi gibi performans kriterlerini dikkate alarak
yksek baarml programlar yazmak olmaldr.

Algoritma fade ekilleri


1. Algoritmann metin olarak yazlmas
zlecek problem, adm adm metin olarak
yazlr.
Her satra numara verilir.
Bala ile balayp son ile bitirilir

Algoritma fade ekilleri


Problem: Klavyeden girilen saynn karesini
hesaplayarak ekrana yazdran programn
algoritmasn yaznz?
1)
2)
3)
4)
5)

Bala
Sayy (A) gir
Saynn karesini hesapla (Kare = A*A ilemini yap)
Sonucu (Kare) yaz
Dur

Algoritma fade ekilleri


Pseudo Code (Kaba Kod)
Szde programlar, dorudan konuma dilinde ve
programlama mant altnda, eer, iken gibi koul
kelimeleri ve > = < gibi ifadeler ile beraber yazlr.
yi bir biimde yazlm, szde koddan,
programlama diline kolaylkla geilebilir.

Algoritma fade ekilleri


Problem: Verilen bir scaklk derecesine gre
suyun durumunu belirten bir szde
program(pseudo kod) yaznz.
stenilen programn Pseudo Kodu:
1. Program aklama mesaj yaz.
2. Kullancn scakl girmesi iin bir uyar mesaj yaz.
3. Girilen Scakl Oku.
5. Eer Scaklk < 0 ise Durum=Buz
6. Eer Scaklk>= 100 ise Durum=Buhar
7. Deilse Durum =Su
8. Sonucu Yaz.

Ak Diyagramlar (emalar)
Algoritmann, grsel olarak simge ya da
sembollerle ifade edilmi ekline ak
emalar veya FLOWCHART ad verilir. Ak
emalarnn algoritmadan fark, admlarn
simgeler eklinde kutular iine yazlm olmas
ve admlar arasndaki ilikilerin ve ynnn
oklar ile gsterilmesidir.

Ak Diyagramlar (emalar)
En basit ekliyle dikdrtgen kutulardan ve
oklardan oluur. Ak emas sembolleri ANSI
(American National Standards Institute)
standard olarak belirlenmi ve tm dnyada
kullanlmaktadr.

Ak Diyagramlar (emalar)

Ak Diyagramlar (emalar)

Ak Diyagramlar (emalar)

Ak Diyagramlar (emalar)

Ak Diyagramlar (emalar)

Algoritmalarda Kullanlan Operatrler

Algoritmalarda Kullanlan Terimler


1)
2)
3)
4)
5)
6)
7)
8)

Tanmlayc
Deiken
Sabit
Aktarma
Saya
Dng
Ardk Toplama
Ardk arpma

1)

Tanmlayc
Programc tarafndan oluturulur.
Programdaki deikenleri, sabitleri, kayt alanlarn, zel bilgi tiplerini vb.
adlandrmak iin kullanlan kelimeler
Tanmlayclar, yerini tuttuklar ifadelere arm yapacak ekilde seilmelidir.
ngiliz alfabesindeki A-Z veya a-z aras 26 harften
0-9 aras rakamlar kullanlabilir
Sembollerden sadece alt izgi (_) kullanlabilir.
Tanmlayc isimleri harfle veya alt izgiyle balayabilir.
Tanmlayc ismi, rakamla balayamaz veya sadece rakamlardan oluamaz.

Algoritmalarda Kullanlan Terimler


2-)Deiken
Programn her altrlmasnda, farkl deerler alan
bilgi/bellek alanlardr.
Deiken isimlendirilmeleri, yukarda saylan tanmlayc
kurallarna uygun biimde yaplmaldr.
rnein ;

Bir ismin aktarld deiken ; ad


Bir isim ve soy ismin aktarld deiken; adsoyad
Ev telefon no sunun aktarld deiken; evtel
Ev adresinin aktarld deiken; evadres
adresinin aktarld deiken; isadres

3-) Sabit
Programdaki deeri deimeyen ifadelere sabit denir.
simlendirme kurallarna uygun olarak oluturulan sabitlere,
saysal veriler dorudan; alfa saysal veriler ise tek/ift trnak
iinde aktarlr.

Algoritmalarda Kullanlan Terimler

Algoritmalarda Kullanlan Terimler


4-) Aktarma

Algoritmalarda Kullanlan Terimler


5-) Saya

Algoritmalarda Kullanlan Terimler

Algoritmalarda Kullanlan Terimler


6-) Dng
Bir ok programda baz ilemler, belirli ardk
deerlerle gerekletirilmekte veya belirli sayda
yaptrlmaktadr. Programlardaki belirli ilem
bloklarn, verilen sayda gerekletiren ilem ak
evrimlerine dng denir.
rnein 1 ile 1000 arasndaki tek saylarn
toplamn hesaplayan programda T=1+3+5 .
yerine 1 ile 1000 arasnda ikier artan bir dng
alr ve dng deikeni ardk toplanr.

Algoritmalarda Kullanlan Terimler

Algoritmalarda Kullanlan Terimler


7-) Ardk Toplama
Programlarda, ayn deerin zerine yeni deerler eklemek iin
kullanlr.
Toplam deikeni=Toplam deikeni + Say
rnek: Klavyeden girilen 5 saysnn ortalamasn bulan programn
algoritmas.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.

Bala
T=0
S=0
Eer S>4 ise git 9
S=S+1
Sayy (A) gir
T=T+A
Git 4
Ortalama=T/5
Yaz Ortalama
Dur

Algoritmalarda Kullanlan Terimler


8-) Ardk arpma
Ardk veya ardl arpma ileminde; ayn deer, yeni
deerlerle arplarak eskisinin zerine aktarlmaktadr.
arpm deikeni=arpm deikeni * Say
rnek: Klavyeden girilen N saysnn faktriyelini hesaplayan
programn algoritmasn yaznz.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Bala
N saysn gir
Fak=1
S=0
Eer S>N-1 ise git 9
S=S+1
Fak=Fak*S
Git 5
Yaz Fak
Dur

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller
Dng Yaps
Bu yap kullanlrken, dng sayac, koul bilgisi ve sayacn
artm bilgisi verilmelidir. Dng sayac kullanlmyorsa
sadece dngye devam edebilmek iin gerekli olan koul
bilgisi verilmelidir.
Genel olarak ou programlama dilinin dng deyimleri ;
While
Do-while
For

gibi yaplar zerine kurulmutur. Farkl dillerde bu yaplara


farkl alternatifler olsa da dnglerin alma mant
genel olarak benzerdir.

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller

Ak Diyagramlarnda Kullanlan Temel


ekiller

Matematiksel ilemler

Matematiksel ilemler

Matematiksel ilemler

Matematiksel ilemler

Karlatrma

Karlatrma

Mantksal lemler

Mantksal lemler

Mantksal lemler

Mantksal lemler

Mantksal lemler

Mantksal lemler

yi almalar

You might also like