Algoritma Nedir?
Algoritma; bir problemin ya da bir sorunun çözümü için ihtiyaç duyulan tüm işlemlerin mantıksal olarak, sıralı bir şekilde ifade edilmesidir. Algoritma kavramı programlama ya da yazılım geliştirmenin yanı sıra, günlük hayattaki aktiviteler, matematik vb. derslerde karşılaşılan sorunları daha kolaylıkla çözme olanağı sağlar. Algoritma sözcüğü Türkistanlı bir âlimden gelir. Türkistanlı âlim 9. yüzyılda Cebir adında bir kitap oluşturarak algoritmik çalışmalarını sergilemiştir. Kısaca algoritmayı bulan kişi kim diye sorulduğunda Ebu Abdullah Muhammed bin Musa el Harezmi diyebiliriz. Bu kitabın matematiğe çok büyük katkıları olmuştur. Bu kitap farklı dillere çevrilmiştir. Avrupa da çok ilgi gören kitabın ismi ve âlimin ismi Avrupalılar tarafından telaffuz edilemediği için “algorizm” sözcüğünü kullanmışlardır. Algorizm “Arap sayıları kullanarak problemleri çözmek” anlamına gelir. Zamanla algorizm algoritmaya dönüşmüştür.
el-Harezmi
Örneğin bir küme içerisindeki verilerin sıralanması bir algoritmadır, aynı küme içerisindeki bir veriyi arama işlemi ise farklı bir algoritmayı oluşturur. Ancak tüm bu algoritmaları içerisinde barındırıp, kullanıcıların gereksinimini karşılayacak bir çözüm üretildiğinde ise buna program veya yazılım adı verilmektedir.
Bir programın tasarlanması ne kadar zor ve zaman alıcı görünse de, karşılaşılacak problemlerin çözümü algoritmik olarak ifade edildiğinde programın kodlama kısmı oldukça basit hale indirgenir. Program tasarlanırken, kullanılacak veri yapısı ve algoritmalar doğrudan doğruya uygulamaya bağlıdır. Programcı çözüme ulaşmak için var olan algoritmaları kullanabileceği gibi, ihtiyaca göre yeni algoritmalar da oluşturabilir. Bazı durumlarda aynı problemin çözümüne yönelik çok farklı çözümler ortaya atılmıştır, bunlar içerisinden en uygun olanı tespit etmek, uygulamanın yapısına ve programcının bilgi birikimine bağlı olarak değişiklik gösterir.
Algoritmada 3 temel bileşen vardır:
1. Değişkenler: Dışarıdan girilen ve bizim oluşturduğumuz değerleri tutan elemanlardır.
2. Algoritma: Kısaca gerekli adımların mantıksal bir sıra ile yazılmasıdır.
3. Akış Diyagramı: Birbirine oklar gösterilerek algoritmaları ve şemaları birbirine bağlayan kutulara denir. Kısaca çözümün şekiller ile tasviridir.