Écrivez le plus court programme qui attend toutes les clés d'un des États - Unis touche clavier standard 101 * à presser puis quitte à écrire OK!
Chaque fois qu'une touche est enfoncée, le programme affiche sur une nouvelle ligne le nombre restant de touches uniques non pressées qui doivent être enfoncées jusqu'à ce que toutes les touches soient enfoncées au moins une fois. Le programme devrait pouvoir tester un clavier 101 et voir si chaque touche fonctionne. Donc, appuyer deux fois sur une touche ou entrer doit être autorisé tant que cela est spécifié à l'utilisateur.
Appuyer deux fois ou plus sur la même touche ne doit pas perturber le code ni modifier le nombre affiché de touches non pressées restantes.
Toutes les touches ( Left Shift, Right Shift, Right Control, Esc,Enter , etc.) devraient être inclus.
Les touches du clavier réels sont importants dans ce défi si du point de vue du programme ( A
et a
, sont les mêmes et sont donc 6
et ^
).
Les touches combinées ne seront pas enregistrées en tant que commande combinée et seules les touches individuelles seront enregistrées si vous appuyez sur Ctrl+ Alt+ Delqui comptera pour toutes les touches individuelles de la combinaison pressée. Donc pas besoin d'appuyer aussi sur les majuscules si vous avez déjà appuyé sur les minuscules et vice-versa.
Les touches numériques du pavé numérique sont différentes du point de vue du programme, elles doivent donc encore être enfoncées pour que le programme se termine, si vous avez un ordinateur portable ou tout autre clavier qui n'a pas la disposition de clavier US Standard 101 que vous ne peut relever le défi que si vous branchez un clavier compatible.
* Les claviers ayant une clé Fn et une clé d'ordinateur portable ne seront pas pris en charge pour que ce défi reste réalisable
Voici la liste des touches pour une disposition de clavier 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