Ekli Dosyayı İndir

Download Report

Transcript Ekli Dosyayı İndir

ALGORİTMA HAZIRLAMA
Temel tanımlar ve
işleyiş
1
Kaynak: Algoritma Geliştirme ve Programlamaya Giriş,
Dr. Fahri VATANSEVER, Seçkin Yay., 2007
Yrd.Doç.Dr. Cihad DEMİRLİ
Algoritma Hazırlama
2

İnsan, günlük yaşamda bir işi
gerçekleştirmek için plan yapar.

Bilgisayar dünyasında, insanın yaptığı plan
kavramına eşdeğer “algoritma” kavramı
vardır.
Algoritma ve Akış Diyagramı
3

Algoritma, bilgisayardaki bir
işlemin/işlemlerin gerçekleştirilmesinde
izlenecek adımlar dizisine denir.

Algoritmanın özel geometrik şekillerle çizilmiş
hali de “akış diyagramı” olarak adlandırılır.
Program Yazma Adımları
1.
2.
3.
4.
4
İş/problem iyice irdelenir.
Programlamaya en uygun (en az komutla, en kısa
sürede, en doğru-hassas sonuç) çözüm yolu
seçilir/belirlenir.
Programın algoritması hazırlanır veya akış
diyagramı çizilir.
Algoritma veya akış diyagramı, programcının
bildiği veya tercih ettiği bir programlama diliyle
kodlanarak program oluşturulur.
Algoritmada Kullanılan Oparatörler
5

İşlemleri belirten sembollere, bilgisayar
dilinde “operatör” denir.

Her programlama dilinin kendi yapısında,
fazladan operatör bulunabilir.
Matematiksel Operatörler
6
İşlem
Bilgisayar
Toplama
+
Çıkarma
-
Çarpma
*
Bölme
/
Üs alma
^
Karşılaştırma Operatörleri
7
İşlem Sembolü
Anlamı
=
Eşittir
<>
Eşit değildir
>
Büyüktür
<
Küçüktür
>= veya =>
Büyük eşittir
<= veya =<
Küçük eşittir
Mantıksal İşlem Operatörleri
8
Mantıksal İşlem
Matematiksel Sembol
VE
.
VEYA
+
DEĞİL
‘
Küme İşlem Operatörleri
9
+
Birleşim
-
Fark
*
Kesişim
=
Eşit
<>
Eşit değil
=< veya <=
Soldaki küme, sağdakinin alt kümesi
>= veya >=
Sağdaki küme, soldakinin alt kümesi
Diğer operatörler
Alfasayısal Operatörler
+
Birleştirme
Genel İşlem Operatörleri
10
=
Aktarma
()
Parantez
Algoritmada Kullanılan Terimler

11
Algoritmada sıklıkla kullanılan terimler;
–
Tanımlayıcı
–
Değişken
–
Aktarma
–
Sayaç
–
Döngü
Tanımlayıcı
Program yazan kişi tarafından düşünülüp
oluşturulan ve programdaki değişkenleri,
sabitleri, paragrafları, kayıt alanlarını, özel
bilgi tiplerini, alt programlarını vb.
adlandırmak için kullanılan kelimelere denir.
12
Tanımlayıcı

İsimlendirme kuralları;
–
İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir.
–
0-9 arası rakamlar kullanılabilir.
–
Sembollerden sadece alt çizgi ( _ ) kullanılabilir.
–
Tanımlayıcı isimleri harf veya alt çizgi ile başlayabilir.
–
Tanımlayıcı ismi, rakamla başlayamaz veya sadece
rakamlardan oluşamaz (sayı olamaz).
13
Değişken
14

Programın her çalıştırılmasında, farklı değerler
alabilen/aktarılabilen bilgi/bellek alanlarıdır.

Değişke isimlendirme tamamen programcıya aittir.

