Advertisement
JF_Jaramillo

Ejercicio Reto

Aug 10th, 2020
666
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 3.17 KB | None | 0 0
  1. ;; Autor: Juan Felipe Jaramillo
  2. ;; Fecha de creación: 8 de julio de 2020
  3. ;; Contrato: calcularPiezasRealizadas número, número -> número
  4. ;; Descripción: Esta función calcula la cantidad de piezas que se realizan en una compañía de acuerdo al horario que se provea.
  5. ;; Ejemplos:(calcularPiezasRealizadas 5 17), retorna 303
  6. ;; Definición:
  7. (define (calcularPiezasRealizadas x y) (cond
  8.                                          [(<= x 10) (cond
  9.                                                       [(and (<= y 10) (> y x) ) (produccion_0-10 (- y x) ) ]
  10.                                                       [(and (<= y 10) (< y x) ) (+(produccion_0-10 (- 10 x) ) (produccion_10-16 6) (produccion_16-24 8) (produccion_0-10 y ) ) ]
  11.                                                       [(and (>= y 10) (<= y 16) ) (+ (produccion_0-10 (- 10 x) ) (produccion_10-16 (- y 10) ) ) ]
  12.                                                       [else (+ (produccion_0-10 (- 10 x)) (produccion_10-16 6) (produccion_16-24 (- y 16 ) ) ) ]
  13.                                                       )]
  14.                                          [(and (<= x 16) (> x 10) ) (cond
  15.                                                                       [ (and (<= y 16) (> y x)) (produccion_10-16 (- y x) ) ]
  16.                                                                       [ (and (<= y 24) (>= y x) (> y 16) ) (+ (produccion_10-16 (- 16 x) ) (produccion_16-24 (- y 16) ) ) ]
  17.                                                                       [ (and (<= y 24) (>= y x) (< y 16) )  (produccion_10-16 (- y x) ) ]
  18.                                                                       [ (and (<= y 16) (< y x)) (+ (produccion_10-16 (- 16 x) ) (produccion_16-24 8 ) (produccion_0-10 y) ) ]
  19.                                                                       )]
  20.                                          [else (cond
  21.                                                  [ (and (> y x) (<= y 24) ) (produccion_16-24 (- y x) ) ]
  22.                                                  [ (and (< y x) (<= y 24) ) (+ (produccion_16-24 (- 24 x) ) (produccion_0-10 10) (produccion_10-16 6) (produccion_16-24 (- y 16) ) ) ]
  23.                                                  [ (and (< y 10) (>= y 0) ) (+ (produccion_16-24 (- 24 x) ) (produccion_0-10 y) ) ]
  24.                                                  [ (and(< y 16) (>= y 10) ) (+ (produccion_16-24 (- 24 x) ) (produccion_0-10 10) (produccion_10-16 (- y 10) ) ) ]
  25.                                                  ) ]
  26.                                          ) )
  27. ;; Autor: Juan Felipe Jaramillo
  28. ;; Fecha de creación: 8 de julio de 2020
  29. ;; Contrato: calcularPiezasRealizadas número -> número
  30. ;; Definición:
  31. (define (produccion_0-10 x) (* x 25) )
  32.  
  33. ;; Autor: Juan Felipe Jaramillo
  34. ;; Fecha de creación: 8 de julio de 2020
  35. ;; Contrato: calcularPiezasRealizadas número -> número
  36. ;; Definición:
  37. (define (produccion_10-16 x) (* x 28) )
  38.  
  39. ;; Autor: Juan Felipe Jaramillo
  40. ;; Fecha de creación: 8 de julio de 2020
  41. ;; Contrato: calcularPiezasRealizadas número -> número
  42. ;; Definición:
  43. (define (produccion_16-24 x) (* x 10) )
  44.  
  45.  
  46. ;;Pruebas:
  47. (check-expect (calcularPiezasRealizadas 5 17) 303 )
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement