Hemen Başlayalım
Pratik ve tekrar çok önemli! Öğrendiklerinizi tekrar edin, kendi örneklerinizle pratik yapın! Bu şekilde çalışmayacaksanız hiç başlamayın…
Algoritma bir problemin çözümü için, bir ihtiyacın giderilmesi için yada bir hedefe varmak için giriş gelişme ve sonuç benzeri işlemler sırasının olduğu matıksal tasarıma denir. İlk algoritma İranlı matematik insanı Harezmi (Al-Khwarizmi) tarafından geliştirilmiştir. Algoritma kelimesi latincedir. Harezminin hint-arap sayı sisteminin Avrupaya tanıtımı çalışmaları sayesinde ismi “algorismus” ‘ tan “algoritmaya” evrilmiştir.
Algoritmanında yapısına ve işleyişine göre özellikleri vardır. Bunlar:
- Algoritma açık yani kesin bir dille yazılmalıdır.
- Gereksiz işlemlerin olmadığı bir yapıda olmalıdır. Yani tekrar işlemi ile gereksiz kod satırları temiz kod prensibini bozar.
- Algoritmanın sonu olmalı.
- Algoritma programlanabilir işlemler içermeli.
- Amaca, hedefe uygun içerikte olmalı.
- Algoritma dikkatli yazılmalıdır. Eğer bir mantık hatası olursa sonuçta hatalı olacaktır.
Algoritma günümüzde teknolojinin her alanında kullanılır. Örnek verecek olursak; Sosyal medya, Arama motorları v.b.
Algoritma yazılımın tasarım aşamasıdır. Algoritmanın amaca yönelik tasarımının tamamlanmasının ardından tüm algoritma tasarımının istenilen programlama diline göre (C, C++, C#, Java, Python v.b.) yazılması ile hedeflenen programlama işlemi yapılır. Tabi ki bu işlemleri yapmak ile süreç tamamlanmaz. test ve doğrulama gibi bir sürü işlem ile devam edilir.
Satır satır algoritma oluşturma işlemine sözde kod (pseudo code) denir. Bu yöntem herhangi bir programlama diline ihtiyaç duymadan algoritmanın mantığını konuşma dili ile ifade etmemize yarar. İlerleyen derslerdeki örneklerle bunu daha net anlayacağız. Algoritma yazımı akış diyagramı ile yani görsel gösterim ile daha anlamlı hale gelir. Tek başına satır satır sözde kod yazmak yerine FlowChart kullanarak algoritmayı daha anlaşılır hale getirebiliriz.
Akış Diyagramı Görüntü Anlamları:
- Elips -> Başla ve Bitir adımları için
- Paralel Kenar -> Verilerin girilmesi adımları için
- Dikdörtgen -> İşlemlerin bulunduğu adımlar için (Dört işlem benzeri…)
- Eşkenar Dörgen -> Karar yada Kontrol yapıları adımları için (İf-Else benzeri…)
Sözde kod ile basit bir algoritma tasarlayalım:
Amaç: 2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritma tasarlayalım.
- BAŞLA
- 1. vizeyi al (PUAN1)
- 2. vizeyi al (PUAN2)
- Finali al (PUAN3)
- SONUÇ = (PUAN1 + PUAN2 + PUAN3) / 3
- EĞER SONUÇ > 50 ise:
- Ekrana “GEÇTİ” yaz
- DEĞİLSE
- Ekrana “KALDI” yaz
- BİTİR
Akış diyagramı ile basit bir algoritma tasarlayalım:
Pseudo kod ile tasarladğımız algoritmayı flowchart ile tasarlayalım. 2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren algoritma:

Algoritma akış diyagramı tasarımı için kullanılan en yaygın program Flowgorithm’ dir. Programı indirip kendi örneklerinizi yapabilirsiniz.
İndirme linki: https://www.flowgorithm.org/download/
2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritmanın Python dili ile kod yazımı:
sayi1 = input()
sayi2 = input()
sayi3 = input()
sonuc = (float(sayi1) + float(sayi2) + float(sayi3)) / 3
if sonuc >= 50:
print(“GEÇTİ”)
else:
print(“KALDI”)
2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritmanın C dili ile kod yazımı:
2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritmanın C++ dili ile kod yazımı:
2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritmanın C# dili ile kod yazımı:
2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritmanın JAVA dili ile kod yazımı:
2 vize 1 finalden oluşan sınavların sonucunda öğrencinin aldığı puanların hepsini toplayıp ortalamasını alarak 50′ den büyükse “Geçti” küçükse “Kaldı” sonucunu döndüren bir algoritmanın Javascript dili ile kod yazımı:
