Escreva uma rotina que determine as raízes reais da equação quadrática
. Salve a função como raizquad. Quando o arquivo for executado, o usuário deverá entrar com os valores das constantes
e
. Para calcular as raízes da equação, o programa deve primeiro calcular o discriminante
dado por:
Se
, o programa deve exibir a mensagem: A equação possui duas raízes reais., e as raízes devem ser mostradas na próxima linha.
Se o
, o programa deve exibir a mensagem: A equação possui duas raízes iguais., e a raiz deve ser mostrada na próxima linha.
Se
, o programa deve exibir a mensagem: A equação não possui raízes reais.
Se o
Se
Passo 1
O enunciado pede para a gente escrever uma rotina (função) que calcule as raízes reais de uma equação quadrática
A gente vai usar o conteúdo de equações do 2º grau, em particular o discriminante
e as fórmulas de Bhaskara
Para resolver, você só precisa saber como ler dados do usuário, calcular o discriminante e usar estruturas condicionais (if/elseif/else).
Passo 2
Calcular o discriminante.
- Depois de ler
, e , você faz - O discriminante diz se há duas raízes reais distintas (
), uma raiz dupla ( ) ou nenhuma raiz real ( ).
Passo 3
Usar condicionais para tratar cada caso:
- Se
: - Exibir “A equação possui duas raízes reais.”
- Calcular
- Se
: - Exibir “A equação possui duas raízes iguais.”
- Calcular
- Se
: - Exibir “A equação não possui raízes reais.”
Passo 4
Agora é só juntar tudo numa função chamada
raizquad
. A seguir está um exemplo em MATLAB/Octave (salve como raizquad.m
):function raizquad()
% Pede os coeficientes
a = input('Digite o valor de a: ');
b = input('Digite o valor de b: ');
c = input('Digite o valor de c: ');
% Calcula o discriminante
D = b^2 - 4*a*c;
% Verifica cada caso
if D > 0
fprintf('A equação possui duas raízes reais.\n');
x1 = (-b + sqrt(D))/(2*a);
x2 = (-b - sqrt(D))/(2*a);
fprintf('x1 = %.4f, x2 = %.4f\n', x1, x2);
elseif D == 0
fprintf('A equação possui duas raízes iguais.\n');
x = -b/(2*a);
fprintf('x = %.4f\n', x);
else
fprintf('A equação não possui raízes reais.\n');
end
end
Resposta
A função ,
e
, calcula o discriminante
, e usa condicionais para imprimir a mensagem adequada e as raízes reais quando existirem.
raizquad
acima lê