Folha 1
Avaliação de Expressões, Interpretação de Procedimentos
1.1 (Avaliação de Expressões com Procedimentos Primitivos)
Para cada uma das expressões seguintes, tentar prever um resultado e
confirmar usando o interpretador.
(+ 22.5 3) ->
(- (+ 75 12) 4 1) ->
(expt 2 (/ 1 2)) ->
(* (+ 14 -6) 3E5) ->
1.2 (Definição de Constantes e Uso em Expressões com Primitivas)
Prever o resultado de avaliar as expressões seguintes em Scheme, pela
ordem indicada, e confirmar usando o interpretador.
(define a 2) ->
(define b 7) ->
(+ a b) ->
(expt (- b a) a) ->
(define b 8) ->
(+ a b) ->
1.3 (Significado de Procedimentos Compostos)
Observe as definições de procedimentos a seguir. Descubra o que se
pretende que cada um signifique e proponha nomes mais sugestivos.
(define coisa1
(lambda (numero)
(expt numero (/ 1 3))))
(define coisa2
(lambda (numero)
(* 3.14159 (* 2 numero))))
(define coisa3
(lambda (numero1 numero2)
(/ (+ numero1 numero2) 2)))
1.4 (Definir Procedimento)
Escreva um procedimento area-triangulo que tome 2 argumentos, a
base e a altura, e retorne a área do triângulo respectivo.
1.5 (Definir Procedimento)
Escreva um procedimento quadrados-maiores que tenha 3
números como argumentos e que devolva a soma dos quadrados dos 2
números maiores.
1.6 (Definir Procedimento)
Escrever o procedimento area-losango-inscrito com os
parâmetros lado1 e lado2, que devolve a área do
losango inscrito no rectângulo, cujos lados são os parâmetros
referidos.
1.7 (Definir Procedimento)
A conversão de uma temperatura em graus Fahrenheit para graus
Celsius pode ser realizada através da fórmula Tc = (F - 32) x
5/9.
Por outro lado, para converter uma temperatura em graus Celsius para graus
Kelvin bastará somar 273.16.
Escrever o procedimento converte-Fahrenheit com o parâmetro
tf que representa uma temperatura em graus Fahrenheit e
responde como se indica:
> (converte-Fahrenheit 14)
Fahrenheit: 14
Celsius: -10
Kelvin: 263.16
1.8 (Definir Procedimento)
O procedimento rectangulo-maior tem como parâmetros
lado-a1, lado-a2, lado-b1, e
lado-b2, que correspondem ao comprimento dos lados de 2
rectângulos: os dois primeiros do rectângulo A e os restantes do rectângulo B.
Escrever este procedimento em Scheme que calcula a área de cada um dos
rectângulos, compara-as e responde da seguinte maneira:
> (rectangulo-maior 10 20 15 5)
Rectangulo A: 200
Rectangulo B: 75
O rectangulo A e' maior 125 unidades.
> (rectangulo-maior 10 20 15 18)
Rectangulo A: 200
Rectangulo B: 270
O rectangulo B e' maior 70 unidades.
> (rectangulo-maior 10 20 40 5)
Rectangulo A: 200
Rectangulo B: 200
Os rectangulos apresentam igual area.