Entender el concepto de recursion es importante a la hora de programar en cualquier lenguaje esto dado que es extremadamente útil a la hora de resolver un problema que requiera repetir n veces una ecuación.
Multiplicar dos números sin utilizar el operador *
Ejemplo: 21 * 3 = 21 + 21 + 21 = 63
Multiplicar con recursion en DrRacket
Multiplicar dos números sin utilizar el operador *
Ejemplo: 21 * 3 = 21 + 21 + 21 = 63
Código:
; =========================================================================== ; Autor: Jorge isaac peña caceres ; Fecha: 01/10/2018 ;---------------------------------------------------------------------------- ;contrato: multiplicacion: numero, numero -> numero ;descripcion: la funcion recibe dos numeros y suma b veces a (define (multiplicar a b) (cond [(= b 0) 0] [else (+ a (multiplicar a (- b 1)))] )) ;prueba (multiplicar 2 10) ;retorna 20.... ; ===========================================================================
Elevar una potencia con recursion en DrRacket
Calcular una base elevada a una potencia sin usar el operador: EXPT
2^3 = 2*2*2 = 8
6^4 = 6*6*6*6 = 1296
Código:
; =========================================================================== ; Autor: Jorge isaac peña caceres ; Fecha: 01/10/2018 ;contrato: elevar: numero, numero -> numero ;descripcion: la funcion recibe a y b y retorna el resultado de multiplicar ; b veces a ;---------------------------------------------------------------------------- (define (elevar x y) (cond [(= y 0) 0] [(= y 1) x] [else (* x (elevar x (- y 1)))] )) ;prueba (elevar 4 5) ;retorna 1024.... ; ===========================================================================
Llamar una función no es exclusivo de solo usar en si misma también se puede tomar como una Función auxiliar para usarse en otra, si te interesa ver un ejemplo mira: Ecuación de segundo grado con función auxiliar.
Tomas de pantalla