Preloader
Bizimle iletişime geçin!
img

Algoritma Nedir?


Kodlamaya ilk başladığım dönemlerde duyduğum ama tam olarak ne olduğunu bir türlü kafamda oturtamadığım birkaç kavram vardı; algoritma da bunlardan biriydi. Zamanla fark ettim ki, “algoritma” kelimesi aslında hayatımızın içinde duruyormuş. Bir problemi çözmek için izlediğimiz mantıklı adımlar… başka bir şey değil.

Mesela sabah kalktığımda önce perdeyi açıp ışığı içeri alıyorum, sonra kahvemi hazırlıyorum; kaynar su, kahve, karıştır, bardağa dök. Bunu hep aynı sırayla yapıyorum. Bilgisayar da verdiğimiz işleri bu tarz adımlarla çözüyor. Yani algoritma dediğimiz şey, bir çözüm yolunu adım adım tarif eden bir rehber.


Algoritma Temel Özellikleri Nelerdir?


Bu konuda derslere girip çocuklara algoritmanın mantığını anlatırken fark ettiğim birkaç nokta var. Bir algoritmanın işe yarayabilmesi için önce açık ve net olması gerekiyor; yani yoruma çok yer bırakmamalı.

Bir diğer önemli nokta, sonlu olması. Sonsuz döngüye giren bir algoritmanın kimseye faydası yok, çünkü sonuç üretmiyor.

Bir girdisi ve çıktısı olmalı; neyi kullanıp neyi ortaya çıkaracağı belli olmalı. Bir de tabii ki uygulanabilir olması şart. Kağıt üzerinde çok güzel görünen ama pratikte çalışmayan algoritmalarla çok karşılaştım.


Algoritma Nasıl Oluşturulur?


Benim izlediğim yol genelde şöyle ilerliyor: önce problemi iyice anlıyorum. Çözmek istediğim şey ne? Bu olmayınca gerisi zaten gelmiyor.

Sonra aklımdaki adımları karışık da olsa bir kenara not ediyorum. Daha sonra onları sıralı hale getiriyorum. Adımların mantıklı bir akış oluşturması gerekiyor.

Bir noktadayken, sürekli “bu adımı neden yapıyorum?” diye kendime sorduğumu fark ettim. Bazen de ilk yazdığım algoritmanın hiç çalışmadığını görüyorum ve başa dönüyorum. Bu süreç, çocuklarla çalışırken onlara da sık sık gösterdiğim bir şey oluyor. İlk seferde mükemmel bir algoritma çok nadir çıkıyor aslında.


Algoritma Neden Kullanılır?


Günlük hayatta bile her şeyi kafamızda bu mantıkla çözüyoruz ama bilgisayar tarafında işler çok daha hassas. Bilgisayar, ona verdiğiniz adımları kusursuz şekilde uygular; duygusu yok, sezgisi yok.

Bu yüzden algoritmalar, karar verme sürecini düzenli hale getiriyor. Programların hızlı, doğru ve verimli çalışması doğrudan algoritmanın kalitesiyle bağlantılı. Kendi çalışmalarımda da karmaşık bir problemi küçük parçalara ayırmanın ne kadar rahatlatıcı olduğunu birçok kez hissettim.


Algoritma Ne İşe Yarar?


Kullandığım uygulamalardan, izlediğim videoya kadar neredeyse her şey algoritmalarla dönüyor.

Bir uygulamanın hangi işlevi nasıl yerine getireceğini belirliyorlar. Bir veri grubunda arama yapıyorsan algoritma var, sıralama yapıyorsan yine algoritma var.

Hatta işin eğlenceli yanı şu ki: bir arkadaşına adres tarif ederken bile aslında algoritma kuruyorsun. “Önce sağdan dön, sonra üçüncü sokaktan sola sap, ardından…” gibi. Kodlama öğrenen öğrenciler ilk kez bunu fark ettiğinde yüzlerindeki şaşkınlık gerçekten görülmeye değer.


Algoritma Türleri Nelerdir?


Algoritma türleri çok çeşitli ama günlük hayatta en çok karşıma çıkan birkaç tanesi şöyle:

Sıralama yapanlar, arama yapanlar, karar vermeyi kolaylaştıranlar, tamamen matematiksel olanlar ve bir noktadan diğerine en kısa yolu bulanlar. Navigasyon uygulamaları mesela; arka planda sürekli bir algoritma çalışıyor. Eğer o algoritma biraz daha kötü tasarlanmış olsaydı, hepimiz gereksiz uzun yollara sapmak zorunda kalacaktık.


Basit Algoritma Örnekleri


Bu tarz konuları anlatırken basit örnekler vermeyi seviyorum çünkü zihinde daha kolay oturuyor.


İlk örneklerden biri çay demleme süreci. Suyu kaynatırsın, bardağa çay poşetini koyarsın, sıcak suyu eklersin, biraz beklersin ve içersin. Bu sırayı bozduğunda süreç de bozuluyor aslında.


Bir diğer örnek, bir sayının tek mi çift mi olduğunu anlamak. Sayının 2 ile bölümünden kalan 0 ise çift, değilse tek. Bu kadar basit.


Üç sayının en büyüğünü bulma örneği de çok kullanılır. A ile B’yi karşılaştırırsın, büyük olanı C ile kıyaslarsın ve en büyüğü bulursun.


Bu tarz küçük örnekler, yazılım öğrenmeye başlayan birinin “kodlama gözümü korkuttuğu kadar zor değilmiş” demesini sağlıyor. Özellikle çocuklarda bu farkındalığı görmek motive edici oluyor.


0 Yorum

Yorum Yap

E-Posta Adresiniz paylaşılmayacaktır. * ile işaretli alanlar zorunludur