Mein elektrisches Garagentor funktioniert so:
- Es gibt nur einen Druckknopf, um die Tür zu steuern
- Wenn die Tür vollständig geschlossen ist und ich auf den Knopf drücke, beginnt sich die Tür zu öffnen. Das vollständige Öffnen dauert 10 Sekunden
- Wenn die Tür vollständig geöffnet ist und ich auf den Knopf drücke, beginnt sich die Tür zu schließen. Das vollständige Schließen dauert 10 Sekunden
- Wenn sich die Tür auf halbem Weg öffnet oder schließt und ich auf den Knopf drücke, stoppt die Tür und bleibt teilweise offen.
- Immer wenn die Tür anhält, entweder aufgrund einer automatischen Beendigung einer Öffnungs- oder Schließaktion oder aufgrund einer manuellen Unterbrechung durch teilweises Drücken des Knopfes, kehrt der Mechanismus um und merkt sich die Richtung für die nächste Aktion.
- Wenn der Knopf gedrückt wird, während die Tür angehalten, aber teilweise geöffnet ist, beträgt die Zeit, bis die Aktion abgeschlossen ist, einen Bruchteil von 10 Sekunden, proportional zu der Zeit, die erforderlich ist, um die Aktion abzuschließen.
Angenommen, die Tür ist zu Beginn vollständig geschlossen.
Eine Eingabeliste mit ganzen Zahlen wird angezeigt. Diese ganzen Zahlen geben die Anzahl der Sekunden an, die ich zwischen aufeinanderfolgenden Drücken der Steuertaste warte.
Zwei Dinge ausgeben:
- Ein Prozentsatz, der den Zustand der Tür angibt, sobald alle Tastendrücke abgeschlossen sind und die Tür einen stabilen Zustand erreicht hat. Die Ausgabe des
%Symbols ist optional. - eine eindeutige Angabe, in welche Richtung die Tür beim nächsten Tastendruck fährt. Dies kann
up/down,U/D,+/-,1/0oder was auch immer Sie wählen.
Es kann davon ausgegangen werden, dass die Tür weniger als 10 Sekunden benötigt, um einen Öffnungs- oder Schließvorgang abzuschließen.
Beispieleingaben:
<empty list> # button was pushed just once
20 # button was pushed twice with 20 seconds between
10
5
20 20
10 10
5 5
1 2 3
8 9 10 11
11 10 9 8 7
Erwartete Ausgänge entsprechen den obigen Eingängen
100% D
0% U
0% U
50% D
100% D
100% D
0% U
100% D
0% U
20% U
Gearbeitetes Beispiel für den letzten Test
- Tür fährt zu. Taste wird gedrückt
- Warten Sie 11 Sekunden. Die Tür wird vollständig geöffnet. Taste wird gedrückt.
- Warten Sie 10 Sekunden. Die Tür bleibt vollständig geschlossen. Taste wird gedrückt.
- Warten Sie 9 Sekunden. Taste wird gedrückt. Tür bleibt zu 90% geöffnet.
- Warten Sie 8 Sekunden. Taste wird gedrückt. Die Tür beginnt sich zu schließen.
- Warten Sie 7 Sekunden. Taste wird gedrückt. Tür bleibt bei 20% geöffnet. Die nächste Richtung wird oben sein.