Desafio
Recentemente, entrei em computadores de 8 bits e sou fascinado com o funcionamento deles e de outros; portanto, o objetivo desse código de golfe é replicar uma parte do Woz Monitor, projetada por Steve Wozniak para o Apple I.
Você deve armazenar uma matriz de 22 valores hexadecimais com uma largura de dois bytes (valor mínimo $ 10 , valor máximo $ FF ) e, em seguida, n- quantidade de entradas. (Normalmente dois; idiomas como Brainfuck podem ter dificuldade).
As entradas referem-se ao local da matriz para iniciar a impressão e para onde parar; uma entrada com comportamento definido terá seu valor inicial menor ou igual ao valor final. Seu programa deve ser capaz de imprimir todos os valores hexadecimais entre e incluindo os hexadecimais inseridos.
Um exemplo disso:
Array
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15
Values
FF F4 B6 D7 40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6 A5
input first num:
04
input second num:
14
40 00 00 A4 F0 00 FF 0D 9C 21 65 C4 02 28 90 E7 D6
Agora, a parte interessante deste exercício é que você pode usar o que quiser para verificar os limites da entrada do usuário. Entradas de pessoas hello
e seu programa tem comportamento indefinido? Desiste sem aviso prévio? Ambos são válidos.
As únicas regras são:
1. Você deve incluir os valores dos 22 valores hexadecimais como parte do seu programa antes de iniciar (não pode pedir entradas ao usuário).
2. A saída dos valores hexadecimais deve seguir o formato exato:
00 FF 00 FF 00
Espaços, tabulações ou linhas à direita estão OK. Personagens não são.
3. O programa não precisa solicitar as entradas com uma mensagem. Deixe a "mensagem" em branco, se desejar. O usuário deve inserir os limites hexadecimais no entanto.
4. Como você decide com os valores dos 22 hexadecimais, você deve criar um programa que realmente busque os valores do armazenamento, em vez de imitar um programa simplesmente imprimindo valores. (como uma lista de US $ 00 ).
5) n-quantidade de entradas, refere-se à quantidade de entradas necessária para o seu idioma de escolha reconhecer um hexadecimal de dois bytes de largura. por exemplo. (O Brainfuck precisará de duas entradas por hexadecimal, tornando-a quatro para as duas).
Fique à vontade para comentar se precisar de esclarecimentos.
Isso é código de golfe, então a resposta mais curta no número de bytes é o vencedor.
Entre os melhores
Aqui está um cabeçalho de geração de snippet, cortesia de Martin Ender .
Para garantir que sua resposta seja exibida, inicie-a com um título, usando o seguinte modelo de remarcação:
# Language Name, N bytes
onde N
está o tamanho do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
n
como o Brainfuck não pode receber uma sequência de 2 caracteres, você precisaria inserir o primeiro byte, depois o segundo para o primeiro valor e, em seguida, fazê-lo novamente para o segundo valor, 4 entradas no total. Eles podem ser quantos você quiser.