Algoritma Nedir, Algoritma Örnekleri ve Akış Diyagramları

Algoritma Nedir, Algoritma Örnekleri ve Akış Diyagramları

Bilgisayarlara hangi işin nasıl yapılacağını belirten işlemlere kısaca komut adı verilir.

Algoritma Nedir?

Bir problemin çözülmesi için izlenen yola algoritma denir.

Başka bir deyişle algoritma belirli bir kurala bağlı olan her türlü hesap işlerine verilen addır.

Matematikte ise algoritma bir sorunun yanıtını ya da bir problemin çözümünü sonlu sayıda aşmada veren sistematik yöntemdir.

Algoritma kelimesi IX.yy’ın başında yaşamış olan ünlü Türk matematikçilerinden Muhammed ibni Musa El-Marezini”nin isminden türetilmiştir. Avrupalıların El-Marezmi’nin ismini “Alkhorismi” biçiminde söylemlerinden Algoritma kelimesi doğmuştur.

Basit bir algoritma örneği; Bir sayının karekökünü bulma
324 sayısının karekökünü basit işlemlerle bulmaya çalışalım;

  • İlk önce bir tahmin yapılır. Tahmin edilen sayı 15 olsun
  • Tahmin doğruluğu denenir 324 ÷ 15 = 21,6
  • Çıkan sonuçla tahmin edilen 31.6 + 15 = 36.6
  • Sayının ortalaması alınır. 36.6 ÷ 2 = 18.3
  • Yeni sonuç tekrar denenir 324 ÷ 18.3 = 17.7
  • Tekrar ortalama alınır 17.7 + 18.3 = 36
  • 36 ÷ 2 = 18
  • Yeni sonuç tekrar denenir. 342 ÷ 18 = 18

Tahmin edilebildiği gibi algoritmalarla hesap makineleri arasında sıkı bir bağ vardır. Öyle ki makineyle yapılabilen herhangi bir işlem bir algaritma şeklinde yazılabilir. Aynı şekilde şimdiye kadar kurulmuş bütün algoritmalar hesap makinasıyla yapılabilir.

Bununla birlikte bilgisayar alanında da problem çözümü için algoritmalardan oldukça fazla yararlanılır.

Bilgisayar kullanarak problem çözerken ilk yapılacak iş problemi anlayarak analiz etmek ve çözüm yollarını ortaya koymaktır. Bilgisayarlar henüz problemin nasıl çözüleceği konusunda insanlara yardımcı olamıyor. Sadece insanların çözüm için gösterdiği yollardan giderek komutları hatasızca uygulamaktadır. Bilgisayarın doğru sonuca ulaşabilmesi için kendisine gösterilen çözüm yolunda hiçbir belirsizlikle ve karışıklıkla karşılaşmaması gerekir. Bu nedenle hazırlanacak çözüm yolunda her türlü detay bulunmalı ve karşılaşılabilecek değişik durumlarda bilgisayarın çözüme nasıl devam edeceği bildirilmelidir.

Problem çözümü için bilgisayara verilen çözüm yöntemleri birer algoritmadır.
Çok çeşitli algoritmalar vardır. Örneğin iki sayının en büyük ortak bölenini bulma “öklid algoritması” olarak bilinir. Ayrıca bilgisayar alanında ve otomatik hesap makinalarında algoritmalardan çokça yararlanılır.

Algoritmanın Özellikleri Nelerdir?

  1. Girdi Bilgisi: Algoritmaya dışarıdan verilen sıfır yada daha fazla girdi bilgisi olabilir.
  2. Çıktı Bilgisi: Bir algoritma en az bir tane çıktı bilgisi üretmek zorundadır. Her algoritmanın ürettiği bilgi kullanıcı tarafından her zaman istenen bilgi değildir. Bu yüzden bir algorimanın çıktı bilgisi bir başka algoritmaya girdi bilgisi olarak gönderilir ve istenilen sonuç elde edilir.
  3. Kesinlik: Algoritmadaki her bir komut açık ve belirsizlikten uzak olmalıdır. Gerçek yaşamda sonuçlar bazen çok kesin olmayabilir ancak algoritmada kesin olmalıdır.

 Verilen 5 sayının toplamını bulan bir algoritma aşağıdaki gibidir.

A0. Başla

A1. Sayıların toplamını 0 al

A2. Sayı miktarını 0 al

A3. Sayıyı öğren

A4. Öğrendiğin sayıyı sayıların toplamına ekle ve sonucu sayıların toplamına ata

A5. Sayı miktarını 1 arttır ve sonucu sayı miktarı olarak ata

A6. Eğer sayı miktarı 5'den küçük ise A3'e git.

A7. Sayıların toplamı olarak sayıların toplamını belirt.

A8. Dur 

 Aşağıda yukarıdaki algoritmanın adım adım çalıştırıldığında değişkenlerin aldığı değerler verilmiştir.

 algoritma_1

 Sayı sütünu kullanıcının girdiği değerleri göstermektedir. Algoritmanın her adımında kullanıcının girdiği değerlere göre sayıların toplamı ve sayı miktarı hesaplanmaktadır.

 

 Örnek: Bir işyerinde başvuruda bulunan belirsiz sayıdaki kişilerden geçerli başvuruda bulunan aday sayısını bulan algoritmayı oluşturunuz. Başvurunun geçerli olması için kişinin askerliğini yapmış 35 yaşından küçük ve ingilizce biliyor olması gerekmektedir.

