Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/09/2015, 12:18
Kritik
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 9 meses
Puntos: 31
Respuesta: Recursividad - ejercicio basico

Tarea 2:

En una línea se llama a sí misma, pidiendo que se le devuelva un valor (ya que la función devuelve un entero) y luego se le suma otro valor (el resultado de n*n)

Sin embargo, al llamarse a sí misma y ejecutarse de nuevo se vuelve a llamar a sí misma, y repite el proceso.

Lo que sucede pueden ser 2 cosas:
1.- Que nunca se cumpla la condición en la que b==0, y se esté llamando una y otra vez a sí misma indefinidamente.
2.- Llegado un ciclo se cumple la condición, y entonces se puede ir hacia atrás en la bola que se ha ido formando de llamarse a sí misma y resolviendo las variables.

Toma la función como si fuese un valor de una variable. Lo más fácil es cogerse un papel y lápiz e ir línea a línea asignando valor a las variables que puedas ir dándoselas. Así verás que hay variables que se les puede poner un número directamente, y otras debes de abrir un paréntesis para hacer un cálculo, y quizá ese cálculo sea un número definido... o quizá tengas que abrir otro paréntesis para hacer otro cálculo. Al final tendrás un montón de paréntesis y dentro del todo un número definido, y según vayas saliendo de los paréntesis tendrás que ir haciendo la suma de (n*n) a lo que te vaya saliendo como resultado del paréntesis.

Tarea 3:

Empieza asignando a a el valor de 10, y a b el valor de 8. Cuando se llame a sí misma calcula los nuevos valores de a y de b. Es decir, (b,a%b)=(8,2)
Y así calculas de nuevo los valores que de nuevo entran en Recursiva, y como dentro de sí misma se llama a sí misma, pues devuelves cuanto es a en el momento en el que a%b =0

(a%b = el resto de dividir a entre b, es decir, 7%5 =2, ya que 7 entre 5 = 1... y me sobran 2)