9. Sınıf · Algoritma ve Bilişim
Algoritmik Düşünme ve Problem Çözme
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:
- Belirli (kesin): her adım tek anlamlıdır, yoruma yer bırakmaz.
- Sonlu: belirli sayıda adımda sona erer.
- Sıralı: adımlar belli bir düzende uygulanır.
- Girdi / çıktı: baştaki veriden (girdi) sonuca (çıktı) ulaşır.
Günlük bir örnek: "çay demlemek" de bir algoritmadır — su koy, kaynat, çayı ekle, demlenmesini bekle, servis et.
İki sayının aritmetik ortalamasını bulan algoritmayı adımlarla yazınız.
- Başla.
- Birinci sayıyı al: .
- İkinci sayıyı al: .
- Toplamı hesapla: .
- Ortalamayı hesapla: .
- değerini yaz.
- Bitir.
2. Akış Şeması Elemanları
Algoritmalar akış şeması ile görselleştirilir. Temel semboller:
| Sembol | Şekil | Anlamı |
|---|---|---|
| Başla / Bitir | oval | algoritmanın başı ve sonu |
| İşlem | dikdörtgen | bir hesaplama veya atama () |
| Karar | eşkenar dörtgen | koşul sorusu (Evet/Hayır dallanır) |
| Akış oku | ok | adımların yönü |
Karar sembolünden iki ok çıkar: koşul doğruysa "Evet" yolu, yanlışsa "Hayır" yolu izlenir.
Bir sayının pozitif mi negatif mi olduğunu belirleyen algoritmanın karar adımını yazınız.
- Sayıyı al: .
- Karar: " mı?"
- Evet ise: "Pozitif" yaz.
- Hayır ise: "Pozitif değil" yaz.
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: .
Bir öğrencinin notu ve üzeriyse "Geçti", değilse "Kaldı" yazan algoritmayı yazınız.
- Notu al: .
- Eğer ise "Geçti" yaz.
- Değilse "Kaldı" yaz.
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.
'den 'e kadar olan sayıların toplamını bulan algoritmayı, döngü kullanarak yazınız.
Bir toplam değişkenini 'dan başlat; bir sayaç 'den 'e kadar ilerlerken her adımda sayacı toplama ekle.
- , .
- olduğu sürece tekrarla:
- ,
- .
- Döngü bitince 'ı yaz.
- İzleme: adımlarda sırayla olur.
Çözümlü Örnekler
Bir dikdörtgenin alanını hesaplayan algoritmayı adımlarla yazınız.
- Başla.
- Uzun kenarı al: .
- Kısa kenarı al: .
- Alanı hesapla: .
- 'yı yaz. Bitir.
Aşağıdaki algoritmanın çıktısı nedir? al; hesapla; 'yi yaz.
- .
- .
Bir sayının çift mi tek mi olduğunu belirleyen algoritmanın koşulunu yazınız. ('in 'ye bölümünden kalan ile gösteriliyor.)
- .
- Eğer ise "Çift" yaz, değilse "Tek" yaz.
, ile başlayan ve " olduğu sürece , " döngüsünü çalıştıran algoritmanın çıktısı nedir?
- Adımları izle: sırasıyla .
- Döngü olunca durur.
Alıştırmalar — Sıra Sende
Önce kendin çözmeyi dene; sonra çözümü açıp karşılaştır.
Şu algoritmanın çıktısı kaçtır? al; hesapla; hesapla; 'yi yaz.
- , , .
Bir sayının mutlak değerini veren algoritmanın karar adımını yaz.
- Eğer ise sonuç , değilse sonuç .
, ile başlayan, " olduğu sürece , " döngüsünün çıktısını bul.
- değerleri ; sırasıyla .
- olunca döngü durur.
Üç sayının en büyüğünü bulan algoritmanın ilk karşılaştırmasını yaz ( için).
- Eğer ise büyük , değilse büyük .
- (Sonra "büyük" ile karşılaştırılır.)
Şu algoritmanın çıktısı kaçtır? , al; eğer ise , değilse ; 'i yaz.
- , ; koşulu doğru.
- O hâlde .
, ile başlayan, " olduğu sürece , " döngüsünün çıktısı olan son değeri ve döngünün kaç kez döndüğü nedir?
- İzle: başta . Koşul doğru → (adım ). → . → . → . → .
- Artık yanlış → döngü durur. Toplam tur döndü; son .
, ile başlayan şu döngünün çıktısını bul: " olduğu sürece , ." Döngü bittiğinde kaçtır?
Her turda önce artar, sonra 'ye eklenir; yani , biçiminde birikir. , 'ye ulaşıp ya da geçip koşulu bozduğu anda dur.
- Tur tur izle: → → → → → .
- Koşul her turun başında kontrol edilir: doğruyken bir tur daha işlenip olur. Sonraki kontrolde yanlış → durur.
Aşağıdaki algoritma bir doğal sayısı için ne hesaplar? Başla; , ; " olduğu sürece , (tam bölüm)"; 'yi yaz. için çıktıyı da bulun. (, 'nin 'a bölümünden kalandır.)
son rakamı verir, ise son rakamı atar. Her turda bir rakam ele alınır.
- Döngü, sayının rakamlarını toplar: her turda son rakam 'ye eklenir, sonra sayıdan atılır.
- için izle: → → → → , dur.
- olunca koşul bozulur.
Sık Yapılan Hatalar
- Adımları belirsiz bırakmak. "Sayıyı işle" gibi bir adım algoritmaya uygun değildir; her adım tek anlamlı olmalı.
- Karar sembolünden tek ok çıkarmak. Karardan her zaman iki yol çıkar: Evet ve Hayır.
- Döngüde sayacı artırmayı unutmak. Sayaç güncellenmezse koşul hep doğru kalır ve döngü sonsuza gider.
- Atama () ile eşitlik koşulunu karıştırmak. bir atamadır (yeni değer); koşuldaki ise karşılaştırmadır.
- Döngünün son turunu yanlış saymak. Koşul her turun başında denetlenir: koşul sağlandığı sürece gövde bir kez daha işler, ancak ondan sonra kontrol koşulu bozar. Çıktıyı bulurken son turu eksik ya da fazla saymamak için tabloyu sona kadar yürüt.
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.
Sınav Tarzı Sorular
Aşağıdaki sorular, konuyu sınav formatında (5 şıklı) pekiştirmen için özgün biçimde hazırlanmıştır.
Çözümlü Sorular
Her soruyu önce kendin dene; takıldığında Çözüme Bak.
- al.
- .
- .
- .
- Yazılan değer 'tir.
- İyi bir algoritma sonludur: belirli sayıda adımda sona erer.
- Ayrıca her adımı belirlidir (tek anlamlı), adımları sıralıdır ve bir girdiden çıktıya ulaşır.
- 'Sonsuza dek durmadan devam etmesi' sonluluk özelliğine aykırıdır; bu bir algoritmada olmaması gereken bir durumdur.
- Diğer dört seçenek algoritmanın taşıması gereken özelliklerdir.
- alınır.
- Koşulu denetle: doğrudur, o hâlde indirim uygulanır.
- İndirimli tutar .
- Ödenecek tutar TL'dir.
- Döngüyü tur tur izle. Koşul her turun başında denetlenir.
- doğru → , .
- doğru → , .
- doğru → , .
- doğru → , .
- yanlış → döngü durur. Çıktı 'dur.
- Koşul her turun başında denetlenir.
- doğru → .
- doğru → .
- doğru → .
- doğru → .
- doğru → .
- yanlış → döngü durur. Yazılan son değer 'dır.
- Koşul her turun başında denetlenir: olduğu sürece bir tur daha işlenir.
- 'nın tur başındaki (pozitif) değerleri: .
- Bu değerin her biri için doğrudur; dolayısıyla döngü kez işler.
- turdan sonra olur; sonraki denetimde yanlış → döngü durur.
- her turda arttığı için son değeri 'tir.