Bem vindo(a);
Vamos aprender na aula de hoje como fazer um algoritmo no visualg que calcula raízes de equações do segundo grau:
Primeiro vamos definir os terminais do algoritmo: inicio e fim:
Algoritmo "Calculadora de equações do segundo grau"
inicio
fimalgoritmo
Também devemos definir as variáveis do programa.
Como numa equação de segundo grau temos 2 coeficientes (a e b) e mais um termo independente (c), temos também
o delta (d) e por fim, as duas raízes da equação: x1 e x2, logo, teremos 6 variáveis.
Definindo-as com o comando 'var' e salientando que são variáveis que assumem valores reais, temos:
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
fimalgoritmo
Vamos pedir pro usuário digitar o valor de 'a' através do comando 'escreval':
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
fimalgoritmo
Nesse momento faremos o programa ler e armazenar na variável 'a' o valor digitado pelo usuário.
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
fimalgoritmo
Vamos fazer o mesmo com as outras variáveis (b e c):
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
escreval("Digite o valor do coeficiente B")
leia(b)
escreval("Digite o valor o termo C")
leia(c)
fimalgoritmo
Vamos fazer agora o programa calcular o delta da equação.
Lembra-se da fórmula?
delta = b² - 4 * a * c
No visualg o comando para potência é: exp(base,expoente) - no caso, nossa base é 'b' e o expoente é 2, então fica assim:
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
escreval("Digite o valor do coeficiente B")
leia(b)
escreval("Digite o valor o termo C")
leia(c)
d:= exp(b,2) - 4 * a * c
fimalgoritmo
Podemos exibir o valor de delta com o comando escreval:
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
escreval("Digite o valor do coeficiente B")
leia(b)
escreval("Digite o valor o termo C")
leia(c)
d:= exp(b,2) - 4 * a * c
escreval("Delta é igual a", d)
fimalgoritmo
Vamos verificar agora se delta é igual ou maior que zero ou menor que zero.
Se for igual ou maior que 0, calcula-se as raízes da equação, do contrário, aparece uma mensagem.
Utilizando o condicional 'se', temos:
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
escreval("Digite o valor do coeficiente B")
leia(b)
escreval("Digite o valor o termo C")
leia(c)
d:= exp(b,2) - 4 * a * c
escreval("Delta é igual a", d)
se (d >= 0) entao
senao
escreva("Não possui raízes reais")
fimse
fimalgoritmo
Dentro do bloco do 'se' vamos calcular as duas raizes da equação, utilizando Bhaskara:
x = -b +- Vdelta /2*a
Só avisando que o comando de raiz quadrada no visualg é raizq(valor), ok?
Vamos utilizar a variável 'x1' para calcular o valor da soma da raiz e x2 da subtração, ficamos com:
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
escreval("Digite o valor do coeficiente B")
leia(b)
escreval("Digite o valor o termo C")
leia(c)
d:= exp(b,2) - 4 * a * c
escreval("Delta é igual a", d)
se (d >= 0) entao
x1:= (-b+raizq(d))/2*a
x2:= (-b-raizq(d))/2*a
senao
escreva("Não possui raízes reais")
fimse
fimalgoritmo
Por fim, exibiremos o resultado das raízes:
Algoritmo "Calculadora de equações do segundo grau"
var
a, b, c, d, x1, x2: real
inicio
escreval("Digite o valor do coeficiente A")
leia(a)
escreval("Digite o valor do coeficiente B")
leia(b)
escreval("Digite o valor o termo C")
leia(c)
d:= exp(b,2) - 4 * a * c
escreval("Delta é igual a", d)
se (d >= 0) entao
x1:= (-b+raizq(d))/2*a
x2:= (-b-raizq(d))/2*a
escreva("As raízes da equação são:", x2," ", "e", " ", x1)
senao
escreva("Não possui raízes reais")
fimse
fimalgoritmo
Acabou, agora pode testar o algoritmo.
Pra testar, rode essa equação:
x² - 10x + 24 = 0
*Lembrando que na hora de digitar os coeficientes, você só deve colocar o número e não pode esquecer de colocar o sinal.
Pode conferir fazendo à mão com Bhaskara com o resultado que o algoritmo exibiu.
Teste também essa equação: x² + x + 1 = 0, para ver o resultado não tendo raízes reais.
Teste também com outros valores e veja a eficiência do código!
Gostaram? Então aguarde as próximas aulas, tchau, tchau!
Muito obrigado pela ajuda :)
ResponderExcluirParabéns! Obrigado! Me ajudou!
ResponderExcluirObrigado pela ajuda, aprendi bastante!!
ResponderExcluirobrigado, só tinha lido sobre condicionais, é a primeira vez que vejo na pratica
ResponderExcluir