ALGORİTMA VE PROGRAMLAMA (Bölüm 1) · PDF fileALGORİTMA VE PROGRAMLAMA...
Transcript of ALGORİTMA VE PROGRAMLAMA (Bölüm 1) · PDF fileALGORİTMA VE PROGRAMLAMA...
ALGORTMA VE
PROGRAMLAMA
(Blm 1)
1
Prof. Dr. Hakan ndil - Elektronik Teknolojisi - 2015-2016 Gz
(VZEDE SORUMLU OLUNAN KONULARINI KAPSAR)
PROBLEM ZME ve ALGORTMALAR
Bir problemi zmek iin yaplacak ilemler
en genel ekilde iki admda incelenebilir:
1. Algoritma (Problemi zme Yolu)
2. Kodlama (Gerekletirme)
2
1. Algoritma
Problemin zmn tanmlayan
admlarn srasyla elde edilmesidir.
3
PROBLEM ZME ve ALGORTMALAR (Devam)
Her Algoritma Aadaki Kriterleri Salamaldr:
1. Girdi : Dardan Sfr veya farkl bir deer verilmeli.
2. kt : En azndan bir deer retilmeli.
3. Aklk : Her ilem (komut) ak olmal ve farkl anlamlar
iermemeli.
4. Sonluluk : Her trl ihtimal iin algoritma sonlu admda
bitmeli.
5. Etkinlik : Her komut, kiinin kalem ve kat ile
yrtebilecei kadar basit olmaldr.
4
PROBLEM ZME ve ALGORTMALAR (Devam)
PROBLEM ZME ve ALGORTMALAR (Devam)
Algoritma yapma Srasnda Dikkat Edilecek Hususlar:
Doruluu kesin olarak ispatlanmadka, hibir eyi doru
olarak kabul etmeyin; tahmin ve nyarglardan kann.
Karlatnz her gl mmkn olduu kadar ok
paraya bln.
Anlalmas en kolay olan (basit) eylerle balayp yava
yava daha zor ve karmak olanlara doru ilerleyin.
nce olaya baknz ok genel, sonra hazrlayacanz
ayrntl liste (detayl algoritma) ise hibir eyi darda
brakmayacak kadar kusursuz ve eksiksiz olsun.
5
2. Kodlama
Bir programlama diliyle bu Algoritmann
programa (yazlma) dntrlmesidir.
6
PROBLEM ZME ve ALGORTMALAR (Devam)
Kodlama (Programlama) Dili Seerken;
Dil yaplacak ie uygun zelliklere sahip mi ?
Dier dillerle uyumluluu ve bu dillere dntrme
imkanlar nedir?
renmesinin kolay/zor olup olmad, rnekler var
m?
Piyasada, bu dili kullanan, yeteri kadar i gc(kii)
olup olmad gibi hususlara dikkat edilmelidir.
7
PROBLEM ZME ve ALGORTMALAR (Devam)
PROBLEM ZME ve ALGORTMALAR (Devam)
zme Aamalar
Problem zme Aamalar: (Daha Ayrntl)
1. Sistem htiyalar:
Sistem ihtiyalarna gre problemin tam olarak ne
olduunun anlalmasdr.
Problemin zmnden neler beklendii bilinmelidir.
zmn girdi ve ktlarnn neler olaca kesin
olarak belirlenmelidir.
8
PROBLEM ZME ve ALGORTMALAR (Devam)
zme Aamalar
2. Analiz:
Sistem ihtiyalar belirlendikten sonra bunlar
temel paralara ayrlarak bu paralar ayr ayr
deerlendirilir.
Bu paralar arasndaki ilikiler tanmlanr.
Bu suretle sonuca gitmeye allr.
9
3. Tasarm (Algoritma):
Kullanlacak zm admlarn gsteren
Algoritma ad verilen bir liste yaplr
Byle bir algoritma tasarlanrken ilk nce ana
(genel) admlar karlr.
Daha sonra her adm iin daha ayrntl bir
algoritmaya geilir.
10
PROBLEM ZME ve ALGORTMALAR(Devam)
zme Aamalar
4. Kodlama (Programlama):
Gelitirilen algoritma bir programlama diline
evrilir.
Bu dilin, programn yazmn ar
zorlatrmayacak ve karmaklatrmayacak
bir dil olmas tercih edilmelidir.
Program yazacak olann bilgisi de dikkate alnr.
11
PROBLEM ZME ve ALGORTMALAR(Devam)
zme Aamalar
5. Sistem Testi:
Program deiik girdiler ile altrlr
Programn rettii sonular (ktlar) kontrol
edilerek test ilemi gerekletirilir.
Sonular beklendii gibi ise programn doru
alt ispatlanm olunur
Deilse doru almayan ksmlar tespit edilerek
dzeltilir.
12
PROBLEM ZME ve ALGORTMALAR(Devam)
zme Aamalar
6. Bakm:
Programn gncel artlara gre yeniden
dzenlenmesini ieren bir konudur.
Oluan hatalarn giderilmesi
Yeni eklemeler yaplmas
Ya da programn teknolojisinin
yenilenmesi gibi ilemlerdir.
13
PROBLEM ZME ve ALGORTMALAR (Devam)
zme Aamalar
14
Herhangi bir admda sorun yaanrsa (gerektiinde) bir adm geri
dnlr
PROBLEM ZME ve ALGORTMALAR(Devam)
zme Aamalar (Admlar)
Problem zmede Algoritma ve Programlama
Yukarda aklanan Problem zme
Aamalarndan ikisi dersimizin konusunu
ile dorudan ilgilidir :
Algoritma (Tasarm)
Programlama (Kodlama)
Bu balklar daha ayrntl olarak inceleyelim
15
PROBLEM ZME ve ALGORTMALAR (Devam)
Algoritma Trleri
Algoritma Trleri:
ki farkl ekilde ifade edilebilirler:
1. Pseudo (Szde) Kod
2. Ak Diyagram (Ak emas)
16
1. Pseudo (Szde) Kod: Bir algoritmann;
Hem programlama dili kurallar
Hem de konuma dili kullanlarak
ortaya koyulmas/tanmlanmasdr.
Not: yi bir biimde yazlm, Psedo Koddan,
programlama diline kolaylkla geilebilir.
PROBLEM ZME ve ALGORTMALAR (Devam)
Psedo (Szde) Kod
17
Pseudo Kod
Dorudan konuma dilinde
Programlama mant altnda
Eer, iken gibi art kelimeleri ve
Byk, Eit, Kk ise vb. ifadeler ile
yazlr.
Not: Ayn Problem iin ok farkl Psedo Kod Yazlabilir.
PROBLEM ZME ve ALGORTMALAR (Devam)
Psedo Kod (Devam)
18
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
rnek 1: Verilen iki saynn toplamnn bulunarak bu toplamn yazdrlmas algoritmasn psedo (szde) kod
ile yaznz.
1. Bala
2. Birinci Sayy Oku
3. kinci Sayy Oku
4. ki Sayy Topla
5. Toplam yaz
6. Dur
19
rnek 2: Verilen bir scaklk derecesine gre suyun durumunu belirten bir algoritmay psedo (szde) kod ile
yaznz.
Not 1: Programn, scakla gre Su, Buz, Buhar
eklinde Suyun durumunu gstermesi istenmektedir.
Not 2: nce programn ne yaptna dir aklama
mesaj sonra da scaklk deerinin girilmesi iin
uyar mesaj yazlsn.
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
20
1. Bala
2. Programn grevini aklama mesaj yaz
3. Kullancnn scakl girmesi iin bir uyar mesaj yaz
4. Girilen Scakl Oku
5. Eer Scaklk sfrdan Kk ise
Durum=Buz
6. Eer Scaklk 100e Eit yada Byk ise
Durum= Buhar
7. Deilse
Durum =Su
8. Durum sonucunu Yaz.
9. Son
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
21
Programn almas: (140 derece rnei iin)
Bu Program, scakla gre Su, Buz, Buhar
eklinde suyun durumunu gsterir. (Aklama mesaj)
Ltfen derece cinsinden scakl giriniz: 140
(Uyar mesaj)
(Girdi)
BUHAR (kt)
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
22
rnek 3: Bir Pseudo (szde) Kod yazarak bir
rencinin dnem sonu not ortalamasn
hesaplayp rencinin dersten geip
gemeyeceini tespit edin.
Not : Not ortalamas eit arlkl 4 nottan olusun ve
Geme notu 50 olsun.
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
23
1. Bala
2. rencinin dersten ald 4 notu Girin uyar
mesajn yaz.
3. Ortalamay hesaplamak zere notlar topla
ve 4e bl.
4. Eer Ortalama 50 nin altnda ise
Baarsz yaz.
5. Deilse (Aksi halde)
Baarl yaz.
6. Son
24
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
Ayn Psedo Kodu Programlama Diline daha yakn tarzda farkl ekilde tekrar yazalm:
1. Bala
2. M1,M2,M3,M4 rencinin Notlarn Girin
3. ORTALAMA = (M1+M2+M3+M4)/4
4. Eer (ORTALAMA < 50) ise
Baarsz yaz
5. Deilse (Aksi halde)
Baarl yaz
6. Son
25
PROBLEM ZME ve ALGORTMALAR (Devam) Psedo Kod (Devam)
2. Ak Diyagram (Ak emas):
Algoritmann grsel/ekilsel olarak ortaya
koyulmasdr.
Yaplmas gerekenleri geometrik ekillerden
oluan sembollerle gsterir.
PROBLEM ZME ve ALGORTMALAR (Devam)
Ak Diyagram
26
Ak Diyagram kullanlmas ile
program Grsellik kazanacandan
Programn takip edilmesi
daha da kolaylar.
PROBLEM ZME ve ALGORTMALAR (Devam)
Ak Diyagram (Devam)
27
Terminal Sembol:
Ak Diyagramnda Balang ya da Biti belirtir.
Giri lemi Sembol:
Bir Giri ilemini temsil eder.
lem Sembol:
Algoritmada bir ilemi temsil eder
Karar Sembol:
ki deerin mukayesesi dahil karar ilemini temsil eder
n Tanml lem Sembol:
Daha nce tanml bir ilemi temsil eder
k lemi Sembol:
Bir k ilemini temsil eder.
PROBLEM ZME ve ALGORTMALAR (Devam)
Ak Diyagram (Devam) SEMBOLLER (Sk Kullanlanlar) :
28
rnek 4: Girilen bir uzunlua ait inch (in) deerini santimetreye eviren hem bir Psedo kod yazp hem de bir Ak Diyagram iziniz.
Not: 1 inch = 2.54 cm dir.
PROBLEM ZME ve ALGORTMALAR (Devam)
Ak Diyagram (Devam)
29
Ak Diyagram
30