Mais funções com reais

Tópicos

  • mais funções com reais

Exercícios

Exercício 15.1

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é

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

(aula15_ex01_a_tentativa)



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}\]

(aula15_ex01_b_tentativa)



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 .

(aula15_ex01_c_tentativa)



Exercício 15.2

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:

(aula15_ex02_a_tentativa)



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.

(aula15_ex02_b_tentativa)



Exercício 15.3

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.

(aula15_ex03_a_tentativa)



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.

(aula15_ex03_b_tentativa)



Table Of Contents

Previous topic

Mais sobre números reais

Next topic

Exercícios