cardel

Ejercicio carro

Jan 20th, 2021
685
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (define-struct carro (marca color costo))
  2.  
  3. (define carroA (make-carro "Mazda" "Blanco" 13000000))
  4. (define carroB (make-carro "Chevrolet" "Azul" 20000000))
  5. (define carroC (make-carro "Ferrari" "Negro" 4000000000))
  6.  
  7. ;;Objetivo: Una función que recibe dos carro y nos retorna el carro con mayor valor
  8.  
  9. ;;¿Que tiene que hacer esta función el carro más caro?
  10. ;;Tiene comparar costos
  11. ;;¿Como extraigo los costos? carro-costo
  12.  
  13. ;;Autor: Carlos A Delgado
  14. ;;Fecha: 20 de Enero de 2020
  15. ;;Contrato: carro-mas-caro: carro,carro -> carro
  16. ;;Ejemplos
  17. ;;carroA y carroB retorna carroB
  18. ;;carroA y carroC retorna carroC
  19. ;;carroB y carroC retorna carroC
  20. (define (carro-mas-caro c1 c2)
  21.   (cond
  22.     [(and (carro? c1) (carro? c2))  (cond
  23.                                       [(< (carro-costo c1) (carro-costo c2)) c2]
  24.                                       [else c1]
  25.                                      
  26.                                       )
  27.                                     ]
  28.     [else (error "La función debe recibir dos estructuras tipo carro")]))
  29.  
  30. ;;Check-expect
  31. (check-expect (carro-mas-caro carroA carroB) carroB)
  32. (check-expect (carro-mas-caro carroA carroC) carroC)
  33. (check-expect (carro-mas-caro carroC carroB) carroC)
RAW Paste Data