segunda-feira, 7 de abril de 2025

SELECÇÕES E FUNÇÕES

 A propósito de uma piada pythoniana que apareceu aí numa rede (ver imagem), lembrei-me de uma solução engraçada, puramente aritmética, para a questão da selecção de 3 hipóteses a partir de 2 valores.

Os valores limite são dois, 18 e 96, pelo que uma função de primeiro grau (linear) resolve o problema.

96-18=78, portanto o zero deste inusitado sistema métrico seria -60 (18-78).

Basta então transpor -60, 18, 96 (+60) para 0, 78, 156 e a expressão:

print(
    ["Sorry, you are not old enough to enter.",
    "You are over 18. Welcome!",
    "I've never met anyone anoe 95! But welcome anyway!"][int((age+60)/78)])

resolve o problema.

Ok! Não funciona para idosos com mais de 173 anos. Havia que fazer uma pequena adaptação:

print(
    ["Sorry, you are not old enough to enter.",
    "You are over 18. Welcome!",
    "I've never met anyone anoe 95! But welcome anyway!",
    "I've never met anyone anoe 95! But welcome anyway!"][int((age+60)/78)])

😁



quinta-feira, 3 de abril de 2025

COBOL para quê?


Toda a gente sabe que a COBOL foi inventada para programar sistemas de "negócio": ficheiros, relatórios, facturas e clientes.

O seu nome é aliás um acrónimo para a expressão Common Business Oriented Language, uma linguagem orientada portanto a negócios comuns.

Fora desse sentido, resolvi rever velhos tempos e implementar algo que mostra que poderá também ser usada para fins menos "cinzentos" e mais lúdicos.

Trata-se pois do conhecido jogo Torres de Hanoi sem grandes artifícios ou fancy UI mesmo à moda antiga quando CRT ainda era uma coisa.

O programa foi compilado em GnuCOBOL 3.2.0 mas a implementação foi feita sem idiomáticas modernas pelo que deve compilar em qualquer compilador.

O projecto está no GitHub e tem um vídeo a acompanhar.

Hope you like it.



#c-memes