10. Sınıf · Sayma, Algoritma ve Bilişim
İşlemlerin Algoritmik Yapısı
Cebirsel ve fonksiyonel işlemler de tıpkı bir tarif gibi adım adım (algoritmik) ifade edilebilir. Bu derste bir hesabı ya da bir fonksiyon değerini sıralı işlem adımlarıyla yazmayı, adımların sırasının sonucu nasıl değiştirdiğini ve bir çıktıyı veren adımları izlemeyi (trace) öğreneceğiz. Bu beceri, karmaşık ifadeleri hatasız hesaplamanın ve ileride kod yazmanın temelidir. Bol örnek ve "Sıra Sende" alıştırmalarıyla pekiştireceğiz.
1. Bir İşlemi Adımlara Dökmek
Bir hesaplama, girdi → işlem adımları → çıktı biçiminde yazılabilir. Her adım tek ve kesin bir işlem yapar; işlem önceliği korunur (önce parantez/üs, sonra çarpma-bölme, sonra toplama-çıkarma).
f(x)=3x^2-5 fonksiyonunun bir x girdisi için çıktısını veren algoritmayı adımlarla yazınız.
xdeğerini al.- Karesini al:
k=x^2. 3ile çarp:u=3k.5çıkar:s=u-5.s'i yaz (çıktıf(x)).
5 adımlı algoritma; çıktı 3x^2-5.2. Adımları İzleme (Trace)
Bir algoritmanın çıktısını bulmak için, değişkenlerin her adımdaki değerini sırayla izlersin.
Şu algoritmanın x=4 için çıktısını bulunuz: "a=x+1; \;b=2a; \;c=b-3; \;c'yi yaz."
Bir tabloyla izle: her adımda yalnız o satırın değerini güncelle.
a=4+1=5.b=2\cdot 5=10.c=10-3=7.
7.Aynı izlemeyi bir akış şeması üzerinde de görebiliriz: girdi soldan girer, her kutu tek bir işlem yapar ve değişkenin güncel değeri okun üstünde taşınır. Aşağıda x=4 için değerler sırayla 5\to 10\to 7 olarak ilerliyor.
a=x+1;\ b=2a;\ c=b-3" algoritmasının x=4 için akış şeması. Her kutuda değişkenin güncel değeri (kırmızı) yazılır; son kutudan çıkan değer çıktıdır: 7.3. Adımların Sırası Önemlidir
Aynı işlemler farklı sırayla yapılırsa sonuç değişebilir. Algoritmada sıra, sonucu belirler.
x=2 için iki algoritmanın çıktısını karşılaştırınız:
A: "kare al, sonra 3 ekle." B: "3 ekle, sonra kare al."
- A:
2^2=4,\;4+3=7. - B:
2+3=5,\;5^2=25. - Sıra değişince çıktı
7yerine25oldu.
7, B → 25; sıra sonucu değiştirir.4. Fonksiyonel İşlemler
İki fonksiyonu art arda uygulamak (bileşke) da bir algoritmadır: önce içteki, sonra dıştaki çalışır.
f(x)=x+3 ve g(x)=2x için, "önce g, sonra f uygula" algoritmasının x=5 için çıktısını bulunuz.
- Önce
g:g(5)=2\cdot 5=10. - Sonra
f:f(10)=10+3=13.
13 (yani f(g(5))).Çözümlü Örnekler
"a=x-2; \;b=a^2; \;b'yi yaz" algoritmasının x=5 için çıktısı nedir?
a=5-2=3.b=3^2=9.
9.f(x)=\dfrac{x+4}{2} fonksiyonunu, çıktıyı veren adımlarla yazınız.
xal.4ekle:t=x+4.2'ye böl:s=\dfrac{t}{2}.s'i yaz.
3 işlem adımı; çıktı \dfrac{x+4}{2}.f(x)=x^2, g(x)=x-1 için "önce f, sonra g" (x=3) çıktısını bulunuz.
f(3)=9.g(9)=9-1=8.
8."t=0; \;i=1 iken i\le 3 olduğu sürece t=t+i^2, i=i+1" algoritmasının çıktısını bulunuz.
i=1:t=0+1=1.i=2:t=1+4=5.i=3:t=5+9=14.i=4olunca döngü durur.
14.Alıştırmalar — Sıra Sende
Önce kendin çözmeyi dene; sonra çözümü açıp karşılaştır.
"a=2x; \;b=a+1; \;b'yi yaz" algoritmasının x=6 için çıktısı nedir?
a=12,b=13.
13.f(x)=x-4, g(x)=3x için f(g(2)) kaçtır?
g(2)=6;f(6)=2.
2.x=3 için "kare al, sonra 1 çıkar" ile "1 çıkar, sonra kare al" çıktıları nedir?
- İlk:
9-1=8. İkinci:(3-1)^2=4.
8 ve 4."p=1; \;i=1 iken i\le 4 olduğu sürece p=p\cdot i, i=i+1" çıktısını bul.
psırasıyla1,2,6,24olur (=4!).
24.f(x)=2x+1 fonksiyonunu adım adım (girdi→çıktı) yaz.
xal;2ile çarp (t=2x);1ekle (s=t+1);s'i yaz.
2 işlem adımı; çıktı 2x+1.f(x)=2x, g(x)=x+1 için f(g(x)) ve g(f(x)) ifadelerini yazıp x=3 için karşılaştırınız.
f(g(x))=2(x+1)=2x+2;x=3için8.g(f(x))=2x+1;x=3için7.- Bileşkede sıra önemli:
f(g(x))\neq g(f(x)).
f(g(x))=2x+2, g(f(x))=2x+1; x=3 için 8 ve 7."t=0; \;i=1 iken i\le 5 olduğu sürece t=t+(2i-1), i=i+1" algoritmasının çıktısını bulunuz.
2i-1 ardışık tek sayıları verir: 1,3,5,7,9. İlk n tek sayının toplamı n^2'dir.
- Eklenen değerler:
i=1\to 1,i=2\to 3,i=3\to 5,i=4\to 7,i=5\to 9. t=1+3+5+7+9=25(yani5^2).
25."m= ilk sayı; sonra her sayı için: eğer sayı >m ise m= sayı" algoritması bir listenin en büyüğünü bulur. 7,\ 2,\ 9,\ 4,\ 9,\ 6 listesi için m'in son değeri ve m'in kaç kez güncellendiğini bulunuz.
m'i ilk elemanla başlat; her elemanı sırayla m ile karşılaştır, yalnız daha büyükse güncelle. İkinci 9, mevcut m=9'dan büyük değildir.
m=7(başlangıç).2:2>7değil → güncelleme yok.9:9>7→m=9(1. güncelleme).4: değil.9:9>9değil → güncelleme yok.6: değil.- Son
m=9; başlangıçtan sonra toplam1güncelleme.
9; m yalnız 1 kez güncellendi.İç içe iki döngü: "s=0; \;i=1 iken i\le 2 için (\;j=1 iken j\le 3 için s=s+i\cdot j, j=j+1), i=i+1" algoritmasının çıktısını bulunuz.
Dıştaki i sabitken içteki j baştan sona döner. Her i için i\cdot(1+2+3)=6i eklenir.
i=1:s'e1\cdot 1+1\cdot 2+1\cdot 3=6eklenir →s=6.i=2:s'e2\cdot 1+2\cdot 2+2\cdot 3=12eklenir →s=18.
18.Sık Yapılan Hatalar
- İşlem önceliğini bozmak. Adımlara dökerken de önce üs/parantez, sonra çarpma-bölme, sonra toplama-çıkarma sırasını koru.
- Adım sırasını önemsiz sanmak. "Kare al sonra ekle" ile "ekle sonra kare al" farklı sonuç verir.
- Bileşkede sırayı ters uygulamak.
f(g(x))'te önceg(içteki) çalışır, sonraf. - İzlemede eski değeri kullanmak.
t=t+iatamasında her adımdat'nin güncel değerini kullan. - Döngü koşulunu fazladan/eksik çalıştırmak. "
i\le 3" koşului=4olunca durur; karşılaştırmada kesin eşitsizlik mi, eşitlikli mi olduğuna dikkat et.
Not: Bir algoritmanın çıktısını bulmanın en güvenli yolu adım adım izlemektir: değişkenlerin her satırdaki değerini yaz. Bileşke (
f(g(x))) sorularında daima içten dışa ilerle.