29/09/2015, 12:18
|
(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) |