Rekurencja
Z rekurencji w C# korzystamy w metodach. Metoda, która wywołuje samą siebie nazywa się metodą
rekurencyjną lub rekursywną. Jest to mo\liwe, gdy\ za ka\dym razem wywoływana jest ta sama metoda a
wartości zwrócone, bądz pobrane parametry, są przechowywane w pamięci (dlatego nie zawsze zaleca się
stosowanie metod rekurencyjnych, gdy\ mo\e to spowodować przepełnienie pamięci).
Poni\ej został umieszczony prosty przykład przedstawiający ideę rekurencji.
using System;
namespace Rekurencja
{
class Rekurencja
{
public void Inkrementuj(int i)
{
Console.WriteLine(i++);
if (i > 20)
return;
Inkrementuj(i);
}
}
class Wyswietl
{
static void Main(string[] args)
{
Rekurencja I = new Rekurencja();
I.Inkrementuj(1);
Console.ReadKey();
}
}
}
W powy\szym programie deklarujemy klasę o nazwie Rekurencja, która zawiera metodę Inkrementuj, metoda
ta pobiera parametr i typu int, który jest wyświetlany, a następnie inkrementowany (za pomocą operatora
inkrementacji ++ formy przyrostkowej). Nale\y pamiętać, \e w którymś momencie musi nastąpić wyjście
z metody, bo w przeciwnym przypadku metoda się zapętli, stąd w programie warunek if (i > 20).
Metoda rekurencyjna Inkrementuj działa w ten sposób, \e pobiera argument, następnie sprawdza czy nie jest
on większy od 20, je\eli jest to kończy działanie i wyświetla wynik, je\eli nie, wywołuje metodę Inkrementuj
z parametrem zwiększonym o jeden i tak samo się dzieje w kolejnych iteracjach.
Zadanie:
Napisz program obliczający silnie z wykorzystaniem rekurencji.
- u\ytkownik podaje wartość do obliczenia silni
- uwzględnij sytuację, kiedy u\ytkownik poda wartość 1 lub mniejszą od 1
Wyszukiwarka
Podobne podstrony:
rekurencja7 rekurencjaCykl Hamiltona algorytm rekurencyjnyrekurenW03 Indukcja i rekurencjarekurencjezliczanie rekurencyjne miniaturaWyklad 12 rekurencja (1)test zlozonosci rekurencji test zlozonzliczanie rekurencyjne slajdy06 RekurencjaGrafy i rekurencjeRekurencja36 Rekurencjawięcej podobnych podstron