Algoritmos

Solo disponible en BuenasTareas
  • Páginas : 2 (468 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de agosto de 2012
Leer documento completo
Vista previa del texto
Dada la siguiente función recursiva:
Int funcionRecursiva (int inicio, int limite)
{
Int retorno;
If (inicio > limite)
Retorno = - 1;
Else
If (inicio == limite)
Retorno = 1;
ElseRetorno = inicio * funcionRecursiva(inicio+1, limite);
return retorno;
}

Se pide:
1. Identificar el caso de parada (también llamado caso base o trivial) de la función funciónRecursiva
2.Identificar el caso general de la función funcionRecursiva (explicar el paso de la recursividad)
3.- ¿Qué resultado daría la llamada funcionRecursiva(14,10)

4.- ¿Qué resultado daría la llamadafuncionRecursiva(4,7)

//////////////////////////////////////////////////////////////////////////////////////////////////////////

Describe paso a paso que realizan las funciones recursivas:

A)Otorga tres valores a n

Int sumatoria(int n){
If(n<0)
return 0;
else
If(n>0)
return n+sumatoria(n-1);
else
return 0;}

B) Inserta dos cadenas por ejemplo perro,gato, etc.

estatica Cadenita (Cad cadena, int limIzq, int limDer){

if (limDer == limIzq)
return cadena;
else
return Cadenita (cadena, limDer,limIzq+1) + cadena [limIzq]
}

C) Realiza las corridas de escritorio con varias cadenas (oso, anita, ana, etc.)

static p(Cad c, int limIzq, int limDer){
if (limIzq> limDer)return verdadero;
else
if c [limIzq] = c [limDer]
return p(c, limIzq+1, limDer-1)
else
return falso
}
Respuestas

3.- Si inicio=14limite=10
Retorno = -1;

4.- Si inicio = 4 limite = 7
Retorno = 4 * funcionRecursiva(5,7) = 120
Inicio = 5 limite = 7
Retorno = 5 *funcionRecursiva(6,7) = 30
Inicio = 6 limite=7
Retorno = 6 * funciónrecursiva(7,7) = 6
Inicio =7 limite =7
Retorno =1;

//////////////////////////////////////...
tracking img