Re: D�vida na segunda tarefa: o "menos" un�rio
- Subject: Re: D�vida na segunda tarefa: o "menos" un�rio
- From: Leonidas O Brandao <leo@ime.usp.br>
- Date: Tue, 15 Apr 2003 14:40:25 -0300 (EST)
Ol� para todos,
Aproveito a pergunta do Tiago para responder a todos:
On Tue, 15 Apr 2003, Tiago Motta Jorge wrote:
> Caro Professor,
>
> Gostaria de saber se podemos exigir do usu�rio que o sinal "menos"
> un�rio esteja sempre entre par�ntesis, como em: (-1)-(-1), ao inv�s
> de: -1--1. Isto ajudaria muito.
>
> Atenciosamente,
> Tiago Motta Jorge.
Em alguma aula eu comentei um "truque" para tratar o menos un�rio em
express�es p�s-fixa, sem fornecer muitos detalhes, que v�o a seguir. Esta
solu��o geral n�o introduz muita dificuldade, por isso eu sugiro que a
utilizem.
Entretanto se n�o tiverem tempo para fazer a solu��o geral, usem a
restri��o do par�nteses, como sugere o Tiago, e indiquem claramente que �
assim q/ o "menos un�rio" deve ser "admitido".
Minha sugest�o de implementa��o �:
1. Durante a transforma��o para p�s-fixa:
Manter uma vari�vel indicando o "estado", isso serviria para analisar
se a express�o foi inserida corretamente e se n�o for o caso , indicar
ao usur�rio o primeiro erro.
No caso do un�rio resolve assim: "token atual" � <->
se "token anterior" � <operador> ou <(>,
ent�o se trata de "un�rio", codifique com c�digo especial '@',p.e.,
2 + - 3 -> 2 3 @ +
2. Durante a avalia��o:
Como o "menos un�rio" foi codificado com o caractere '@', ao l�-lo o
avaliador desempilha apenas o topo da pilha de operandos.
Abra�os,
Le�nidas
--------------------------------------------------------------------------
Le�nidas de Oliveira Brand�o - Computer Science Dep. of IME-USP (Brazil)
leo@ime.usp.br - http://www.ime.usp.br/~leo - +55 (011) 3091 [6298 | 6135]
Interessado em Matem�tica? Visite o "iMatica": http://www.matematica.br