Advertisement
PaolaD

Untitled

Aug 8th, 2020
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 2.83 KB | None | 0 0
  1. (define-struct celular (marca memoria espacio gamma-alta? costo))
  2. (define-struct computador (marca procesador gamma-alta? costo))
  3. (define-struct accesorio (nombre costo))
  4. (define-struct venta (producto cantidad))
  5. (define-struct costo-discriminado (subtotal iva icl total))
  6.  
  7. ;;Autor: Paola Andrea Domínguez Vélez
  8. ;;Fecha: 8/08/2020
  9. ;;Contrato: Venta:
  10.  
  11. ;;Definición:
  12.  
  13. (define (venta-discriminada venta)
  14.   (cond
  15.     [(not (venta? venta)) "Ingrese una estructura tipo venta"]
  16.     [(celular? (venta-producto venta))
  17.      (make-costo-discriminado
  18.       (* (venta-cantidad venta) (celular-costo (venta-producto venta)))
  19.       (* 0.19 (* (venta-cantidad venta) (celular-costo (venta-producto venta))))
  20.       (Icl venta)
  21.       (+ (* 0.19 (* (venta-cantidad venta) (celular-costo (venta-producto venta))))
  22.          (* (venta-cantidad venta) (celular-costo (venta-producto venta)))
  23.          (Icl venta))
  24.       )]
  25.    
  26.     [(computador? (venta-producto venta))
  27.      (make-costo-discriminado
  28.       (* (venta-cantidad venta) (computador-costo (venta-producto venta)))
  29.       (* 0.19 (* (venta-cantidad venta) (computador-costo (venta-producto venta))))
  30.       (Icl venta)
  31.       (+ (* 0.19 (* (venta-cantidad venta) (computador-costo (venta-producto venta))))
  32.          (* (venta-cantidad venta) (computador-costo (venta-producto venta)))
  33.          (Icl venta))
  34.       )]
  35.     [(accesorio? (venta-producto venta))
  36.      (make-costo-discriminado
  37.       (* (venta-cantidad venta) (accesorio-costo (venta-producto venta)))
  38.       (* 0.19 (* (venta-cantidad venta) (accesorio-costo (venta-producto venta))))
  39.       (Icl venta)
  40.       (+ (* 0.19 (* (venta-cantidad venta) (accesorio-costo (venta-producto venta))))
  41.          (* (venta-cantidad venta) (accesorio-costo (venta-producto venta)))
  42.          (Icl venta))
  43.       )]
  44.     ))
  45.  
  46. ;;Icl
  47. (define (Icl venta)
  48.   (cond
  49.     [(celular? (venta-producto venta))
  50.      (cond
  51.        [(or (> (* (venta-cantidad venta) (celular-costo (venta-producto venta))) 500000)
  52.             (celular-gamma-alta? (venta-producto venta))
  53.             ) (* 0.10 (* (venta-cantidad venta)(celular-costo (venta-producto venta))))
  54.               ]
  55.        [else 0]
  56.        )]
  57.    
  58.     [(computador? (venta-producto venta))
  59.      (cond
  60.        [(or (> (* (venta-cantidad venta) (computador-costo (venta-producto venta))) 500000)
  61.             (computador-gamma-alta? (venta-producto venta))
  62.             ) (* 0.10 (* (venta-cantidad venta)(computador-costo (venta-producto venta))))
  63.               ]
  64.        [else 0]
  65.        )]
  66.     [(accesorio? (venta-producto venta))
  67.      (cond
  68.        [(> (* (venta-cantidad venta) (accesorio-costo (venta-producto venta))) 500000)
  69.         (* 0.10 (* (venta-cantidad venta)(accesorio-costo (venta-producto venta))))
  70.         ]
  71.        [else 0]
  72.        )]
  73.     ))
  74.      
  75.      
  76.        
  77.        
  78.      
  79.  
  80.  
  81.        
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement