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 />

π<br />

4<br />

π 2<br />

6<br />

= 1 − 1 3 + 1 5 − 1 7 + 1 9 − 1 11 + 1 13 · · ·<br />

= 1 + 1<br />

2 2 + 1<br />

3 2 + 1<br />

4 2 + · · ·<br />

Veja quantas iterações cada método demora para aproximar π <strong>com</strong>, por exemplo, 10 casas<br />

decimais.<br />

Ex. 18 — Modifique o procedimento ceasar-translate-char para que ele preserve a<br />

caixa (alta ou baixa) do caracter.<br />

Ex. 19 — Além dos procedimentos que definimos para números <strong>com</strong>plexos, o padrão<br />

<strong>Scheme</strong> também define o procedimento make-polar, que recebe magnitude e ângulo e<br />

retorna um número <strong>com</strong>plexo. Implemente make-polar.<br />

Ex. 20 — Uma maneira de gerar todas as ( n<br />

k)<br />

<strong>com</strong>binações de n elementos tomando k de<br />

cada vez é usar o algoritmo:<br />

FOR V1 = 0 to n-k-1<br />

...<br />

FOR V3 = V2+1 to n-1<br />

FOR V4 = V3+1 to n<br />

PRINT I1, I2, ...<br />

Por exemplo, para ( )<br />

n<br />

FOR V1 = 0 to n-3<br />

FOR V2 = V1+1 to n-2<br />

FOR V3 = V2+1 to n-1<br />

FOR V4 = V3+1 to n<br />

4<br />

PRINT I1, I2, I3, I4<br />

Escreva um procedimento with-<strong>com</strong>binations que aceite n, k e uma função de k argumentos:<br />

( with-<strong>com</strong>binations 3 2<br />

--> 0 1<br />

--> 0 2<br />

( lambda (x1 x2)<br />

Versão Preliminar<br />

( print "--> " x1 " " x2 )))<br />

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

57

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

Saved successfully!

Ooh no, something went wrong!