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

\[H_n = 1 + \frac{1}{2} + \frac{1}{3} + \frac{1}{4} + \ldots + \frac{1}{n}\]

Imprima cada termo da sequência e o resultado final. Faça 2 implementações:

    1. Da direita para a esquerda e

    1. 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

\[\cos(x) = 1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+\ldots+(-1)^k \frac{x^{2k}}{2k!} + \ldots\]

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:

\[\sin(x) = \frac{x}{1!}-\frac{x^3}{3!}+\frac{x^5}{5!}+\ldots+(-1)^k \frac{x^{2k+1}}{(2k+1)!} + \ldots\]

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.

08-Numeros-reais/./Figuras/face.png
Clique
  • aqui para ver uma 1a solução.

  • aqui para ver uma 2a solução.

  • aqui para ver uma 3a solução.

  • aqui para ver uma 4a solução.

  • aqui para ver uma 5a solução.

  • aqui para ver uma 6a solução.

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:

\[e^x = 1 + x + \frac{x^2} {2!} + \frac{x^3}{3!} + \ldots + \frac{x^k}{k!} + \ldots\]

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

\[\text{arctan}(x) = x - \frac{x^3}{3} + \frac{x^5}{5} - \frac{x^7}{7} + \ldots\]

incluindo todos os termos da série até

\[\big\| \frac{x^k}{k} < 0.0001 \big\|\]

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:

Exemplos

(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:

\[\begin{split}\begin{array}{lll} \alpha = & \text{arctan}( y/x ) & \text{caso} y < x ; \text{ou}\\ \alpha = & \pi/2 - \text{arctan}( x/y ) & \text{caso contrário}\\ \end{array}\end{split}\]

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:

divide(d, m, n)

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.

Você já fez das atividades dessa página