08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

respostas<br />

Resp. (Ex. 3) — Podem ser formas válidas: (a), porque o valor da variável abracadabra<br />

pode ser um procedimento; (b), porque - normalmente é um procedimento; (e), porque o<br />

valor da variável a pode ser um procedimento; (g), porque se trata apenas de uma string<br />

(um átomo); (h), porque é abreviação de (quote (1 2 3)); e (j).<br />

Resp. (Ex. 4) — (a) Uma forma <strong>com</strong>eçando <strong>com</strong> lambda é um procedimento. Este procedimento<br />

aceita dois parâmetros, x e y. Verificando o corpo do procedimento, pode-se<br />

concluir que x deve ser um outro procedimento e y um valor que pode ser passado<br />

<strong>com</strong>o argumento para x. (b) A expressão é uma aplicação de procedimento, equivalente<br />

a (display display), e o valor do símbolo display será mostrado (normalmente este<br />

valor será um procedimento). (c) A expressão é equivalente a (display ’display), e o<br />

símbolo display será mostrado (mas não o seu valor).<br />

Resp. (Ex. 7) — Há várias maneiras de resolver este problema. Uma delas é calcular os<br />

vetores PA PB e PC, e verificar se os ângulos entre eles (APB, BPC, CPA) somam 2π ± ε.<br />

Resp. (Ex. 8) — Uma possível implementação é:<br />

( define member<br />

( lambda ( obj lst )<br />

( cond (( null lst )<br />

#f)<br />

(( equal obj ( car lst ))<br />

lst )<br />

( else<br />

( member obj ( cdr lst ))))))<br />

Versão Preliminar<br />

Resp. (Ex. 9) — Uma possível implementação (recursiva na cauda) é:<br />

( define seleciona-strings<br />

( lambda ( uma-lista lista-de-strings )<br />

(if ( null uma-lista )<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

59

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!