FICHA 9
SIMULACIONES
AZAROSAS
Sesión 1
Lo que sabemos,
Aprendizajes lo que debemos saber
Al final de esta actividad Uno de los usos más frecuentes de los computadores es simular eventos de la
se espera que puedas: naturaleza con el fin de anticipar lo que sucederá en diferentes situaciones, por
ejemplo, cuando no hay intervención humana y cuando la hay.
• Simular eventos de
la naturaleza para Entre los muchos usos de las simulaciones están las predicciones meteorológicas,
predecir resultados que permiten anticipar cuál será el clima en unas horas, en unos días y hasta en
posibles. unas semanas. También se pueden usar simulaciones para conocer el efecto de
• Utilizar el azar para las acciones humanas sobre la naturaleza, como por ejemplo el impacto sobre el
simular eventos de planeta de los gases de efecto invernadero que se emiten a nivel mundial.
carácter aleatorio.
• Reutilizar fragmentos En algunos casos, como en ciertos sistemas creados por el hombre, o en modelos
de código por medio de simplificados de fenómenos naturales, los datos necesarios en una simulación se
funciones. conocen con bastante certeza. En otros casos, solo se tiene una idea de posibles
• Transmitir información valores y de la probabilidad de que ocurran estos valores.
entre dos micro:bits.
A menudo estas simulaciones requieren una gran capacidad de los computadores
para hacer los cálculos mucho más rápido de lo que sucede en la naturaleza,
NOTA: Los números anticiparse y tomar decisiones. Por ende a veces no basta con un solo computador,
aleatorios no se conocen sino que se requiere una red de computadores que se comunican y comparten la
con exactitud, pero información necesaria para que cada uno haga parte de los cálculos.
tampoco son cualquier
número. En ocasiones se Esta red se puede lograr con computadores que se encuentran en el mismo
conoce el rango en el que lugar y cuyo único fin es formar parte de esta para en conjunto alcanzar una gran
se encuentran e incluso velocidad de cálculo; a esta red se le llama supercomputador. La red también se
la probabilidad con la que puede lograr con computadores personales, ubicados en distintos lugares del
ocurren. mundo y que realizan otras tareas. Los dueños de estos computadores, de forma
voluntaria, ponen al servicio de la simulación parte de la capacidad de cálculo de
sus dispositivos. En este caso se habla de computación distribuida. ¡Gracias a
esta cualquier persona con un computador conectado a internet puede contribuir al
avance de la ciencia!
03 - 2021
9-1
Desconectadas
En esta actividad vas a simular la evolución de una población de venados.
Necesitarás algunos objetos pequeños, tales como granos de arroz o lentejas, que
representarán a los venados de la simulación. También necesitarás un dado para
el componente aleatorio de la naturaleza y el anexo 1 que te ayudará a llevar el
registro de la evolución de la población.
Comenzaremos la simulación con 10 venados vivos, así que deberás ubicar un
Inicio objeto en cada una de las 10 primeras casillas del primer año del anexo 1 y escribir
Año=1
Total=10 la población total, 10, en la casilla correspondiente al total del año 1.
Año tras año de la simulación se debe hacer un lanzamiento del dado por cada
¿Venados del
venado vivo, este lanzamiento determinará el futuro del venado en cuestión para el
No
año sin futuro siguiente año de acuerdo con la siguiente tabla:
definido?
Sí
RESULTADO DEL DADO ACCIÓN EN LA SIMULACIÓN
Año=Año+1 Definir futuro de
un venado
lanzando el dado
1 El venado continúa viviendo y nace un venado.
Anotar total del
año
2 El venado muere por un depredador.
¿Venados Sí
Fin
3 El venado muere por inanición.
extintos?
No 4, 5 ó 6 El venado continúa viviendo.
Sí
¿Año>10?
Si para un venado obtienes el número 1 en el lanzamiento del dado, agregas un
No objeto nuevo (venado) a la simulación. Los venados muertos salen del juego.
Anota el número de venados vivos cada año, y continúa haciendo lanzamientos.
Para facilitarte el proceso, ubica el venado (objeto) cuyo futuro estás determinando
en la casilla marcada con “?” que se encuentra a la derecha del año de la simulación
en el anexo 1. En caso de que el venado sobreviva, lo mueves a la primera casilla
desocupada del año siguiente. Si nace un venado además agregarás un nuevo
objeto a la primera casilla desocupada del año siguiente. Si el venado muere,
descartas el objeto. Una vez hayas decidido el futuro de todos los venados del año
en curso, debes anotar el total de la población del siguiente año antes de comenzar
a decidir la suerte de los venados en ese nuevo año.
El juego termina cuando los venados se extingan o cuando se completen 10 años
de la simulación, es decir, lanzaste los dados 10 veces por cada venado vivo.
Anota cuántos años duró el juego. A la izquierda encuentras un diagrama de flujo
de esta simulación.
Repite el juego iniciando siempre con 10 venados y responde: ¿al repetir el juego
cambia mucho el número de años que la población de venados permanece? ¿Cuál
es el promedio de años que le toma a los 10 venados extinguirse?
03 - 2021
9-2
Parcialmente desconectadas
En esta actividad vamos a repetir el juego de los venados usando un dado muy
inteligente, que programarás en la micro:bit (o en el simulador MakeCode)
siguiendo unas sencillas especificaciones. Repetirás el mismo diagrama de flujo de
la actividad desconectada, reemplazando el bloque Definir futuro de un venado
por lo que se propone en esta actividad.
El programa te indicará el futuro de un venado cada vez que sacudas la micro:bit.
Para esto se usará la tabla que se presenta más adelante.
Definir futuro de un venado
sacudiendo la micro:bit
En esta ocasión, las probabilidades de que un venado muera por inanición se
incrementaron debido a la escasez de comida causada por una reciente sequía.
Inicio
PROBABILIDAD DE LA ACCIÓN ACCIÓN EN LA SIMULACIÓN
No
¿micro:bit
sacudida?
18 % El venado continúa vivo y nace un venado.
Sí
Azar=número
aleatorio del 1 al 22 % El venado muere por un depredador.
100
33 % El venado muere por inanición.
Sí Mostrar ícono
un venado
27 %
¿Azar≤18?
nace El venado permanece vivo.
No
Mostrar ícono
¿Azar≤40?
Sí
de venado
muere por
Especificaciones
depredador
No La micro:bit simulará el futuro de un venado. Para ello:
Mostrar ícono
Sí
de venado
¿Azar≤73?
muere por 1. La simulación se iniciará al sacudir la micro:bit (ya sea físicamente o en el
inanición
simulador MakeCode).
No
Mostrar ícono
de venado
sigue vivo
2. Una vez iniciada la simulación, la micro:bit generará un número aleatorio de
1 a 100, ya sabes cómo hacerlo.
3. Luego, la micro:bit usará la tabla anterior para decidir la suerte del venado.
(Deberás respetar las probabilidades indicadas en la tabla para determinar la
acción a realizar. Por ejemplo, tendrás que asignar a 27 números diferentes la
opción de permanecer vivo para que en 27 casos de 100 siga viviendo, es decir,
en el 27% de los casos el venado permanece vivo. A la izquierda encuentras un
posible diagrama de flujo para implementar el programa.)
4. Finalmente, la micro:bit mostrará el resultado en la pantalla. El resultado debe
presentarse como un ícono, sé creativo. (La inteligencia de este dado radica en
que tiene 100 lados, permitiendo un mayor rango de probabilidades, y además te
muestra directamente 1 de los 4 resultados posibles sin que tengas que remitirte
a la tabla de probabilidades para interpretar el número obtenido al lanzar el
dado.)
Es importante hacer varios juegos para determinar cómo se comporta la población
de venados, cuántos años en promedio dura la población y cuántos venados en
promedio sobreviven luego de 10 años. ¿Obtuviste resultados diferentes debido a
la sequía?
03 - 2021
9-3
Sesión 2
Conectadas: manos a la micro:bit
Crea un programa en la micro:bit que simule completamente la evolución de los
venados. En esta ocasión, las probabilidades también son diferentes.
No hubo escasez de alimentos, pero hay una sobrepoblación de depredadores.
Para ello ten en cuenta las siguientes especificaciones:
1. Se empieza la simulación con 200 venados al oprimir el botón A.
2. Al igual que en el ejercicio anterior, la micro:bit generará un número aleatorio
entre 1 y 100.
No ¿Botón A
presionado?
3. Las probabilidades son:
Sí
Venados = 200
Año = 0 a. 18 %: nace un venado, se debe incrementar en 1 la cantidad de
venados.
No
¿Venados>0?
Sí b. 40 %: un venado es comido por un depredador, reduce en 1 la
Año = Año + 1
VenPorDef=Venados
Bucle externo cantidad de venados.
¿VenPorDef>0? VenPorDef=VenPorDef-1
c. 17 %: un venado muere de causas naturales, reduce en 1 la
No
Sí
cantidad de venados.
Azar=número
Bucle interno
aleatorio de 1 al 100
d. 25 %: el venado sigue vivo, la cantidad de venados sigue igual.
Sí
¿Azar≤18? Venados=Venados+1
4. La micro:bit juega sola hasta que se acaben los venados.
No
¿Azar≤75?
Sí
Venados=Venados-1
5. Cuando se acaben los venados, la micro:bit debe indicar cuántos años duró el
No grupo de venados.
6. Repite el ejercicio varias veces. ¿Cambia mucho el resultado cada vez que lo
Mostrar año ejecutas?
Desarrolla el programa y pruébalo. A la izquierda encuentras un diagrama de flujo
de una posible solución. Como puedes observar, en este caso, vas a necesitar dos
bucles, uno de ellos anidado, es decir que está dentro de otro.
03 - 2021
9-4
Para ir más lejos
Para facilitar la lectura y creación de código, recuerda otra opción de los lenguajes
de programación y por supuesto disponible en las micro:bit: las funciones.
Las funciones se encuentran en la sección Avanzado. Son fragmentos de código
a los que se les asigna un nombre para ser ejecutados en cualquier momento
llamándolos por dicho nombre. Además, estos fragmentos de código pueden tener
uno o más parámetros, que se identifican en la parte superior y que determinan el
resultado de la ejecución.
A la izquierda se presenta una función para multiplicar dos números, el resultado
dependerá de los parámetros con los que se llame la función. Si quieres agregar
parámetros a una función lo puedes hacer al momento de crearla. Luego, cuando
estés definiendo lo que hace la función, arrastra los parámetros, que están al
lado del nombre de la función, para usarlos en los bloques al interior de la misma.
Los parámetros facilitan la reutilización de las funciones al permitir definir las
operaciones dentro de estas de forma genérica es decir, sin necesidad de fijar los
valores que se van a utilizar internamente. Por esto los parámetros solo existen
dentro de su función, a diferencia de las variables que son visibles en todos los
bloques. ¡Compruébalo en la lista de variables!
También te compartimos una función para encender los primeros n LED de la
micro:bit. Para hacerlo, la función representa la matriz de LED de la micro:bit en un
arreglo. Un arreglo es un conjunto de datos que recibe el mismo nombre, pero tiene
varios valores. Veamos cómo lo hace: considera la matriz de LED de la micro:bit
como una tabla de 5 filas y 5 columnas (recuerda que se enumeran de 0 a 4), dibuja
en un papel una tabla de 5x5 y, comenzando en la esquina superior izquierda,
escribe sobre cada celda números consecutivos desde el 0 hasta el 24.
Ahora mira la posición (2,3), por ejemplo, ¿qué número escribiste en esa celda?
¿Cómo puedes calcular ese número a partir de las “coordenadas” de la celda? La
fórmula para este procedimiento está en la función compartida. ¿Cómo cambiaría
esta fórmula si la matriz fuera de 10x10?
Ahora vas a complementar tu programa de
simulación anterior con una visualización
gráfica del número de venados al comenzar
cada año.
Usa la función para encender los primeros
n LED de la micro:bit. Como la micro:bit
solo tiene 25 LED, cada uno representará 10
venados.
Finalmente, para alcanzar a ver la gráfica de
cada año, agrega una pausa de 500 ms.
03 - 2021
9-5
Sesión 3
Hora de aprender a comunicar dos micro:bits. Si tienes dos micro:bits puedes
cargarlas con códigos diferentes. Si usas el simulador MakeCode también se
puede simular la comunicación entre dos micro:bits; sin embargo, ambas tendrán
el mismo código y deberás diferenciar su comportamiento desde el mismo código,
por supuesto para esto son útiles los condicionales.
1. Examina el programa de la izquierda. ¿Qué crees que hace?
2. Ahora pruébalo y verifica si tu predicción es correcta.
En este punto ya pudiste comunicar 2 micro:bit reales o en simulación.
Te proponemos un segundo reto:
1. Ahora tu reto será coordinar las micro:bit, usando mensajes de radio, para que
una micro:bit muestre la cantidad de venados y la otra muestre la cantidad de
depredadores: lobos. Seguirás trabajando usando el mismo programa en las 2
micro:bit para que puedas simular el programa en MakeCode.
2. La población inicial de venados es de 10 y de lobos es de 3.
3. Al presionar el botón A comienza la simulación de un evento según la tabla que
se presenta abajo. La micro:bit en la que se presionó el botón, micro:bit de
venados, simulará los eventos y contará el número de venados, mientras que
la otra, micro:bit de lobos, contará el número de lobos. Por esto, la micro:bit
de venados debe comunicarle a la de lobos lo que debe hacer: contabilizar el
nacimiento o la muerte de un lobo.
4. Cada micro:bit debe mostrar la población de su especie correspondiente
después del evento.
5. Prueba diferentes probabilidades y observa cómo estas probabilidades definen
el comportamiento de las poblaciones. Para facilitarte la tarea puedes usar dos
copias del anexo 1. En una llevarás el registro de la evolución de los venados,
tal como lo hiciste en la actividad Desconectadas y en otra la de los lobos.
PROBABILIDAD ACCIÓN
DE LA ACCIÓN EN LA SIMULACIÓN
El venado continúa vivo y nace un venado. Un lobo
20 %
muere por inanición.
30 % El venado es comido por un lobo. Un lobo nace.
El venado muere por inanición. Un lobo muere por
20 %
inanición.
30 % Ningún individuo nace o muere.
03 - 2021
9-6
Aplicando lo aprendido
Ahora deberás trabajar con otro grupo que tenga otra micro:bit. Un grupo será
la micro:bit-personas en una comunidad cerca de un estanque. El otro grupo la
micro:bit-peces en el estanque. En esta actividad, los códigos en cada micro:bit
serán diferentes, así que no podrás realizarla en MakeCode.
En la micro:bit-personas el botón A indica que ese día salen de pesca con
atarraya, el botón B que lo hacen con anzuelo y por lo tanto capturan menos peces.
La micro:bit-peces representa la población de peces en el estanque. Deberá leer
de la micro:bit-personas cuántos peces cayeron en los anzuelos o en las atarrayas
y llevar las cuentas del número de peces en el estanque. La población inicial de
peces es 100. La simulación avanza día a día.
El objetivo es simular
cómo un ecosistema Ten en cuenta las especificaciones dadas más abajo para programar las dos
puede ser sostenible micro:bits.
o no, de acuerdo con
las interacciones entre A continuación podrás ver la estructura general del código de cada micro:bit.
diferentes especies. Deberás completar lo que falta al interior para que funcione correctamente.
En nuestro caso, las
dos especies serán:
humanos y peces.
ESPECIFICACIONES
• Cuando se sale a pescar con anzuelo, puede que se pesque un pez como
puede que no se pesque nada.
• Cuando sale con atarraya seguro se pesca algo entre 1 y 10 peces.
• La micro:bit-personas debe mostrar cuántos peces se logró pescar cada
vez.
• La micro:bit-peces, debe mostrar cuántos peces quedan cada vez y mostrar
un fantasma cuando se acaben los peces.
• Con el botón A en la micro:bit-peces se inicia de nuevo el juego.
• Con el botón B en la micro:bit-peces se puede saber cuántos días han
pasado.
03 - 2021
9-7
Lo que hemos
aprendido
Revisa y completa la siguiente tabla marcando una X en la columna que mejor
represente tu aprendizaje:
Verifica los aprendizajes logrados Sí Algo No
Simulo eventos de la naturaleza para predecir
resultados posibles.
Utilizo el azar para simular eventos de carácter
aleatorio.
Reutilizo fragmentos de código por medio de
funciones.
Transmito información entre dos micro:bits.
Selecciona la opción que mejor represente tu opinión:
Contesta las siguientes preguntas Sí Algo No
Las actividades realizadas fueron difíciles.
Las actividades me motivaron.
Siento que aprendí muchas cosas.
Aún me quedan muchas dudas sobre lo que hice.
03 - 2021
9-8
Un poco de historia
3000 a. C. 1000 a. C. 0 1000 d. C. 1990 d. C.
Babilonios 1900 d. C.
900 d .C.
Chinos Primer Motor de búsqueda
600 a. C. 1800 d. C.
600 d. C. computador web
Griegos
300 a .C. 300 d. C. Computación
Mayas cuántica efectiva
Maria Mitchell (1818 - 1889) Annie Jump Cannon (1863 - 1941)
Astrónoma, matemática y educadora Astrónoma estadounidense. Perteneció al grupo conocido
estadounidense. Descubrió el Cometa 1847 VI y como las “computadoras de Harvard”. Un grupo de
calculó su órbita. El cometa sería conocido mujeres que con su dedicación y meticulosidad crearon
posteriormente como el “Cometa de la Señora
varios de los catálogos estelares actuales.
Mitchell”. Fue la primera mujer
internacionalmente reconocida por trabajar Annie Jump Cannon es reconocida también por crear el
como astronoma profesional y profesora de primer algoritmo para crear estos catálogos conocido
astronomía, este último cargo ofrecido por la como el “Esquema de Clasificación de Harvard”.
Universidad de Vassar en Nueva York, EE. UU.
Annie podía clasificar estrellas a una rápidez de tres
El descubrimiento de cometas en la época de
Maria Mitchell suponía no solo el conocimiento estrellas por minuto. El director del grupo en Harvard
teórico y técnico para el diseño y la construcción reconocía que ella era la única persona, hombre o mujer,
de los telescopios utilizados, sino también una que podía hacer este trabajo tan rápido.
notable habilidad y dedicación para manejar
En 1914, fue admitida como miembro honorario en la Real
grandes volúmenes de datos. En este sentido, su
labor y meticulosidad es comparable con los de
Sociedad Astronómica. También fue activista en el
los computa- dores modernos. En movimiento “Sufragista”, el cual luchó por el derecho de las
reconocimiento a su descubrimiento, el rey mujeres a votar. En forma general, su aporte hizo a las
Christian VIII de Dinamarca le otorgó una medalla mujeres ganar aceptación y respeto en la comunidad
de oro. científica.
Las bases del pensamiento computacional vienen desde la antigüedad y las mujeres han tenido un papel importante
Mujeres y hombres que se destacan en la
computación en Colombia y en el mundo
Agustín Moreno Cañadas
Estudió en el colegio John F. Kennedy en Bogotá, donde pasó los primeros 15 años de su vida. Estudió pregrado, maestría
y doctorado en Matemáticas en la Universidad Nacional de Colombia. Es profesor de Criptografía y Seguridad de la
información, Introducción a la criptografía y a la Teoría de información, Teoría de codificación y Criptografía visual para
los programas de Matemáticas, Ciencias de la Computación e Ingeniería de Sistemas y Computación en la Universidad
Nacional de Colombia. Ha sido director del área curricular de Matemáticas desde donde coordinó el grupo gestor que
lideró la creación de la carrera de Ciencias de la Computación.
Si quieres ver la entrevista de Agustín visita el enlace o escanea el código QR que está al comienzo de esta sección.
03 - 2021
9-9
Anexo 1
Evolución de población
03 - 2021
9 - 10