Ingeniero de Sistemas

Páginas: 2 (309 palabras) Publicado: 29 de mayo de 2013
USO DE MÉTODOS RECURSIVOS

Como la mayor parte de los lenguajes de programación C# permite el uso recursivo de métodos.

Un método puede hacer una llamada a sí mismo directa oindirectamente, lo cual ofrece una solución para ciertos tipos de problemas especialmente complejos ya que permiten mayor facilidad al manipular estructuras de datos más complejas, como listasy árboles.

Los métodos en C# pueden ser mutuamente recursivos: Por ejemplo, puede darse una situación en la que un método A llame a un método B, y el método B llame al método A.Ejemplo:

class A
{
int x;
public virtual void PrintFields() {
Console.WriteLine("x = {0}", x);
}
}

class B: A
{
int y;
public override void PrintFields() {
base.PrintFields();Console.WriteLine("y = {0}", y);
}
}

La llamada a base.PrintFields() en B invoca el metodo PrintFields() declarado en A.

Un acceso-base deshabilita el mecanismo de llamada virtualy simplemente tretas el metodo base como un metodo no virtual
Teniendo la llamada en B así:((A)this).PrintFields(), deberá llamar recursivamente al metodo PrintFields() declarado en B,no el declarado en A, dado que PrintFields() es virtual y el tipo run-time de ((A)this) es B.


La serie de Fibonacci aparece con cierta frecuencia en matemáticas y biología (un ejemplode esto es el índice de reproducción y la población de bacterias). El término k de esta serie tiene el valor 1 si k =1 ó k=2, y en los demás casos es igual a la suma de los dos númerosque le preceden en la serie; es decir, el valor del término k para k > 2 se obtiene a partir de:(k-1)+(k -2) los dos valores anteriores de la serie.

El hecho de que la definición delmétodo incluya al propio método sugiere su recursividad.

Un Ejemplo para solución de este problema podría ser como sigue:

public static ulong SerieFibonacci(ulong k)
{
if (k
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingeniero En Sistemas
  • Ingeniero De Sistemas
  • Ingeniero En Sistema
  • Ingeniero en sistemas
  • Ingeniero De Sistemas
  • Ingeniero en Sistemas
  • Ingeniero de Sistemas
  • ingeniero en sistemas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS