Percursos
/
Delphi Pascal
Delphi Pascal
/
Exercícios
/
Aperto de mão secreto
Aperto de mão secreto

Aperto de mão secreto

Fácil

Introdução

Estás a criar um clube secreto de programação com alguns amigos e com amigos desses amigos. Nem todos se conhecem, por isso tu e os teus amigos decidiram criar um aperto de mão secreto que possam usar para reconhecer que alguém é membro. Não queres que alguém que não esteja por dentro consiga decifrar o código.

Desenhaste o código de forma a que uma pessoa diga um número entre 1 e 31 e a outra o transforme numa série de ações.

Instruções

A tua tarefa é converter um número entre 1 e 31 numa sequência de ações do aperto de mão secreto.

A sequência de ações é escolhida observando os cinco algarismos mais à direita do número depois de o converteres para binário. Começa no algarismo mais à direita e avança para a esquerda.

As ações para cada casa do número são:

00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.

Vamos usar o número 9 como exemplo:

  • 9 em binário é 1001.
  • O algarismo mais à direita é 1, por isso a primeira ação é wink.
  • Ao avançar para a esquerda, o algarismo seguinte é 0, por isso não há double blink.
  • Ao avançar de novo para a esquerda, o algarismo seguinte é 0, por isso deixas os olhos abertos.
  • Ao avançar de novo para a esquerda, o algarismo seguinte é 1, por isso dás um salto.

Esse era o último algarismo, por isso o código final é:

wink, jump

Dado o número 26, que é 11010 em binário, obtemos as seguintes ações:

  • double blink
  • jump
  • inverter a ordem das ações

O aperto de mão secreto para 26 é, portanto:

jump, double blink
Note

Se não tens a certeza do que é o binário ou de como funciona, consulta [este tutorial de binário][intro-to-binary]. [intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa

Editar via GitHub A ligação abre numa nova janela ou separador
Delphi Pascal Exercism

Estás pronto para começar Aperto de mão secreto?

Inscreve-te no Exercism para aprenderes e dominares Delphi Pascal com 76 exercícios, e mentoria humana real, tudo grátis.