Algoritma yazmak neden önemli ?

        Merhaba herkese, bugünkü yazımda algoritma kavramından bahsetmek istiyorum. İlk olarak algoritma kelimesinin kökeni ve anlamına bir bakalım. Algoritma kelimesi fransızca kökenli olup matematik alimi Harezmi'nin adından gelmektedir. Bakınca isimler pek benzemese de bir teoriye göre zaman içerisinde değişerek algoritma haline gelmiş Avrupalıların söylemleriyle.Bir diğer teori ise şöyle matematik problemleri çözmek için kullanılan sayılar anlamında algoritma kelimesi kullanılmış. Nereden geldiği değil de neden geldiği üzerinde durmanın mantıklı olduğunu düşünenlerdenim. O zaman esas sorular şunlar olmalı... 

algoritma, akış şeması,kodlama       Her dönemde ortaya çıkan keşiflerin ya da buluşların temelde bir soruna çözüm olarak geliştirildiğini görebiliyoruz. Yani ortada sorun varsa o sorunu çözecek , zorluk varsa onu kolaylaştıracak yöntemler bulmak ve bunları insanlığın hizmetine sunmak çalışkan ve erdemli bir insan olmanın doğal bir sonucu. Biz hayatımızı hiç farkına varmasak bile geliştiren, iyileştiren bu kişilere bilim insanı diyerek geçiyoruz. İşte Harezmi de algoritmanın temellerini atarken bu şekilde başlamıştır tahminimce. Sayılarla alakalı işlemler yaparken zorlanılan bir noktada belli işlemleri sıralayarak sorunun çözümünü kolaylaştırmıştır. Sonra da bu yöntem iyiymiş ben bunu kitap yazıp paylaşayım başkaları da nasiplensin demiş ki biz de günümüzde algoritmayı kullanabiliyoruz. Hiç standart bir tanım olmadı değil mi? O zaman standart tanım gelsin... 
       Belirli bir sorunun çözülmesi veya bir sonuca ulaşılması için geliştirilen yola algoritma denir. Programlamada kod yazmadan önce yapılması gereken bir iştir. " Nerde ne yapacağım hangi adımda hangi işlemleri gerçekleştirmem gerekiyor? " sorularına cevaptır. Algoritma yazmak şart mı? Algoritmasız kod yazılmaz mı? derseniz tabii ki yazılabilir ama yazılacak program basitse , iki sayının toplamını bulan kod için algoritma yazılmasına gerek olmayabilir. Ama bir hastane otomasyonu yazılıyorsa iş büyük ve detaylıdır. Nerde ne işlem yapılacağını adım adım bilmek gerektiğinden işlerin karışmaması için baştan algoritma yazarak başlamak avantajdır. Ben üniversite yıllarımda tanıştım bu kavramla ama tabi kendim deneyimlemeden tam oturmadı kafamda çünkü programlamadaki diğer her şey gibi çok soyuttu somutlaştırmadan anlaşılamıyordu. Ama konuyu anlayınca aslında bu algoritma denen şeyin günlük hayatta farkına varmadan çok sık kullanıldığının da farkına varmış oldum. Hem günlük hayattan hem de kodlamada kullandığımız haliyle bir kaç örnek vererek devam etmek istiyorum.

Örnek 1: Hava durumuna göre giyinme üzerine bir algoritma yazalım. 
0.adım:Başla
1.adım: Yataktan kalk
2.adım:yüzünü yıka, dişini fırçala
3.adım:telefondan hava durumunu kontrol et 
4.adım:hava eğer sıcaksa ince giyin
5.adım:hava eğer ılıksa ince üstüne hırka giyin
6.adım:hava eğer soğuksa ne giyersen giy üstüne montunu al
7.adım:Bitir

Örnek 2: Bir e-ticaret sitesinde 100 TL üzeri alışverişe kargo bedava kampanyası düzenlenecek, kodlama için bunun algoritmasını yazalım.

0.adım:Başla
1.adım: Sitede alışveriş yapmış kullanıcının sepetine git
2.adım:Sepetteki ürünlerin fiyat karşılığını bul
3.adım:Ürünlerin fiyat toplamını bul
4.adım:Eğer fiyat 100 TL'ye eşit ya da büyükse "Kargo bedava" uyarısı ver ve kargo parasını siparişe ekleme
5.adım:Eğer fiyat 100 TL'den küçükse kargo parasını siparişe ekle
6.adım:Kullanıcıya ödeyeceği toplam ücreti göster.
7.adım:Bitir 

       Örneklerle daha açıklayıcı olmuştur diye düşünüyorum.Algoritmayı illa ki bu şekilde yazmalıyız diye bir şey yok kendi anladığımız herhangi bir şekilde yazabiliriz. Sözde kod (ne kod ne de  algoritma ikisinin arası bir şey 😊 ) şeklinde yazabiliriz veya akış şeması oluşturabiliriz aşağıdaki örnekte olduğu gibi.

Örnek 3: Dışardan iki sayı alınsın ve sayılar toplansın daha sonra toplamın tek mi çift mi olduğunu bulan akış şemasını çizelim.
algoritma, tek mi çift mi akış şeması
  Bu örnekte de farklı bir şey yok sadece algoritmayı şekil olarak çizerek daha iyi anlayan kişiler için ideal bir yöntem olabilir. 
Algoritma konusunda anlatacaklarım bu kadar inşallah faydalı bir yazı olmuştur.








Yorum Gönder

4 Yorumlar

  1. Kodlama yapacaklar için faydalı bilgiler :)

    YanıtlaSil
  2. Çok Teşekkürler Derya Hanım :)

    YanıtlaSil
  3. Algoritma geliştirme kodlama yapmak hayatın bizat içinde yaşadıgımız her an

    YanıtlaSil
    Yanıtlar
    1. Aynen öyle :) Değerli yorumunuz için teşekkürler :)

      Sil