aula 141

Como criar um algoritmo em Portugol para resolver uma equação com a fórmula de Bhaskara?

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")
			}
		}
	}
}

Deixe um comentário

um + 15 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.