En una tarea anterior se nos pidió que estudiásemos la manera de contar las personas que caben en un recinto, en este caso la Plaza Mayor de Madrid.
Para esta tarea, antes de proponer una solución (que será la misma mencionada en la tarea mencionada anteriormente), vamos a realizar un breve análisis del programa de Scratch mencionado en el enunciado de la tarea:
Dicho programa ha sido modificado para poder observar detenidamente su comportamiento, añadiendo pausas en lugares determinados:
- Usa la aleatoriedad para ir situando a personas en la plaza. Esta característica, en principio deseable para dotar de realismo el programa, tal como está realizada es tremendamente ineficiente porque obliga a muchos intentos antes de dar con un lugar apropiado para colocar a una persona. (hasta nueve intentos he contado cuando había 1 persona solamente ya colocada en la plaza).
- El inicio del cálculo de personas empieza en la coordenada (0,0), lo cual no lo considero adecuado porque está muy cerca de una zona roja, lo cual obligará, en muchos casos, a recalcular posiciones.
- ¿En qué se basa el programa para establecer que 2 personas están correctamente colocadas si 2 cuadrados verdes no se tocan?
- En mil intentos seguidos sin conseguir establecer una posición de una persona se termina el programa. ¿Hasta cuánto de fiable es esto?
- La ineficiencia del programa se acentúa en el cálculo de personas en zonas próximas a los bordes de la plaza, esto es, pintadas de rojo.
Tras analizar el algoritmo anterior, pienso que la solución que aporté en una tarea anterior es válida para calcular el número de personas de la plaza, y de cualquier recinto, esto es, el cálculo basado en los trabajos sobre el tema del profesor de periodismo Herbert Jacobs. En esencia, se trata de averiguar el espacio en metros cuadrados (el autor original hablaba de pies cuadrados). Una vez calculado (por medio de fotografías aéreas, buscando documentación sobre el recinto o bien efectuarlo a mano), hay tres opciones:
a) Multitud fluida, donde hay una
persona por cada 10 pies cuadrados.
b) Multitud densa, donde hay una persona por cada 4,5 pies
cuadrados.
c) Multitud muy densa, donde hay una
persona cada 2,5 pies cuadrados.
El algoritmo a emplear sería: partiendo de la superficie del recinto en metros cuadrados, elegir una opción de densidad de personas (multitud fluida, multitud densa y multitud muy densa) y dividir la superficie entre los metros cuadrados que ocupa una persona según su densidad.
Por lo tanto, sabiendo que:
- por Google, un pie cuadrado son 0,09290304 metros cuadrados, podemos efectuar el cálculo del número
de personas según su densidad:
10 pies cuadrados son 10*0,09290304=
0,9290304 metros cuadrados
Número de personas: 10800: 0,9290304=11.625 personas
4,5 pies cuadrados son 4,5*0,09290304=
0,41806368 metros cuadrados
Número de personas: 10800: 0,41806368=25.833 personas
2,5 pies cuadrados son 2,5*0,09290304=
0,2322576 metros cuadrados
Número de personas: 10800: 0,2322576=46.500 personas
He implementado esta solución en Scratch, que es válida para cualquier recinto, dada su superficie: