Değerli hocalarım ve değerli arkadaşlar
TurkHackTeam camiasında çalışan ve azim eden bütün personel arkadaşlara selam olsun.
Konuya yavaştan giriş yapıyorum müsaadenizle.
Hayli kısacık uzun bir zaman içerisinde foruma giriş yapamamıştım. Ancak vakit bulabildim. Bilgisayar camiasında özellikle algoritma ve algoritma prensipleri üzerinde çeşitli fikir paylaşımları olmuş. Müsaadeniz olursa çorbamızda bizimde tuzumuz bulunsun.
İlk olarak algoritmanın ne olduğuyla ilgili durumdan giriş yapıp genel sonucumuza ulaşalım.
Algoritma neydi ?
Hayat içerisinde karşımıza çıkabilecek temel sorunların ve problemlerin çözüme ulaşabilmesi adına oluşturulan adımlar bütünü.
Algoritmanın Tarihçesi
Algoritma sözcüğü, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Hive kentinde doğmuş olan Ebu Abdullah Muhammed İbn Musa el Harezmi'den gelir.[4][5] Bu alim 9. yüzyılda cebir alanındaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük bir katkı sağlamıştır. "Hisab el-cebir ve el-mukabala (حساب الجبر و المقابلة)" kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur.
Çeşitli Algoritma Örnekleri
ÖRNEK 1
A0 --> Başla
A1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar.)
A2 --> Sayı=? : T=T+Sayı (Sayıyı giriniz. T'ye sayıyı ekle ve T'yi göster.)
A3 --> Sayaç=Sayaç+1 (Sayaç'a 1 ekle ve sayacı göster.)
A4 --> Sayaç<4 ise A2'ye git. (Eğer sayaç 4'ten küçükse Adım 2'ye git.)
A5 --> O=T/4 (Ortalama için T değerini 4'e böl)
A6 --> O'yu göster. (Ortalamayı göster.)
A7 --> Dur
ÖRNEK 2
Adım 1: Başla.
Adım 2: a, b, c, D, x1, x2, rp ve ip değişkenlerini tanımla.
Adım 3: Diskriminant değerini hesapla.
D ← b2-4ac
Adım 4: Eğer D≥0
x1 ← (-b+√D) / 2a
x2 ← (-b-√D) / 2a
değerlerini hesapla ve x1,x2 değişkenleri göster.
Eğer D≥0 değilse,
Gerçek kısım(rp) ve sanal kısmını(ip) hesapla.
rp ← b / 2a
ip ← √ (D) / 2a
Adım 5: "rp + j(ip)" ve "rp - j(ip)" değerlerini göster.
Adım 6: Dur.
ÖRNEK 3
Adım 1: Başla.
Adım 2: factorial,i ve n değişkenlerini tanımla.
Adım 3: Değişkenlerin başlangıç değerlerini tanımla.
factorial ← 1
i ← 1
Adım 4: Ekrandan girilen n değerini oku.
Adım 5: (i=n) eşitliği sağlanana kadar tekrarla.
5.1: factorial←factorial*i
5.2: i←i+1
Adım 6: factorial değişkeninin değerini göster.
Adım 7: Dur.
Bu ve buna benzer algoritma örneklerini verebilmek mümkün. Daha sade bir algoritma arıyorsanız, suyun ısıtılması probleminden yola çıkarak kendi algoritmanızı oluşturabilirsiniz.
Haydi algoritmanın temel felsefesi üzerine yoğunlaşalım:
Aslında tanımdan da belli olacağı şekilde bir problemi çözmenin yolu algoritmadan geçer.
Özellikle yazılım dünyasında, problemler üzerine projeler geliştirip tasarlandığı için o programı bozmak bile bir algoritma mantığı üzerinden geçer.
Saygılar ve hürmetler.
TurkHackTeam camiasında çalışan ve azim eden bütün personel arkadaşlara selam olsun.
Konuya yavaştan giriş yapıyorum müsaadenizle.
Hayli kısacık uzun bir zaman içerisinde foruma giriş yapamamıştım. Ancak vakit bulabildim. Bilgisayar camiasında özellikle algoritma ve algoritma prensipleri üzerinde çeşitli fikir paylaşımları olmuş. Müsaadeniz olursa çorbamızda bizimde tuzumuz bulunsun.
İlk olarak algoritmanın ne olduğuyla ilgili durumdan giriş yapıp genel sonucumuza ulaşalım.
Algoritma neydi ?
Hayat içerisinde karşımıza çıkabilecek temel sorunların ve problemlerin çözüme ulaşabilmesi adına oluşturulan adımlar bütünü.
Algoritmanın Tarihçesi
Algoritma sözcüğü, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Hive kentinde doğmuş olan Ebu Abdullah Muhammed İbn Musa el Harezmi'den gelir.[4][5] Bu alim 9. yüzyılda cebir alanındaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük bir katkı sağlamıştır. "Hisab el-cebir ve el-mukabala (حساب الجبر و المقابلة)" kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur.
Çeşitli Algoritma Örnekleri
ÖRNEK 1
A0 --> Başla
A1 --> Sayaç=0 (Sayaç'ın ilk sayısı 0 olarak başlar.)
A2 --> Sayı=? : T=T+Sayı (Sayıyı giriniz. T'ye sayıyı ekle ve T'yi göster.)
A3 --> Sayaç=Sayaç+1 (Sayaç'a 1 ekle ve sayacı göster.)
A4 --> Sayaç<4 ise A2'ye git. (Eğer sayaç 4'ten küçükse Adım 2'ye git.)
A5 --> O=T/4 (Ortalama için T değerini 4'e böl)
A6 --> O'yu göster. (Ortalamayı göster.)
A7 --> Dur
ÖRNEK 2
Adım 1: Başla.
Adım 2: a, b, c, D, x1, x2, rp ve ip değişkenlerini tanımla.
Adım 3: Diskriminant değerini hesapla.
D ← b2-4ac
Adım 4: Eğer D≥0
x1 ← (-b+√D) / 2a
x2 ← (-b-√D) / 2a
değerlerini hesapla ve x1,x2 değişkenleri göster.
Eğer D≥0 değilse,
Gerçek kısım(rp) ve sanal kısmını(ip) hesapla.
rp ← b / 2a
ip ← √ (D) / 2a
Adım 5: "rp + j(ip)" ve "rp - j(ip)" değerlerini göster.
Adım 6: Dur.
ÖRNEK 3
Adım 1: Başla.
Adım 2: factorial,i ve n değişkenlerini tanımla.
Adım 3: Değişkenlerin başlangıç değerlerini tanımla.
factorial ← 1
i ← 1
Adım 4: Ekrandan girilen n değerini oku.
Adım 5: (i=n) eşitliği sağlanana kadar tekrarla.
5.1: factorial←factorial*i
5.2: i←i+1
Adım 6: factorial değişkeninin değerini göster.
Adım 7: Dur.
Bu ve buna benzer algoritma örneklerini verebilmek mümkün. Daha sade bir algoritma arıyorsanız, suyun ısıtılması probleminden yola çıkarak kendi algoritmanızı oluşturabilirsiniz.
Haydi algoritmanın temel felsefesi üzerine yoğunlaşalım:
Aslında tanımdan da belli olacağı şekilde bir problemi çözmenin yolu algoritmadan geçer.
Özellikle yazılım dünyasında, problemler üzerine projeler geliştirip tasarlandığı için o programı bozmak bile bir algoritma mantığı üzerinden geçer.
Saygılar ve hürmetler.