KONU ANLATIMI / 9. Sınıf

Algoritma Temelli Problemler

Algoritma Temelli Problemler

Giriş ve Problem Çözme Yaklaşımları

Günlük yaşamımızda veya akademik hayatımızda sık sık çeşitli problemlerle karşılaşırız. Bir problemi çözmek, o problemin doğasını anlamaktan ve belirli adımları izleyerek bir çözüme ulaşmaktan geçer. Ünlü matematikçi George Pólya'nın problem çözme stratejisi dört ana adımdan oluşur: 1. Problemi Anlama: Problemin ne istediğini, hangi verilerin (girdilerin) sağlandığını ve kısıtlamaların neler olduğunu belirleme aşamasıdır. 2. Plan Yapma: Çözüme ulaşmak için izlenecek yolu belirleme. Algoritma oluşturma süreci genellikle bu aşamada başlar. 3. Planı Uygulama: Belirlenen adımları sırasıyla uygulama. 4. Gözden Geçirme: Elde edilen sonucun doğruluğunu kontrol etme ve gerekiyorsa alternatif, daha verimli yollar düşünme.

Bu süreç, bilgisayar bilimlerinde ve matematikte "Algoritma" kavramının temelini oluşturur.

Algoritma Nedir?

Algoritma, belirli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanmış, başlangıcı ve sonu olan, kesin kurallara bağlı adım adım işlemler dizisidir. Algoritmalar sadece bilgisayarlar için değil, aynı zamanda insanların karmaşık işlemleri sistematik bir şekilde çözebilmesi için de gereklidir. Yemek tarifleri, yol tarifleri, matematiksel bir formülün adım adım çözümü birer algoritma örneğidir.

Bir algoritmanın sahip olması gereken temel özellikler şunlardır: - Kesinlik (Belirlilik): Algoritmadaki her adım açık, net ve yoruma kapalı olmalıdır. Aynı koşullar altında algoritma her zaman aynı adımları izlemelidir. - Sonluluk: Algoritma belirli bir işlem adımından sonra mutlaka sonlanmalıdır. Sonsuz bir döngüye giren işlemler dizisi bir algoritma olarak kabul edilmez. - Girdi ve Çıktı: Algoritmanın işlem yapabilmesi için dışarıdan sıfır veya daha fazla veri alması (girdi) ve sonucunda en az bir değer üretmesi (çıktı) gerekir. - Etkinlik: Her adım, mantıksal olarak gerçekleştirilebilir ve sade olmalıdır. Gereksiz tekrarlardan kaçınılmalıdır.

Algoritmaların İfade Edilme Biçimleri

Bir algoritmayı ifade etmenin üç temel yolu vardır: 1. Metinsel İfade (Günlük Dil): İşlem adımlarının günlük konuşma diliyle yazılmasıdır. Ancak bu yöntem genellikle belirsizliklere yol açabileceği için karmaşık problemlerde tercih edilmez. 2. Sahte Kod (Pseudocode): Günlük dil ile programlama dilleri arasında, belirli bir programlama dilinin sözdizimine bağlı kalmadan ancak yapısal bir formatta yazılan adımlardır. Örneğin: EĞER sayi > 0 İSE, YAZ "Pozitif". 3. Akış Şemaları (Flowcharts): Algoritmanın geometrik şekiller ve yön okları kullanılarak görselleştirilmiş halidir. Görsellik, algoritmanın mantığını anlamayı ve hataları (bug) tespit etmeyi çok daha kolaylaştırır.

Akış Şeması Sembolleri

Akış şemalarında kullanılan temel geometrik şekillerin evrensel anlamları vardır: - Elips: Başlama ve bitiş adımlarını gösterir. Her akış şeması bir "BAŞLA" elipsi ile başlar ve "BİTİR" (veya DUR) elipsi ile son bulur. - Paralelkenar: Dışarıdan veri girişini veya dışarıya veri çıkışını (ekrana yazdırma) ifade eder. (Örneğin: "Bir sayı giriniz") - Dikdörtgen: Aritmetik işlemleri, hesaplamaları ve değişkenlere değer atamalarını belirtir. (Örneğin: Toplam = sayi1 + sayi2) - Eşkenar Dörtgen (Karar / Koşul): Mantıksal karşılaştırmaların yapıldığı, karar verme noktasıdır. Genellikle "Evet" ve "Hayır" olmak üzere iki farklı yola ayrılır. (Örneğin: sayi > 0 mı?)

Değişkenler ve Atama İşlemleri

Bir algoritmada, değerleri tutmak ve üzerinde işlem yapmak için isimlendirilmiş hafıza alanlarına değişken denir. Örneğin X, Toplam, Sayac gibi isimler verilebilir. Atama işlemi, bir değişkenin içine bir değer koymak veya var olan değeri değiştirmek anlamına gelir. Genellikle değişken <- değer veya değişken = değer şeklinde gösterilir. Örnek: A <- 5 (A değişkenine 5 değerini ata.) A <- A + 1 (A'nın mevcut değerini 1 artır ve yeni değeri tekrar A'ya ata. A artık 6'dır.)

Döngüler (Loops) ve Şartlı İfadeler (Conditionals)

Karmaşık problemleri çözerken belirli adımları tekrar tekrar yapmak gerekebilir. Bu yapıya döngü denir. Döngüler, bir koşul sağlandığı sürece veya belirli bir sayıda tekrarlanır. Şartlı ifadeler ise algoritmanın karar vermesini sağlar. "Eğer hava yağmurluysa şemsiye al, değilse alma" cümlesi şartlı bir ifadedir.

Örnek 1: Girilen İki Sayıdan Büyük Olanı Bulma

  1. BAŞLA
  2. Birinci sayıyı gir ve A değişkenine ata.
  3. İkinci sayıyı gir ve B değişkenine ata.
  4. EĞER A > B İSE adım 5'e git, DEĞİLSE adım 6'ya git.
  5. Ekrana "Büyük sayı: A" yaz ve adım 7'ye git.
  6. Ekrana "Büyük sayı: B" yaz.
  7. BİTİR

Açıklama: Bu algoritmada eşkenar dörtgen sembolüyle temsil edilecek bir karar yapısı kullanılmıştır. Algoritma, A'nın B'den büyük olup olmadığını kontrol eder ve uygun yolu seçer.

Örnek 2: 1'den 100'e Kadar Olan Sayıların Toplamını Bulma

Bu algoritma bir döngü yapısı gerektirir. 1. BAŞLA 2. Toplam = 0 (Toplamı tutacak değişken başlangıçta sıfır) 3. Sayac = 1 (Hangi sayıda olduğumuzu takip edecek değişken) 4. EĞER Sayac > 100 İSE adım 8'e git. 5. Toplam = Toplam + Sayac (Sayacı toplama ekle) 6. Sayac = Sayac + 1 (Sayacı bir artır) 7. Adım 4'e dön (Döngü noktası) 8. Ekrana "Sonuç: ", Toplam yazdır. 9. BİTİR

İzleme (Trace) Tablosu: Algoritmaların doğru çalışıp çalışmadığını manuel olarak kontrol etmek için izleme tabloları kullanılır. Değişkenlerin adım adım aldığı değerler bir tabloya yazılır.

Adım Sayac Toplam Koşul (Sayac > 100)
2, 3 1 0 Hayır
5, 6 2 1 Hayır
5, 6 3 3 Hayır
... ... ... ...

Bu süreç, sayac 101 olana kadar devam eder. Sayac 101 olduğunda 4. adımdaki koşul "Evet" sonucunu verir ve algoritma döngüden çıkarak ekrana toplamı yazdırır.

Hata Ayıklama (Debugging)

Algoritma oluştururken iki tür hata yapılabilir: 1. Sözdizimi ve Kural Hataları: Akış şemasının kurallarına veya kullanılan dilin yapısına uymama durumudur. 2. Mantık Hataları (Logic Errors): Algoritma sorunsuz çalışır ancak yanlış sonuç üretir. Örneğin, alanı hesaplarken çarpmak yerine toplama işlemi yapmak. Mantık hatalarını bulmak zordur ve izleme (trace) işlemi gerektirir.

Özetle, algoritma temelli düşünme yeteneği (computational thinking), karmaşık bir problemi daha küçük, yönetilebilir parçalara bölerek adım adım çözümler üretme sanatıdır. Bu analitik yaklaşım, matematik ve bilgisayar bilimlerinde başarı için kritik öneme sahiptir.

Editoryal bilgi9. Sınıf Matematik Dersi — 2. Kitap · PDF sayfa 99–126
Yayın ilkelerimiz · Hata bildir

ÖĞRENDİKLERİNİ DENE

Bilgini bir adım ileri taşı.

Konuyu tamamladın. Açıklamalı sorularla ne öğrendiğini keşfet.

Konu Testi