Coding Dojo #5: Calculad

Dojo de muita expectativa que inicia a temporada de Ruby .. =D .. a linguagem era nova para a maioria do grupo, mas foi bem aceita e os participantes não tiveram dificuldades em usar, tanto que as discussões do encontro ocorreram focadas em solucionar o problema e não tanto em dúvidas da linguagem.

O kata: 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

Referência:http://br.spoj.pl/problems/CALCULAD/

Retrospectiva:

Bom:

  • Ruby – Nova linguagem
  • Equipe completa
  • Matheus participou
  • Divisão por Etapas/ Kanban
  • sem atraso-começou no horário
  • problema foi compreendido

Ruim:

  • IDE de testes
  • celular do Salomão
  • uma rodada apenas
  • conversa paralela
  • tempo além do combinado
  • esqueceu fotos
  • dificuldade na linguagem
  • kata criado
  • tempo limitado
  • conceito de código definitivo
  • responsabilidade de método

Para pŕoximos:

– Reduzir de 7 minutos para 5 minutos

– Colocar nome do autor como comentário no código

Dados do encontro:

Organizadores: Carlos EduardoPatricia Carvalho (dupla tumulto .. hehehe)

Participantes: Carlos EduardoMarco MouraNatália MarcondesPatricia CarvalhoRafael SalomãoLuciana MendesMatheus Muller.

Kata: Calculadora ( http://br.spoj.pl/problems/CALCULAD/)

código fonte : http://gist.github.com/580810

Fotos