İçeriğe atla
← 8. Ünite: İşlemlerle Cebirsel Düşünme ve Değişimler

📖 Algoritmayı Yapılandırma

Algoritmayı Yapılandırma, 7. Sınıf Matematik dersinin 8. ünitesi "İşlemlerle Cebirsel Düşünme ve Değişimler" içindeki konulardan biri. Ünite oyununda bu konudan 2 soru var. Aşağıda bu konunun kısa konu anlatımını bulursun — üyelik gerekmez.

📖 Algoritmayı Yapılandırma konu anlatımı

7 dakikada okunur · 7. Sınıf Matematik

Bir algoritma üç biçimde ifade edilebilir: doğal dil (günlük konuşma), sözde kod (numaralı adımlar) ve akış şeması (şekillerle). 7. sınıfta algoritmaya iki güçlü araç eklenir: koşul (eğer … ise) ve döngü (bir adıma geri dön). Bu ikisi sayesinde algoritma karar verebilir ve tekrar edebilir.

🗣️ Üç ifade biçimi

25 × 111 işlemini kolay yoldan hesaplayan bir algoritmayı üç biçimde yazalım.

1) Doğal dil — günlük konuşma diliyle:

25'i önce 10'la sonra 100'le çarp, bu çarpımların sonuçlarını topla. Toplam sonuca 25 ekle ve sonucu yazdır.

2) Sözde kod — numaralı adımlarla:

1. Adim: Basla.
2. Adim: 25'i birinci carpan olarak gir.
3. Adim: 10'u ikinci carpan olarak gir.
4. Adim: 100'u ucuncu carpan olarak gir.
5. Adim: Birinci ile ikinci carpani carp.
6. Adim: Birinci ile ucuncu carpani carp.
7. Adim: Iki carpim sonucunu topla.
8. Adim: Toplam sonuca 25 ekle.
9. Adim: Sonucu yazdir.
10. Adim: Bitir.

3) Akış şeması — şekillerle (oval başla/bitir, paralelkenar giriş-çıktı, dikdörtgen işlem, eşkenar dörtgen koşul).

Doğal dilSözde kodAkış şeması
AnlaşılırlıkEn kolay okunurOrtaŞekil bilgisi gerekir
KesinlikEn az kesinKesin, adımlar numaralıEn kesin, akış yönü belli
Döngü gösterimiZor"… adıma geri dön"Ok ile net gösterilir

Üçü de aynı algoritmayı anlatır; yalnızca sunum biçimi değişir.

Cebirsel ifadeyle genelleştirme: yukarıdaki algoritma yalnızca 25 için değil herhangi bir sayı için yazılabilir. Sayıya a dersek:

111 · a = 10a + 100a + a

Böylece algoritma bütün sayılar için çalışır hâle gelir.

🔀 Koşul: eğer … ise

Algoritma bazen karar vermek zorundadır. Bunu koşul ile yaparız. Akış şemasında koşul eşkenar dörtgen (karo) ile gösterilir ve iki çıkışı olur: Evet ve Hayır.

Örnek — taksi ücreti. Açılış ücreti 80 TL; 1 kilometreden sonra her km için 15 TL ekleniyor.

1. Adim: Basla.
2. Adim: Acilis ucretini 80 TL olarak gir.
3. Adim: Gidilen mesafeyi gir. (x km)
4. Adim: Eger x < 1 ise ucret = 80 TL.
5. Adim: Eger x >= 1 ise
           ek ucret = 15 · (x - 1)
           toplam ucret = 80 + 15 · (x - 1)
6. Adim: Ucreti yazdir.
7. Adim: Bitir.

Neden koşul gerekli? Çünkü ilk 1 km için ek ücret alınmıyor. Koşul olmasa 0,5 km giden biri için 15 · (0,5 − 1) = −7,5 TL gibi anlamsız bir ek ücret çıkardı.

Örnek — sensörlü sokak lambası. Işık değeri (x) 200 ve üzeri ise hava karanlık; hareket sensörü (y) "var" ya da "yok" veriyor.

1. Adim: Basla.
2. Adim: Isik sensorunden x degerini oku.
3. Adim: Hareket sensorunden y degerini oku.
4. Adim: Eger x >= 200 VE y = "var" ise lambalari yak.
5. Adim: Eger x < 200 ise lambalari sondur.
6. Adim: Sistem verilerini kaydet.
7. Adim: Bitir.

Doğal dille: "Hava karanlıksa ve sokakta hareket varsa lambalar yansın; hava aydınsa sönsün." Bu sistem enerji israfını önler.

🔁 Döngü: geri dön

Döngü, belirli adımların tekrar tekrar çalıştırılmasıdır. Sözde kodda "… adıma geri dön" ile, akış şemasında geri dönen bir ok ile gösterilir.

Örnek: Bir babanın yaşı 38, çocuklarının yaşları 10 ve 14. Babanın yaşı kaç yıl sonra çocukların yaşları toplamına eşit olur?

 1. Adim: Basla.
 2. Adim: Babanin yasini 38 gir.
 3. Adim: Cocuklarin yaslari toplamini 24 gir.  (10 + 14)
 4. Adim: Yil sayisini 0 gir.
 5. Adim: Babanin yasini 1 artir.
 6. Adim: Cocuklarin yaslari toplamini 2 artir.
 7. Adim: Yil sayisini 1 artir.
 8. Adim: Eger babanin yasi cocuklarin yaslari
          toplamina ESIT DEGILSE 5. adima GERI DON.
 9. Adim: Yil sayisini yazdir.
10. Adim: Bitir.

Neden çocukların toplamı 2 artıyor? Çünkü iki çocuk var; her yıl ikisinin de yaşı 1 arttığı için toplam 2 artar.

Döngüyü takip edelim:

YılBabanın yaşıÇocuklar toplamı
03824
13926
54334
104844
145252 ✓

→ 14 yıl sonra eşitlenir. Döngünün işlevi: koşul sağlanana kadar aynı adımları tekrarlayıp doğru cevabı aramaktır.

Aynı problem denklemle de çözülür. x yıl sonra:

38 + x = 24 + 2x
38 = 24 + x
 x = 14

Aynı cevap: 14 yıl ✓ Döngü deneyerek bulur, denklem doğrudan hesaplar — ikisi de doğrudur.

🔧 Algoritma kurarken dikkat edilecekler

Döngü mutlaka sınırlandırılmalıdır. Bitiş koşulu olmayan döngü sonsuza kadar çalışır. Yukarıdaki örnekte bitiş koşulu "babanın yaşı çocukların toplamına eşit olunca" idi.

Koşul tam yazılmalıdır. "Eğer x < 1 ise" dedikten sonra "eğer x ≥ 1 ise" durumunu da yazmak gerekir; yoksa algoritma bazı girdilerde ne yapacağını bilemez.

Adımların sırası değiştirilemez. Bir adım yalnızca kendisinden önce tanımlanmış değerleri kullanabilir.

Algoritmayı değiştirmek: Taksi örneğinde ilk 1 kilometre için 100 TL alınsaydı hangi adımlar değişirdi?

2. adim degisir : acilis ucreti 100 TL olur
4. adim degisir : x < 1 ise ucret = 100 TL
5. adim degisir : toplam ucret = 100 + 15 · (x - 1)

Diğer adımlar (giriş, yazdırma, başla/bitir) aynı kalır. Bir algoritmayı değiştirirken hangi adımların etkilendiğini tek tek belirlemek gerekir.

Günlük hayatta algoritma ve sensörler: akıllı ışık sensörü (LDR), ısı sensörü (termostat), ses sensörü (mikrofon) ve görüntü sensörü (kamera) çevreden topladıkları verileri belirli bir algoritma çerçevesinde işler. Otomatik kapılar, klimalar, trafik ışıkları ve akıllı sokak aydınlatmaları bu mantıkla çalışır.

🧩 Örnekle anlayalım

İki otobüsten birinde 6, diğerinde 42 öğrenci var. Bir öğretmen şu algoritmayı kuruyor: "Az öğrenci olan otobüsteki sayı, diğer otobüsten öğrenci alınarak iki katına çıkarılır; bu işlem öğrenci sayıları eşitlenene kadar tekrarlanır." (a) Döngüyü adım adım takip ederek sayıların nasıl değiştiğini tabloyla gösteriniz. (b) Kaç adımda eşitlenirler? (c) Bu algoritmanın sözde kodunu yazınız.

Çözümü göster

(a) Döngüyü takip edelim. Her adımda az olan otobüsün sayısı iki katına çıkıyor; eklenen öğrenciler çok olan otobüsten alınıyor. Toplam öğrenci sayısı değişmez:

toplam = 6 + 42 = 48 ogrenci

Başlangıç:

A otobusu: 6     B otobusu: 42

1. adım: Az olan A (6). İki katına çıkarsın → 12. Demek ki B'den 6 öğrenci alınır:

