Las buenas costumbres no hay que perderlas. Es por ello que sigo jugando al fútbol y la pachanga del lunes forma parte de un ritual al que no se puede faltar. Como toda buena pachanga, no vamos con un portero fijo sino que nos vamos rotando cada 7 minutos con un orden que sorteamos al llegar. Aquí se pueden aplican distintos métodos para realizar el sorteo:
Seguramente existan más variantes pero para el objetivo que nos ocupa es suficiente. La cuestión que hoy nos trae es que cualesquiera de estos métodos consumen un tiempo que podríamos emplear en jugar al fútbol. Así que pretendemos que la tecnología nos ayude a crear una aplicación que nos genere al azar el orden en el que los jugadores se turnan como portero antes del partido. Ya que estamos aprendiendo a programar, qué mejor que buscar un problema sencillo y abordable con el que empezar en este mundillo.
Como decía en capítulos anteriores, saber programar es cuestión de saber expresar un problema en unos términos que entienda un computador. Imaginaos que tenéis que aterrizar un avión sin tener ni idea y que tenéis a un piloto dándoos instrucciones por teléfono. En este caso no haréis nada a menos que se os den instrucciones muy precisas y actuaréis como máquinas tontas sin capacidad tomar decisiones autónomas. En ambos casos el lenguaje empleado no es lo esencial sino que simplemente es el medio para comunicar un mensaje que debe conducir a que se realice una determinada acción. En este contexto y para poder expresar nuestro mensaje de forma que un ordenador, un móvil o cualquier dispositivo con capacidad de computación lo entienda, debemos tener en cuenta las siguientes características de los computadores:
Dicho todo esto, os planteo un reto que puede parecer hasta más simple que el "Hola Mundo" y que está al alcance de todo el mundo: Describir paso a paso qué tiene que hacer una computadora para realizar un sorteo aleatorio que defina el orden en el que 7 u 8 jugadores deben turnarse como porteros. Para ello podéis comentar esta entrada (mira más abajo) proponiendo un orden numerado de acciones que indique a una computadora qué debe hacer paso a paso. Cada acción debe estar definida en lenguaje natural, nada de lenguajes de programación, ni pseudo-código, ni lenguas muertas. Y cuanto más detallado sea el proceso, más cerca estaremos de que una máquina lo entienda y estaremos mejor preparados para construir nuestra pequeña aplicación por fin en un lenguaje de programación. ¿Te atreves?
Nota: a fin de evitar el Spam y los Trolls los comentarios están moderados. La primera vez que realices un comentario, tendré que aceptarlo. A partir de ahí puedes comentar y automáticamente será aceptado siempre que utilices la misma dirección de correo.
Pablo Trinidad 16 septiembre, 2014
Posted In: Aprendiendo a programar, Tecnologería