
Rüya içinde rüya konusuyla birçok insanın ilgisini çekmekle kalmayıp, filmin son sahnesi yüzünden hepimizi sonuca varamadığımız tartışmalara sürüklemişti.
Peki bu filmin konumuzla ne ilgisi olabilir ?
Hatırlarsanız, filmde rüyaların her katmanında bolca aksiyon sahnesi izledik.Rüyanın her katmanında bir şeyler yaşanmadan ikinci, üçüncü katmanlara geçilmiyordu.
Yani doğruca rüyaya yatıp ben 3. katmanda rüya göreceğim deme şansınız yoktu ve uyanana kadar rüya içinde rüya ile her katmanı sırayla geçip, her katmandan ayrı veriler toplayıp en sona ulaştığınızda uyanıyordunuz.Uyandığınızda ise uyurken gördüğünüz tüm rüya katmanlarına dair elinizde veriler vardı.
Recursion dediğimiz algoritma, yani yinelenen-tekrarlanan fonksiyonlar işte tam olarak burada Inceptionla kesişiyor. Bir olayı, n kere tekrarlamakla ulaştığımız veri bütünü ve tüm bu işlemi adlandırdığımız konu recursion.
Recursion iki aşamadan oluşuyor :
1) Ne zaman duracağız ?
2) Hangi algoritmayı tekrarlayacağız?
Bir örnekle açıklayacak olursak;
Matematikte gördüğümüz bileşke fonksiyonları düşünün.
Bir f(x) fonksiyonumuz var olsun ve f(x)=x+1 olsun.
Bizden istenen ise x=2 ise f(f(f(x)))= ? olsun.Bu durumda;
x=2 => f(2)=2+1 = 3 olur. Bu bize verilen bilgilerle ulaşabildiğimiz bir veri. Peki bizden istenene bu bilgiyle nasıl gidebiliriz?
f(2)=3 ü f(x) gördüğümüz yere yazalım.f(f(3)) ne olur sorusuna ilerledik şimdi aynı işlemlerle devam edelim
f(x)=x+1 olduğunuz biliyoruz, f(3)=3+1=4 olur. Soruda aynı şekilde yerine koyarsak f(4) ne olur sorusuna ilerleriz.
f(4)=4+1=5 yani bu durumda f(f(f(2)))=5 olmuş oldu.
Bu örneği recursion üzerinden tekrardan inceleyelim:
1) Ne zaman duracağız?
Bizden istenen sonuca ulaşmak için bileşke fonksiyonda fonksiyonun değerini 3 kere yerine yazdık. 3'ten sonra durmamız gerekti.Tekrarlama sayımız 3 oldu.
2)Hangi algoritmayı tekrarlayacağız?
Soruda bize verilen fonksiyon -tekrarladığımız formül- f(x)=x+1 di.Bu durumda bizim tekrarlanan algoritmamız fonksiyonun kendisi oldu.
Toplama ve Faktöriyel örnekleriyle Java kod düzeninde pekiştirmek istersek;
public static int Toplam(int n) {
if(n<=0){
return 0; }
else {
return n+Toplam(n-1);
}
//Toplama işlemi yaptığımız için n=0,tekrarlama işlemi //sırasında durmamız gereken yerde birim elemanı sınır //belirleyerek ulaşmak istediğimiz değeri sabitleyip döngüden //çıkıyoruz.Çarpma olsaydı birim eleman 1 olurdu.
//Toplam(4) sorulmuş olsun. n=4 ten başlarak döngüye ilk girişte ve sırasıyla döngüyü tekrarlarsak:
// 4+Toplam(3);
//4+3+Toplam(2) -> 4+3+2+Toplam(1) -> //4+3+2+1+Toplam(0) ve if döngüsünde 0'a eşitlikte 0 döndürdüğümüz için 4+3+2+1+0 olarak //dönüyü tamamlıyoruz ve return 10; değerimiz dönüyor.
}
public static int Faktoriyel(int n) {
if(n<=1){
return 1;
}
else {
return n*Faktoriyel(n-1);
}
//Faktöriyel(4) sorulsun. döngüye ilk giriş: 4*Faktoriyel(3)
// döngüye 2. giriş: 4*3*Faktoriyel(2)
//döngüye 3. giriş: 4*3*2*Fatoriyel(1)
//döngüye 4. giriş: 4*3*2*1=24 = return 24 olur.
}
RECURSION: YİNELENEN FONKSİYONLAR
Reviewed by Engineer A
on
00:30
Rating:

Fonksiyonlar – Konu Anlatımı ve Soru Çözümü
YanıtlaSilLise hayatınızdan itibaren matematik dersini zorlaştıran, özellikle çok fazla çalışmayan öğrenciler için bela olan ve neredeyse her türlü alanda karşımıza çıkan fonksiyonlar konusunu işleyeceğiz. TYT Matematik fonksiyonlar konu anlatımı içeriğine baktığımızda ayt kısmına nazaran daha az, daha basit ve daha anlaşılabilir içerikler ile karşılaşacağız. Fakat ilkokulda öğrendiğiniz sayısal konularından sonra böyle bir olgu sizi biraz...
https://yksdestek.com/fonksiyonlar-tyt-matematik/