·

Ciência da Computação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL Algoritmos e Estruturas de Dados I Trabalho 2 Calculadora de Expressões Aritméticas Instruções Este trabalho pode ser feito em dupla ou individualmente e consiste no desenvolvimento de uma solução para uma calculadora baseada em pilha para resolver expressões aritméticas simples com parênteses colchetes e chaves e números inteiros Apenas as seguintes operações serão consideradas soma subtração multiplicação divisão e potência Um exemplo de expressão é 5 12 10 8 2 O resultado do processamento desta expressão é 21 Para isto inicialmente deve ser implementada uma pilha usando estruturas encadeadas obrigatoriamente Esta pilha deverá ter exatamente os seguintes métodos conforme visto em aula pushe pop top size isEmpty e clear Depois de implementada esta pilha deverá obrigatoriamente ser usada para processar uma expressão A prioridade das operações será feita somente através do uso de parênteses colchetes e chaves Considere que os números de entrada são números inteiros mas o resultado pode ser um número realdouble O conjunto de expressões que devem ser avaliadas está em um arquivo disponível no Moodle A solução a ser implementada deve ler este arquivo e apresentar o resultado de cada expressão considerando que algumas delas poderão ter erro de sintaxe por exemplo um parêntese ou colchete a mais ou a menos ter mais operadores do que operandos etc Além de apresentar o resultado da expressão deverá também ser processado o tamanho máximo atingido pela pilha para resolver a expressão e deverá ser detalhado o tipo de erro de sintaxe caso ocorra Um exemplo do que pode ser apresentado para cada expressão é apresentado abaixo Expressão 5 12 10 8 3 Resultado 250 Tamanho máximo da pilha 8 Expressão 5 12 10 8 3 Erro de sintaxe no lugar de No final também deve ser feito um relatório descrevendo a solução proposta Este relatório deverá seguir as seguintes regras Ter uma breve introdução 1 a 2 parágrafos descrevendo o objetivo do trabalho a solução feita e os resultados obtidos Apresentar uma descrição do algoritmo da solução proposta em português estruturado Exibir o resultado do processamento de cada expressão o valor ou se a expressão tem um erro de sintaxe e qual erro é e o tamanho máximo atingido pela pilha para o seu cálculo deve ser um print da saída do programa Ter um parágrafo de conclusão sobre o desenvolvimento do trabalho dificuldades encontradas complexidade da solução proposta em notação O etc Tarefas Implementar uma pilha usando estruturas encadeadas Implementar a calculadora de expressões aritméticas especificada usando a pilha desenvolvida Ler e avaliar as expressões do arquivo fornecido Apresentar o resultado da expressão ou a identificação do erro e o tamanho máximo da pilha Escrever o relatório Entrega Cada aluno ou dupla deverá entregar OBRIGATORIAMENTE UM ARQUIVO ZIP CONTENDO APENAS O RELATÓRIO NO FORMATO PDF E OS ARQUIVOS JAVA OU CPP DA IMPLEMENTAÇÃO FEITA Deve ser feito o upload deste arquivo através do moodle até a data e horário especificado Avaliação Os seguintes critérios de avaliação serão utilizados Implementação da solução será averiguada se a solução está completa eficiente e correta e a qualidade e clareza do código implementado Relatório com a descrição da solução será avaliada a escrita e a explicação de como o problema foi solucionado e os resultados obtidos para cada expressão Observações Os trabalhos que NÃO FOREM ENTREGUES através do Moodle seguindo as regras estabelecidas até o dia e horário especificado receberão nota zero Trabalhos que apresentarem ERRO DE COMPILAÇÃO NÃO SERÃO CONSIDERADOS Trabalhos que apresentarem CÓPIAS DAS SOLUÇÕES de outros colegas resultarão em NOTA ZERO para todos os alunos envolvidos