Jump to content

Algoritma Nedir ?


wmismail

Recommended Posts

Algoritma Nedir ?

Bilgisayarı ilk zamanlarında günümüze kadar incelediğimizde, karmaşık olan problemlerin çözüm zamanlarını kısaltmak ve orada harcanacak olan zamanı daha farklı problemlere yoğunlaşmak üzere bizlerin işlerini kolaylaştırmak adına tasarlanmış diyebiliriz.

Bilgisayar üzerinde herangi bir problemi tanımlarken neyi nezaman hangi veriler ile yapacağını tanımlamış oluruz. Bir nevi bir öğretmenin okulda öğrenciye bir fizik problemini çözerken izlemesi gerektiği yolları tanımlaması gibidir. Diyelimki minimum üç bilinen ile iki bilinmeyen değere ulaşabileceğmiz bir problem ise bu üç bilinen değişiklik gösterebilir bun bağlı olarakta bizim uygulayacağımız çözüm yöntemimiz farklılık gösterir. Biz bu çözüm yöntemlerini bir algoritma yada akış şeması olarak tanımladığımızda problemi daha net ve basit bir şekilde çözebiliriz.

Bilgisyar ortamında da çözecek olduğumuz problemin akış şemasını yüklediğimiz de bilgisayarda kullanıcıdan gelen verilere göre belirlemiş olduğumuz yöntemi uygulayarak bizlere birer çözüm üretir. Burada dikkat edilmesi gereken algoritmada problemin çözüm basamakları mantıksal bir sıra ile düzgün bir şekilde belirlenmesidir. Bunu belirler iken istersek şekillerden yararlanarak,istersek sözde kodlama olarak bahsettiğimiz pseudo code lamadan yararlanarak yada herhangi bir geliştirme dilinde algoritmamızın tasarımını gerçekleştirip bir yol belirlemiş oluruz.

Algoritma genel manası ile bir takım kısımlardan oluşmaktadır. Problem,veriler,fonksiyonlar ve sonuç. Bunu bir sıraya koyabiliriz ama veriler belki zaman içerisinde farklı konumlarda alınabilir. Algoritmanın bu yapısında bizim için önem teşkil eden noktalardan biriside karar mekanizmalarıdır. Örneğin bu değer bundan büyük ise işlemi tamamla küçük ise başa dön gibi . Bunun kararının alındığı karşılaştırma noktası algoritmanın dallanmasında rol almaktadır.

Kendimizi küçük ve gerçek bir problem belirleyecek olursak, ve bilgisayar ile bağdaştıracak olursak bilgisayarımızın soğutma mekanizmasını ele alabiliriz. Burada ilk olarak problemimizi tanımlayacak olursak bilgisayarımızın çalıştığında çalışmaya başlayan soğutma mekanizması işlemci sıcaklığının 55 dereceye ulaştıktan sonra daha hızlı çalışmasını sağlamamız ve eğer 70 derece ise bilgisayarı otomatik olarak kapatmasını sağlayacak olan bir sistem olarak tanımlayabiliriz. Buradaki verilere bakacak olursak işlemcinin sıcaklığıdır. Sıcaklık değeri 55 dereceden küçük ise başa dön,55 den büyük ise 70 den küçükse daha hızlı çalıştır,70 derece ve üstünde ise bilgisayarı kapat. Şimdide belirli bir sıraya yerleştirelim

1 – Sıcaklık verisini al

2 – Sıcaklığı 55 ile karşılaştır

3 – Küçük ise 1 e geri dön büyük ise 4 e geç

4 – Sıcaklık değerini 70 ile karşılaştır

5 – büyük ise 7. Kısma geç değil ise 6. Adıma geç

6 - İki kat soğutmayı başlat ve 1. Adıma geç

7 – Bilgisayarı Kapat

Bu örneğimizde herhangi bir dilin standardında olmayan fakat herkesin anlayacağı şekilde algoritmamızı ifa etmiş olduk. Bu algoritmayı kullacağımız dile uygun olarak programladığımızda da artık bilgisayarın bu probleme bir çözüm üretmesini sağlamış oluyoruz.

Son olarak hernekadar karşı çıkanlar olsada algoritma mantığı yazılım geliştirmeye başlayanlar açısından ilk olarak öğrenilmesi, örnekler ile pekiştirilmesi gereken bir yapıdır. Yazılım geliştirmeye direk olarak herhangi bir dil ile başlamak ile sadece hızlı bir şekilide ekranda bir takım ifadeler göstererek birşeyler ifade etmeye çalışırız fakat esas olarak yazılım geliştirmede önemli olan problemi çözebilmektir. Bunun en güzel örneklerinide örneğin bir takım özelleşmiş arama algoritmaları üzerinde gözlemleyebiliriz. Duruma göre uygulanması gereken arama algoritmaları vardır. Eğe gerçekten algoritma önemli olmasaydı tek bir arama ifadesini tüm uygulamalarımzda kullanıyor olurduk.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...