Para cada questão abaixo, defina uma função em Python que calcule o que é pedido, e a teste no console com pelos menos três entradas diferentes.
Você é livre para dar os nomes que quiser para as funções, mas lembre de tentar dar nomes que o ajudem a lembrar do que ela faz!
1. Calcule a área de um retângulo dados seus dois lados. Teste pelo menos para os seguintes pares de entrada:
5 e 7; resposta esperada é 35
15 e 2; resposta esperada é 30
500 e 700; resposta esperada é 350000
5 e 0; resposta esperada é 0
# Área de um retângulo
# número número -> número
def area_ret(altura, largura):
return altura * largura
2. Calcule a área da coroa circular (anel) formada por dois círculos de raios r1
e r2
(assuma que r1
é sempre maior que r2
), usando a definição de pi que está na biblioteca
math
, math.pi
.
# Área de uma coroa circular
# número número -> número
def area_coroa(raio1, raio2):
return math.pi * (raio1 ** 2 - raio2 ** 2)
3. Calcule a ordenada de um polinômio de segundo grau dados os coeficientes a
, b
, c
e a abscissa x
.
# Valor de um polinômio de segundo grau
# número número número número -> número
def polinomio(a, b, c, x) :
return a * x * x + b * x + c
4. Dado o valor da conta de um restaurante, calcule a gorjeta do garçom, considerando que o padrão do restaurante é gorjeta de 10 por cento).
# Gorjeta de um restaurante
# número -> número
def gorjeta(valor):
return 0.10 * valor
5. Calcule a média aritmética de dois números, sendo que o resultado sempre tem que ser um número decimal.
# Média aritmética
# número número -> float
def media_arit(x, y):
return (x + y) / 2.0
6. Calcule a média ponderada de dois números e dois pesos, o resultado também tem que ser sempre decimal.
# Média ponderada
# número número número número -> float
def media_pond(x, peso_x, y, peso_y):
return (x * peso_x + y * peso_y) * 1.0 / (peso_x + peso_y)
7. Calcule a distância que a correnteza arrasta um barco ao atravessar um rio dada a velocidade da correnteza, a largura do rio e a velocidade do barco perpendicular à correnteza.
# Arrasto da correnteza
# número número número -> número
def arrasto(vc, lr, vb):
return (lr * 1.0 / vb) * vc
8. Calcule o saldo final de uma conta dado o saldo inicial, o número de meses e a taxa de juros mensal,
considerando o uso de juros simples. O operador de exponenciação de Python é **
.
# Saldo final com correção
# número int número -> número
def saldo_final(inicial, meses, taxa):
return inicial + (inicial * (taxa / 100.0) * meses)
9. Calcule o erro entre o valor da soma de uma PG infinita começada com 1 (dada por 1/(1-q)
,
onde q
é a razão com 0 <= q < 1
) e a soma dos 3 primeiros termos dessa PG.
# Erro na soma de uma PG
# float -> float
def erro(q):
return 1 / (1 - q) - (1 + q + q * q)
10. Dados a hora, minuto e segundo em que um corredor de uma maratona partiu, e dados a hora, minuto e segundos em que este mesmo corredor cruzou a linha de chegada, calcule o tempo total de prova deste corredor em segundos.
# Tempo total de prova em segundos
# int int int int int int -> int
def tempo_prova(hp, mp, sp, hc, mc, sc):
return (hc * 3600 + mc * 60 + sc) - (hp * 3600 + mp * 60 + sp)