Bilgisayar Programlama - Algoritma ve Akış Şeması Nedir?

Merhaba! Bilgisayar programlama için ikinci konumuz olan "Algorimta ve Akış Şeması" konusunu anlattım!

Algoritma Nedir?

denizhan-şahin-bilgisayar-programlama-algoritma-nedir


Belli bir problemi çözmek için matematik ve mantık çerçevesinde tasarlanan, başlangıcı ve sonu belli olan işlemler kümesidir. Tarihte bilinen ilk algoritma tasarımını yapan kişi el-Harizmi'dir. İlk algoritma, Hisab el-Cebir ve el-Mukabala isimli kitapta yer almaktadır.

Bir amaca ulaşmak için veya mevcut olan bir problemin çözümü için, kurallı ve mantıklı bir düzen içinde yol haritası belirlemektir. Belirlenen yol haritasının başlangıcı ve bitişi kesin olmalıdır. Bu yol haritasının her adımı kolay uygulanabilir, anlaşılabilir olmalıdır. Belirlenecek bu yol haritasının her adımı sıralamasına dikkat edilmelidir.

Veri Tipi, Değişken ve Değer


denizhan-şahin-bilgisayar-programlama-veri-tipi-değişken


Algoritmada yer alan her bir büyüklük bilgisayar biliminde değişken olarak adlandırılmaktadır. Bu büyüklüklere atanan her veriye ise değişkenin değeri olarak adlandırılır(kısaca değer). Her  bir değişken ise sahip olduğu veri tipine göre değer almaktadır. Veri tipleri ise değişkenlerin sahip olabileceği değerlerin türlerini belirtmektedir.

Akış Şeması Tanımı

Bir problemin çözümünde kullanılan algoritmayı anlaşılır bir şekilde görselleştirmek amacıyla yapılan bir şemadır. Çeşitli şekiller ile tasarlanmaktadır. Ayrıca her bir şeklin belirli bir anlamı bulunmaktadır. Bu anlamlara göre algoritmada yer alan her adım daha kolay bir şekilde açıklanabilecektir.

Aşağıda ise akış şeması ile ilgili bilgiler yer almaktadır:
denizhan-şahin-bilgisayar-programlama-akış-şeması

Örnekler

En Büyük Sayıyı Bulma Algoritması

50 tane not olsun  ve rastagele olarak sıralanmışlardır. i adım sayısını, notlar(i) ilgili i değerine gelen sıradaki nottur. max ise bulunan en büyük nottur.

1. max ← notlar1, i←2 
2. i ≤ 50 ise 3. adıma, değilse 5. adıma git. 
3. notlar(i) > max ise max ← notlar(i)
4. i ← i + 1 ve 2. adıma dön. 
5. en yüksek not: max

denizhan-şahin-bilgisayar-programlama-akış-şeması

Sayı Tahmin Etme Algoritması

En küçük sayı taban,  en büyük sayı tavan, akılda tutulan sayı ise tutulan, tahmin edilen sayı ise söylenen isimleri verilsin. Bu he bir değişkenin veri tipi ise sayıdır.

• 1.YÖNTEM : Algoritma 1. Alt sınırdan başla, bulana kadar birer artırarak ilerle.
1. söylenen ← taban
2. söylenen = tutulan ise buldun, dur
3. söylenen ← söylenen + 1 ve 2. adıma dön 

• 2.YÖNTEM : Algoritma 1. Alt sınırdan başla, bulana kadar birer artırarak ilerle.
1. alt ← taban, üst ← tavan
2. söylenen ← (alt + üst) / 2
3. söylenen = tutulan ise buldun, dur
4. söylenen > tutulan ise üst ← soylenen - 1, değilse alt ← söylenen + 1 ve 2. adıma
dön.

denizhan-şahin-bilgisayar-programlama-akış-şeması


Algoritma Karşılaştırma


Hız : En kötü durum veya ortalama durum için incelenir. Hangi algoritma daha hızlı bulur.
Bellek : Hangi algoritma bellekte daha fazla yer kaplamaktadır?
Bu iki duruma göre çeşitli algoritmalar geliştirilebilmektedir.

Sözde Kod

Algoritmayı konuşma tarzına yakın olacak şekilde ve akış şeması gibi olmadan yazı halinde anlatan bir yöntemdir.

Popüler Algoritma Türleri

Arama algoritmaları
Bellek yönetimi algoritmaları
Bilgisayar grafiği algoritmaları
Birleşimsel algoritmalar
Çizge algoritmaları
Evrimsel algoritmalar
Genetik algoritmalar
Kripto algoritmaları veya kriptografik algoritmalar
Kök bulma algoritmaları
Optimizasyon algoritmaları
Sıralama algoritmaları
Veri sıkıştırma algoritmaları

YouTube videosu:


Yorum Gönder

Yorum yaptığınız için teşekkürler :)

Daha yeni Daha eski