1. Flowgorithm’e Giriş: Algoritma Tasarımının Temel Taşı

  • Giriş: Algoritmanın üzerinde çalışacağı veri veya başlangıç değerleri.
  • Adımlar (Prosedür): Her bir işlemin açıkça tanımlandığı mantık dizisi.
  • Çıkış: Algoritmanın ürettiği sonuç veya çözüm.
  1. Doğruluk: Algoritma; her adımın belirli bir mantık ve kesinlik içinde çalışmasını gerektirir.
  2. Sonluluk: Algoritma; sonlu sayıda adımda tamamlanmalıdır.
  3. Belirginlik: Algoritmadaki her adım açık, anlaşılır ve belirli bir eylemi tarif etmelidir.
  • Verimlilik: Algoritmalar, bir problemin çözümüne en kısa sürede ve en az kaynak kullanımıyla ulaşmayı mümkün kılarak zaman ve maliyet açısından üstünlük sağlar.
  • Uyarlanabilirlik: Güçlü bir algoritma, farklı türdeki problemlere kolayca entegre edilebilen esnek bir çözüm altyapısı sunar, böylece geniş bir uygulama yelpazesinde kullanılabilir hale gelir.
  • Teknolojik İlerleme: Modern yazılım ve donanım teknolojilerinin temelinde, karmaşık sorunları çözme yeteneğine sahip yenilikçi ve optimize edilmiş algoritmalar yer alır; bu da teknolojik gelişimin motor gücünü oluşturur.

2. Flowgorithm’in Kullanıcı Arayüzü ve Temel Bileşenleri

Araçlar ve Kullanıcı Arayüzü

  • [1] Dosya Aç (Open File – Klasör İkonu): Daha önce kaydedilmiş bir Flowgorithm dosyasını açar.
  • [2] Dosya Kaydet (Save File – Disk İkonu): Mevcut diyagramı kaydetmek için kullanılır.
  • [3] Çalıştır (Run – Yeşil Oynat İkonu): Algoritmayı baştan sona çalıştırır.
  • [4] Adım Adım Çalıştır (Step – Tek Çizgi ve İleri Ok): Algoritmayı adım adım ilerleterek, çalıştırır; işlemleri daha ayrıntılı incelemeye olanak tanır.
  • [5] Duraklat (Pause – Çift Çizgi): Algoritmayı ilgili adımda duraklatır.
  • [6] Durdur (Stop – Kare İkon): Genel program çalışmasını durdurur.
  • [7] Çalışma Hızı (Çalışma Hızı): Algoritmanın çalışma hızını (Adım geçiş hızını) belirler.
  • [8] Kontrol Noktasını Yoksay (Ignore Breakpoints – Kırmızı Daire Çizgiyle): Çalışmakta olan algoritmanın kontrol noktalarını doğrudan geçer.
  • [9] Ana Metot (Main): Algoritmanın ana metodunu görüntüler veya düzenler.
  • [10] Fonksiyon Yöneticisi (Function Manager): Algoritmada kullanılan tüm fonksiyonları düzenlemek, görüntülemek ve yönetmek için kullanılır.
  • [11] Yakınlaştır (Zoom In – Büyüten Büyüteç İkonu): Diyagramı yakınlaştırır.
  • [12] Uzaklaştır (Zoom Out – Küçülten Büyüteç İkonu): Diyagramı uzaklaştırır.
  • [13] Otomatik Düzen (Auto Layout – Ekran ve Çok Yönlü Ok): Diyagram ekranlarını, otomatik olarak; ekran üzerinde düzenler.
  • [14] Düzen Ekranları (Layout Windows – Kümelenmiş Ekranlar): Akışları; girdileri ve çıktıları takip edebilmenizi sağlayan, ek kontrol ekranları açar.
  • [15] Değişken İzleme Penceresi (Variable Watch Window; X=x İkonu): Algoritmaların çalıştırılması sırasında; tüm değişkenlerin durumunu, gerçek zamanlı olarak takip etmenize olanak tanır.
  • [16] Konsol Ekranı (Console Window): Algoritmaya yönelik girdilerin verilmesi ve sonuç/karşılıkların izlenmesini sağlar.
  • [17] Grafik Arayüzü (Turtle Graphics Window): Görsel bir arayüzdür; algoritmalarınızın geometrik şekiller, çizgiler ve desenler oluşturmasını sağlar.
  • [18] Kaynak Kod Görüntüleyicisi (Source Code Viewer): Algoritmanızın kaynak kod olarak bir dile yönelik incelenmesi ve dönüştürülmesini sağlar.
  • [19] Kaynak Şema Rengi (Choose Color Scheme): Arayüzün temasını veya renk şemalarını değiştirir.
  • [20] Renk Şeması Uygulama (Apply Color Scheme): Arayüzün temasını veya renk şemalarını uygular.
  • [21] Farklı Dile Çevirme (Change Language): Flowgorithm arayüz dilini değiştirir.

