Jump to content

Recommended Posts

Posted

Boas pessoal da programação, é o seguinte estou-me a iniciar no mundo da programação, por isso estou com sérios problemas para resolver o seguinte exercício.

Preciso que me ajudem a fazer um algoritmo que implemente uma máquina de calcular, permitindo que o utilizador possa resolver problemas como o seguinte exemplo: 6+(4-(5x(5+4))).

Posted

o melhor é fazer a interpretação da string por tokens.

depois de teres os tokens, podes criar uma árvore de cálculo que facilmente pode efectuar o cálculo.

exemplo: 6+(4-(5x(5+4)))

tokens: TOK_NUM(6), TOK_SUM, TOK_OPEN_PAR, TOK_NUM(4), TOK_SUB, TOK_OPEN_PAR, TOK_NUM(5), ...

árvore (escrevi dentro das tags code para manter os "aspecto"):

  TOK_SUM
  |     ---------
  V             V
TOK_NUM(6)     TOK_SUB 
               |     --------
               V            V
            TOK_NUM(4)    TOK_MUL
                          |     ------------
                          V                V
                        TOK_NUM(5)       TOK_SUM
                                         |     ----------
                                         V              V
                                       TOK_NUM(5)    TOK_NUM(4)

este tipo de árvore é facilmente interpretada.

IRC : sim, é algo que ainda existe >> #p@p
Posted

O que é que já fizeste?

A gente ajuda-te, mas não te vamos fazer o trabalho.

Explica o teu problema, com o código relevante, dizendo o que queres que ele faça e o que é que ele faz em vez do pretendido. Se for um problema de compilação mete a linha em questão e mais algumas para trás juntamente com a mensagem do compilador.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Posted

o melhor é fazer a interpretação da string por tokens.

depois de teres os tokens, podes criar uma árvore de cálculo que facilmente pode efectuar o cálculo.

exemplo: 6+(4-(5x(5+4)))

tokens: TOK_NUM(6), TOK_SUM, TOK_OPEN_PAR, TOK_NUM(4), TOK_SUB, TOK_OPEN_PAR, TOK_NUM(5), ...

árvore (escrevi dentro das tags code para manter os "aspecto"):

TOK_SUM
| ---------
V V
TOK_NUM(6) TOK_SUB
| --------
V V
TOK_NUM(4) TOK_MUL
| ------------
V V
TOK_NUM(5) TOK_SUM
| ----------
V V
TOK_NUM(5) TOK_NUM(4)

este tipo de árvore é facilmente interpretada.

Boas

Tokens? para um iniciado em programação? não é fruta muito riga?

Podes começar pela ideia mais simples de encontrar o ultimo parênteses ( c/ loop) e começar a partir daí..

_________________Cenas pá.

Posted

Tokens? para um iniciado em programação? não é fruta muito riga?

Podes começar pela ideia mais simples de encontrar o ultimo parênteses ( c/ loop) e começar a partir daí..

eu avalio o nível do programador que se está a inicializar pelo nível de dificuldade dos problemas que apresenta.

se ele perguntasse como saber a média de um grupo de valores, é uma coisa, uma calculadora é outra.

IRC : sim, é algo que ainda existe >> #p@p
Posted

Boas,eu não quero que façam o trabalho por mim, apenas preciso de umas luzes para começar, também não sou propriamente um iniciante, já fiz diversos trabalhos algo complicados. Este trabalho é que não consigo resolver, pois também não sei por onde começar. O que são os tokens nunca ouvi falar desta opção em c

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.