📝 5. Sınıf Matematik: Algoritma Konu Özeti
Algoritma Nedir? 🤔
Algoritma, belirli bir problemi çözmek veya belirli bir görevi yerine getirmek için izlenen adım adım yönergeler bütünüdür. Tıpkı bir yemek tarifi gibi, algoritma da ne yapılması gerektiğini sırasıyla anlatır. Bilgisayarların işlerini yapabilmeleri için algoritmalar kullanılır.
Algoritmaların Özellikleri
Her algoritmanın sahip olması gereken bazı önemli özellikler vardır:
- Açıklık: Algoritmanın her adımı net ve anlaşılır olmalıdır.
- Gerçeklenebilirlik: Algoritmadaki adımlar, bilinen ve uygulanabilir işlemler olmalıdır.
- Bitişsellik: Algoritma, belirli bir sayıda adımdan sonra sona ermelidir. Sonsuza kadar sürmemelidir.
- Etkililik: Her adım, sonlu sayıda işlemle gerçekleştirilebilmelidir.
- Girdisizlik veya Girdililik: Algoritmanın sıfır veya daha fazla girdisi olabilir.
- Çıktısızlık veya Çıktılılık: Algoritmanın bir veya daha fazla çıktısı olmalıdır.
Algoritma ve Akış Şemaları
Algoritmaları görselleştirmek için akış şemaları kullanılır. Akış şemaları, algoritmaların adımlarını ve bu adımlar arasındaki akışı gösteren grafiksel araçlardır. Farklı şekiller, farklı işlemleri temsil eder:
- Başla/Bitir: Oval şekiller kullanılır.
- İşlem: Dikdörtgen kullanılır (hesaplama, atama gibi).
- Karar: Eşkenar dörtgen kullanılır (evet/hayır gibi seçimler).
- Girdi/Çıktı: Paralelkenar kullanılır.
- Oklar: Adımlar arasındaki akışı gösterir.
Örnek: Basit Bir Çay Demleme Algoritması
İşte çay demleme işlemini anlatan basit bir algoritma:
- Suyu kaynat.
- Demliği ısıt.
- Demliğe çay koy.
- Kaynamış suyu demleğe ekle.
- Demliğin kapağını kapat.
- Demlenmesini bekle.
- Servis yap.
Örnek: İki Sayıyı Toplama Algoritması
İki sayıyı toplamak için bir algoritma:
- Başla
- Birinci sayıyı al (örneğin x).
- İkinci sayıyı al (örneğin y).
- x ile y'yi topla ve sonucu z'ye ata. (z = x + y)
- z'yi göster.
- Bitir
Bu algoritmanın çıktısı, toplanan iki sayının toplamıdır.
Algoritma ve Programlama
Algoritmalar, bilgisayar programlarının temelini oluşturur. Bir programcı, bir problemi çözmek için önce bir algoritma geliştirir, sonra bu algoritmayı bilgisayarın anlayabileceği bir programlama diline çevirir.