System 0 Denunciar post Postado Março 2, 2006 Olá!Preciso fazer uma função que calcule equações.Ouvi falar que existem métodos matemáticos para fazer isso "chutando" as variáveis, mas qual método usar e como ele funciona? Compartilhar este post Link para o post Compartilhar em outros sites
RinaldFN 0 Denunciar post Postado Março 2, 2006 Olá amigo,Depende de qual tipo de equação você quer resolver. Se for uma equação de 2º grau por exemplo o algoritimo seria assim:1- Pergar os coeficientes da equação:2- calcular o delta a partir dos valores recebidos3- Se o delta for positivo calcular as raizes da equação;4- Se o delta for negativo não existe raizes reaist+ Compartilhar este post Link para o post Compartilhar em outros sites
ricci ottadnot 4 Denunciar post Postado Março 10, 2006 o melhor metodo para resolver este tipo de problema seria usando pilhas. a estrutura PILHA funciona da seguinte maneira.. imagine uma pilha de pratos.. se você quer utilizar um prato, logicamente você vai pegar o ultimo que foi empilhado.. entao, pilha trabalha com o ultimo valor armazenado em um vetor.. como eu poderia relacionar isso com meu problema de expressoes ? :(nao eh tao facil se você naum tiver noçao sobre o assunto...mas aqui vai a relação.. ^_^ por exemplo, você tem uma expressao, tipow: 5+3*2-4/6a primeira coisa a fazer é separar as operações com parenteses respeitando a ordem de prioridades (*,/,+,-)ficaria assim: ((5+(3*2))-(4/6))ta bom.. e agora?!!eh soh seguir a logica [*]caso o caractere for numero ('0'..'9'), eu o guardo em uma string.. [*]caso for ('+','-','*','/') eu aguardo ele na pilha (em um vetor) [*]caso for ')' eu o retiro da pilha e o guardo na string que esta armazenando as letras seguindo essas condiçoes, ficaria assim nossa expressão:5 3 2 * + 4 6/-meio feia, naum?!! rsrs :D agora eh soh jogar essa expressao posfixa numa funçao para ser trabalhada... como? :( acompanhe a logica: os a expressao posfixa ("5 3 2 *+4 6/-") eh uma string.. eh soh correr os seus caracteres 1 a 1 quando achar um operador(caractere == '+','-','*','/') eu faço a operação correspondente com os dois ultimos numeros passados... eh soh isso... espero ter lhe ajudado este site da USP esta dando um exemplo em C... ..Veja aqui Compartilhar este post Link para o post Compartilhar em outros sites
System 0 Denunciar post Postado Março 27, 2006 Olá amigo,Depende de qual tipo de equação você quer resolver. Se for uma equação de 2º grau por exemplo o algoritimo seria assim:1- Pergar os coeficientes da equação:2- calcular o delta a partir dos valores recebidos3- Se o delta for positivo calcular as raizes da equação;4- Se o delta for negativo não existe raizes reaist+Poderia me mostrar em algoritmo, porque não lembro muita coisa sobre isso.Abraços...System Compartilhar este post Link para o post Compartilhar em outros sites
NickIII 0 Denunciar post Postado Março 28, 2006 Existem vários tipos de função, aki só foram citados a equção de 2° grau.você poderia específicar qual você gostaria de saber, aquela q você tem mais dificuldades Compartilhar este post Link para o post Compartilhar em outros sites