Exercícios Resolvidos de Módulo Math

Ver Teoria

Enunciado

Elabore um programa que receba três valores reais, A, B e C, e calcule as raízes dessa equação do segundo grau. Para isso, deve usar obrigatoriamente uma função chamada bhaskara, escrita por você, que recebe os coeficientes como parâmetro. Além disso, a função deve calcular e retornar as duas raízes, reais ou complexas, dependendo dos coeficientes. O módulo utilizado deve ser chamado de m e deve existir apenas no escopo da função.

Exemplo 1:

Exemplo 2:

Passo 1

Rapaz, essa parece complicada!

Mas não se preocupe, a ideia dessa questão é abordar umas paradas que só alguns professores cobram. É mais pra complementar o seu conhecimento. Então, se você não tem a menor ideia de como fazer essa questão, é normal. Relaxa!

Primeiro, lembra que a gente fala bastante que é importante colocar o import no início do programa quando a gente quer importar alguma biblioteca/módulo? Isso porque o módulo é importado na linha que a gente digita e só passa a funcionar dessa linha pra baixo. E tem outra coisa: o módulo só vai estar disponível no escopo que você importar!

Ou seja, se tu importar no escopo global (fora de qualquer função), todo o seu programa vai ter acesso. Mas se você usar o import dentro de uma função, o módulo só vai estar disponível dentro do escopo dessa função. Agora tu sacou o que o enunciado tá pedindo, né?!

Passo 2

Vamos começar escrevendo nossa função! O enunciado já disse qual deve ser o nome da função e os parâmetros, então a gente só precisa obedecer.

Pronto! Vamos precisar importar algum módulo de matemática pra usar a função de raiz quadrada. Mas devemos escolher se importamos o math ou o cmath, de acordo com nosso delta. Se o delta for menor que zero, a gente importa o módulo de números complexos. Caso contrário, importamos o math.

Vamos começar calculando o delta. Você lembra qual a fórmula do delta??? google pesquisar...

Beleza! Vamos escrever em Python!

E agora vamos usar o delta pra decidir qual módulo a gente vai importar! Mas mano, tu reparou que quando a gente vai usar as funções de um módulo a gente precisa usar seu nome? Tipo math.pi ou math.cos(). Mas e se a gente não quiser usar o nome do módulo, mas sim outro nome que a gente quiser?!

Aí a gente pode seguir a importação com “import MODULO as NOVO_NOME”. Assim, a gente vai chamar o módulo do nome que a gente quiser! No enunciado, tá mandando a gente importar com o nome de m. Por isso, bora fazer assim:

Pronto! Agora, independente do módulo que a gente importar, o nome dele vai estar como “m”.

Passo 3

Se liga que a gente já tem o delta e o módulo de matemática importado. Só precisamos aplicar a fórmula de bhaskara em si e retornar as raízes…

Tá, calma que vou pesquisar a fórmula de bhaskara também.

Pronto! Bora escrever essa fórmula na nossa função, em Python!

Aí sim! Reparou que a gente usou m.sqrt() independentemente de qual seja o módulo importado? Isso que o professor queria!

Só falta a gente retornar as raízes agora...

Sim! Dá pra gente retornar várias coisas seguidas por vírgula em uma função! Bora fazer o resto do programa agora…

Passo 4

Com a função pronta, o enunciado também tá mandando a gente perguntar os coeficientes pro usuário, além de nos informar gentilmente que esses coeficientes são números reais. Então, vamos perguntar pro usuário usando a função input() e converter pra número real usando float()!

Pronto! Já temos os coeficientes. Pra calcular as raízes, precisamos chamar a função bhaskara passando esses coeficientes como parâmetro. Se liga:

Showsss! Já temos as raízes. Só falta a gente exibir pro usuário!

Passo 5

E pra exibir a resposta pro usuário, usamos o que??? Isso aí, doido! A função print(). Vamos também usar formatação de string pra fazer uma mensagem no mesmo formato dos exemplos do enunciado. Lembra de formatação de string? Tem no módulo de Operações com Strings aqui da playlist, caso você tenha esquecido, jae??

Voltando pro nosso programa, vai ficar mais ou menos assim:

Aí sim! Vou executar o programa e vou digitar as mesmas coisas que o professor digitou no enunciado, e aí a gente confere se tá tudo certinho...

AAAAH MULEKEE!

Te espero no próximo exercício, maninho!! Valeuuuu!

Resposta