Desenhe um programa ou função que escreva às STDOUT
n
vezes (cada uma para uma etapa) uma sequência que contenha um ponto .
no local do caminhante. O programa também precisa escrever uma linha a cada s
segundo (ou esperar s
segundos após cada linha).
Uma caminhada aleatória é uma formalização matemática de um caminho que consiste em uma sucessão de etapas aleatórias ( wiki ), de modo que cada nova etapa será a última etapa mais um novo valor, portanto, qualquer t
valor de etapa é apenas a soma de todos os valores aleatórios antes de ir mais o valor inicial.
O programa deve receber 2 entradas e usará apenas espaços " "
e pontos "."
na saída. O valor inicial do andador será 20
tal que a saída deve ser um ponto após 19 espaços.
. #19 spaces then a dot
A cada nova etapa, o valor será o último valor do caminhante mais um deles [-2-1,0,1,2]
(20% de chance cada). Após a impressão da nova posição, o programa deve aguardar s
segundos e avançar para a próxima etapa. Se a etapa levar o andador fora do alcance, 1 to 40
ele deve ser ignorado e a posição do caminhante permanece a mesma. O número de espaços sempre será um número de 0 a 39.
Exemplo
#input
Mywalk(s = 0.1, n = 30)
#output
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Considerações
Você pode considerar a entrada como qualquer formato razoável
O código mais curto vence
Tudo bem se o seu programa aceitar apenas os segundos como números inteiros
1 to 40
, porque o número de espaços é sempre position-1
.
n
é o número de etapas?