AprendizC 0 Denunciar post Postado Fevereiro 19, 2009 Bom dia Pessoal, Preciso fazer uma programa que leia uma expressão matemática e que ele consiga identificar se a expressão é valida ou não. Ate agora não faço idéia nem de como começar esse programa, por isso gostaria que alguém me indicasse algum material, site que fale sobre o assunto ou qualquer outra maneira que possa me ajudar, porque ainda não encontrei nada na Internet que servi-se como base para eu começar o meu programa. Aguardo a colaboração de vocês. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Fevereiro 19, 2009 bom eu analizaria para ver se tem os sinais matematicos ok? para isso usando "ifs" []s Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Fevereiro 19, 2009 Já é uma idéia , vou começar assim . Caso você ou outra pessoa possa dár mais sugestões eu agradeço. ^_^ Compartilhar este post Link para o post Compartilhar em outros sites
page_up 0 Denunciar post Postado Fevereiro 19, 2009 "fazer uma programa que leia uma expressão matemática e que ele consiga identificar se a expressão é valida ou não." entao de qualquer forma voce vai ter que usar IF/ELSE, ja a condiçao para validar a expressão matemática...voce tera que ver o que vai usar, ja que nao tem nenhuma informação descrevendo o que é aceito e o que nao é na sua pergunta Abraços Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Fevereiro 19, 2009 Obrigado pela sua dica page-up, A expressão tem que sempre começar com uma letra e pode ser seguido de letras ou números, têm que reconhecer também : "()"," +", "-", "*", "/"," mod", "div" ,"^". Compartilhar este post Link para o post Compartilhar em outros sites
gRoOvE 0 Denunciar post Postado Fevereiro 21, 2009 Faça a verificação do primeiro caracter, se for letra prossegue a execução...tem uma função que faz isso, se não me engano é a isalpha();, agora não sei de qual biblioteca...depois esse "pode ser seguido de letras ou números", não tem limite? Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Fevereiro 21, 2009 Valeu gRoOvE vou verificar ^_^ Obs: Eu me enganei, essa regra não existe para o programa: "A expressão tem que sempre começar com uma letra". Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Fevereiro 23, 2009 AprendizC - A única coisa que você precisa fazer é verificar se a expresão é válida? se sim, segue um algoritmo, simples: para cada char em expresão: checar tipo (operador, operação ou parenteses) se for operador: checar o tipo do próximo caractere, ele tem que ser uma operação, ou um parenteses direito ')'. //5*(3+4) é uma expresão válida! se for o ultimo char de expresão, retornar válido! se for operação: se for o primeiro char de expresão, e não for '-' a exprsão não é válida. //nós podemos ter uma expresão: -4*54 checar o tipo do próximo char, ele tem que ser um parenteses esquerdo ou um operador se for parenteses: checar o tipo de parenteses: se for esquerdo '(': o próximo char tem que ser um sinal de menos, ou um operador se for direito ')' e não for o ultimo char: o próximo char tem que ser uma operação se for direito ')' e for o ultimo char: retornar válido Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Fevereiro 23, 2009 Valeu VictorCacciari, já ajudou muito. :P Compartilhar este post Link para o post Compartilhar em outros sites