En este post les voy a enseñar cómo usar vectores (arreglos) en PSeInt para resolver un problema clásico de estadística y programación: simular el lanzamiento de un dado la cantidad de veces que el usuario quiera y contar cuántas veces salió cada cara (del 1 al 6).
Mi Código en PSeInt
Acá les dejo el código completo. Pueden copiarlo y pegarlo directamente en su software PSeInt para probarlo:
Algoritmo SimularDados
Definir cantidadTiros, i, resultadoDado Como Entero
// Creamos un vector de 6 posiciones (una para cada cara del dado)
Dimension contadores[6]
// Inicializamos el vector en 0
Para i <- 1 Hasta 6 Con Paso 1 Hacer
contadores[i] <- 0
FinPara
Escribir "¡Bienvenido al simulador! Ingresa la cantidad de tiros a realizar:"
Leer cantidadTiros
// Simulamos los tiros
Para i <- 1 Hasta cantidadTiros Con Paso 1 Hacer
resultadoDado <- Aleatorio(1, 6) // Genera un número entre 1 y 6
// Sumamos 1 en la posición correspondiente al número que salió
contadores[resultadoDado] <- contadores[resultadoDado] + 1
FinPara
Escribir ""
Escribir "--- RESULTADOS DE LAS TIRADAS ---"
// Mostramos los resultados guardados en el vector
Para i <- 1 Hasta 6 Con Paso 1 Hacer
Escribir "Cara ", i, ": salió ", contadores[i], " veces."
FinPara
FinAlgoritmo
_____
¿Cómo funciona la lógica? (Así lo pensé)
El secreto de este ejercicio está en usar el número que sale en el dado como el índice (la posición) del vector. Acá les explico el paso a paso de mi razonamiento:
El Vector como recipiente: Diseñé un vector llamado
contadorescon 6 posiciones. La posición[1]guardará los tiros que salieron 1, la[2]los que salieron 2, y así hasta el[6].El Azar: Usé la función
Aleatorio(1, 6)para imitar el comportamiento del dado.La utilidad del vector: En lugar de usar 6 variables distintas con un montón de condicionales
Si-Entonces, decidí automatizarlo así:contadores[resultadoDado] <- contadores[resultadoDado] + 1. Si sale un 4, el programa va directo a la posición 4 y le suma 1. Esto es sencillo y práctico.
🚀 ¿Querés probarlo de forma "Interactiva"?
Como Blogger no ejecuta código PSeInt directamente en la página no les puedo mostrar aquí el funcionamiento, pero les comparto un truco: pueden usar la plataforma
Si les sirvió dejen su comentario acá abajo.