Licenciatura em Engenharia Informática e Computação
Introdução à Programação I
Ano lectivo de 2001/2002

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.