Ir para o conteúdo

Fórmula de Briggs

; Exercicio 4  - Graus e radianos
; Exercício resolvido por: Rui Maia (deathseeker25@portugal-a-programar.org) 
; Exericio 4.1
;Escreva um procedimento que faça a conversão de graus para radianos.


(define pi 3.141592653589793)

(define graus->radianos
  (lambda (graus)
    (/ (* pi graus) 180)))

;>(graus->radianos 30)
;0.5235987755982988

;Exercicio 4.2
;Escreva um procedimento que faça a conversão de radianos para graus.

(define radianos->graus
  (lambda (rad)
    (/ (* rad 180) pi)))

;> (radianos->graus 1)
;57.29577951308232
;> (radianos->graus 0.8)
;45.83662361046586

; Exercicio 4.3 - Atraves do valor dos lados de um triangulo, calcular os angulos internos, usando a fórmula de Briggs.

(define angulo
  (lambda (semi-perimetro lado1 lado2)
    (radianos->graus (* 2 (asin (sqrt (/ (* (- semi-perimetro lado1) (- semi-perimetro lado2)) (* lado1 lado2))))))))

(define Formula-Briggs
  (lambda (a b c)
    (let ((semi-perimetro (/ (+ a b c) 2))) ; o comando let serve para atribuir valores a variaveis dentro de um procedimento
      (display "Para os valores dos lados a=")
      (display a)
      (display ", b=")
      (display b)
      (display ", c=")
      (display c)
      (display " os angulos do triangulo sao: AB=")
      (display (angulo semi-perimetro a b))
      (display ", AC=")
      (display (angulo semi-perimetro a c))
      (display ", BC=")
      (display (angulo semi-perimetro b c)))))

;> (Formula-Briggs 10.0 15.0 15.0)
;Para os valores dos lados a=10.0, b=15.0, c=15.0 os angulos do triangulo sao: AB=70.52877936550931, AC=70.52877936550931, BC=38.94244126898138
;> (Formula-Briggs 10.0 10.0 10.0)
;Para os valores dos lados a=10.0, b=10.0, c=10.0 os angulos do triangulo sao: AB=60.00000000000001, AC=60.00000000000001, BC=60.00000000000001
;>