Ir para o conteúdo

Vendedor de parafusos

;Exercicio 10 - Vendedor de parafusos
;
; Exercicio resolvido por: Rui Maia <deathseeker25@portugal-a-programar.org>
;
; Escreva um procedimento em Scheme que um pequeno lojista pretende usar no cálculo
; do custo de parafusos. O procedimento tem como parâmetros a quantidade de parafusos
; e o custo unitário. Até 10 parafusos o lojista não faz qualquer desconto. Acima de
; 10 e até 50, faz um desconto equivalente a 3 parafusos. Acima de 50, o desconto é de
; 10% sobre o custo total. 

(define calculo-parafusos
  (lambda (quantidade custo-uni)
    (cond ((< quantidade 10)
           (* quantidade custo-uni))
          ((and (> quantidade 10) (< quantidade 50))
           (* (- quantidade 3) custo-uni))
          ((> quantidade 50)
           (- (* quantidade custo-uni) (/ (* quantidade custo-uni 10) 100))))))

;> (calculo-parafusos 8 0.5)
;4.0
;> (calculo-parafusos 35 0.5)
;16.0
;> (calculo-parafusos 250 0.5)
;112.5
;> (calculo-parafusos 800 0.5)
;360.0
;> (calculo-parafusos 125 0.5)
;56.25
;> (calculo-parafusos 16000 0.5)
;7200.0