A: 6 + 6 = 12     B: 42 - 6 = 36

2. adım: Az olan A (12). İki katına çıkarsın → 24. B'den 12 öğrenci alınır:

A: 12 + 12 = 24   B: 36 - 12 = 24

Tablo:

AdımA otobüsüB otobüsüToplam
Başlangıç64248
1. adım123648
2. adım242448

(b) Kaç adımda eşitlenir?

2 adımda eşitlenirler; ikisinde de 24 öğrenci olur.

Kontrol: 24 + 24 = 48 ✓ ve 48 : 2 = 24 ✓ (eşit paylaşımda her otobüste olması gereken sayı)

(c) Sözde kod.

1. Adim: Basla.
2. Adim: Birinci otobusteki ogrenci sayisini gir. (6)
3. Adim: Ikinci otobusteki ogrenci sayisini gir. (42)
4. Adim: Adim sayisini 0 gir.
5. Adim: Az olan otobusu belirle.
6. Adim: Az olan otobuse, kendi sayisi kadar ogrenciyi
         diger otobusten aktar.
         (yani sayisini iki katina cikar)
7. Adim: Adim sayisini 1 artir.
8. Adim: Eger iki otobusteki ogrenci sayilari ESIT
         DEGILSE 5. adima GERI DON.
9. Adim: Adim sayisini ve son ogrenci sayilarini yazdir.
10. Adim: Bitir.

Döngünün işlevi: 5–8. adımlar, sayılar eşitlenene kadar tekrarlanır. Bitiş koşulu 8. adımda yazılıdır: "eşit değilse geri dön". Eşit olduğu an döngüden çıkar ve 9. adıma geçer.

Dikkat: bu algoritma her başlangıç değeri için işe yaramaz. Örneğin 10 ve 30 öğrenci olsa: 10 → 20, B 30 → 20, yine 2 adımda eşitlenir. Ama 5 ve 40 olsa: 5 → 10 (B 35), 10 → 20 (B 25), 20 → 40 (B 5), 5 → 10 … döngü hiç eşitlenmeyebilir. Bu yüzden döngülü algoritmalarda bitiş koşulunun ulaşılabilir olduğundan emin olmak gerekir.

⚠️ Sık yapılan hatalar

  • “Döngünün bitiş koşulu yazılmasa da olur” yanlıştır. Bitiş koşulu olmayan döngü sonsuza kadar çalışır. Her döngüde "… olana kadar" biçiminde bir koşul bulunmalıdır.
  • “Koşulun yalnızca bir durumunu yazmak yeter” yanlıştır. "Eğer x < 1 ise" dedikten sonra x ≥ 1 durumu da yazılmalıdır; yoksa algoritma bazı girdilerde ne yapacağını bilemez.
  • “Akış şemasında koşul da dikdörtgenle gösterilir” yanlıştır. Koşul eşkenar dörtgen (karo) ile gösterilir ve Evet / Hayır olmak üzere iki çıkışı olur.
  • “Döngüde her değişken aynı miktarda artar” yanlıştır. Baba örneğinde babanın yaşı 1, iki çocuğun yaşları toplamı 2 artar. Her değişkenin artış miktarı probleme göre belirlenir.
  • “Doğal dil, sözde kod ve akış şeması farklı algoritmalardır” yanlıştır. Üçü de aynı algoritmayı anlatır; yalnızca sunum biçimi ve kesinlik düzeyi farklıdır.
  • “Algoritmanın bir adımı değişirse hepsi yeniden yazılır” yanlıştır. Yalnızca etkilenen adımlar değişir; giriş, çıktı ve başla/bitir adımları çoğu zaman aynı kalır.
💡 Aklında kalsın: Algoritma üç biçimde yazılır: doğal dil, sözde kod (numaralı adımlar), akış şeması (oval başla/bitir, paralelkenar giriş-çıktı, dikdörtgen işlem, eşkenar dörtgen koşul). Koşul "eğer … ise" ile karar verdirir ve iki çıkışı olur. Döngü "… adıma geri dön" ile adımları tekrarlar ve mutlaka bir bitiş koşulu taşımalıdır. Cebirsel ifade kullanmak algoritmayı bütün sayılar için geçerli kılar.

📝 Bu konu hangi yazılıda çıkar?

Ünitenin yıl içindeki yerine göre genellikle şu yazılılarda sorulur. Okulunun konu dağılımı farklı olabilir.

📚 "İşlemlerle Cebirsel Düşünme ve Değişimler" ünitesinin konuları