viernes, 5 de diciembre de 2014

Mi algoritmo para calcular la afluencia a la plaza mayor

Hoy he estado trabajando en la actividad del algoritmo para la plaza mayor.

La verdad es que ayer, en cuanto vi el ejemplo que había creado Pedro, nuestro tutor, me quedé un tanto desanimado, ya que me pareció genial y no se me ocurría manera alguna de abordar el trabajo (ni siquiera utilizando el ejemplo como base y mucho menos creándolo desde cero)

Primero pensé en esperar a ver qué hacían los compañeros para tener más ideas pero, la verdad, me apetecía afrontar el reto por mí mismo (no tanto el de acertar con la solución propuesta ni mucho menos, sino el de hacer la tarea individualmente sin necesidad de "cotillear" el trabajo de los demás primero) Quizás no haya sido buena idea, no lo sé aún, pero estoy contento con mi decisión.

Total, me fui a trabajar y dejé el ordenador "calculando" la cantidad de gente que cabía con el algoritmo de Pedro. Era media mañana cuando lo dejé funcionando y por la noche aquello seguía sin parar. Ya iba por más de un millón de personas y, la verdad, el espacio sin colorear de verde todavía daba bastante margen a que ese número creciera.

Así que pensé "he aquí el problema". Si queremos un algoritmo que calcule la cantidad de gente que cabe necesitamos algo que nos dé la solución con mayor rapidez, porque no sería muy eficaz dejar el ordenador calculando y tener que esperar dos días a saber el número (independientemente de la veracidad o no del resultado...)

Así que he tirado por lo práctico y he planteado un algoritmo con sencillas operaciones matemáticas que lo único que hacen es calcular la superficie útil de la plaza y multiplicarla por un coeficiente de ocupación determinado.

Son valores asequibles de conocer por cualquiera como la longitud y la anchura de la plaza, la superficie ocupada por mobiliario, terrazas, etc, incluso, si la situación lo requiriese, se podría añadir la superficie de espacio ocupado por un escenario, por obras en la vía, por un cordón policial o por cualquier otra circunstancia típica de los eventos. El interesado también indicaría si cree que la multitud será densa o fluida y, dado que estos valores se introducen por el propio usuario en el momento de calcular la muestra, se pueden ajustar lo mejor posible a la realidad y, una vez introducidos,  el programa se encarga de calcular la cantidad de gente utilizando un coeficiente diferente en función de la densidad que hemos descrito anteriormente.

Estos coeficientes están basados en los trabajos de Herbert Jacobs, profesor de periodismo en la Universidad de California, Berkeley, durante los años 60 del pasado siglo, y responsable de la modernización del cálculo de multitudes desde esos años.

La regla básica de densidad de Jacobs indica que una "multitud fluida" contaría con una persona por cada 0,93 metros cuadrados y una "multitud densa" contendría una persona por cada 0,42 metros cuadrados.

Independientemente de la exactitud o no de todos estos datos, y dado que pueden modificarse todos ellos, bien por el usuario bien por el programador de scratch, lo acertado o no del resultado final dependerá de la precisión de los mismos, siendo éstos ajenos al algoritmo en sí, que resulta rápido y sencillo para calcular lo que se nos pide.

Aquí os dejo el enlace al mismo por si queréis echarle un ojo:

http://scratch.mit.edu/projects/37803244/#player

Un saludo a todos!!




domingo, 23 de noviembre de 2014

Mi experiencia con Scratch: un nuevo mundo de posibilidades

Realmente interesante. Este curso de introducción a la programación me está resultando muy entretenido. Sobre todo lo relacionado con Scratch...

En la actividad que acabo de realizar como tarea para esta semana he tenido que desarrollar un proyecto en Scratch en el que contase una historia y hubiese interacción entre los diferentes objetos y también con el espectador, y me ha traído gratos recuerdos de cuando, de adolescente, jugaba a aquellas aventuras gráficas en 2D como Monkey Island en mi viejo PC Pentium II hasta las tantas sin importarme para nada las clases que tuviese al día siguiente y si me iba a estar cayendo rendido por las esquinas.

Me he dado cuenta de que, con tiempo, ganas, fantasía y muchas horas frente al teclado, yo mismo podría programar un juego entero como aquel que tanto me hizo disfrutar en su momento, y esa sensación me hace pensar en que se me abre un mundo entero de posibilidades.

Supongo que los lectores que se encuentren mucho más avanzados en este campo de la programación que yo estarán esbozando una sonrisilla burlona al leer estas líneas, pero a mi este curso me está sirviendo realmente para tener cada día más ganas de continuar profundizando en todo esto.

Sin más, y como no me gusta enrollarme y realmente he disfrutado realizando la actividad, voy a dejaros sendos enlaces tanto al proyecto que yo inicié y que otro compañero terminará, como al que yo mismo busqué un remate apropiado.

Estos son:

El primero: http://scratch.mit.edu/projects/35829726/

El segundo: http://scratch.mit.edu/projects/35856296/

Espero que los disfrutéis, un saludo a todos.