9. Sınıf · Algoritma ve Bilişim

Algoritmik Düşünme ve Problem Çözme

~6 dk okumaZorluk: Kolay16 çözümlü soru

Algoritma ve Bilişim teması, bir problemi bilgisayarın da izleyebileceği biçimde adım adım çözmeyi öğretir. Bu derste algoritma kavramını, bir algoritmanın taşıması gereken özellikleri, akış şeması elemanlarını, koşul (eğer–ise) ve döngü (tekrar) mantığını öğreneceğiz. Algoritmik düşünme yalnızca kodlama için değil; her matematik probleminde "önce ne, sonra ne?" sorusunu netleştirmek için işine yarar. Bol örnek ve "Sıra Sende" alıştırmalarıyla pekiştireceğiz.

1. Algoritma Nedir?

Algoritma, bir problemi çözmek için izlenen, sonlu ve sıralı adımların tümüdür. İyi bir algoritma şu özellikleri taşır:

Günlük bir örnek: "çay demlemek" de bir algoritmadır — su koy, kaynat, çayı ekle, demlenmesini bekle, servis et.

Örnek
Soru

İki sayının aritmetik ortalamasını bulan algoritmayı adımlarla yazınız.

  1. Başla.
  2. Birinci sayıyı al: a.
  3. İkinci sayıyı al: b.
  4. Toplamı hesapla: t=a+b.
  5. Ortalamayı hesapla: o=\dfrac{t}{2}.
  6. o değerini yaz.
  7. Bitir.
Sonuç: Yukarıdaki 7 adımlık sıra bir algoritmadır.

2. Akış Şeması Elemanları

Algoritmalar akış şeması ile görselleştirilir. Temel semboller:

SembolŞekilAnlamı
Başla / Bitirovalalgoritmanın başı ve sonu
İşlemdikdörtgenbir hesaplama veya atama (t=a+b)
Karareşkenar dörtgenkoşul sorusu (Evet/Hayır dallanır)
Akış okuokadımların yönü

Karar sembolünden iki ok çıkar: koşul doğruysa "Evet" yolu, yanlışsa "Hayır" yolu izlenir.

Örnek
Soru

Bir sayının pozitif mi negatif mi olduğunu belirleyen algoritmanın karar adımını yazınız.

  1. Sayıyı al: x.
  2. Karar: "x>0 mı?"
    • Evet ise: "Pozitif" yaz.
    • Hayır ise: "Pozitif değil" yaz.
Sonuç: Karar adımı x>0 koşulunu sorar; iki dala ayrılır.

3. Koşul (Eğer – İse)

Bir algoritma, duruma göre farklı işlem yapması gerektiğinde koşul kullanır:

Eğer (koşul doğruysa) ise A işlemini yap, değilse B işlemini yap.

Koşul, bir karşılaştırma içerir: =,\ \neq,\ <,\ >,\ \le,\ \ge.

Örnek
Soru

Bir öğrencinin notu 50 ve üzeriyse "Geçti", değilse "Kaldı" yazan algoritmayı yazınız.

  1. Notu al: n.
  2. Eğer n\ge 50 ise "Geçti" yaz.
  3. Değilse "Kaldı" yaz.
Sonuç: Koşul n\ge 50; sağlanırsa "Geçti", sağlanmazsa "Kaldı".
BaşlaNotu al: nn ≥ 50 ?EvetHayır"Geçti" yaz"Kaldı" yazBitir
Şekil 1 — Aynı algoritmanın akış şeması. Oval Başla/Bitir, dikdörtgen işlem, eşkenar dörtgen ise karar sembolüdür. Karardan iki ok çıkar: n\ge 50 doğruysa "Evet" yolu (Geçti), yanlışsa "Hayır" yolu (Kaldı). İki yol sonda tek bir akışta birleşip Bitir'e ulaşır.

4. Döngü (Tekrar)

Aynı işlem birden çok kez yapılacaksa döngü kullanılır: bir koşul sağlandığı sürece adımlar tekrarlanır.

Örnek
Soru

1'den 5'e kadar olan sayıların toplamını bulan algoritmayı, döngü kullanarak yazınız.

Bir toplam değişkenini 0'dan başlat; bir sayaç 1'den 5'e kadar ilerlerken her adımda sayacı toplama ekle.

  1. toplam=0, \;sayac=1.
  2. sayac\le 5 olduğu sürece tekrarla:
    • toplam=toplam+sayac,
    • sayac=sayac+1.
  3. Döngü bitince toplam'ı yaz.
  4. İzleme: adımlarda toplam sırayla 1,\ 3,\ 6,\ 10,\ 15 olur.
Sonuç: Çıktı 15'tir.
Başlatoplam = 0, sayac = 1sayac ≤ 5 ?HayırEvettoplam = toplam + sayacsayac = sayac + 1toplam yazBitir
Şekil 2 — 1'den 5'e kadarki sayıların toplamını veren döngünün akış şeması. Karara her dönüşte "sayac\le 5 mı?" sorulur: Evet ise gövde işletilip (toplama ekle, sayacı artır) ok geri döner; Hayır olunca döngü kırılır ve toplam yazılır. Geri dönen ok, döngünün "tekrar" özünü gösterir.

Çözümlü Örnekler

Örnek
Soru

Bir dikdörtgenin alanını hesaplayan algoritmayı adımlarla yazınız.

  1. Başla.
  2. Uzun kenarı al: a.
  3. Kısa kenarı al: b.
  4. Alanı hesapla: A=a\cdot b.
  5. A'yı yaz. Bitir.
Sonuç: 5 işlem adımı; çıktı A=a\cdot b.
Örnek
Soru