Çözüm: 

A0: Başla

A1: Aday sayısını 0 al

A2: Adayın cinsiyetini öğren

A3: Eğer erkek ise A4'e git. Aksi halde A11'e git

A4: Adayın yaşı 35'den küçük mü?

A5: Yanıt evet ise A6'ya git. Aksi halde A16'ya git. 

A6: Aday askerliğini yapmış mı?

A7: Yanıt evet ise A8'e git. Aksi halde A16'ya git.

A8: Aday ingilizce biliyor mu?

A9: Yanıt evet ise A10'a git. Aksi halde A16'ya git.

A10: Aday sayısını 1 arttır ve sonucu aday sayısı olarak ata. A16'ya git

A11: Adayın yaşı 35'den küçük mü?

A12: Yanıt evet ise A13'e git. Aksi halde A16'ya git

A13: Aday ingilizce biliyor mu?

A14: Yanıt evet ise A15'e git. Aksi halde A16'ya git

A15: Aday sayısını 1 arttır ve sonucu aday sayısı olarak ata

A16: Başka aday var mı?

A17: Yanıt evet ise  A2'ye git.

A18: Geçerli aday sayısı olarak aday sayısı değerini belirt.

A19: Dur

Akış Diyagramları

Akış diyagramları algoritmanın okunurluğunu arttırmak için kullanılan sembollerdir. Akış diyagramlarında başla/dur, işlem akış yönü, veri giriş simgesi, çıkış simgesi, işlem simgesi ve karar kutusu gibi semboller kullanılır.

ak%C4%B1%C5%9F_diyagram%C4%B1Şekilde akış diyagramı sembolleri yer almaktadır.

 

 Örnek: 1'den 20'ye kadar (20 dahil) olan her bir tamsayının karesinin sonucunu bildiren algoritmayı ve akış diyagramını oluşturun.

A1: Başla

A2: Sayının başlangıç değerini 0 al.

A3: Sayının değerini 1 arttır ve sayıya ata.

A4: Sayının değeri 21 ise A8'e git.

A5: Sayıyı sayı ile çarp

A6: Elde ettiğin sonucu belirt.

A7: A3'e git.

A8: Dur

1DEN20YEKADAR_akis

 1'den 20'ye kadar (20 dahil) olan her bir tamsayının karesinin sonucunu bildiren akış diyagramı

 

 Örnek: Bir sayının faktoriyelini hesaplayan algoritma ve akış diyagramını çiziniz.

A1: Başla

A2: Faktoriyeli hesaplanacak sayıyı öğren

A3: Sayıların çarpımı ve sayı miktarı 1 olsun

A4: Sayıların çarpımını sayı miktarı ile çarp ve sonucu sayıların çarpımına ata

A5: Sayı miktarını 1 arttır ve sonucu sayı miktarına ata

A6: Sayı miktarı faktoriyeli hesaplanacak sayıdan küçük veya eşit ise A4'e git

A7: Sayıların çarpımını faktoriyel olarak belirt

A8: Dur 

 

sayilarin_faktoriyeli_AK%C4%B0S
Bir sayının faktoriyelini hesaplayan algoritmanın akış diyagramı

 

 Örnek: Bir okuldaki 1000 öğrencinin anne ve babalarının ayrı ayrı eğitim düzey yüzdelerini bulan bir algoritma yazınız ve akış diyagramını çiziniz.

A1: Başla

A2: Lise mezunu anne sayısını ve üniversite mezunu anne sayısını 0 al

A3: Lise mezunu baba sayısını ve üniversite mezunu baba sayısını 0 al.

A4: Öğrenci sayısını 0 al

A5: Öğrencinin annesinin eğitim durumunu öğren

A6: Öğrencinin annesi lise mezunu ise lise mezunu anne sayısını 1 arttır

A7: Öğrencinin annesi üniversite mezunu ise üniversite mezunu anne sayısını 1 arttır.

A8: Öğrencinin babasının eğitim durumunu öğren

A9: Öğrencinin babası lise mezunu ise lise mezunu baba sayısını 1 arttır

A10: Öğrencinin babası üniversite mezunu ise üniversite mezunu baba sayısını 1 arttır.

A11: Öğrenci sayısını 1 arttır

A12: Öğrenci sayısı 1000'den küçük ise A5'e git aksi halde A13'e git

A13: Lise mezunu annelerin yüzdesini bul ve belirt

A14: Üniversite mezunu annelerin yüzdesini bul ve belirt

A15: Lise mezunu babaların yüzdesini bul ve belirt

A16: Üniversite mezunu babaların yüzdesini bul ve belirt

A17: Dur


Yorumlar0

Henüz Yorum Yapılmamış.Yorumlarınızı bekliyoruz

Yorumlarınızı Bekliyoruz


Yorum Yazın

Yorum Yapın