Schreiben Sie das kürzeste Programm, das darauf wartet, dass jede Taste einer US-Tastatur * mit Standard 101 gedrückt wird, und beenden Sie dann das Schreiben mit OK!
Jedes Mal, wenn eine Taste gedrückt wird, zeigt das Programm in einer neuen Zeile die verbleibende Anzahl nicht gedrückter eindeutiger Tasten an, die gedrückt werden müssen, bis alle Tasten mindestens einmal gedrückt wurden. Das Programm sollte in der Lage sein, eine 101-Tastatur zu testen und festzustellen, ob jede Taste funktioniert. Das zweimalige Drücken einer Taste oder der Eingabetaste ist zuzulassen, solange dies dem Benutzer mitgeteilt wird.
Das zweimalige Drücken derselben Taste sollte weder den Code stören noch die angezeigte Anzahl der noch nicht gedrückten Tasten ändern.
Alle Tasten ( Left Shift, Right Shift, Right Control, Esc, Enter, etc.) sollten einbezogen werden.
Die tatsächlichen Tastaturtasten sind bei dieser Herausforderung aus der Sicht des Programms wichtig ( A
und a
, sind gleich und sind es auch 6
und ^
).
Kombinierte Tasten werden nicht als kombinierter Befehl registriert und nur die einzelnen Tasten werden registriert, wenn Ctrl+ Alt+ Delgedrückt wird, was für alle einzelnen Tasten in der gedrückten Kombination gilt. Sie müssen also nicht auch die Großbuchstaben drücken, wenn Sie bereits die Kleinbuchstaben und umgekehrt gedrückt haben.
Zifferntasten auf dem Ziffernblock unterscheiden sich von der Perspektive des Programms, so dass sie nach wie vor notwendig sind für das Programm bis zum Ende gedrückt werden, wenn Sie einen Laptop oder eine andere Tastatur haben , die nicht die hat US - Standard 101 Tastaturlayout Sie kann die Herausforderung nur erfüllen, wenn Sie eine kompatible Tastatur anschließen.
* Tastaturen mit Fn-Taste und Laptop-Taste werden nicht unterstützt, damit diese Herausforderung ausgeführt werden kann
Dies ist die Liste der Tasten für ein Tastaturlayout nach US-Standard 101:
backspace
tab
enter
right shift
right ctrl
right alt
left shift
left ctrl
left alt
print screen
pause/break
caps lock
escape
page up
page down
end
home
left arrow
up arrow
right arrow
down arrow
insert
delete
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
numpad 0
numpad 1
numpad 2
numpad 3
numpad 4
numpad 5
numpad 6
numpad 7
numpad 8
numpad 9
multiply
add
subtract
decimal point
numpad enter
divide
f1
f2
f3
f4
f5
f6
f7
f8
f9
f10
f11
f12
num lock
scroll lock
semi-colon
equal sign
comma
dash
period
forward slash
grave accent
open bracket
back slash
close braket
single quote
space