Konuyu görüntüle
IUCODERS FORUM > Duyurular > Okul ile ilgili > Discrete Matematik - Recursive Fonksyon Örnekleri
Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
03.04.2008-17:58 #41132
/*Girilen 2 sayinin obeb'ini hesaplar*/
int obebrecursive(int x,int y){
	int Bolen,Bolunen,Kalan;
	if(x>y){
		Bolunen=x;
		Bolen=y;
	}else{
		Bolunen=y;
		Bolen=x;
	}
	Kalan = Bolunen%Bolen;
	if(Kalan==0)
		return Bolen;
	else
		return obebrecursive(Bolen,Kalan);	
}

/*Girilen sayilarin okek'ini hesaplar*/
int okekrecursive(int x,int y){
	int obeb;
	obeb = obebrecursive(x,y);
	return ((x*y)/obeb);

}

/*Bir Sayinin Faktoriyelini Hesaplar.*/
int faktoriyelrecursive(int x){
	if((x==0)|(x==1))
		return 1;
	x *= faktoriyelrecursive(x-1);
	return x;
}

/* "1 + 1 + 2 + 6 + 24 + ... + n!" Şeklinde devam eden dizinin toplamını bulan fonksyon.  */
int dizirecursive(int n){
	if(n<0)
		return 0;
	int faktoriyel,sonuc=0;
	faktoriyel = faktoriyelrecursive(n);
	sonuc += faktoriyel + dizirecursive(n-1);	
	return sonuc;
}

/* 1 + 1 + 1/2 + 1/6 + ... + 1/n! seklinde olan e sayisini istenilen detaya kadar hesaplayan program.*/
double esayisirecursive(int n){
	if(n<0)
		return 0;
	double faktoriyel,sonuc=0;
	faktoriyel = faktoriyelrecursive(n);
	sonuc += 1/faktoriyel + esayisirecursive(n-1);	
	return sonuc;

}






The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
extreme


avatar
Kahramanmaras
admin
Kayıt: 24.10.2006
03.04.2008-18:00 #41134
Bugün derste işlenilen konuyla ilgili aklıma gelenlerden birkaç örnek yazdım. Eksik varsa mesaj atın onlarıda ekleyeyim.





The Man Who Loved Algorithm&Ubuntu.
www.burakamasyali.com





Yazar
bilgin


avatar
Istanbul
Kayıt: 16.10.2007
03.04.2008-19:09 #41139
Recursive ya da rekürsif yerine kendi içinde kendini çağıran bu fonksiyonlara "özyinelemeli" fonksiyon dersek daha güzel olur. Türkçe karşılığı budur recursive kelimesinin.

Üstteki kodları ekleyen arkadaşın ellerine sağlık. Yazdıkları doğru kodlar. Ama bunların biraz daha sade, anlaşılır ve özyinelemenin amacına uygun olduğunu düşünerek buraya ekliyorum. İsteyen istediğinden faydalansın.


/* Özyinelemeli OBEB fonksiyonu */
int obeb(int a,int b)
{
  if(a==b)
    return a;
  if (a>b)
    return obeb(a-b,b);
  return obeb(a,b-a);
}


/* Özyinelemeli n. Fibonacci sayısını bulan fonksiyon */
int fib(int n)
{
  if (n<3)
    return 1;
  else
    return fib(n-1) + fib(n-2);
}


/* Özyinelemeli üs alma fonksiyonu (a'nın b. kuvvetini alır.) */
int us(int a, int b)
{
  if (!a)
    return 1;
  else
    return a*us(a,b-1);
}


/* a'dan b'ye kadar olan sayıların toplamını bulan özyinelemeli fonksiyon */
int topla(int a, int b)
{
  if (a>b)
    return 0;
  else
    return a+topla(a+1, b);
}


/* Özyinelemeli faktöriyel fonksiyonu */
int fact(int n)
{
  if(n<1)
    return 1;
  else
    return n*fact(n-1);
}








http://www.bilisimdergi.com









Yazar
nevermind34


avatar

Kayıt: 26.02.2008
03.04.2008-19:21 #41140
çok teşekkürler böyle bildiklerinizi paylaşsanız çok ii olur bizim için ben şahsen pek oturtamadımd oh





Yazar
ferhat


avatar
kahramanmaras
Kayıt: 12.11.2007
04.04.2008-00:28 #41171
bize yardımcı oldukları için arkadaşlara çok teşekkür ediyorum praying










Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
04.04.2008-00:45 #41172
Bu ne ya, hangi ders bu? silly

Geçen seneki gibi abidik gubidik konular yok sanırım...





Let`s make this world a better place to live !

Yazar
encin


avatar

Kayıt: 30.11.2007
04.04.2008-01:26 #41174
ben de şaşırdım, ayrıca sevindirik oldum, dersi alttan alan ve takip edemeyen biri olarak :)
devamını beklihyorum ilgiyle. (kodları değil, derslerde işlenenlerle ilgili)
programlama ağırlıklı bir vize olursa harika olur droolingprayingtonguethinking
alien 2












Yazar
benkimim


avatar
istanbul
Kayıt: 04.10.2007
04.04.2008-04:37 #41180
bilgin yazdi
 
Recursive ya da rekürsif yerine kendi içinde kendini çağıran bu fonksiyonlara "özyinelemeli" fonksiyon dersek daha güzel olur. Türkçe karşılığı budur recursive kelimesinin.

Üstteki kodları ekleyen arkadaşın ellerine sağlık. Yazdıkları doğru kodlar. Ama bunların biraz daha sade, anlaşılır ve özyinelemenin amacına uygun olduğunu düşünerek buraya ekliyorum. İsteyen istediğinden faydalansın.


biggrin yaw herşeyide türkçeye çevirmeyelim thinking

Sonra Sabri hocanın dediği gibi robust = gürbüz gibi şeyler çıkıyor ortaya... beat up

Bölüm zaten %30 ingilizce değil mi recursive de bu %30 da kalsın ne çıkar dancing





:)
Yazar
fastman


avatar
MEXICO CITY
Kayıt: 24.04.2006
04.04.2008-14:23 #41187
int obeb(int a,int b){

if(a%b==0)
return b;
else
return ebob(b,a%b);

}





Who is Hamilton? Forza Kimi !!!!

http://www.burhanaras.net/








Yazar
neurorebel


avatar

Kayıt: 15.08.2007
07.04.2008-21:50 #41465
en son derste ödev verilmedi sanırım di mi ?





Do weird and difficult things.

Yazar
naranja


avatar
Kraliyet Ailesinden
Kayıt: 18.10.2007
07.04.2008-21:58 #41470
neurorebel yazdi
 
en son derste ödev verilmedi sanırım di mi ?

hayır verilmedi.





Kaybolur hayatIn tarifsiz ahengi;
Zaman bir tablodur düser duvarlardan.






Yazar
simavli


avatar
SIMAV
Kayıt: 30.12.2007
07.04.2008-23:02 #41496
yok vermedi.






EFE
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb