Escreva o programa mais curto que aguarde até que todas as teclas de um teclado americano com 101 teclas padrão * sejam pressionadas e saia da escrita OK!
Cada vez que uma tecla é pressionada, o programa exibe em uma nova linha o número restante de teclas exclusivas não pressionadas que precisam ser pressionadas até que todas as teclas sejam pressionadas pelo menos uma vez. O programa deve poder testar um teclado 101 e verificar se todas as teclas funcionam. Portanto, pressionar duas vezes uma tecla ou enter deve ser permitido, desde que isso seja especificado para o usuário.
Pressionar a mesma tecla duas ou mais vezes não deve interromper o código nem alterar o número exibido de teclas não pressionadas exibidas.
Todas as teclas ( Left Shift, Right Shift, Right Control, Esc, Enter, etc.) devem ser incluídos.
As teclas do teclado reais são importantes neste desafio de modo a partir da perspectiva do programa ( A
e a
, são os mesmos e por isso são 6
e ^
).
As teclas combinadas não serão registradas como um comando combinado e somente as teclas individuais serão registradas se Ctrl+ Alt+ Delfor pressionado, o que contará para todas as teclas individuais da combinação sendo pressionada. Portanto, não é necessário pressionar também as letras maiúsculas se você já pressionou as letras minúsculas e vice-versa.
As teclas numéricas no teclado numérico são diferentes da perspectiva do programa; portanto, ainda é necessário pressionar a tecla para que o programa termine, se você tiver um laptop ou qualquer outro teclado que não possua o layout de teclado US Standard 101 . não pode cumprir o desafio, a menos que você conecte um teclado compatível.
* Os teclados com as teclas Fn e laptop não serão suportados para manter esse desafio possível
Esta é a lista de teclas para um layout de teclado do 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