Напечатайте непрерывную синусоидальную волну, прокручивая вертикально на терминале. Программа не должна завершаться и должна непрерывно прокручивать волну вниз (кроме случаев, когда она каким-то образом прерывается). Вы можете предположить, что переполнение не является проблемой (то есть вы можете использовать бесконечные циклы с увеличивающимися счетчиками или бесконечную рекурсию).
Волна должна удовлетворять следующим свойствам:
- Амплитуда = 20 символов (пиковая амплитуда)
- Период = от 60 до 65 строк (включительно)
- Вывод должен состоять только из пробелов, новой строки и
|
- После каждой строки вывода, пауза на 50 мс
Пример вывода:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Приведенный выше вывод должен продолжаться вечно, если не прервано иным образом, например, SIGINT или SIGKILL, или закрытие окна терминала, или вы выключаете свою машину, или Солнце проглатывает Землю и т. Д.
Самый короткий код выигрывает.
Заметка. Я знаю о подобной проблеме на волнах прокрутки дисплея, но это не совсем то же самое. В моей проблеме волну не нужно прокручивать "на месте" - просто выведите ее на терминал. Кроме того, это проблема ascii-art, поэтому не используйте Mathematica для ее построения.