Advertisement
ganryu

producto punto entre listas

Oct 26th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 0.92 KB | None | 0 0
  1. (require test-engine/racket-tests)
  2.  
  3. ; Calcula el producto de dos números (antes decía suma, cosas del sueño)
  4. ; number number -> number
  5. (define (prod-aux n1 n2)
  6.   (* n1 n2))
  7.  
  8. ; Devuelve una lista con el producto
  9. ; elemento a elemento de cada una de las listas
  10. ; pasadas como parámetros
  11. ; ej: (prod-vec '(1 2 3) '(4 5 6)) -> (4 10 18)
  12. ; list list -> list
  13. (define (prod-list lista1 lista2)
  14.   (map prod-aux lista1 lista2))
  15.  
  16. ; Suma los elementos de una lista;
  17. ; ej: (sum '(1 2 3 4 5)) -> 15
  18. ; list -> number
  19. (define (suma lista)
  20.   (foldl + 0 lista))
  21.  
  22. ; Realiza el producto punto entre dos listas
  23. ; list list -> number
  24. (define (producto-punto lista1 lista2)
  25.   (suma (prod-list lista1 lista2)))
  26.  
  27. ; Preparamos tests
  28. (check-expect
  29.  (producto-punto '(3 4 -1) '(1 -2 -3))
  30.  -2)
  31.  
  32. (check-within
  33.  (producto-punto '(0.3 0.5) '(8 2))
  34.  3.4
  35.  0.1)
  36.  
  37. (check-expect
  38.  (producto-punto '() '())
  39.  0)
  40.  
  41. ; Ejecutamos tests
  42. (test)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement