1
resposta

Rand e Srand

Boa tarde, Não entendi nada sobre as funções rand e srand. Acho que eu preciso de exemplos mais simples sem misturar outras funções para que eu entenda detalhadamente.

Agradeço o retorno desde já.

1 resposta

Oi Maria, bom dia!

Entender as funções rand e srand pode parecer um pouco complicado no início, mas vou tentar explicar de uma forma mais simples com exemplos práticos.

  1. Função rand():

    • A função rand() é usada para gerar números aleatórios. No entanto, esses números não são verdadeiramente aleatórios; eles são chamados de números pseudo-aleatórios porque são gerados por um algoritmo.
    • Quando você chama rand(), ele retorna um número inteiro que pode ser qualquer valor entre 0 e RAND_MAX (uma constante definida na biblioteca padrão do C).

    Exemplo básico:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        int numero = rand();
        printf("Número aleatório: %d\n", numero);
        return 0;
    }
    
  2. Função srand():

    • srand() é usada para inicializar a semente do gerador de números aleatórios. A "semente" é um valor inicial que o algoritmo usa para começar a gerar números.
    • Se você não usar srand(), o rand() vai gerar a mesma sequência de números toda vez que você executar o programa. Para obter números diferentes a cada execução, você precisa definir uma semente diferente.

    Exemplo usando srand():

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main() {
        srand(time(0)); // Usa o tempo atual como semente
        int numero = rand();
        printf("Número aleatório: %d\n", numero);
        return 0;
    }
    

    No exemplo acima, time(0) retorna o número de segundos desde 1 de janeiro de 1970, garantindo que a semente seja diferente a cada execução do programa.

Espero que esses exemplos tenham ajudado a esclarecer suas dúvidas.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.