0

Portugol - Resolução de Equação de 2° Grau

#Lógica de Programação
Heriks Dias
Heriks Dias

E aí, galera! Tudo joia?


Finalizei o módulo de lógica de programação e decidi botar a cabeça pra funcionar, tentando codificar algo que resolvesse equações de 2° grau e eu gostaria de ouvir a opinião de vocês.


O resultado foi esse:


programa {
  //Aqui, fazemos a inclusão de duas bibliotecas necessárias para a realização dos cálculos e a conversão dos valores
  // "--> nome na frente" Foi utilizado para atribuir um nome às bibliotecas, facilitando na hora de codificar
  inclua biblioteca Matematica --> mat
  inclua biblioteca Tipos --> tp
   
funcao inicio() {
  //Declaramos então as variáveis que serão utilizadas
real a, b, c, delta, raiz1, raiz2, raizes2, formula1, formula2, formula3, formula4

//Atribui-se o valor às variaveis a, b, c
escreva("Valor de a: ")
leia(a)
escreva("Valor de b: ")
leia(b)
escreva("Valor de c: ")
leia(c)

//Formula para se calcular o delta
delta = b*b-(4*a*c)

escreva("Valor do delta: " + delta + "\n")

//Aqui começa as condições levando em consideração as regras para o cálculo das raizes
//Se o delta for menor que 0
se(delta<0) {
  escreva("Como o delta é menor que zero, a equação não possui raizes reais.")
}

//Se o delta for igual a 0
se(delta==0) {
  //Aqui foi utilizado a biblioteca "Matematica" para o cálculo da raíz quadrada
  raiz1 = -b+mat.raiz(delta, 2)
  raizes2 = 2*a
  formula1 = raiz1/raizes2
   
  //Aqui foi utilizado a biblioteca "Tipos", para a conversão das variáveis de real, para inteiro
  formula3 = tp.real_para_inteiro(raiz1)%tp.real_para_inteiro(raizes2)
   
  //Condicional
  se(formula3!=0){
    escreva("Como o delta é igual a zero, a equação possui duas raizes iguais, xi e xii: " + raiz1 + "/" + "raizes2")
  }
  senao{
    escreva("Como o delta é igual a zero, a equação possui duas raizes iguais, xi e xii: " + formula1)
  }   
}

//Se o delta for maior que 0
senao {
  //Aqui se repete o exemplo anterior
  raiz1 = -b+mat.raiz(delta, 2)
  raizes2 = 2*a
  formula1 = raiz1/raizes2
  formula3 = tp.real_para_inteiro(raiz1)%tp.real_para_inteiro(raizes2)
   
  se(formula3!=0){
    escreva("Como o delta maior que zero, a equação possui duas raizes reais, xi: " + raiz1 + "/" + "raizes2 ")
  }
   
  senao{
    escreva("Como o delta é maior que zero, a equação possui duas raizes reais, xi: " + formula1 + " ")
  }
   
  raiz2 = -b-mat.raiz(delta, 2)
  formula2 = raiz2/raizes2
  formula4 = tp.real_para_inteiro(raiz2)%tp.real_para_inteiro(raizes2)
   
  se(formula4!=0){
    escreva("xii: " + tp.real_para_inteiro(raiz2) + "/" + tp.real_para_inteiro(raizes2))
  }
   
  senao{
    escreva("xii: " + formula2)
  }
}
}
}
0
25

Comentários (0)

None

Brasil