Ancak adının yerini aldığı ifadeye çağrışım yapacak
şekilde olması programın anlaşılırlığı açısından
önemlidir.
Değişken (Örnek)
1.
2.
3.
4.
5.
6.
15
Başla
Birinci sayıyı (A) gir
İkinci sayıyı (B) gir
C=A+B işlemini yap
Sonucu (C) yaz
Dur
Değişken (Örnek 1)
1.
2.
3.
4.
5.
6.
16
Başla
Birinci sayıyı (A) gir
İkinci sayıyı (B) gir
C=A+B işlemini yap
Sonucu (C) yaz
Dur
Değişken (Örnek 2)
1.
2.
3.
4.
5.
6.
7.
8.
17
Başla
Öğrencinin numarasını (No) gir
Öğrencinin adını soyadını (Adsoy) gir
Öğrencinin vize notunu (Vize) gir
Öğrencinin final notunu (Final) gir
Ort = 0.3 * Vize + 0.7 * Final
Numara (No) ve ortalamayı (Ort) yaz
Dur
Değişken (Örnek 2)
1.
2.
3.
4.
5.
6.
7.
8.
18
Başla
Öğrencinin numarasını (No) gir
Öğrencinin adını soyadını (Adsoy) gir
Öğrencinin vize notunu (Vize) gir
Öğrencinin final notunu (Final) gir
Ort = 0.3 * Vize + 0.7 * Final
Numara (No) ve ortalamayı (Ort) yaz
Dur
Aktarma
Herhangi bir bilgi alanına, veri yazma; herhangi
bir ifadenin sonucunu başka bir değişkende
gösterme vb. görevlerde “aktarma” operatörü
kullanılır.
değişken = ifade
19
Aktarma
Aktar
….değişken…. = ….ifade….
İşlem yönü
İşlem adımları:
1. Sağdaki ifadeyi gerçekleştir veya sağdaki işlemi yap.
2. Bulunan sonucu, soldaki değişkene aktar.
20
Aktarma işlemi uygulama sonuçları
a
b
Eski c
Yeni c
Matematiksel ifadelerde (c=a+b)
3
7
---
10
5
7
10
12
20
33
12
53
Mantıksal İfadelerde (c=a+b)
0
1
---
1
0
0
1
0
1
1
0
1
Alfasayısal ifadelerde (c=a+b)
21
Fener
bahçe
---
Fenerbahçe
İstanbul
spor
Fenerbahçe
İstanbulspor
Hatay
spor
İstanbulspor
Hatayspor
Aktarma (Örnek 1)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
22
Başla
T=0
Bir sayı (A) gir
T=T+A işlemini yap
Başka bir sayı (B) gir
T=T+B işlemini yap
Başka bir sayı (C) gir
T=T+C işlemini yap
Yaz T
Dur
İşlem
A
B
C
Eski T
Yeni T
1
3
--
--
0
0+3=3
2
--
4
--
3
3+4=7
3
--
--
5
7
7+5=12
T=12
Döngü
Programlardaki belirli işlem bloklarını, verilen
sayıda gerçekleştiren işlem akış çevrimlerine
“döngü” denir.
23
Döngü Oluşturma Kuralları
1.
Döngü değişkenine başlangıç değeri verilir.
2.
Döngünün artma veya azalma miktarı belirlenir.
3.
Döngünün bitiş değeri belirlenir
4.
Eğer döngü, karar ifadeleriyle oluşturulduysa,
döngü değişkeni, döngü içinde adım miktarı kadar
arttırılmalı/azaltılmalıdır.
24
Döngü (Örnek 1)
01-10 arası tek sayıların
toplamını hesaplayınız?
1.
2.
3.
4.
5.
6.
7.
8.
9.
25
Başla
T=0
J=1
Eğer J>10 ise git 8
T=T+J
J=J+2
Git 4
Yaz T
Dur
Eski J Eski T
Yeni T
Yeni J
1
0
0+1=1
3
3
1
1+3=4
5
5
4
4+5=9
7
7
9
9+7=16
9
9
16
16+9=25
11
11
-
-
-
Ardışık Toplama

Ardışık toplama işleminin prensibi sayaca benzer.

Programlarda, aynı değerin üzerine yeni değerler
eklemek için kullanılır.
Toplam değişkeni= Toplam değişkeni + Sayı

26
Toplam değişkenine, başlangıç değeri olarak 0 (sıfır)
verilir.
Ardışık Toplama (Örnek 1)
Klavyeden girilen 5 sayının ortalamasını bulan programın algoritmasını
ve çalışmasını açıklayınız…
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
27
11.
Başla
T=0
S=0
Eğer S>4 ise git 9
S=S+1
Sayıyı (A) gir
T=T+A
Git 4
Ortalama=T/S
Yaz Ortalama
Dur
Ardışık Çarpma

Ardışık çarpma işleminde; aynı değer, yeni
değerlerle çarpılarak eskisinin üzerine
aktarılmaktadır.
Çarpım değişkeni = Çarpım değişkeni * Sayı

28
Çarpım değişkenine başlangıç değeri olarak
1 (bir) atanır.
Ardışık Çarpma (Örnek 1)
Klavyeden girilen N sayısının faktöriyelini hesaplayan programın
algoritmasını yazınız.
1.
Başla
2.
N sayısını gir
3.
Fak=1
4.
S=0
5.
Eğer S>N-1 ise git 9
6.
S=S+1
7.
Fak=Fak*S
8.
Git 5
9.
Yaz Fak
10.
Dur
29
Algoritma Hazırlama Kuralları
1.
Yapılacak iş/çözümlenecek problem iyice irdelenir.
Tüm olasılıklar gözden geçirilir.
2.
En az komutla, en kısa sürede, en doğru ve hassas
sonuca ulaştıracak çözüm yolu/yöntem belirlenir.
30
3.
Tanımlayıcı isimleri belirlenir.
4.
Algoritma her işlem adımına bir numara verilir.
Algoritma Hazırlama Kuralları
5. Problemin çözümü için gerekli olan veriler/işlenecek
veriler girilir veya başka ortamlardan alınır.
6. Yapılacak işlemler/kullanılacak yöntemler açık
şekilde verilir.
7. Bulunan sonuçlar görüntülenir veya belirli ortamlarda
saklanır.
8. İşleyiş durdurulur.
31
Algoritma/akış diyagramının avantajları

Program yazmayı kolaylaştırır.

Hatalı kodlama oranını azaltır.

Program yazımı için geçen süreyi kısaltır.

İşlem akışını bir şekilde gösterdiğinden program kontrolünü
kolaylaştırır.

32
Sonradan yapılacak düzenlemelerde kolaylıklar sağlar.
DEVAM EDECEK…
33