4.5 Recursividad en Diseño

Un procedimiento recursivo es aquel que se llama a si mismo, para poder funcionar tiene que tener una condición de salida que de el numero de veces que se va a llamar a si mismo el procedimiento.

La recursividad en diseño se refiere a la manera de cómo representar los procedimientos recursivos al momento de diseñar los programas.

Dependiendo del método que utilicemos para diseñar la representación grafica de la recursividad va a ser diferente sin embargo el procedimiento va a ser similar ya que el fin es el mismo poner una condición que nos diga si llamamos al método o que nos mande terminarlo. Un ejemplo en una función genérica seria este:

METODO1
{
Procedimiento x;
Condición ( )
{
Llamada al metodo1;
}
Fin;
}

En un diagrama seria algo así:

:estructura_datos_csharp_develop:recursividad_en_dis.jpg

NOTA: Estos son dos ejemplos en ambos utilizamos una condición, pero se pueden utilizar ciclos siempre asegurándonos de que nos den salida en algún momento.

Lo importante y que tenemos que tomar en cuenta es que la si se cumple el criterio para llamar el procedimiento hay que apuntar a el inicio del método, y al no cumplirse debe apuntar al siguiente paso en el procedimiento o al final o viceversa.

Ejemplo:

Diseñar un programa que despliegue el contenido de un arreglo el siguiente arreglo: { a, e, i, o, u}

Seudo código:

1. Creamos la forma que contendrá una listbox para despliegue.

2. Creamos el arreglo que contendrá los elementos (vocales)

3. Después creamos el método despliegue. El cual contendrá:

a. Un ciclo for (int i=0;i⇐4;i++) dentro del cual se hará el despliegue en el índice i del arreglo vocales

b. llamara al método despliegue.

5. En el constructor mandamos llamar al método despliegue.

Y listo al abrir nuestro programa vamos a desplegar dentro del listbox el arreglo mediante la recursividad. Para ver un programa visual de recursividad ver el tema recursividad.

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad