Wydrukuj ciągłą falę sinusoidalną przewijaną pionowo na terminalu. Program nie powinien się kończyć i powinien stale przewijać falę w dół (chyba że zostanie w jakiś sposób przerwany). Możesz założyć, że przepełnienie nie stanowi problemu (tzn. Możesz używać nieskończonych pętli z licznikami rosnącymi lub nieskończoną rekurencją).
Fala powinna spełniać następujące właściwości:
- Amplituda = 20 znaków (amplituda szczytowa)
- Okres = od 60 do 65 linii (włącznie)
- Dane wyjściowe powinny składać się tylko ze spacji, nowej linii i
|
- Po każdym wierszu wyjścia zatrzymaj się na 50 ms
Przykładowe dane wyjściowe:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Powyższe dane wyjściowe powinny trwać wiecznie, chyba że zostanie to w inny sposób przerwane, np. SIGINT lub SIGKILL, lub zamknięcie okna terminala, albo wyłączysz maszynę, albo Słońce pochłonie Ziemię itp.
Najkrótszy kod wygrywa.
Uwaga. Zdaję sobie sprawę z podobnego problemu z przewijanymi falami wyświetlania, ale nie jest to dokładnie to samo. W moim problemie fala nie powinna być przewijana „na miejscu” - wystarczy wyprowadzić ją na terminal. Jest to także problem ascii-art, więc nie używaj Mathematiki do jego kreślenia.