JF_Jaramillo

Funciones Recursivas

Aug 8th, 2020 (edited)
308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.17 KB | None | 0 0
  1. ;; Autor: Juan Felipe Jaramillo
  2. ;; Fecha de creación: 8 de Agosto de 2020
  3. ;; Contrato: multiplicacion: numero, numero -> numero
  4. ;; Propósito: Esta función recibe dos numeros y los multiplica de manera recursiva
  5. ;; Ejemplos: (multiplicacion 2 3), retorna 6
  6. ;; (multiplicacion 2 5), retorna 10
  7. ;; Definición
  8. (define (multiplicacion a b)
  9.   (cond
  10.     [ (or (not (number? a) ) (not (number? b) ) ) (error "A o B no son números. Intente de nuevo.") ]
  11.     [(= b 1) a]
  12.     [ else (+ a (multiplicacion a (- b 1) )) ]
  13.     )
  14.   )
  15.  
  16. ;; Pruebas:
  17. (check-expect (multiplicacion 2 3) 6)
  18. (check-expect (multiplicacion 2 5) 10)
  19.  
  20.  
  21. ;; Autor: Juan Felipe Jaramillo
  22. ;; Fecha de creación: 8 de Agosto de 2020
  23. ;; Contrato: elevar: numero, numero -> numero
  24. ;; Propósito: Esta función recibe dos numeros y eleva de manera recursiva
  25. ;; Ejemplos: (elevar 2 3), retorna 8
  26. ;; (elevar 2 5), retorna 32
  27. ;; Definición
  28. (define (elevar a b)
  29.   (cond
  30.     [ (or (not (number? a) ) (not (number? b) ) ) (error "A o B no son números. Intente de nuevo.") ]
  31.     [(= b 0) 1]
  32.     [ else (* a (elevar a (- b 1) )) ]
  33.     )
  34.   )
  35.  
  36. ;; Pruebas:
  37. (check-expect (elevar 2 3) 8)
  38. (check-expect (elevar 2 5) 32)
Add Comment
Please, Sign In to add comment