Algoritma, bir problemin çözümüne ulaşmak ya da belirli bir görevi yerine getirmek için izlenmesi gereken adımları açık ve düzenli bir şekilde tanımlayan talimatlar bütünüdür. Bu talimatlar, genellikle mantıksal bir sıralamaya göre düzenlenir ve sonlu bir süreç içinde çözüm elde edilmesini sağlar. Algoritmalar, bilgisayar programlarının temelini oluşturur ve matematikten günlük yaşantıya kadar geniş bir alanda kullanılır. Her algoritma, başlangıç ve bitiş noktaları ile birlikte kesin, açık ve tekrar edilebilir bir yapıya sahiptir. Bu sayede algoritmalar, hem insanlar hem de makineler tarafından kolayca uygulanabilir.
Algoritma Özellikleri
Açık ve Net: Her adım net bir şekilde tanımlanmalıdır.
Sıralı: Adımlar mantıksal bir sırayla ifade edilmelidir.
Sonlu: Algoritma bir noktada sonlanmalıdır.
Etkili: Her adım uygulanabilir olmalıdır.
Algoritma Örneği: İki Sayının Toplamı
Problem: İki sayının toplamını bulun.
Adımlar:
Başla.
Birinci sayıyı oku (A).
İkinci sayıyı oku (B).
A ve B’yi topla (C = A + B).
C’yi ekrana yazdır.
Bitir.
Akış Diyagramı Nedir?
Akış diyagramları, bir işlemi veya algoritmayı basitleştirerek görselleştirir. Algoritma ve Akış Diyagramları tek bir çatı altında toplanarak incelenebilir. Akış diyagramlarında kullanılan şekillerle işlemler, kararlar ve veri akışı açıkça ifade edilir. Bu diyagramlar, algoritmayı anlamayı kolaylaştırır ve sorun çözme sürecini hızlandırır.
Akış Diyagramında Kullanılan Şekiller ve Anlamları
Akış diyagramları belirli standart şekiller kullanır. İşte bu şekiller ve anlamları:
Sembol
Anlamı
ELİPS
(Başlangıç)
Görevi: Sürecin başladığını veya sona erdiğini belirtir.
Kullanımı: İlk ve son adımları temsil eder.
Örnek: “Başla” veya “Bitiş” yazılır.
PARALEL KENAR
(Giriş Çıkış)
Görevi: Verinin alınmasını (girdi) veya dışarı aktarılmasını (çıktı) temsil eder.
Kullanımı: Kullanıcıdan veri almak ya da ekrana bir mesaj yazdırmak için kullanılır.
Örnek: “Kullanıcıdan sayı al” veya “Sonucu göster”.
DİKDÖRTGEN
(İşlem)
Görevi: Bir işlemin yapılacağını veya bir görevin yerine getirileceğini ifade eder.
Kullanımı: Hesaplama, veri işleme, veri kaydetme gibi işlemleri gösterir.
Örnek: “x = x + 1” veya “Veriyi sakla”.
ALTIGEN
(Döngü)
Görevi: Süreçte hazırlık işlemlerini veya tekrar eden döngü yapılarını belirtir.
Kullanımı: Süreç başlamadan önce yapılacak ayarlamaları ya da bir döngünün başlangıcını veya sonunu göstermek için kullanılır.
Örnek: Bir algoritmada, “Değişkenleri tanımla” adımı için ya da “Döngü başlangıcı: i = 0” şeklinde ifade edilebilir.
EŞKENAR DÖRTGEN
(Koşul)
Görevi: Karar verme, koşul durumlarını veya dallanma noktalarını belirtir.
Kullanımı: Evet/Hayır veya Doğru/Yanlış gibi iki farklı yolu temsil eder.
Örnek: “x > 10?” gibi koşullar belirtilir.
DALGALI DÖRTGEN
(Çıktı)
Görevi: Belge çıktısını veya bir raporun yazdırıldığını ifade eder.
Kullanımı: Bir süreç sonunda oluşturulan fiziksel ya da dijital bir belgeyi gösterir. Örneğin, bir fatura, rapor ya da yazıcıdan alınan bir belgeyi temsil edebilir.
Örnek: “Fatura oluştur ve yazdır.” “Rapor çıktısı alın.”
DAİRE
(Bağlantı)
Görevi: Akış diyagramının karmaşıklığını azaltmak ve bağlantıları göstermek için kullanılır.
Kullanımı: Özellikle diyagram başka bir sayfaya devam ediyorsa veya döngüler varsa.
Örnek: Sayfa içi geçiş: Eğer bir karar sonucunda iki farklı işlem çok uzakta yer alıyorsa, daire ile “A” gibi bir harf eklenir. Aynı harf, sonraki işlem başında yer alır ve böylece bağlantı sağlanır. Sayfa dışı geçiş: Büyük bir diyagram başka bir sayfada devam ediyorsa, daire içinde “B Sayfası” veya “2. Sayfa” yazılır.
OKLAR
(Bağlantılar)
Görevi: Semboller arasındaki akışı veya adım sırasını gösterir.
Kullanımı: İşlemlerin veya kararların hangi sırayla yapılacağını belirtir.
Örnek: Bir işlemin sonucu bir sonraki adıma geçiş için oklarla bağlanır.
Akış Diyagramı Nasıl Çizilir?
Bir akış diyagramı oluşturmak için şu adımları izleyebilirsin:
Problemi Tanımla: Çözmek istediğin problemi açıkça ifade et.
Adımları Belirle: Süreçte yer alan işlemleri sıralı bir şekilde düşün.
Şekilleri Kullan: Adımları uygun şekillerle temsil et.
Akışı Çiz: Oklarla adımları birbirine bağla.
Doğruluk Kontrolü Yap: Diyagramın mantığını ve doğruluğunu kontrol et.
Algoritma ve Akış Diyagramları
Örnek Akış Diyagramı
Bir Sayının Tek mi Çift mi Olduğunu Kontrol Etme
Adımlar:
Başlangıç (Oval)
Kullanıcıdan bir sayı al (Paralelkenar)
Sayının 2’ye bölünebilirliğini kontrol et (Eşkenar Dörtgen)
Evet: Çift sayı yazdır (Dikdörtgen)
Hayır: Tek sayı yazdır (Dikdörtgen)
Bitiş (Oval)
Akış Diyagramlarının Avantajları
Anlaşılabilirlik: Algoritmayı görsel hale getirdiği için herkes kolayca anlayabilir.
Hata Bulma: Sorunları kolayca fark etmeyi sağlar.
Planlama: Karmaşık süreçleri analiz etmeyi ve düzenlemeyi kolaylaştırır.
Algoritma ve Akış Diyagramlarının Kullanım Alanları
Programlama: Yazılım geliştirme sürecinde, programın mantığını planlamak için kullanılır.
Problem Çözme: Karmaşık problemleri adım adım çözmek için kullanılır.
Eğitim: Programlama ve mantık geliştirme eğitimlerinde temel araç olarak kullanılır.
İş Süreçleri: İş akışlarını modellemek ve optimize etmek için kullanılır.
Algoritma ve Akış Diyagramlarında Dikkat Edilmesi Gerekenler
Basitlik: Algoritmalar ve akış diyagramları mümkün olduğunca basit ve anlaşılır olmalıdır.
Doğruluk: Her adım doğru ve uygulanabilir olmalıdır.
Eksiksizlik: Tüm olası durumlar (örneğin, karar yapıları) dikkate alınmalıdır.
Görsellik: Akış diyagramları, şekiller ve oklar doğru kullanılarak çizilmelidir.