Ajudaaaaaaaaaaaaaaa

8 respostas
V

Olá!!! To desesperada com um trabalho da faculdade e gostaria de saber se vc sabe fazer, dependo desse trabalho para naum pegar exame e DP o qual noa posso e por isso to apavorada… o trabalho é sobre arvore e a descrição geral seria mais ou menos isso:
Implemente em Java, um aplicativo capaz de ler uma expressão aritmética fornecida pelo usuário e armazená-la em uma árvore binária. O aplicativo também deve ser capaz de avaliar a expressão e apresentar o seu resultado.

Obs: Para este aplicativo, somente devem ser consideradas como expressões aritméticas válidas, aquelas que contenham números, parênteses e as quatro operações básicas. Exemplo:

((((3 + 1) x 3) / ((9 - 5) + 2)) - ((3 x (7 - 4)) + 6))

O aplicativo deverá ser capaz de reconhecer expressões inválidas e informar ao usuário quando elas ocorrerem.

Escreva um artigo descrevendo o código e a metodologia utilizada para armazenamento e avaliação das expressões.

Realize testes para validar o seu aplicativo. A metodologia dos testes e os resultados obtidos também deverão ser apresentados no artigo.

vc poderia me ajudar ou sabe de alguem q sabe fazer??? tenho q entregar na quinta feira os codigos, por favor peço com uma enorme gentileza e por td qt e santo :frowning: :frowning: :cry:

aguardo retorno

Vanessa

8 Respostas

RodrigoSol

Vanessa,

Aqui no GUJ não costumamos vazer trabalho de faculdade, mas todos aqui estarão disponíveis para responder suas eventuais duvídas se você tentar fazer. :wink:

T

Principalmente porque seu professor também pode ser um membro do GUJ :wink:

Mas, como foi dito, estamos à disposição para responder a suas dúvidas.

M

Já perguntou para o Oráculo ? :smiley:

Acho que isto lhe ajudará

http://homepage.smc.edu/kennedy_john/PARSETREES.PDF

Pgiovanni
Nao sei se isso ajuda mas
class No {

  Object Dado;
  No esq;
  No dir;

  public No() {
    Dado = null;
    esq = null;
    dir = null;
  }

   public No(Object x) {
     Dado = x;
     esq = null;
     dir = null;
 }

}

public void CriarExp(No T, String s, int esq) {

  char c = s.charAt(i++); // mostrar quais caracteres estão sendo analisados
  System.out.print(" "+ c);
  
  if (c == '(') {
         if (this.isEmpty()) T = this.root = new No(""); //criando nó com elemento vazio
         else if  (esq==0)  T = T.esq = new No("");
         else if (esq==1)   T = T.dir = new No("");	
         
         
       CriarExp(T, s, 0);
       
       c = s.charAt(i++); //acessar os operadores      

       T.Dado = new Character(c); // modificando os operadores nos nós interiores

       CriarExp(T, s, 1);
       i++; //saltar o parentese fechando 
   } 
  // alocando os nós folhas 
  if (c != '(' && c != ')' && c!= '*' && c!= '/' && c!= '-' && c != '+') { 
     if (esq==0) T.esq = new No(new Character(c));
     else if (esq == 1)  T.dir = new No(new Character(c));
     	
 }
}

A String s seria a expressao fornecida pelo usuario.
A função apenas constrói a arvore e nao valida a expressao mas pelo menos já é um começo :wink:

A unica coisa que eu consegui achar nos meus arquivos foi isso...
Depois dou uma procurada melhor e vejo se tem mais alguma coisa

fmeyer

Tenho um monte de trabalho atrazado da empresa aqui … vou mandar um email pra voce e vc faz de graça pra mim tb ? :mrgreen:

Pgiovanni

Aí eu vou começar a cobrar :wink:

Não cara só postei o codigo porque quando li a duvida da garota, sabia que já tinha feito algo parecido…
Sei que não é legal dar tudo de mão beijada mas pelo desespero da garota eu nao aguentei :XD:

V

Obrigada aqueles que tentaram me ajudar…
naum to pedindo pra ninguem fazer td completo so que me ajudem…
Agradeco a quem puder me ajudar, to desesperada mesmo
valew

cv1

*** Bloqueado ***

Usem o outro topico:

http://www.guj.com.br/posts/list/25871.java

E, Vanessa, coisa feia ficar criando topico duplicado. Humpf!

Criado 13 de junho de 2005
Ultima resposta 13 de jun. de 2005
Respostas 8
Participantes 7