aula 117

Como simular 200 lançamentos de um dado?

Vamos a mais uma dúvida na aula de hoje. Como simular 200 lançamentos de um dado e calcular a porcentagem da ocorrência de cada um dos lados?

Exercício: Escreva um algoritmo no Portugol que simule 200 lançamentos de um dado de seis lados. Por fim, o algoritmo deverá informar:
1) Quantas vezes ocorreram cada uma das faces do dado.
2) O percentual de ocorrência de cada uma das faces.
3) O percentual de ocorrências de faces ímpares e faces pares.

Para simular o lançamento de um dado podemos sortear números com a função sorteia da biblioteca Util delimitando os intervalos entre 1 e 6, como a seguir:

// sorteando números aleatórios entre 1 e 
n = Util.sorteia(1, 6)

Como precisamos calcular o percentual de ocorrência de cada uma das faces, podemos usar um vetor de inteiros de tamanho 7 para acumular o somatório de cada uma das faces sorteadas nas posições de 1 a 6, como a seguir:

		inteiro n, i
		inteiro quantidades[7] = {0,0,0,0,0,0,0}// índices: 0 1 2 3 4 5 6 

		para(i = 1; i <= 200; i++){
			n = Util.sorteia(1, 6) // sorteia um número entre 1 a 6
			quantidades[n]++ // conta mais um na posição sorteada
		}

		// --------- OU AINDA (sem a variável n) -------------
		para(i = 1; i <= 200; i++)
			quantidades[Util.sorteia(1, 6)]++ // conta mais um na posição sorteada

Também precisamos contar os pares e os ímpares. Isso pode ser feito facilmente com um teste, como a seguir:

		inteiro n, i, par = 0, impar = 0
		inteiro quantidades[7] = {0,0,0,0,0,0,0}// 0 1 2 3 4 5 6 

		para(i = 1; i <= 200; i++){
			n = Util.sorteia(1, 6)
			quantidades[n]++

			se(n % 2 == 0) // resto de n dividido por 2 é igual a zero?
				par++
			senao
				impar++
		}

Por fim, precisamos agora calcular o percentual de pares, ímpares e de cada face do dado, como feito a seguir:

		escreva("Pares: ", par, "\t", (par * 100.0) / 200.0, "%\n") // porcentagem de pares
		escreva("Ímpares: ", impar, "\t", (impar * 100.0) / 200.0, "%\n\n") // porcentagem de ímpares

		// porcentagem de cada face
		para(i = 1; i < 7; i++)
			escreva(i, " = ", quantidades[i], "\t", (quantidades[i] * 100.0) / 200.0, "%\n")

Código completo em Portugol para simular o lançamento de 200 dados

programa{

	inclua biblioteca Util
	
	/*
		 *  Escreva um algoritmo no Portugol Studio que simule 200 lançamentos de um dado de seis lados. Por fim, o algoritmo deverá informar:
		1) Quantas vezes ocorreram cada uma das faces do dado.
		2) O percentual de ocorrência de cada uma das faces.
		3) O percentual de ocorrências de faces ímpares e faces pares.

		 Escrito por Wagner Gaspar
		 Abril de 2021
	*/
		
	funcao inicio()
{
		inteiro n, i, par = 0, impar = 0
		inteiro quantidades[7] = {0,0,0,0,0,0,0}// 0 1 2 3 4 5 6 

		para(i = 1; i <= 200; i++){
			n = Util.sorteia(1, 6)
			quantidades[n]++

			se(n % 2 == 0)
				par++
			senao
				impar++
		}

		escreva("Pares: ", par, "\t", (par * 100.0) / 200.0, "%\n")
		escreva("Ímpares: ", impar, "\t", (impar * 100.0) / 200.0, "%\n\n")

		para(i = 1; i < 7; i++)
			escreva(i, " = ", quantidades[i], "\t", (quantidades[i] * 100.0) / 200.0, "%\n")
	}
}

Deixe um comentário

dez − 1 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.