Exercícios¶
Exercício 1¶
Nota: exercício 2 da lista de exercícios sobre reais.
Dado um número inteiro \(n > 0\), determinar o número harmônico \(H_n\) dado por
Imprima cada termo da sequência e o resultado final. Faça 2 implementações:
Da direita para a esquerda e
da esquerda para direita.
Qual dessas formas é estável?
Observe que para \(n = 10\), os resultados são iguais, mas para \(n = 100 \ldots\)
Exercício 2¶
Nota: exercício 6 da lista de exercícios sobre reais.
Dados \(x\) real e \(n\) natural, calcular uma aproximação para \(\cos(x)\) através dos \(n\) primeiros termos da seguinte série
Compare com os resultados de sua calculadora!
Exercício 3¶
Nota: exercício 7 da lista de exercícios sobre reais.
Dados \(x\) real e \(\epsilon\) real, \(\epsilon > 0\), calcular uma aproximação para \(\sin(x)\) através da seguinte série infinita:
incluindo todos os termos até que \(\frac{|x^{2k+1}|}{(2k+1)!} < \epsilon\)
Compare com os resultados de sua calculadora!
Exercício 4¶
Nota: Questão 1 da Prova 1 de 2014.
Na figura, no plano cartesiano, a região sombreada não inclui as
linhas de bordo. Note que o eixo y
cai bem no meio da figura,
e usamos o lado do quadrado para indicar as ordenadas
correspondentes.
Escreva na página do desenho um programa que lê as coordenadas
cartesianas (x, y)
de um ponto, ambas do tipo float
e imprime dentro
se esse ponto está na região, e fora
caso contrário.

Exercício 5¶
Dado um número real \(x\) e um número real \(\text{epsilon} > 0\), calcular uma aproximação de \(e^x\) através da seguinte série infinita:
Inclua na aproximação todos os termos até o primeiro de valor absoluto (módulo) menor do que epsilon.
Exercício 6¶
- Dados números reais \(x >= 0\) e \(\text{epsilon} > 0\), calcular uma aproximação da raiz quadrada de \(x\) através da seguinte sequência:
\(r_0 = x\) e
\(r_{n+1} = (r_n+ \frac{x}{r_n}) / 2\).
- Exemplos:
Para \(x = 3, r_0 = 3, r_1 = 2, r_2 = 1.75, r_3 = 1.732143, r_4 = 1.732051\)
Para \(x = 4, r_0 = 4, r_1 = 2.5, r_2 = 2.05, r_3 = 2.000610, r_4 = 2.000000\)
Para \(x = 5, r_0 = 5, r_1 = 3, r_2 = 2.33, r_3 = 2.238095, r_4 = 2.236068\)
Para \(x = 0.81, r_0=0.81, r_1=0.905, r_2=0.9000138122, r_3=0.9000000001\)
A aproximação será o primeiro valor \(r_{n+1}\) tal que \(|r_{n+1}-r_n| < \text{epsilon}\).
Exercício 7¶
Nota: Exercício 4 da lista de exercícios com funções - parte I
Parte A
Faça uma função arctan que recebe o número real \(x \in [0,1]\) e devolve uma aproximação do arco tangente de \(x\) (em radianos) através da série incluindo todos os termos da série
incluindo todos os termos da série até
Parte B
Faça uma função angulo que recebe um ponto de coordenadas cartesianas reais \((x,y)\), com \(x > 0\) e \(y > 0\) e devolve o ângulo formado pelo vetor \((x,y)\) e o eixo horizontal.
A tabela abaixo mostra exemplos com ângulos correspondentes a algumas coordenadas:
(x, y) |
ângulo |
---|---|
(0, 1) |
90 graus |
(2, 2) |
45 graus |
(1, 4) |
75 graus |
(5, 1) |
11 graus |
Use a função do item anterior mesmo que você não a tenha feito. Note que a função só calcula o arco tangente de números entre 0 e 1, e o valor devolvido é o ângulo em radianos (use o valor = 3.14 radianos = 180 graus). Para calcular o valor do ângulo pedido, use a seguinte fórmula:
Parte C
Faça um programa que, dados n pontos do primeiro quadrante (\(x > 0 \text{e} y > 0\)) através de suas coordenadas cartesianas, determina o ponto que forma o menor ângulo com o eixo horizontal. Use a função do item anterior, mesmo que você não a tenha feito .
Exercício 8¶
Parte A
Escreva uma função com protótipo
def divide (d, m, n):
''' (int, int, int) -> bool, int, int
'''
que recebe três inteiros positivos m, n, d, e retorna False, m, n caso d não for divisor de m ou n. Caso contrário, função retorna True, m’ e n’, onde m’=m/d caso m for múltiplo de d e m’ = m caso contrário, e n’=n/d caso n for múltiplo de d e n’ = n caso contrário.
Exemplos:
d, m, n |
resultado |
---|---|
2, 5, 15 |
False, 5, 15 |
3, 7, 9 |
True, 7, 3 |
3, 9, 21 |
True, 3, 7 |
Escreva a sua solução abaixo:
Parte B
Escreva um programa que lê dois inteiros positivos m e n e calcula, usando a função acima, o mínimo múltiplo comum entre m e n.
Exercício 9¶
Parte A
Faça uma função com protótipo
def somabit (b1, b2, vemum):
''' (int, int, int) -> int, int
'''
que recebe três bits (inteiros 0 ou 1) b1, b2 e vemum e retorna dois bits, um bit soma representando a soma de b1 + b2 + vemum e o bit vaium para o próximo par de bits.
Parte B
Escreva um programa que lê dois números em binário e calcula um número em binário que é a soma dos dois números dados. Utilize a função da parte A.