Dada que uma equação de segundo grau pode ser representada da seguinte forma:
Utilizando as equações de Bhaskara, crie um algoritmo e escreva um programa que calcule as raízes REAIS da equação de segundo grau, e se caso a raiz for complexa cancelar o cálculo informando que a raiz é complexa.
Passo 1
A questão pede que a gente crie um algoritmo e um programa que calcule as raízes reais da função de segundo grau.
Se as raízes forem complexas, deve-se parar o cálculo revelando que a raiz é complexa.
Lembrando que para achar as soluções da equação de segundo grau, precisamos de duas equações, uma delas é o discriminante e outra que é a equação de Bhaskara.
Como temos uma raiz do discriminante, é ele que vai dizer o tipo de solução que nossa equação de segundo grau tem:
- Se , então nossas raízes não serão reais.
E tudo será definido em função dos coeficientes , e da equação!
Ah essa questão tem diversas formas de programar, cada um faz do jeito que achar melhor meu jeito não é o absoluto. Porém ao testar com os mesmo coeficientes que os meus, você tem que achar o mesmo valor.
Passo 2
Primeiramente, para responder à questão precisamos elaborar o algoritmo!
Para que a equação tenha raízes REAIS, o discriminante precisa ser maior do que 0. Pois se for menor do que 0 a raiz será complexa e o cálculo é parado.
Então começamos calculando esse discriminante e, dependendo do seu valor, calculamos ou não o X1 e o X2.
Sendo assim o algoritmo é algo do tipo:
Passo 3
Passo 4
Uma vez que o algoritmo está pronto, precisamos agora implementar o algoritmo no Matlab.
A entrada de dados fica bem assim:
Agora calculamos o discriminante:
Então se o discriminante é negativo, já avisamos pro usuário que não há raízes reais:
Caso contrário, ou seja, se o discriminante não é negativo, ele pode ser nulo ou positivo.
Se o discriminante é nulo, nós chamamos a raíz de Y, só pra diferenciar do caso que vai vir depois.
Se o discriminante é positivo, calculamos as duas raízes X1 e X2 e dizemos seus valores ao usuário.
Precisamos ainda dar o comando end, para fechar os dois if/else que a gente abriu.
Se digitou tudo certinho deve aparecer algo mais ou menos assim para você:
Passo 5
Utilizando A=1,B=2 e C=2 para testar o programa deverá mostrar os valores:
Resposta
Ei, a resposta está no passo a passo :)