Imprima uma onda sinusoidal contínua rolando verticalmente em um terminal. O programa não deve terminar e deve rolar a onda continuamente para baixo (exceto até que de alguma forma seja interrompida). Você pode assumir que o estouro não é um problema (ou seja, você pode usar loops infinitos com contadores crescentes ou recursão infinita).
A onda deve satisfazer as seguintes propriedades:
- Amplitude = 20 caracteres (amplitude de pico)
- Período = 60 a 65 linhas (inclusive)
- A saída deve consistir apenas em espaços, nova linha e
|
- Após cada linha de saída, faça uma pausa de 50ms
Saída de amostra:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A saída acima deve durar para sempre, a menos que seja interrompido de outra forma, por exemplo, SIGINT ou SIGKILL, ou fechar a janela do terminal, ou você desligue sua máquina, ou o Sol engula a Terra, etc.
O menor código vence.
Nota. Estou ciente de um problema semelhante no Display Scrolling Waves, mas isso não é exatamente o mesmo. No meu problema, a onda não deve ser rolada "no lugar" - basta imprimi-la em um terminal. Além disso, esse é um problema artístico, portanto, não use o Mathematica para plotá-lo.