Hintergrund
Das echo
Programm ist so ordentlich. Sie können alles dazu sagen, und es wiederholt Ihre Worte jedes Mal perfekt! Wie cool ist das! Enttäuschenderweise wiederholt es die Eingabe auf einmal, unabhängig von Ihrer Tippgeschwindigkeit, was nicht sehr realistisch ist. Das müssen wir reparieren.
Die Aufgabe
Ihr Programm muss seine Eingabe von STDIN oder einem ähnlichen Programm erhalten. Es liest nacheinander die Zeilen des Benutzers und zeigt möglicherweise eine Eingabeaufforderung an, bis eine leere Zeile eingegeben wird. Danach werden die Zeilen in der angegebenen Reihenfolge an STDOUT oder eine gleichwertige Stelle ausgegeben. Die letzte (leere) Zeile wird nicht gedruckt, und die letzte gedruckte Zeile muss keine nachgestellte neue Zeile enthalten.
Außerdem muss das Programm die Zeitintervalle zwischen den einzelnen Zeilen beibehalten: Wenn der Benutzer x
Sekunden für die Eingabe einer Zeile benötigt hat, benötigt x
das Programm Sekunden, um diese auszudrucken. Dies gilt auch für die erste und letzte Zeile. Die leere Zeile wird nicht gedruckt, aber das Programm wartet trotzdem, bevor es beendet wird.
Beispiel
Hier ist eine Beispielsitzung mit dem Programm. Alle Aktionen, die keinen Text erzeugen, sind in Klammern angegeben, und die (optionale) Eingabeaufforderung wird als angezeigt >
.
[begin program]
> fhtagn[enter; 1.48s passed since starting program]
> yum yum[enter; 3.33s passed since previous enter]
> so cool![enter; 2.24s passed since previous enter]
> [enter; 0.23s passed since previous enter]
[wait 1.48s]fhtagn
[wait 3.33s]yum yum
[wait 2.24s]so cool!
[wait 0.23s, then end program]
Ohne die Aktionen sieht die Sitzung folgendermaßen aus:
> fhtagn
> yum yum
> so cool!
>
fhtagn
yum yum
so cool!
Regeln und Wertung
Die Wartezeiten sollten auf 0,01 Sekunden genau sein (in der Praxis geht es Ihnen gut, wenn der Durchschnittsmensch den Unterschied nicht erkennen kann). Die niedrigste Byteanzahl gewinnt, und Standardlücken sind nicht zulässig. Wenn Ihre Sprache eine integrierte Funktion für genau diese Aufgabe hat, können Sie sie möglicherweise nicht verwenden.
yum yum
, was ziemlich umständlich war.