Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AprendizC

[Resolvido] Fazer um programa que Lê uma expressão e diz se é val

Recommended Posts

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

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

"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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.