Algoritma Nedir ?
Güncelleme 14/08/2024
Algoritma ne demek ?
Bir problemin çözümünde izlenecek yol
Algoritma bir programlama dili değildir. Programlama dillerine yol gösteren bir yöntemler dizisidir.
Her dilde algoritma yazılıp uygulanabilir.
Algoritmaların Özellikleri:
- Adım adım olmalıdır: Algoritmadaki her adım açık ve net bir şekilde tanımlanmalıdır.
- Sonlu olmalıdır: Algoritmadaki adımların sayısı sınırlı olmalı ve her adımda bir sonuca varılmalıdır.
- Genel olmalıdır: Algoritma, birden fazla problem için kullanılabilir olmalıdır.
- Doğru olmalıdır: Algoritmadaki adımlar doğru bir şekilde uygulandığında, her zaman doğru sonuca ulaşmalıdır.
Algoritmalar 3 şekilde gösterilir
Düz Yazı ile
‘BAŞLA’ ile başlanıp ‘BİTİR’ ile bitirilir.
Her satıra numara verilir.
Çözülecek problem, adım adım metin olarak yazılır.
Algoritmanın konuşma dili ile yazılmasıdır.
Örnek : Girilen sayının tek mi çift mi olduğunu gösteren algoritma yazınız
- gir sayi
- sayi =8
- eger sayi%2==0 ise yaz cift
- degilse yaz tek
- bitir
Sözde Kod ile(Kaba Kod)
Herkesin anlayabileceği ve rahatlıkla bir programlama diline çevrilebilecek basit komutlardan oluşan bir dildir. Sözde kodun temel işlevi program geliştirmeye geçmeden algoritmayı oluşturmak ve üzerinde tartışabilmektir. Sözde kodlar, doğrudan konuşma dilinde ve programlama mantığı altında, eğer-değilse, iken gibi koşul kelimeleri ve > = < gibi ifadeler ile beraber yazılır. Programda kullanılacak elemanları temsil etmek üzere uygun isimler veya değişkenler seçilir.
Örnek :Girilen sayının 5’in tam katı olup olmadığını bulan algoritmanın sözde kodunu yazınız.
Kullanıcıdan bir sayı al.
if
{ Giriş tam sayı değilse, negatifse veya sıfırsa “hatalı giriş” yaz.
Kullanıcıdan tekrar bir sayı iste.
}
else
if
{ Sayının 5’e bölümünden kalanı bul.
Kalan 0 ise “5’e tam bölünür” yaz.
}
else
“5’e tam bölünemez” yaz.
Kullanıcı 3 kez hatalı giriş yaparsa programı bitir.
Akış Şeması ile
Akış Şeması nedir ?
Bir algoritmanın görsel şekiller ve sembollerle ifade edilmiş haline “Akış Şemaları” adı verilir. Akış şeması sembolleri ANSI (American National Standards Institute) standardı olarak belirlenmiş ve tüm dünyada kullanılmaktadır.
Algoritma doğal dille yazıldığında herkes tarafından anlaşılamayabilir ya da başka anlamlar çıkarılabilir. Ancak akış çizgelerinde her bir şekil standart bir anlam taşıdığı için farklı yorumlanması mümkün değildir.
Akış Şeması Sembolleri
Program yazmadan önce akış diyagramı çizmek, görsel bir düşünme ortamı oluşmasını sağlar.
Akış diyagramı, algoritmaların şekil ve sembollerle ifade edilmesidir. Akış şemasında her adım birbirinden farklı anlamlar taşıyan şekillerden oluşur ve adımlar arasındaki ilişki oklar ile gösterilir.
Kodlanacak programın akış şemasının oluşturulması, sürecin daha kolay çözümlenmesine yardımcı olur.
Akış diyagramı sembolleri tüm programlama dilleri için geçerlidir.
Bu sembolleri kullanarak ve ok işaretleriyle yönlendirmeler yapılarak akış diyagramları çizilir.
Semboller içerisine kısa hatırlatıcı bilgiler yazılarak programın anlaşıla bilirliği sağlanır.
Akış diyagramı çizmek program için zorunlu değildir, sadece programcının yazdığı programla ilgili daha iyi düşünmesine ve programı geliştirmesine yardımcı olur.
Elips: Başla ve Bitir. Akış şemasının başına ve sonunda kullanılır içine “Başla” veya “Bitir” yazılır.
Dikdörtgen: İşlem. Akış şemasında yapılacak görevleri temsil eder.
Paralelkenar: Veri Giriş – Çıkışı için kullanılır.
Dalgalı dörtgen: Ekran veya Yazıcı çıktısı için kullanılır. Yapılan işin, işlenen verinin sonucunun görüntülenmesi
Eşkenar dörtgen: Karar verme. Belli bir koşula göre karar verilip işlem yapılmasını sağlar.
Örnek : Yaşı Girilen Kişinin Ehliyet Alıp/Alamayacağını Gösteren Algoritmanın Akış Şeması
Algoritmanın Uygulama Alanları
Algoritmalar son derece önemlidir ve farklı alanlarda uygulanabilir. Bilgisayar programlamadan bilimsel deneylere kadar algoritmalar birçok alanda hayati bir yer bulmuştur. Temel olarak bir algoritmayı aşağıdaki şekillerde uygulayabilirsiniz.
1. Bilgisayar Programcılığı
Hangi programlama dilini kullandığınız önemli değildir, bir problemi çözmek için ihtiyacınız olan ilk şey bir algoritmadır. En karmaşık problemler bile bir algoritma akış şeması üzerinde çalışarak çözülebilir.
1’den 20’ye kadar sayıları otomatik olarak yazdıran bir program yazmanız gerektiğini düşünün. Bunu yapmak için bir değişken başlatıp her döngüde 1’lik bir artış gerçekleştirmeniz gerekir. Sayı 20’ye ulaşana kadar döngü tekrarlanır.
2. Matematik ve Bilimsel Hesaplamalar
Tıpkı programlamada olduğu gibi algoritmaları, matematiksel veya bilimsel problemlerin çözümünde de kullanılabilirsiniz. Fibonacci serisini yazdırmaktan bir sayının faktöriyelini hesaplamaya kadar, herhangi bir matematik problemi için bir algoritma bulabilirsiniz.
Örneğin, Fahrenheit’i Celsius’a çevirmek için bir algoritma geliştirebilirsiniz. Bunu yapmak için öncelikle kullanıcıdan girdiyi almanız ve Fahrenheit’i Santigrat’a formülünü uygulamanız gerekir. Daha sonra sonuçları görebilirsiniz.
3. Günlük Problemleri Çözmek
Programlama veya bilimsel problemlerin yanı sıra hemen hemen her sorunu çözmek için de algoritmalar kullanılabilir. Bir tarif bulmak, vergi hesaplamak veya başka herhangi bir problem için bir algoritma kullanabilirsiniz.
Yazılımcı olmak için algoritma bilmek oldukça önemlidir. Algoritma, bir problemin çözümünü adım adım açıklayan bir dizi talimat veya yönergedir. Yazılım geliştirme sürecinde, bir problemin çözümünü tasarlamak, uygulamak ve optimize etmek için algoritmalara ihtiyaç duyulur.
Algoritmalar, programlama dilleri veya teknolojiler değişse bile temel olarak aynı kalır. Bir yazılımcı, verilen bir görevi çözmek için etkili bir algoritma tasarlamak ve uygulamak için mantık ve düşünce süreçlerini kullanmalıdır. Algoritma becerisi, veri yapısı ve algoritma analizi gibi temel bilgileri içerir.
Algoritma bilgisi, yazılım geliştirme sürecinde programlama dillerini öğrenmek ve uygulamak için temel bir zemin oluşturur. Ayrıca, perf ormans optimizasyonu, veri işleme, problem çözme ve karmaşık projeler üzerinde çalışma becerileri için de önemlidir.
Sonuç olarak, yazılımcı olmak istiyorsanız, algoritma bilgisine sahip olmanız önemlidir. Algoritmaları anlama ve uygulama becerileri, yazılım geliştirme yolculuğunuzda size büyük fayda sağlayacaktır.
Algoritmaya Örnek
Engelden kaçan robot Algoritmasını ve yazılımını inceleyin