Temel tanımlar ve işleyiş ALGORİTMA HAZIRLAMA Temel tanımlar ve işleyiş Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Doç.Dr. Cihad DEMİRLİ
Algoritma Hazırlama İ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ı 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ı İş/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 İşlemleri belirten sembollere, bilgisayar dilinde “operatör” denir. Her programlama dilinin kendi yapısında, fazladan operatör bulunabilir.
Matematiksel Operatörler İşlem Bilgisayar Toplama + Çıkarma - Çarpma * Bölme / Üs alma ^
Karşılaştırma Operatörleri İş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 Matematiksel Sembol VE . VEYA + DEĞİL ‘
Küme İşlem Operatörleri + 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
Alfasayısal Operatörler Genel İşlem Operatörleri Diğer operatörler Alfasayısal Operatörler + Birleştirme Genel İşlem Operatörleri = Aktarma ( ) Parantez
Algoritmada Kullanılan Terimler 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.
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).
Değişken 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) 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) 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) 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) 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
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.
Aktarma işlemi uygulama sonuçları b Eski c Yeni c Matematiksel ifadelerde (c=a+b) 3 7 --- 10 5 12 20 33 53 Mantıksal İfadelerde (c=a+b) 1 Alfasayısal ifadelerde (c=a+b) Fener bahçe Fenerbahçe İstanbul spor İstanbulspor Hatay Hatayspor
Aktarma (Örnek 1) 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+3=3 2 4 3+4=7 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.
Döngü Oluşturma Kuralları Döngü değişkenine başlangıç değeri verilir. Döngünün artma veya azalma miktarı belirlenir. Döngünün bitiş değeri belirlenir 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.
01-10 arası tek sayıların toplamını hesaplayınız? Döngü (Örnek 1) 01-10 arası tek sayıların toplamını hesaplayınız? 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+1=1 3 1+3=4 5 4 4+5=9 7 9 9+7=16 16 16+9=25 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ı 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… 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ı Ç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. Başla N sayısını gir Fak=1 S=0 Eğer S>N-1 ise git 9 S=S+1 Fak=Fak*S Git 5 Yaz Fak Dur
Algoritma Hazırlama Kuralları Yapılacak iş/çözümlenecek problem iyice irdelenir. Tüm olasılıklar gözden geçirilir. En az komutla, en kısa sürede, en doğru ve hassas sonuca ulaştıracak çözüm yolu/yöntem belirlenir. Tanımlayıcı isimleri belirlenir. 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.
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. Sonradan yapılacak düzenlemelerde kolaylıklar sağlar.
DEVAM EDECEK…