Ir ao conteúdo
  • Cadastre-se

JuniorFrota

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

posts postados por JuniorFrota

  1. Eu estava com a mesma dúvida. Ontem aconteceu a festinha dos dias das mães na escola em que eu trabalho e foi feito um sorteio de brindes. O complicado foi ter que ditar números que ainda não haviam sido chamados. Daí eu tive a ideia de criar um algoritmo que gerasse números aleatórios não repetitivos e deu nisso:

     

    algoritmo "Números Aleatórios Não Repetidos"
    // Função : Gerar números aleatórios de 1 até 100 sem repetição.
    // Autor : Junior Frota
    // Data : 11/05/2018
    // Seção de Declarações
    var
    n,m, i, j, k : inteiro
    a : vetor[0..99] de inteiro
    c : caractere

    inicio
    // Seção de Comandos
    para i de 0 ate 99 faca
       repita
          m <- randi(100)
          n <- m + 1
          para j de 0 ate i faca
             se (a[j] = n) então
                k <- k + 1
             fimse
          fimpara
          se (k = 0) então
             a <- n
             escreval(a)
             interrompa
          senao
             k <- 0
          fimse
          fimrepita
          k <- 0
       fimpara
    fimalgoritmo

     

    Dependendo da quantidade de números que precisa ser gerado, basta modificar a dimensão do vetor (a : vetor[0..99] de inteiro), o limite máximo de iteração do comando para (para i de 0 ate 99 faca) e o range da função randi, colocando sempre um a mais do que a dimensão do vetor (m <- randi(100)).

    O m recebe o valor aleatório, mas como tem a possibilidade de gerar o número zero, e isso não satisfaz a função do algoritmo, então n recebe m mais um. Isso faz gerar números de 1 até 100, neste caso.

     

    Espero que tenha ajudado, uma vez que sua postagem é de 2014.

    • Obrigado 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!