Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;.
- (define-struct producto (nombre valor))
- ;;Autor: Carlos A Delgado S.
- ;;Fecha: 22 de Marzo de 2021
- ;;Contrato: filtro: lista de productos, (producto,numero,(numero,numero->booleano)->booleano),(numero,numero->booleano) -> lista de productos
- (define (filtro lst f valor g)
- (cond
- [(empty? lst) empty]
- [else
- (local
- (
- (define primero (first lst))
- (define resto (filtro (rest lst) f valor g))
- )
- (cond
- [(f primero valor g) (cons primero resto)]
- [else resto]
- )
- )
- ]
- )
- )
- ;;Diseñar filtros: mayor a un valor, menor a un valor y así ......
- (define (comparar-producto prod cant g)
- (g (producto-valor prod) cant))
- ;(define (producto-cafe prod)
- ; (symbol=? (producto-nombre prod) 'cafe))
- (define listaP
- (list (make-producto 'cafe 4000)
- (make-producto 'soya 3000)
- (make-producto 'ajo 200)
- (make-producto 'cafe 5000)
- (make-producto 'cafe 6000)
- (make-producto 'arepa 500)))
- (filtro listaP comparar-producto 3000 >)
- (filtro listaP comparar-producto 3000 <)
- (filtro listaP comparar-producto 5000 =)
- ;(filtro listaP producto-cafe)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement