Jogando uma moeda. Escreva um programa que simule o lançamento de uma moeda. Para cada lançamento da moeda, o programa deverá imprimir Cara ou Coroa. Deixe o programa jogar a moeda 100 vezes e conte o número de vezes que cada lado da moeda aparece. Imprima os resultados. O programa deverá chamar uma função flip separada, que não utilize argumentos e retorne 0 para cara e 1 para coroa. [Nota: se o programa realisticamente simula o lançamento de uma moeda, então cada lado da moeda deve aparecer aproximadamente em metade do tempo para um total de aproximadamente 50 caras e 50 coroas.]
Passo 1
Fala Galera!! Bora pensar em uma lógica para resolver esse exercício. De início já é possível perceber que vamos precisar fazer com que o nosso programa consiga gerar números aleatórios, e também que esses números gerados sejam apenas o 0 ou 1, que irão representar cara e coroa respectivamente. Em C existe uma função que faz esse trabalho de gerar números aleatórios, mas existe um problema, os número que essa função gera são sempre os mesmos, para isso vamos precisar acrescentar mais alguns comando para que ela possa gerar números aleatórios e que esses número sejam apenas 0 e 1.
Passo 2
O nome dessa função é rand (). Mas como já mencionado a função gera os mesmos números toda vez, para mudar isso vamos precisar passar mais alguns comando para ela. Como por exemplos, podemos usar a hora do computar que será diferente em cada execução do programa, mesmo que em milésimos de segundo, como um parâmetro para que a função gere números aleatórios. Para utilizar a hora do computador, é preciso utilizara função srand() uma única vez, como a seguir: srand(time(NULL));
Passo 3
Vamos também precisar da biblioteca
Por último, agora, só precisamos criar a nossa função flip. Dentro da nossa função flip precisamos passar o comando para função rand() gerar aleatoriamente apenas os número 1 e 2, e esse comando é : rand() % 2. Toda vez que gerar o número 0 a função flip retorna cara e quando for gerado 1 a função retorna coroa. Dito isso, a função flip ficará da seguinte forma:
/* função flip */
int flip(){
/* gerar sómentes número 1 e 2 */
int a = rand() % 2;
if (a == 0){
printf (" Cara ");
}
else{
printf(" Coroa ");
}
return a;
}
Passo 4
Criada a nossa função agora só precisamos chamar ela dentro do nosso programa em uma estrutura de repetição para simular as 100 tentativas. Então nosso programa estará finalizado e partiu para o próximo exercício.
Resposta
O programa final ficará da seguinte forma:

A saída:
