Buscar

LÓGICA DE PROGRAMAÇÃO

Resolução de equação do 2o grau (ax2+bx+c=0)

DADOS DE ENTRADA: a, b e c

SAÍDA: dependendo do caso, apresentar x1 e x2, x ou informar que não possui solução.

 

💡 3 Respostas

User badge image

Jarlen Torres

Muito bom

1
Dislike0
User badge image

Andre Smaira

 

Para todas as linguagens de programação, as etapas para o cálculo das raízes de uma equação quadrática serão iguais ou muito semelhantes. Resolveremos este problema usando a linguagem C++, e os passos estão descritos abaixo:   

  1.  Para que o computador possa calcular as raízes, primeiro, precisa-se conhecer as constantes a, b e c da equação. E para isso, o computador deve armazenar essas variáveis na memória e isso é feito declarando as variáveis no programa. Existem diversos tipos de variáveis, e as principais para esse caso são as variáveis reais e inteiras. No nosso algoritmo declararemos as variáveis como sendo float, que é um tipo de variável que utiliza 4 bytes de memória e os valores de 1.2e-308 a 3.4e-38 (números reais).
  2. Fora as constantes da equação, ainda precisamos declarar as raízes x1 e x2, e para simplificar o entendimento do cálculo, declararemos uma variável que armazenará o valor do delta da fórmula de bhaskara.
  3. Tendo todas as variáveis declaradas, é possível calcular as raízes. Primeiro, calcularemos o valor de delta, e com ela, vamos fazer o programa verificar se é possível de fato calcular as raízes (ou apenas uma raíz). Para isso usaremos uma estrutura condicional if-else. Ela verifica uma determinada condição, e se ela for verdadeira, executa os comandos escritos nela. Caso seja falsa, ela verificará as condições seguintes até que encontre uma que seja verdadeira a condição.
  4. Encontrando um bloco de comando de satisfaça a condição, a raíz, ou as raízes serão calculadas, ou o programa nos dirá que não foi possível realizar o cálculo.

Abaixo está o código escrito no CodeBlocks:

#include <iostream>

#include <math.h>  //Referência para sqrt

using namespace std;

int main()

{

//declaração das variáveis do tipo float

float a, b, c, del, x1, x2;

//Inserindo os valores

cout << "Sendo a equação na forma ax^2+bx+c=0, qual o valor das constantes a, b, e c , nessa respectiva ordem? \n";

cout << "a = ";

cin >> a;

cout << "b = ";

cin >> b;

cout << "c = ";

cin >> c;

//Calculando o delta

del = (b*b)-(4*a*c);

//Verificando se é possível calcular as raízes

if (del<0){

      //Se o delta for menor que zero, a equação não possui soluções reais

    cout << "A equação não possui soluções reais";

    return 0;

}

else if (del==0){

    //Se o delta for igual a zero, a equação possui apenas uma solução real

    x1 = (-b+sqrt(del))/(2*a);

    cout << "A equação possui apenas uma raíz: x = " << x1;

    return 0;

}

else {

    //Se o delta não for igual ou menor que zero, a equação possui duas soluções reais

    x1 = (-b+sqrt(del))/(2*a);

    x2 = (-b-sqrt(del))/(2*a);

    cout << "As soluções são: x1 = " << x1 << " e x2 = "<<x2;

    return 0;

}

0
Dislike0
User badge image

RD Resoluções

Para todas as linguagens de programação, as etapas para o cálculo das raízes de uma equação quadrática serão iguais ou muito semelhantes. Resolveremos este problema usando a linguagem C++, e os passos estão descritos abaixo:

  1. Para que o computador possa calcular as raízes, primeiro, precisa-se conhecer as constantes a, b e c da equação. E para isso, o computador deve armazenar essas variáveis na memória e isso é feito declarando as variáveis no programa. Existem diversos tipos de variáveis, e as principais para esse caso são as variáveis reais e inteiras. No nosso algoritmo declararemos as variáveis como sendo float, que é um tipo de variável que utiliza 4 bytes de memória e os valores de 1.2e-308 a 3.4e-38 (números reais).

  2. Fora as constantes da equação, ainda precisamos declarar as raízes x1 e x2, e para simplificar o entendimento do cálculo, declararemos uma variável que armazenará o valor do delta da fórmula de bhaskara.

  3. Tendo todas as variáveis declaradas, é possível calcular as raízes. Primeiro, calcularemos o valor de delta, e com ela, vamos fazer o programa verificar se é possível de fato calcular as raízes (ou apenas uma raíz). Para isso usaremos uma estrutura condicional if-else. Ela verifica uma determinada condição, e se ela for verdadeira, executa os comandos escritos nela. Caso seja falsa, ela verificará as condições seguintes até que encontre uma que seja verdadeira a condição.

  4. Encontrando um bloco de comando de satisfaça a condição, a raíz, ou as raízes serão calculadas, ou o programa nos dirá que não foi possível realizar o cálculo.

  5. Abaixo está o código escrito no CodeBlocks:

  6. #include <iostream>

  7. #include <math.h> //Referência para sqrt

  8. using namespace std;

  9. int main()

  10. {

  11. //declaração das variáveis do tipo float

  12. float a, b, c, del, x1, x2;

  13. //Inserindo os valores

  14. cout << "Sendo a equação na forma ax^2+bx+c=0, qual o valor das constantes a, b, e c , nessa respectiva ordem? \n";

  15. cout << "a = ";

  16. cin >> a;

  17. cout << "b = ";

  18. cin >> b;

  19. cout << "c = ";

  20. cin >> c;

  21. //Calculando o delta

  22. del = (b*b)-(4*a*c);

  23. //Verificando se é possível calcular as raízes

  24. if (del<0){

  25. //Se o delta for menor que zero, a equação não possui soluções reais

  26. cout << "A equação não possui soluções reais";

  27. return 0;

  28. }

  29. else if (del==0){

  30. //Se o delta for igual a zero, a equação possui apenas uma solução real

  31. x1 = (-b+sqrt(del))/(2*a);

  32. cout << "A equação possui apenas uma raíz: x = " << x1;

  33. return 0;

  34. }

  35. else {

  36. //Se o delta não for igual ou menor que zero, a equação possui duas soluções reais

  37. x1 = (-b+sqrt(del))/(2*a);

  38. x2 = (-b-sqrt(del))/(2*a);

  39. cout << "As soluções são: x1 = " << x1 << " e x2 = "<<x2;

  40. return 0;

  41. }

  42. }

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais