zsh: Gerando uma sequência de números pseudo-aleatórios sem repetição
Publicado por Sandro Marcell 24/02/2009
[ Hits: 10.830 ]
Homepage: http://sanmarcell.wordpress.com
Simples Z shell script que atráves do uso de vetores, gera uma sequência de números pseudo-aleatórios sem repetição de valores.
#!/bin/zsh -f # # Simples (bem simples mesmo!) gerador de numeros pseudo-aleatorios # sem repeticao de valores. # # Sandro Marcell (sandro_marcell@yahoo.com.br) # Boa Vista, Roraima - 17/02/2009 # # Obs.: # - O script gera valores na faixa de 1~VALOR_MAXIMO; # - Com uma simples alteracao, e possivel fazer com que este script # embaralhe os elementos de um vetor ;) # - O formatador de saida 'printf' esta operando com valores na casa # das centenas (%-4s), para utiliza-lo na casa dos milhares,va # adicionando 1 ao valor de formatacao; # - Script passivel de melhorias! zmodload -i zsh/mathfunc seed=$$ # Vetor contendo a faixa de valores utilizados para geracao da sequencia typeset -a array array=({1..100}) # Quantidade de interacoes a realizar: loop=10 for ((i = 0 ; i < loop ; i++)) do # Gera-se um valor com base na quantidade de elementos do vetor. # Esse valor sera o indice a ser utilizado para referenciar # elementos no vetor: index=$((1 + int(${(w)#array} * rand48(seed)))) # Com o valor em maos, basta utiliza-lo como indice para buscar # o elemento referenciado por ele no vetor e imprimir esse elemento # na tela: # print -n "$array[$index] " printf "%-4s" $array[$index] # E para evitar que o valor impresso seja reutilizado, basta # remove-lo do vetor! array[$index]=() done print "" # Fim
Atualização automática Debian / Ubuntu
Jogo da velha para dois jogadores
Shell Script simples usando case
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Overclocking Permanente para Drastic no Miyoo Mini Plus
Problemas de chaves (/usr/share/keyrings) no Debian
Converter os repositórios Debian para o novo formato com as chaves
como colocar uma prefix no faugus laucher ou wine (9)
aonde eu encontro prefix do mu online ou mu dark epoch, wine, port-pro... (1)
aonde eu encontro prefix do mu online ou mu dark epoch, wine, port-pro... (1)
aonde eu encontro prefix do mu online ou mu dark epoch, wine, port-pro... (1)