Ir para o conteúdo

Maior-rectângulo

; Exercicio 8 - Maior-rectangulo
; O procedimento rectangulo-maior tem como parametros lado-a1, lado-a2, lado-b1 e lado-b2,
; em que os dois primeiros correspondem aos lados do rectangulo A e os dois ultimos aos
; lados do rectangulo B.
;
; Escreva este procedimento em Scheme que calcula a area de cada um dos rectangulos, compara-as
; e responde da seguinte maneira:
;
;
;>(rectangulo-maior 10 20 15 5)
;Rectangulo A: 200
;Rectangulo B: 75
;O rectangulo A é maior 75 unidades.
;

(define area-rectangulo
  (lambda (L1 L2)
    (* L1 L2)))

(define rectangulo-maior 
  (lambda (lado-a1 lado-a2 lado-b1 lado-b2)
    (display "Rectangulo A: ")
    (display (area-rectangulo lado-a1 lado-a2))
    (newline)
    (display "Rectangulo B: ")
    (display (area-rectangulo lado-b1 lado-b2))
    (newline)
    (if (> (area-rectangulo lado-a1 lado-a2) (area-rectangulo lado-b1 lado-b2))
        ((display "O rectangulo A é maior ")
         (display (- (area-rectangulo lado-a1 lado-a2) (area-rectangulo lado-b1 lado-b2)))
         (display " unidades."))
        ((display "O rectangulo B é maior ")
         (display (- (area-rectangulo lado-b1 lado-b2) (area-rectangulo lado-a1 lado-a2)))
         (display " unidades.")))))

;> (rectangulo-maior 10 15 25 35)
;Rectangulo A: 150
;Rectangulo B: 875
;O rectangulo B é maior 725 unidades.