[MÚSICA] Então, vamos tentar resolver o desafio que a gente tinha para vocês que era fazer aquele programa que usava a formula de Bhaskara para resolver a equação de segundo grau. Deixa abrir aqui o meu editor de textos e vou criar novo programa e lembra quem a gente vai usar a raiz quadrada, já vou dar import math logo aqui no começo. A primeira coisa que a gente precisa fazer é pegar dos vários valores de a, b e c, as constantes. Então a recebe input: digite o valor de a. Só que lembra, se a gente fizer simplesmente o input ele vai devolver string, uma cadeia de caracteres, a gente quer o valor numérico. Particular aqui, a gente vai estar mexendo com valores ponto flutuante, valores reais, com várias casas depois da vírgula, eu vou converter esse string para float, então a mesma coisa que foi para pegar o a, a mesma coisa vai ser para pegar o b e o c. Digite o valor de b. Digite o valor de c. Já temos a, b e c. A primeira coisa agora é calcular o delta, posso fazer aqui delta é igual a b2, b ao quadrado, menos quatro, vezes a, vezes c. Já tenho aqui o valor de delta. Já calculei o delta, agora vou calcular as duas raízes, primeira raiz seria, usando a fórmula, -b a fórmula diria mais ou menos, isso porque a primeira raiz é mais e a segunda raiz é menos, então a primeira raiz é mais menos b mais a raiz quadrada math.sqrt, a raiz quadrada de delta, dividido, agora tudo isso, a gente pode ver na fórmula, tudo isso dividido por dois a, então vou colocar os parêntesis para deixar bem claro que tudo isso aqui é dividido por dois vezes a, esses parêntesis também é importante, se não tiver o parêntesis o a vai ficar multiplicando cima e a gente quer que o a apareça baixo, na fração. Então a raiz é isso: -b mais raiz quadrada de delta sobre dois a, e a raiz dois é -b menos raiz de delta sobre dois a. Temos as duas raízes, posso imprimir: a primeira raiz é vírgula raiz e a segunda raiz é a raiz dois, a segunda raiz é a raiz dois. Vamos ver se isso está certo até aqui, vou executar aqui, salvei num arquivo chamado Bhaskara, que eu já tinha aberto, e aqui eu vou falar: python3 Bhaskara. Ele fala: digite o valor de a, vamos supor que a é dez, b é 25 e o c é dez também. A primeira raiz é 6, a segunda raiz é menos dois. Depois vocês verificam aí se está certo, se não estiver certo, vocês me avisam. Mas vamos ver outro caso. Se eu fizer o seguinte: o valor de a, dez, o valor de b, 20 e o valor de c, dez também, esse é caso que delta é igual a zero, então as duas raízes são menos então diria que só tem uma raiz que ele encontra, a parábola encontra o eixo x num único ponto. A única raiz é menos. Preciso colocar aqui if, posso fazer: if delta, se delta for igual a zero, eu quero que ele calcule uma raiz e imprima o seguinte print. [SEM_ÁUDIO] A única raiz é raiz. [SEM_ÁUDIO] Caso contrário, quero que ele calcule a segunda raiz, vou ter que colocar isto aqui. Se o delta for igual a zero, calcula uma única raiz e imprime que a única raiz é essa. Se não for, ele vai calcular as duas raízes. Vamos ver se isso aqui dá certo para o nosso novo caso, se for dez, 20, dez, a única raiz é menos. Vamos testar se o caso anterior continua funcionando, que é o dez, 25, dez, aí ele identifica que tem duas raízes diferentes. Agora tem terceiro caso. Se eu colocar dez, dez, dez, o que acontece? Deu erro ali, por que ele deu erro? Porque eu digitei errado, vamos digitar certo, dez, dez, dez. Deu outro erro, qual foi? Na hora que foi calcular a raiz quadrada, deu math domain error, erro do domínio da matemática, O delta ficou negativo, não dá para extrair a raiz quadrada de número negativo no âmbito dos números reais. Não posso querer extrair aqui a raiz quadrada quando o delta é negativo, preciso verificar esse caso antes. No else vou colocar outro if, para verificar esse caso. If delta é menor que zero, daí eu dou print aqui falando: esta equação não possui raízes reais. Caso contrário, else, aí sim, note que aqui a endentação é muito importantes, esses quatro comandos são subordinados a esse else, esse print é subordinado a esse if, e todo esse bloco é subordinado a esse else. A endentação é fundamental. Nesse caso, estou usando tabs, para representar endentação. Pode usar tabs ou espaço, o importante é ser consistente. Use só espaços ou só tabs, e o mesmo número de espaços, caso você vá usar uma endentação. Não fica variando para não criar confusões. Vamos testar para ver se deu certo para esse último caso. Digite o valor de a. Se for dez, dez, dez, esta equação não possui raízes reais, aquele meu primeiro exemplo, dez, 25, dez, são duas raízes diferentes e aquele terceiro caso dez, 20, dez, tem uma única raiz. Não é a solução mais elegante, a melhor do mundo, mas é uma possível solução para esse problema. Uma coisa que me incomoda pouco nessa solução é que esse comando está repetido, esse aqui da raiz, tem tanto ele aqui, quanto ele aqui, você pode pensar reorganizar esse código para eliminar essa duplicação, que é uma coisa ruim. Mas é uma primeira solução, fica aí de trabalho de casa tentar fazer melhor ainda. Então, é isso. [MÚSICA] [MÚSICA] [MÚSICA]