Konu Anlatımı
Bu derste ne öğreneceğiz?
Bu derste Cebirsel ve Fonksiyonel İşlemlerin Algoritmik Yapısı konusunu çalışacağız.
Dersten sonra şunları yapabiliyor olmanız gerekiyor:
- Kazanım 1: Algoritma kavramını açıklayıp bir algoritmanın taşıması gereken özellikleri belirleyebilme
- Kazanım 2: Bir algoritmanın adımlarını akış diyagramı sembolleriyle gösterebilme
- Kazanım 3: Değişken ve atama kavramlarını kullanarak hesaplama adımlarını yazabilme
- Kazanım 4: Yineleme ve özyineleme yapılarını karşılaştırıp uygun durumda seçebilme
- Kazanım 5: Cebirsel bir ifadeyi öncelik kurallarına uygun olarak adım adım değerlendirebilme
Ön bilgi: bundan önce gördüğümüz
Bu konu, Bayes Teoremi başlığında öğrendiklerimizin üzerine kurulur. Önceki konudaki kavram burada yeniden kullanılıyor; bu yüzden o adımı atlamamak önemlidir.
- Bayes Teoremi — bu derste kullandığımız temel kavram buradan geliyor.
- İki Kategorik Değişkenli Veriler — bu derste kullandığımız temel kavram buradan geliyor.
Algoritma Nedir?
Bir problemi çözmek için izlenen sıralı ve sonlu adımlar kümesine algoritma denir. Algoritmada her adım, bir önceki adımın ürettiği sonuç üzerinden yürür ve bütün adımlar birlikte istenen sonuca ulaştırır. Matematikte bir ifadeyi sadeleştirmek, bir denklemi çözmek ya da bir fonksiyon değerini hesaplamak için izlenen yol da bir algoritmadır.
Bir algoritmanın dört temel özelliği vardır. Sonlu olması, belirli sayıda adımdan sonra durması demektir. Belirli olması, her adımının açık ve tek anlamlı biçimde tanımlanmasıdır. Genel olması, yalnızca tek bir duruma değil bir problemin tamamına uygulanabilmesidir. Uygulanabilir olması ise her adımın gerçekten yapılabilir olmasıdır.
Algoritmanın Özellikleri
Aşağıdaki tablo, algoritma kavramını oluşturan özellikleri ve her birinden beklenen davranışı özetlemektedir.
| Özellik | Anlamı | Karşı örnek |
|---|
| Sonluluk | belirli sayıda adımdan sonra durur | adımların sonsuza kadar sürmesi |
| Belirlilik | her adımı açık ve tek anlamlıdır | bir adımın belirsiz bırakılması |
| Genellik | problemin bütün girdilerinde çalışır | yalnızca tek bir sayı için çalışması |
| Uygulanabilirlik | her adımı gerçekten yapılabilir | yapılamayacak bir adımın yazılması |
Akış Diyagramı ve Semboller
Algoritmanın adımlarını görsel olarak göstermek için akış diyagramı kullanılır. Başlangıç ve bitiş oval şekille, süreç adımları dikdörtgenle, kararlar ise eşit iki kenarı eşit olan yamsı bölgeyle gösterilir. Karar noktasından çıkan iki çizgi, koşulun doğru ya da yanlış olduğu durumları belirtir.
Bir akış diyagramının okunmasında oklar yönünde ilerlenir. Her kutu bir adımı, her eşkenar dörtgen bir koşulu gösterdiği için diyagram, metin hâlindeki algoritmayla birebir karşılık gelir.
Değişken, Atama ve Yineleme
Algoritmada hesaplanan değerleri saklamak için değişken kullanılır. Değişkenin içeriği atama işlemiyle değiştirilir; atamada yeni değer hesaplanır ve eski değerin yerine yazılır. Bir sayıyı iki katına çıkarma gibi işlemler, değişkenler aracılığıyla birkaç adımda yazılabilir.
Yineleme, belirli bir adımın bir koşul sağlandığı sürece tekrarlanmasıdır. Döngünün ne kadar süreceğini bir sayaç belirler ve sayaç her turda bir artar ya da azalır. Sayaç hiç değişmezse döngü hiç bitmez.
Özyineleme
Özyineleme, bir fonksiyonun kendisini daha küçük ya da daha basit bir girdiyle yeniden çağırmasıdır. Küçük problemlerin çözümlerinden yararlanarak büyük problem inşa edilir. Bu yapının durması için bir temel durum tanımlanmalıdır; temel durum sağlanmadığında çağrı zinciri hiçbir zaman sona ermez.
İleri örnek
Aşağıdaki adımları izleyen bir algoritmayı inceleyelim: A değişkeni 1 değeriyle başlatılır, sonra A değerine 2 eklenir, ardından A iki katına çıkarılır.
- Birinci adımda A değişkenine 1 yazılır.
- İkinci adımda A değerine 2 eklenir ve A üç olur.
- Üçüncü adımda A iki katına çıkarılır ve A altı olur.
- Adımlar sırayla uygulanmış olur ve sonuç A değişkeninde saklanır.
Burada dikkat edilmesi gereken nokta, atama işleminde sağ tarafın mevcut değer kullanılarak hesaplanmasıdır. Değişkenin değeri her adımda güncellenip eski değeri unutulur. Değişkenin içeriği program boyunca birden çok kez değişebildiği için sabitlerden ayırt edilir.
Özet
Algoritma, bir problemi çözmek için izlenen sıralı ve sonlu adımlar kümesidir. Sonlu, belirli, genel ve uygulanabilir olmak dört temel özelliktir. Akış diyagramı bu adımları görselleştirir; başlangıç ve bitiş oval, süreç dikdörtgen, karar ise yamsı bölge ile gösterilir. Hesaplanan değerler değişkenlerde saklanır ve atama işlemiyle güncellenir. Yineleme, bir koşul sağlandığı sürece adımları tekrarlar ve bir sayaçla denetlenir. Özyineleme ise fonksiyonun kendisini daha küçük girdiyle çağırmasıdır ve mutlaka bir temel durum içermelidir. Cebirsel ifadelerde öncelik sırası parantez, üs, çarpma ve bölme, en son toplama ve çıkarma şeklindedir. Fonksiyonlarda bileşke için iç fonksiyon önce uygulanır. Doğrusal fonksiyonun tersi çarpma ve bölme adımlarıyla, karesel fonksiyonun tepe noktası ise bölme adımıyla elde edilir.
Sık Yapılan Hatalar
- Algoritmanın sonlu olmaması: Döngüyü durduracak bir koşul yazılmazsa algoritma hiçbir zaman bitmez. Sayaç ya da koşul eksikliği en sık nedenlerdendir.
- Temel durumu atlamak: Özyinelemeli bir yazımda durma koşulu tanımlanmazsa özyineleme sonsuz bir çağrı zincirine dönüşür ve hiçbir çıktı üretilemez.
- Atama ile eşitliği karıştırmak: Atamada sağ taraf hesaplanıp değişkenin eski değeri silinir. Değişken, kendi eski değerini korumuyorsa sonuç beklenenden farklı çıkar.
- Cebirsel önceliği atlamak: Çarpma toplamadan önce yapılır. Bu kural göz ardı edilirse değerleme yanlış sonuç verir.
- Bileşke sırasını ters almak: Fonksiyonlarda bileşke hesaplanırken iç fonksiyon önce uygulanır; sıra ters çevrilirse tamamen farklı bir değer bulunur.
Günlük hayattan bir uygulama
Şimdi konuyu kendi hayatımızdaki bir duruma uygulayacağız. Cebirsel ve Fonksiyonel İşlemlerin Algoritmik Yapısı bilgisi olmadan da bu iş yapılabilir, ama nasıl yapıldığını açıklamak zorlaşır; soru tam da bu açıklamayı istiyor.
Uygulama sorusu: Bir sayının rakamlarının toplamını bulan bir algoritma yazınız. Algoritmanın adımlarını numaralı biçimde yazınız ve gereken değişkenleri belirtiniz.
Bu görev için 12 puan dağıtılmıştır; puanlama anahtarı, cevabın hangi adımlarla gösterilmesi gerektiğini ayrıntılı biçimde söyler. Puanlamada işlem sırasının ve sonuç cümlenin ayrı ayrı sayıldığına dikkat et.
Dersi tekrar ederken bakacağınız notlar
- Algoritma yazarken adımları numaralandırın; numaralar sırayı ve eksik adımı gözle bulmayı kolaylaştırır.
- Her adımdan sonra değişkenlerin güncel değerini yazın; büyük değerlerde bu tablo hataları anında yakalar.
- Değişken adını kısa ama anlamlı seçin; aynı değişkenin kuralda hangi rolü oynadığı yazıdan anlaşılmalıdır.
- Döngü kurarken sayacın başlangıç ve bitiş değerini önceden yazın; bu, döngünün kaç kez çalışacağını netleştirir.
- Özyineleme ile yineleme arasında seçim yaparken problemin doğal yapısına bakın; küçük problemlere bölünebiliyorsa özyineleme, döngü sayısı belliyse yineleme daha uygundur.
İki örnek üzerinde çözüm
İki örnek üzerinde çalışacağız. İlk örnek kuralın temel kullanımını, ikinci örnek ise kuralın zorlayıcı bir durumunu gösterir. Adımları kendin yazmayı dene; ikinci adımda nerede durduğunu görmek, sınavda zaman kazanır.
Örnek 1: Atama Adımlarını İzleme
Soru: A değişkeni 1 değeriyle başlatılıyor. Sonra A değerine 2 ekleniyor, ardından A iki katına çıkarılıyor. Bu adımlardan sonra A kaç olur?
- Birinci adımda A değişkenine bir yazılır.
- İkinci adımda sağ taraf hesaplanır ve A değerine iki eklenir.
- Üçüncü adımda A'nın güncel değeri iki ile çarpılır.
- Atamalardan sonra A değişkeninde kalan değer yazılır.
Cevap: A değişkeninin son değeri altı olur.
Bu örnekte adım sayısını not edin: kural her zaman aynı sayıda işlemle değil, kazanılması gereken bilgiye göre çözülür.
Örnek 2: Sayaçlı Döngü Kurma
Soru: X değişkeni 1'den başlatılarak her turda iki katına çıkarılıyor ve güncel değer toplam değişkenine ekleniyor. Döngü dört kez çalıştırıldığında toplam kaç olur?
- X değişkenine bir, toplam değişkenine sıfır yazılır.
- Her turda X iki katına çıkarılır ve yeni değer toplama eklenir.
- Tur sayısı için bir sayaç kullanılır.
- Dört turun sonunda toplam yazılır.
Cevap: Değerler iki, dört, sekiz ve on altı olduğundan toplam otuz olur.
Kavram karşılaştırma tablosu — Terimler ve aralarındaki fark
Bu derste geçen terimler birbirine yakın durur ve sınavda karıştırılır. Aşağıdaki tabloda her terimin anlamı ve sık karıştırılan karşılığı yan yana verilmiştir.
| Kavram | Anlamı | Sık karıştırılan karşılığı |
|---|
| Değişken | Atama ve Yineleme Algoritmada hesaplanan değerleri saklamak için değişken kullanılır. | Atama ile eşitliği karıştırmak |
| Yineleme | Belirli bir adımın bir koşul sağlandığı sürece tekrarlanmasıdır. | Bu kavram için ayrı bir hata kaydı tutulmamış; tanımıyla ilgili uyarılar aşağıdaki bölümde. |
| Başlangıç ve bitiş oval | Süreç dikdörtgen, karar ise yamsı bölge ile gösterilir. | Bu kavram için ayrı bir hata kaydı tutulmamış; tanımıyla ilgili uyarılar aşağıdaki bölümde. |
Kurallar, formüller ve ölçüler
Bu konunun dayandığı kurallar aşağıdadır. Tabloyu ezberlemek değil, kuralın hangi soruda işe yaradığını görmek esastır.
| Kural ya da formül | Ölçü / birim | Örnek adımlarında geçiyor mu |
|---|
| Algoritma: sonlu, belirli, genel ve uygulanabilir adımlar dizisi | Ölçü birimi yok (saf kural) | Evet — Örnek 1: Atama Adımlarını İzleme |
| Atama işlemi: x ← ifade | Ölçü birimi yok (saf kural) | Evet — Örnek 1: Atama Adımlarını İzleme |
| Yineleme: sayaç ← 1; koşul sağlandıkça adım; sayaç ← sayaç + 1 | Ölçü birimi yok (saf kural) | Evet — Örnek 2: Sayaçlı Döngü Kurma |
| Özyineleme: f(n) = temel durum ya da g(n) ile f(n − 1) | Ölçü birimi yok (saf kural) | Evet — Örnek 3: Özyineleme ile Çarpım |
| Aritmetik öncelik: parantez → üs → çarpma ve bölme → toplama ve çıkarma | Ölçü birimi yok (saf kural) | Evet — Örnek 2: Sayaçlı Döngü Kurma |
| 1'den n'ye toplam: 1 + 2 +... + n = n(n + 1) / 2 | Ölçü birimi yok (saf kural) | Evet — Örnek 2: Sayaçlı Döngü Kurma |
| Doğrusal fonksiyonun tersi: f⁻¹(x) = (x − b) / a | Ölçü birimi yok (saf kural) | Evet — Örnek 6: Karesel Fonksiyonda Tepe Noktası Algoritması |
Hangi hatalara dikkat edelim?
Hata yapmamak için önce hatanın nereden geldiğini bilmek gerekir. Aşağıdaki listede her hata için yanlış giden yol ve doğru yol birlikte verilmiştir.
- Algoritmanın sonlu olmaması: Döngüyü durduracak bir koşul ya da sayaç yazılmazsa algoritma hiçbir zaman bitmez. Böyle bir yazım, kendisine verilen girdi ne olursa olsun sürekli adım tekrarlar ve çıktı üretemez.
- Temel durumu atlamak: Özyinelemeli bir yazımda durma koşulu tanımlanmazsa özyineleme sonsuz bir çağrı zincirine dönüşür. Bu yüzden temel durum, fonksiyonun geri döndüğü en küçük girdi açıkça yazılmalıdır.
- Atama ile eşitliği karıştırmak: Atama işleminde sağ taraf hesaplanır ve değişkenin eski değeri silinir. Değişken kendi eski değerini koruyorsa toplam ya da çarpım adımları beklenenden farklı bir sonuç verir.
- Cebirsel önceliği atlamak: Çarpma ve bölme toplama ile çıkarmadan önce yapılır. Öncelik göz ardı edilirse ifade yanlış değerlendirilir ve bütün sonraki hesaplar kayar.
- Bileşke sırasını ters almak: Fonksiyonlarda bileşke hesaplanırken iç fonksiyon her zaman önce uygulanır. Sıra ters çevrilirse tamamen farklı bir değer bulunur ve hata fark edilemeyebilir.
Kısaca özet
Kısaca: Algoritma, bir problemi çözmek için izlenen sıralı ve sonlu adımlar kümesidir. Algoritmanın görsel karşılığı akış diyagramıdır; başlangıç ve bitiş oval, süreç adımları dikdörtgen, kararlar yamsı bölge ile gösterilir ve karar iki kola ayrılır. Hesaplanan değerler değişkenlerde saklanır, atama işlemiyle güncellenir ve eski değer atılır. Yineleme bir koşul sağlandığı sürece adımları tekrarlar ve bir sayaçla denetlenir; özyineleme ise bir fonksiyonun…
Sınav öncesi şu maddeleri tekrar etmek yeterli olacaktır:
- Algoritma adımları sıralıdır; bir adımın çıktısı bir sonraki adımın girdisidir ve adımlar birlikte sonuca götürür.
- Sonluluk, belirlilik, genellik ve uygulanabilirlik bir algoritmanın ayırt edici özellikleridir; bunlardan biri eksikse yazım algoritma sayılmaz.
- Akış diyagramında karar sembolü yamsı bölgedir ve akışı iki kola ayırır; doğru ve yanlış kollar eşit uzunlukta olmak zorunda değildir.
- Değişken aynı anda tek bir değer saklar; atama yapıldığında eski değer kaybolur ve yerine yeni değer yazılır.
- Yineleme bir koşul sağlandığı sürece tekrarlanır ve bir sayaçla denetlenir; sayaç değişmezse döngü hiç bitmez.
- Özyineleme için temel durum zorunludur; temel durum olmadan fonksiyon hiçbir zaman durmaz.
Kendini dene
Bu üç soru konunun özetidir. Çözmeden önce her biri için hangi kuralı kullanıyorum diye düşün; cevap anahtarı sonda verilmiştir.
- A değişkeni 1 değeriyle başlatılıyor. Önce A değerine B ekleniyor, sonra A iki katına çıkarılıyor. A ve B sırasıyla 1 ve 2 iken son A değeri kaçtır? (Şıklar: 4 · 6 · 3 · 5)
- Bir algoritmada döngüyü sonlandırmak için genellikle hangi yapıdan yararlanılır? (Şıklar: sayaç · koşul · sabit · girdi)
- Bir algoritmanın taşıması gereken özellikler arasında aşağıdakilerden hangisi yer almaz? (Şıklar: sonlu sayıda adımdan oluşması · her adımının açık ve belirli olması · adımlarının sonsuza kadar sürmesi · bir problemi genel olarak çözebilmesi)
Cevap anahtarı: 1) 4 — Atama adımında A değeri sürekli güncellenir. İlk adımda bir ile iki toplanır ve A üç olur. İkinci adımda bu güncel değer iki ile çarpılarak altı olur. Her adımda eski değer yerine yeni değer yazıldığ…
2) sayaç — Döngü, bir koşul sağlanana kadar yinelenir ve koşuldaki sayaç her adımda bir artar ya da azalır. Sayaç istenen değere ulaştığında döngü sona erer. Sayaç hiç değişmezse döngü hiç bitmez ve algoritma s…
3) adımlarının sonsuza kadar sürmesi — Algoritma sonlu sayıda adımdan oluşmalı ve her adımı açık ve belirli olmalıdır. Bir problemi genel olarak çözebilmesi de beklenen bir özelliktir. Adımların sonsuza kadar sürmesi ise sonluluk koşulunu…
Komşu konular
Bu konuyu öğrenmek şu başlıkları da kolaylaştırır. Aynı üniteden ve sonraki üniteden ikişer konu seçtik:
- Fonksiyon Kavramı ve Gösterimi — sonraki ünitenin başlangıcı; konuyu genişletir.
- Fonksiyon Türleri — sonraki ünitenin başlangıcı; konuyu genişletir.
- Fonksiyonların Grafikleri — sonraki ünitenin başlangıcı; konuyu genişletir.
- Birebir, Örten ve Ters Fonksiyon — sonraki ünitenin başlangıcı; konuyu genişletir.
Bu anlatım hakkında
Cebirsel ve Fonksiyonel İşlemlerin Algoritmik Yapısı başlığındaki her sayısal iddia elle doğrulanabilir biçimde yazıldı: soruda verilen değer, uygulanan kural ve bulunan sonuç yan yana durur. Metin özgün yazılmıştır, başka bir kaynaktan alıntı yapılmamıştır.
Ayrıca derste şu açık uçlu görevler yer alıyor; her biri puanlıdır ve kendi cevabını yazmanı ister:
- Bir sayının rakamlarının toplamını bulan bir algoritma yazınız. Algoritmanın adımlarını numaralı biçimde yazınız ve gereken değişkenleri belirtiniz. (12 puan)
- Aşağıdaki algoritmayı çalıştırıp B değişkeninin aldığı değerleri sırasıyla yazınız: A başlangıçta 1; döngü üç kez çalışsın; her turda B = 2A + 1 ve sonra A = A + 4. (14 puan)
- Yineleme ile özyineleme arasındaki farkı açıklayınız. Her yöntemin uygun olduğu iki farklı problem durumu örneği veriniz. (15 puan)