Tvůrce webu je i pro tebe! Postav třeba web. Bez grafika. Bez kodéra. Hned.
wz

Články

Rekurze II.

Již v dřívějším vydáním jsem mluvil o rekurzivních funkcích, které ať chceme nebo ne patří do programování jako vařečka do kuchyně. Zde Vám uvedu pár příkladů rekurzivně řešených příkladů, které vás jistojistě zaujmou. Všechny ukázky, které se tu objeví jsem napsal já a tak se omlouvám, pokud by některá z nich by byla špatně. Nakonec bych chtěl uvést, že vše co je napsané pomocí rekurze lze také napsat pomocí interace a naopak.

int najdi(int a, int b)
{
    if (a > b)
     return a;
    else if (a < b)
     return b;
}

int nejvetsi(int a, int b, int i)
{
    if ((a % i == 0) && (b % i == 0))
     return i;
    else
     return nejvetsi(a, b, i - 1);
}

Největší společný dělitel

int faktorial(int cislo)
{
   if(cislo<=1)
    return cislo;
   else
    return cislo*faktorial(cislo-1);
}

Faktoriál

int minimum(int[] pole, cislo,pomocna)
{
   if(pomocna>(pole.Lenght))
    return cislo;
   else
    if(cislo>pole[pomocna])
     {
      cislo=pole[pomocna];
      return minimum(pole,cislo,pomocna+1);
     }
    else
     return minimum(pole,cislo,pomocna+1);
}

Minimum v poli

int fibo(int cislo)
{
    if (cislo < 2)
     return cislo;
    else
     return fibo(cislo - 1) + fibo(cislo - 2);
}

Fibonacciho posloupnost

int soucet(int cislo,int maximum)
{
    if (cislo > maximum)
     return 0;
    else
     return cislo + soucet(cislo + 1,maximum);
}

Součet řady

int cetnost(int[] pole,int pricti, int cislo, int soucet)
{
    if (pricti > pole.Length)
     return soucet;
    else
    {
     if (pole == cislo)
      return cetnost(pole,pricti+1,cislo,soucet+1);
    else
      return cetnost(pole,pricti+1,cislo,soucet);
    }
}

Četnost

vzhled & kód vytvořil Adam Vůjtek http://vujtas.wz.cz
2003-2008
hledat:
další část

Úvod Články Fórum MatFyz Linux Programy Fotky Jukebox Kontakt Odkazy

další část
další část další část