Aşağıdaki algoritmanın çıktısı nedir? x=3 al; \;y=2x+1 hesapla; \;y'yi yaz.

  1. x=3.
  2. y=2\cdot 3+1=7.
Sonuç: Çıktı 7'dir.
Örnek
Soru

Bir sayının çift mi tek mi olduğunu belirleyen algoritmanın koşulunu yazınız. (x'in 2'ye bölümünden kalan k ile gösteriliyor.)

  1. k=x'\text{in }2\text{'ye bölümünden kalan}.
  2. Eğer k=0 ise "Çift" yaz, değilse "Tek" yaz.
Sonuç: Koşul: k=0 ise çift, değilse tek.
Örnek
Soru

sayac=1, \;\text{çarpım}=1 ile başlayan ve "sayac\le 4 olduğu sürece \text{çarpım}=\text{çarpım}\cdot sayac, sayac=sayac+1" döngüsünü çalıştıran algoritmanın çıktısı nedir?

  1. Adımları izle: \text{çarpım} sırasıyla 1\to 1\cdot 1=1\to 1\cdot 2=2\to 2\cdot 3=6\to 6\cdot 4=24.
  2. Döngü sayac=5 olunca durur.
Sonuç: Çıktı 24'tür (=4!).

Alıştırmalar — Sıra Sende

Önce kendin çözmeyi dene; sonra çözümü açıp karşılaştır.

Örnek
Soru

Şu algoritmanın çıktısı kaçtır? a=5 al; \;b=a-2 hesapla; \;c=b\cdot 3 hesapla; \;c'yi yaz.

  1. a=5, \;b=5-2=3, \;c=3\cdot 3=9.
Sonuç: 9.
Örnek
Soru

Bir sayının mutlak değerini veren algoritmanın karar adımını yaz.

  1. Eğer x\ge 0 ise sonuç x, değilse sonuç -x.
Sonuç: Koşul x\ge 0; sağlanırsa x, sağlanmazsa -x.
Örnek
Soru

t=0, \;s=2 ile başlayan, "s\le 8 olduğu sürece t=t+s, s=s+2" döngüsünün çıktısını bul.

  1. s değerleri 2,4,6,8; t sırasıyla 2,6,12,20.
  2. s=10 olunca döngü durur.
Sonuç: Çıktı 20'dir.
Örnek
Soru

Üç sayının en büyüğünü bulan algoritmanın ilk karşılaştırmasını yaz (a,b,c için).

  1. Eğer a\ge b ise büyük =a, değilse büyük =b.
  2. (Sonra "büyük" ile c karşılaştırılır.)
Sonuç: İlk karar a\ge b koşuludur.
Örnek
Soru

Şu algoritmanın çıktısı kaçtır? a=12, \;b=8 al; eğer a>b ise f=a-b, değilse f=b-a; \;f'i yaz.

  1. a=12, b=8; a>b koşulu doğru.
  2. O hâlde f=a-b=12-8=4.
Sonuç: 4 (bu algoritma iki sayının farkının mutlak değerini verir).
Örnek
Soru

x=1, \;\text{adim}=1 ile başlayan, "x\le 16 olduğu sürece x=x\cdot 2, \;\text{adim}=\text{adim}+1" döngüsünün çıktısı olan son x değeri ve döngünün kaç kez döndüğü nedir?

  1. İzle: x başta 1. Koşul 1\le 16 doğru → x=2 (adım 2). 2\le 16x=4. 4\le 16x=8. 8\le 16x=16. 16\le 16x=32.
  2. Artık 32\le 16 yanlış → döngü durur. Toplam 5 tur döndü; son x=32.
Sonuç: Son değer x=32; döngü 5 kez döndü.
Örnek
Soru

n=0, \;t=0 ile başlayan şu döngünün çıktısını bul: "t<20 olduğu sürece n=n+1, \;t=t+n." Döngü bittiğinde n kaçtır?

Her turda önce n artar, sonra t'ye eklenir; yani t, 1+2+3+\dots biçiminde birikir. t, 20'ye ulaşıp ya da geçip koşulu bozduğu anda dur.

  1. Tur tur izle: n{=}1,\ t{=}1n{=}2,\ t{=}3n{=}3,\ t{=}6n{=}4,\ t{=}10n{=}5,\ t{=}15n{=}6,\ t{=}21.
  2. Koşul her turun başında kontrol edilir: t=15<20 doğruyken bir tur daha işlenip t=21 olur. Sonraki kontrolde 21<20 yanlış → durur.
Sonuç: Çıktı t=21; döngü bittiğinde n=6.
Örnek
Soru

Aşağıdaki algoritma bir n doğal sayısı için ne hesaplar? Başla; s=0, \;k=n; "k>0 olduğu sürece s=s+(k\bmod 10), \;k=k\div 10 (tam bölüm)"; \;s'yi yaz. n=4729 için çıktıyı da bulun. (k\bmod 10, k'nin 10'a bölümünden kalandır.)

k\bmod 10 son rakamı verir, k\div 10 ise son rakamı atar. Her turda bir rakam ele alınır.

  1. Döngü, sayının rakamlarını toplar: her turda son rakam s'ye eklenir, sonra sayıdan atılır.
  2. n=4729 için izle: k{=}4729,\ s{=}9k{=}472,\ s{=}11k{=}47,\ s{=}13k{=}4,\ s{=}17k{=}0, dur.
  3. k=0 olunca koşul bozulur.
Sonuç: Algoritma rakamlar toplamını verir; 4729 için 9+2+7+4=22.

Sık Yapılan Hatalar

Not: Bir döngüyü anlamak için adım adım izle (trace): değişkenlerin her turdaki değerini bir tabloya yaz. Çıktıyı tahmin etmenin en güvenli yolu budur.