dojo@Centro 14/08/2013 – Salvando o mundo parte 2

quarta-feira, 28 agosto 2013

Olá, pessoal. Tudo bem?

Neste dojo, refizemos um problema anterior  em uma outra linguagem de programação. O escolhido foi um problema conhecido do Google Code Jam, o All Your Base.

A diferença deste dojo para o dojo passado foi a linguagem, desta vez usamos ruby. A semelhança é que além do problema, o dojo também estava lotado

Rodada Final do DojoRio 14/08/2013

Como é visto na foto borrada acima, uma tentativa frustrada de foto panorâmica e pessoas tentando disfarçadamente não aparecer de forma direta na foto :).

Copiando a explicação do problema do post do dojorio@Centro 10/04/2013:

Em 2100 dC, os estrangeiros vieram para a Terra. Eles escreveram uma mensagem em uma linguagem enigmática, e próximo a ele que escreveu uma série de símbolos. Nós chegamos à conclusão de que os símbolos indicam um número: o número de segundos antes do início da guerra!

Infelizmente nós não temos nenhuma idéia do que cada símbolo significa. Nós decidimos que cada símbolo indica um dígito, mas não temos certeza de que cada dígito significa ou que base os alienígenas estão usando. Por exemplo, se eles escreveram “ab2ac999″, que poderia ter significado “31536000″ na base 10 – exatamente um ano – ou poderia ter significado “12314555″ na base de 6-398951 segundos ou cerca de quatro dias e meio . Temos a certeza de três coisas: o número é positivo, como nós, os alienígenas nunca vai iniciar um número com um zero, e eles não estão usando unário (base 1).

Seu trabalho é determinar o número mínimo possível de segundos antes do início da guerra.”

Um caso a parte foi a explicação de bases numéricas:

Base de numeração é uma forma de respresentar quantidades – quantos símbolos se usam para representar números

Por exemplo, uma base binária representada abaixo:

aaa => n*2⁰ = 1 + n*2¹ = 2 + n*2² = 4 => 4+2+1 =1. Então,  aaa = 7

Particularmente, gostei muito desta releitura, principalmente por um problema do code jam ter se tornado parte do repertório de problemas do DojoRio e por ele sempre envolver os participantes.

O código para  a salvação do mundo pela segunda vez pode ser encontrado no link. É interessante comparar este código com o feito em C++.  Recomendo fortemente o exercício ^_^.

E quem defendeu a terra desta vez foi:

  • Thiago Belem
  • Juan Lopes
  • Carlos Cunha
  • Julio Marins
  • Miguel Cacilhinhas
  • Israel Teixeira
  • Renan Cardoso
  • Alexandre Vaz
  • Flávio Amieiro

E os números certos desta contagem regressiva foram:

  • Problema ++++++++++
  • Ruby ++++
  • Bases numéricas
  • Dojo cheio/ casa cheia++++++
  • Novatos+++++
  • Novatos programando
  • Presença do Gustavo
  • Releitura do problema
  • Ver  pela primeira vez/conhecer  um pouco mais ruby ++
  • Cooperação
  • Ambiente local/ambiente de desenvolvimento ++
  • Ruby inteligível
  • Galera utilizando bastante o quadro para expor ideias
  • Praticar explicar um  conceito para outras pessoas
  • Pessoas que sabem a linguagem (ruby) ajudaram a solucionar algumas dúvidas relacionadas à linguagem
  • “Eu voltei!!!” ++
  • Dojo divertido
  • Problema com matemático +
  • Volta dos sumidos +
  • Solução que construida pelo grupo para o problema
  • Retorno do casal Bel[eé]m

E o que quase nos fez perder a batalha contra os aliens:

  • Muita gente +
  • Pouco tempo
  • Ruby macetado +
  • Nem todos programaram +++
  • Problema não intuitivo
  • Bug no char
  • Split sem compatibilidade reversa
  • Apesar do dojo ter rolado bem, ainda teve falatório +
  • Pouca bebida
  • Infelizmente,  pessoas foram embora antes do dojo terminar (problemas pessoais, mas ainda sim é triste não poderem participar até o final)

Uma sugestão dada foi:  a solução poderia ter avançado mais rápido se o par fosse composto de pessoa experiente com ruby e uma novata.

E o DojoRio@Centro PERMANECE!

Toda a quarta feira, aproximadamente às 18:30 é iniciado o DojoRio do Centro – tem em vários outros lugares, em caso de dúvida é só mandar email para o grupo. O dojoRio@Centro é feito no #CurtoCircuito – Av 13 de Maio, nº 13, 6º andar, sala 615.

Venha estar conosco 😀 e até a próxima o/