Estou precisando desenvolver um programa em Java que faça o reconhecimento de uma função do primeiro grau e gostaria de saber se tem algo que poderia me ajuda nessa implementação.
O sistema para a solução de equações matemáticas Y = f(x)
Ex:
y = x + {3*[x/2 - (x/5)]}
Onde o usuário digitaria dois valor de x, um inicial e outro final.
Ex:
xinicial = 1
xfinal = 5
Com tratamento de exceção para diagnosticar entrada de dados errada, como por exemplo falta de parênteses, colchetes ou chaves, bem como, inserção de mais de uma variável (só permite x).
Se alguém conseguir me ajudar de uma maneira, ficaria muito grato.
Para fazer isso vc vai ter que fazer uma analise sintatica e semantica encima de uma “string”, esse tipo de coisa vc aprende em uma faculdade de cc na disciplina de compiladores, não é um código muito facil de fazer ou entender… envolve bastante recursividade.
O sistema precisa pegar uma expressão com notação infixa assim:
E transformar em uma notação que seja mais facil avaliar (pos fixa por exemplo)
Dessa forma é facil resolver com o auxilio de uma pilha…
Se for trabalho de facul, e seu professor realmente quer que resolve uma expressão escrita com notação infixa (x+y) então… boa sorte hehe o negócio não é simples… senão eu sugiro que vc já monte sempre suas equações com notação pos fixa (x y +)