Submeter | Todas submissőes | Melhores | Voltar |
CALCULAD - Calculadora |
Você é um empregado de uma companhia que produz calculadoras. Sua companhia está desenvolvendo um grandioso projeto de uma nova calculadora e você é o reponsável por desenvolver o software dessa nova calculadora. Essa calculadora é projetada para pessoas que gostariam de salvar valores intermediários na memória para usar depois. Por esse motivo, a nova calculadora possui espaço para 26 valores na sua memória, nomeados de a até z. Os valores são armazenados com precisão dupla de ponto flutuante.
Para simplificar um pouco, iremos considerar aqui somente as quatro operações básicas: adição, subtração, multiplicação e divisão (+ - * /). As expressões a serem calculadas podem ser agrupadas com parênteses. Você deve considerar a precedência de operações, com multiplicação e divisão sendo realizadas primeiro, e adição e subtração depois. Somente números inteiros e letras de a até z irão aparecer em uma expressão, junto com os símbolos das operações, os parênteses e o sinal de igual para atribuição.
Entrada
A entrada consiste de um número indeterminado de linhas, com uma expressão por linha. Uma expressão pode ser uma atribuição ou uma questão. Se a expressão é uma atribuição ela começará com X=, onde X é a letra representando o espaço de memória e a ≤ X ≤ z. Se a expressão não é uma expressão de atribuição, então ela é uma questão. Não há espaços em branco em uma expressão. Você deverá produzir saída somente para as questões.
A entrada terminará com fim de arquivo (EOF).
Saída
Para cada questão, imprima seu valor avaliado em uma linha. Imprima o resultado arredondado para duas casas decimais. Veja o exemplo de entrada/saída para o formato exato.
Exemplo de Entrada
x=10 x x+10 x/5 x/2 x/3 y=5/3 y x*y x-y
Exemplo de Saída
10.00 20.00 2.00 5.00 3.33 1.67 16.67 8.33
Autor do Problema: João Paulo Fernandes Farias
Adicionado por: | Wanderley Guimarăes |
Data: | 2008-07-09 |
Tempo limite: | 0.100s |
Tamanho do fonte: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Linguagem permitida: | Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO PERL6 PY_NBC SCALA TCL |
Origem: | Segunda Seletiva para Maratona de Programacao UFRN - 2005 |