Linguagens de Programação
2012.2 - Lista 1
Alexandre Rademaker
August 20, 2012
Nos exercícios abaixo, toda a implementação deve ser feita em Python e
Scheme. Espera-se assim dois arquivos como resposta para cada item. Os
arquivos devem ser nomeados como “grupo-X-lista-Y-ex-Z.py” e “grupo-Xlista-Y-ex-Z.rkt” onde X é o número do grupo, Y a lista e Z o número da
questão.
1. No console do DrRacket e Python, calcule a média final de um aluno,
sabendo que a média dos trabalhos tem 30% de peso na média final e
a média das provas tem 70% do peso e que o aluno obteve as seguintes
notas. Use variáveis de memória para facilitar. Reporte os valores
encontrados e os comandos executados em cada ambiente.
• Trabalhos: 8.5, 6.7, 4.3.
• Provas: 3.8 e 7.6
(O grupo 1 irá salvar as respostas nos arquivos grupo-1-lista-1-1.py
e grupo-1-lista-1-1.rkt.)
2. No console do DrRacket e do Python. Comece com um investimento
inicial de R$ 1000,00. Calcule o montante obtido em três meses de
uma aplicação que rende 1,5% no primeiro mês, 2% no segundo e 2,5%
no terceiro mês. Use variáveis de memória para facilitar. E se o investimento inicial fosse de R$ 2000,00? E se fosse de R$ 836,00?
3. No console do DrRacket e Python. Calcule o montante obtido em três
meses de uma aplicação que rende 2% ao mês e que começou com um
investimento inicial de R$ 1000,00. Use variáveis de memória para
facilitar o seu trabalho. Mas também podemos usar a fórmula fechada
para o cálculo do rendimento de uma aplicação de n meses com taxa
i. Vide próximos exercícios.
1
4. Calcule no console do DrRacket a expressão abaixo e reporte os valores
encontrados. Reporte também como seria no Python e as diferenças.
√
1 + 2 3 10
3+5
− sin(1)
2cos(2)
(1)
5. Gere um número aleatório x no intervalo [a, b]. Defina você valores
para as variáveis a e b. Tente descobrir como gerar números aleatórios
no Python e em Scheme.
6. Um estudante de física obteve resultados inesperados usando o código
abaixo para computar o valor da fórmula F = Gmr12m2 . Explique o
problema e corrija o código Python e escreva o código Scheme. Desenhe
a árvore sintática da expressão errada e da certa.
F = G * mass1 * mass2 / r * r
7. Um indivíduo deseja fazer um empréstimo bancário no valor P hoje.
Com uma taxa mensal de i. O empréstimo deverá ser pago em n parcelas mensais no valor de R. Seu problema é calcular R. Equacionando
o valor presente P com o futuro (descontado) valor de n pagamentos
mensais de R:
P = R(1 + i)−1 + R(1 + i)−2 + . . . + R(1 + i)−n
ou
P =R
n
X
(1 + i)−j
j=1
Somando esta série geométrica e simplificando, temos:
1 − (1 + i)−n
P =R
i
Como na realidade desejamos cálcular R:
R=P
i
1 − (1 + i)−n
Usaremos as variáveis principal para guardar o valor de P . A variável
intRate para guardar a taxa i. A variável n para guardar o número
de parcelas n. Iremos guardar em payment o valor de R.
Calcule R para um empréstimo de R$ 1500,00, com taxa de 1% em 10
pagamentos.
2
8. Um supermercado local precisa de um programa para calcular o montande de dinheiro em cada sacola de moeda. Crie um programa em
Scheme e Python para calcular o montante em cada sacola dadas as
quantidades de moedas de 1 centavo, 5 centavos, 10 centavos, 25 centavos e 1 real.
9. Entre com as definições abaixo, uma por uma, na janela “Definitions”
do DrRacket e clique em “Execute”. Em seguida, identifique os problemas e corriga até não haver erros.
(define (f 1)
(+ x 10))
(define (g x)
+ x 10)
(define h(x)
(+ x 10))
10. Repita o exercício anterior agora escrevendo o seguinte código gramaticamente válido em Scheme na janela “Definitions”. Clique em Execute
em seguida.
(define (somef x)
(sin x x))
Na janela “Interactions”, entre com as seguintes expressões:
(somef 10 20)
(somef 10)
Leia as mensagens de erro, interprete-as.
11. Usando as funções que desenvolvemos na aula de 20/ago para computar
o lucro do dono do cinema para um dado preço de ingresso. Quando
custa para exibir um filme com preços de ingressos de R$ 3,00, R$ 4,00
e R$ 5,00? Quando é a receita para cada caso? Qual o melhor entre
estes 3 preços de ingresso para o dono do cinema?
3
12. O dono do cinema descobriu várias maneiras de melhorar sua rentabilidade. Depois de algumas melhorias, ele agora não tem um custo fixo
mas cada espectador custa R$ 1,50. Modifique as funções usadas no
exercício anterior para refletir esta nova realidade.
13. Escreva duas funções em Scheme e Python que calculem: (1) a área de
um cilindro a partir do raio da base do cilíndro e da sua altura; (2) o
volume do cilindo a partir das mesmas entradas.
14. Na janela “Interactions” de DrRacket, verifique o valor das seguintes
expressões para: (1) x=4; (2) x=2 e (3) x=7/2.
(> x 3)
(and (> 4 x) (> x 3))
(= (* x x) x)
15. Escreva uma função em Python e Scheme que receba um número e
retorne verdadeiro se ele estiver no intervalo da reta real que compreende a união de (1,3) com (9,11]. A função deve retornar falso caso
contrário. Onde parênteses indicam intervalo aberto (não inclusivo) e
conchetes intervalos fechados (inclusivos).
4
Download

Linguagens de Programação 2012.2