Algoritma Nedir?
Algoritma, “belirli bir işi, önceden tanımlanmış işlem adımlarını kullanarak adım adım ortaya koymak; ve bu adımları bilgisayar ortamında herhangi bir dil ile kodlamaktır” denilebilir. Bir başka açıdan, algoritma, bilgisayar bilimlerinde “bir sorunun çözümü için öngörülen işlemlerin mantıksal ve sembolik anlatımı” şeklindedir.Daha basit bir deyişle, herhangi bir işi yapmak ya da bir problemi çözmek için adım adım uygulanan kurallar dizisine algoritma denir. Bir algoritmanın en önemli özellikleri ise bir giriş verisine karşılık çıkış bilgisinin mutlaka bulunması, sonlu sayıda adım içermesi ve her türlü alternatifin düşünülerek sonuca ulaşıldığının garanti edilmesidir. Eğer sonlu sayıda adım ile sonuca ulaşılamaz ise istenmeyen sonsuz döngüler, eğer bütün alternatifler düşünülmez ise belirsiz durumlar ortaya çıkabilir ve algoritmanın sonunda bir sonuca ulaşılmaz. Bir kurallar dizisini algoritma olarak tanımlayabilmek için mutlaka giriş verileri değerlendirilerek çıkış bilgisinin elde edilmesini gereklidir.
Algoritma, belirli bir işin/problemin sonucunu elde etmek için art arda uygulanacak adımları ve koşulları kesin olarak ortaya koyar. Bu adımlar, ilgili koşullar altında adım adım izlendiğinde bir sonuca ulaşılır. Bilgisayar uygulamasında , bir yazılım geliştirirken birçok algoritmaya ihtiyaç duyulur.
Algoritma tasarımı Bilgisayar Mühendisliğinde yazılım açısından bir başlangıç noktasıdır denilebilir.İyi bir bilgisayar mühendisi var olan standartlar uyarınca bir probleme ait algoritmayı tasarlayabilmeli ve gerektiğinde onları bir programlama diliyle kodlayabilmelidir. “Algoritma tasarımı bir sanattır ve her sanatın da kendine has incelikleri vardır”.
Algoritma tanımlanırken, ya bir dil kullanılmalıdır ya da çeşitli sembolik gösterilimlerden ve şemalardan yararlanılabilir.Eğer algoritmanın ifadesinde bir dil kullanılmış ise bu dil bazı matematiksel ifadelerin bulunduğu doğal konuşma/yazma dili olabildiği gibi, özel olarak, algoritma tasarımı için tanımlanmış bir dil de olabilir. Örneğin bir algoritma klasik olarak sözle tanımlanabildiği gibi, SPARKS gibi bir algoritma tanımlama dili kullanılabilir. Tabi bu dilin, bütün dillerde olduğu gibi kendisine has özellikleri olduğunu belirtmekte fayda vardır.
Bir algoritmayı ifade etmek için kullanılan simgesel gösterilimlerin başında Akış Şeması gelmektedir. Akış şeması tasarlanacak bir algoritmanın şekilsel/grafiksel olarak ortaya koyulması veya başka bir deyişle tanımlanmasıdır.Yani, akış şeması da bir çeşit algoritma tanımlama dilidir; ancak, burada dikdörtgen, baklava dilimi, elips gibi simgesel işaretler işaretler kullanılır.Akış şemasıyla tasarım, özellikle, yeni başlayan programcılar için gerekli bir başlangıç noktasıdır denilebilir. Başlangıçta bunu yapmayan programcıların tasarım konusunda yetersiz kaldıkları sıkça görülen bir durumdur.Akış şeması kullanılarak algoritma oluşturmak yazılım mimarisi yaratmak yolunda atılan en önemli adımdır. Temel ne kadar sağlam olursa, o temel üzerinde oluşturulan mimari de o derece sağlam olur.
Leave a reply