Akış Diyagramı Bileşenleri

a. Başlangıç ve Bitiş (Oval – Terminator)

  • Simge: Oval
  • Kullanım Alanı: Programın başladığı veya bittiği noktaları belirtir.
  • Özellikler:
    • Her akış diyagramı bir Başlangıç ile başlar ve bir Bitiş ile sona erer.
    • Genellikle “Start” ve “End” metinleriyle ifade edilir.

b. Giriş/Çıkış (Paralelkenar – Input/Output)

  • Simge: Paralelkenar
  • Kullanım Alanı: Kullanıcıdan veri almak (input) veya ekrana çıktı vermek (output) için kullanılır.

    Örnekler:
    Giriş: Bir sayı giriniz: a
    Çıkış: Çıkış değeri: b

c. İşlem (Dikdörtgen – Process)

  • Simge: Dikdörtgen
  • Kullanım Alanı: Matematiksel işlemler, atama işlemleri veya değişken değerlerinin değiştirilmesi gibi işlemler için kullanılır.

    Örnek:
    sum = num1 + num2

d. Karar (Elmas – Decision)

  • Simge: Elmas
  • Kullanım Alanı: Koşullu dallanmayı ifade eder.Mantıksal bir ifadeye göre “Evet” (True) veya “Hayır” (False) olarak iki farklı akış yolu sunar.

    Örnek:
    if x > y şeklinde bir karşılaştırma yapılabilir.

e. Bağlantı (Daire – Connector)

  • Simge: Daire
  • Kullanım Alanı: Büyük veya karmaşık diyagramlarda farklı bölümleri birbirine bağlamak için kullanılır.
    Özellikle diyagram bir sayfadan daha büyükse, bu bileşen kullanılır.
  • Özellikler:
    • Diyagramın okunabilirliğini artırır.

f. Döngü (Loop – Karar ve İşlem Bileşimi)

  • Flowgorithm’de döngüler genellikle Karar bileşeni ile başlar ve bir İşlem bileşeni ile devam eder.

    Örnek Döngüler;
    While Döngüsü: Bir koşul; doğru olduğu sürece çalışır.
    For Döngüsü: Belirli bir sayı kadar, tekrar eder.

g. Yorum Satırları (Comment)

  • Simge: Dikdörtgen (Köşede etiket simgesiyle)
  • Kullanım Alanı: Algoritmayı açıklamak için eklenen notlardır.
    Program akışını etkilemez, sadece belgelemeyi kolaylaştırır.

    Örnek:
    // Bu hesaplama iki sayıyı toplamaktadır.

h. Oklar (Flowlines)

  • Simge: Düz veya yönlü çizgiler
  • Kullanım Alanı: Akış diyagramındaki bileşenler arasındaki bağlantıları temsil eder.
    Programın hangi sırayla işleyeceğini gösterir.

3. Algoritmaların Görsel Temsili ve Diyagramların Anlaşılması

Algoritma ve Akış Diyagramlarının İlişkisi

Anlaşılabilirlik

Hata Ayıklama Kolaylığı

Algoritma Mantığını Takip Etme

Akışın Düzenlenmesi

Modüler Yaklaşım

İsimlendirme ve Yorumlama

4. Örnek Flowgorithm Algoritmaları

https://github.com/huseyineneserturk/flowgorithm-flowchart-ornekleri

./ Dersler

Ders kaynaklarına ve materyallerine erişmek için aşağıdaki bağlantıyı kullanabilirsiniz.

Sayfaya Git

https://github.com/yussufbiyik/flowgorithm-turkce-ornekler

https://github.com/HarunUYGUC/Algorithm_with_Flowgorithm