Alergias

Alergias

Fácil

Instruções

Com base na pontuação de alergias de uma pessoa, determina se ela é alérgica a um determinado item e qual é a lista completa das suas alergias.

Um teste de alergias produz uma única pontuação numérica que contém a informação sobre todas as alergias que a pessoa tem (aquelas para as quais foi testada).

A lista de itens (e o respetivo valor) que foram testados é:

  • eggs (1)
  • peanuts (2)
  • shellfish (4)
  • strawberries (8)
  • tomatoes (16)
  • chocolate (32)
  • pollen (64)
  • cats (128)

Assim, se o Tom é alérgico a peanuts e chocolate, obtém uma pontuação de 34.

Agora, só com essa pontuação de 34, o teu programa deve conseguir dizer:

  • Se o Tom é alérgico a algum dos alergénios listados acima.
  • Todos os alergénios a que o Tom é alérgico.

Nota: uma determinada pontuação pode incluir alergénios não listados acima (ou seja, alergénios com pontuação 256, 512, 1024, etc.). O teu programa deve ignorar esses componentes da pontuação. Por exemplo, se a pontuação de alergias for 257, o teu programa deve indicar apenas a alergia eggs (1).

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

Estás pronto para começar Alergias?

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

Mergulha a fundo em Alergias!

Exploramos o deslocamento de bits, a comparação bit a bit e outros conceitos de números binários! Vemos também uma solução que usa correspondência de padrões e uma abordagem interessante em Erlang com recursão.