Na aula anterior eu apresentei como resolver uma equação do segundo grau com a fórmula de bhaskara na linguagem de programação C. Nesta aula vamos elaborar o mesmo algoritmo, porém vamos utilizar agora a linguagem Portugol.
Uma equação do segundo grau possui a forma: ax2 + bx + c
A primeira ação é pedir que o usuário digite os valores de “a”, “b” e “c”. Lido os valores, podemos agora verificar se é uma equação completa ou incompleta. Se “b” ou “c” for igual a zero, então temos uma equação incompleta.
Se for uma equação completa, então podemos calcular o delta: b2 – 4ac
Se o valor do delta for negativo, então a equação não possui raízes reais. Se delta for exatamente zero, então a equação possui duas raízes iguais. Porém, se delta for maior que zero, então a equação possui duas raízes diferentes.
Todos os cálculos para resolver a equação do segundo grau foram feitos dentro de uma função escreva, assim será impresso na tela cada etapa realizada tornando sua compreensão mais fácil. Se você preferir você pode realizar todos os cálculos atribuindo os resultados a variáveis e imprimindo na tela apenas os valores das duas raízes.
/* Algoritmo em portugol para resolver uma equação do segunda grau */ programa{ inclua biblioteca Matematica funcao inicio(){ inteiro a, b, c, delta escreva("Digiete os valores para A, B e C: ") leia(a, b, c) delta = b * b - 4 * a * c se(b == 0 ou c == 0) escreva("Equação incompleta!\n") senao{ se(delta < 0) escreva("Delta: ", delta, "\nEsta equação não possui raizes reais.\n") senao{ se(delta == 0) escreva("Delta: ", delta, "\nEsta equação possui duas raizes reais iguais.\n") senao escreva("Delta: ", delta, "\nEsta equação possui duas raizes reais diferentes.\n") escreva("(-b + ou - raiz(delta)) / (2 * a)\n") escreva("(-", b," + ou - raiz(", delta,")) / (2 * ", a,")\n") escreva("(", -1 * b," + ou - ", Matematica.raiz(delta, 2),") / ", 2 * a,"\n") escreva("\nx1 = (", -1 * b + Matematica.raiz(delta, 2),") / ", 2 * a,"\n") escreva("x1 = ", (-1 * b + Matematica.raiz(delta, 2)) / (2 * a),"\n") escreva("\nx2 = (", -1 * b - Matematica.raiz(delta, 2),") / ", 2 * a,"\n") escreva("x2 = ", (-1 * b - Matematica.raiz(delta, 2)) / (2 * a),"\n") } } } }