Advertisement
cardel

FDP 22 Marzo 1

Mar 22nd, 2021
3,096
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Racket 0.96 KB | None | 0 0
  1. (define-struct producto (nombre valor))
  2.  
  3. ;;Autor: Carlos A Delgado S.
  4. ;;Fecha: 22 de Marzo de 2021
  5. ;;Contrato: filtro: lista de productos, (producto->booleano) -> lista de producto
  6. (define (filtro lst f)
  7.   (cond
  8.     [(empty? lst) empty]
  9.     [(f (first lst))  (cons (first lst) (filtro (rest lst) f))]
  10.     [else (filtro (rest lst) f)]
  11.     ))
  12.  
  13. ;;Diseñar filtros: mayor a un valor, menor a un valor y así ......
  14. (define (producto-mas-2000 prod)
  15.   (> (producto-valor prod) 2000))
  16.  
  17. (define (producto-igual-3000 prod)
  18.   (= (producto-valor prod) 3000))
  19.  
  20. (define (producto-cafe prod)
  21.   (symbol=? (producto-nombre prod) 'cafe))
  22.  
  23.  
  24. (define listaP
  25.   (list (make-producto 'cafe 4000)
  26.         (make-producto 'soya 3000)
  27.         (make-producto 'ajo 200)
  28.         (make-producto 'cafe 5000)
  29.         (make-producto 'cafe 6000)
  30.         (make-producto 'arepa 500)))
  31.  
  32. (filtro listaP producto-mas-2000)
  33. (filtro listaP producto-igual-3000)
  34. (filtro listaP producto-cafe)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement