Pretende-se melhorar a calculadora feita na ficha 5. Esta calculadora
deverá ser dotada das seguintes operações:
• Somas, subtracções, divisões, multiplicações;
• Potenciações, raízes quadradas;
• Senos, Co-senos;
• Desenhar graficamente o gráfico de funções.
A calculadora deverá de ser capaz de realizar as seguintes operações:
• Somas, subtracções, divisões, multiplicações;
• Potenciações, raízes quadradas;
• Senos, cosenos;
A calculadora deverá de ser capaz de trabalhar com funções até 3 variáveis (x, y e z)
A calculadora deverá conseguir desenhar funções com uma variável.
Deverá ser possível na visualização do gráfico:
• Deslocar a visualização para a direita, esquerda, cima e baixo;
• Aumentar e diminuir o zoom;
• Aumentar e diminuir a resolução do gráfico;
• Serão valorizadas outras funcionalidades não especificadas;
Os dois algoritmos abaixo(dado pelo docente da cadeira) foi a base para realizar este trabalho
String POSFIXA=“”
Para todos os elementos ch da string INFIXA
Se ch é um número
Introduz na ch na string POSFIXA
Senão
X1 = p.peek();
Se o operador ch for maior que x1
P.push(ch)
Senão
Retirar da pilha os elementos que forem maiores ou iguais a X1
P.push(ch)
Retorna POSFIXA
Para todos os elementos ch da STRING
Se ch é um número
Introduz na ch pilha p
Senão
X1 = p.pop();
X2 = p.pop();
P.push( x2 ch x1)
nRetorna p.Pop();
Utilizou-se a classe Expression que permite trabalhar a expressão INFIXA. A classe IteratorSstring que nos facilita trabalhar as expressões, permitindo o uso de números com mais de um dígito.