3er paso: generalizar un algoritmo (parte II)

Mientras Pier todavía debe andar por la segunda etapa de su "duelo" (todavía lejos de alcanzar la de "aceptación"), y sigue mascullando por lo bajosi, soy un compendio de lugares comunes, ¿y qué?— nosotros vamos a explorar nuevas herramientas a la hora de programar: empezaremos hablando de variables.
("¿Otra vez presenta las variables? ¡este tipo está gagá!"). Leo tu mente, y espero que tú no leas la mía en este momento… en nuestra página anterior ya mencioné que el término variable es utilizado en distintos campos de las ciencias, y que en cada uno de ellos recibe una definición conceptual particular… a veces es cuestión de prestar atención.

Variable (programación)

Variables
En programación, las variables son estructuras de datos que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud fija o variable (esto último en los casos de colecciones de datos).
Fuente: Wikipedia
La verdad es que tengo bastantes ganas de dejarte con esta única fuente y seguir adelante con el tema (aún estoy ofendido por lo de gagá). Pero como entre viejo y maduro todavía hay diferencias voy a hacer como que nunca pasó nada…
Variables (en programación)
En programación, las Variables son espacios de trabajo (contenedores) reservados para guardar datos (valores). El valor de una Variable puede cambiar en algún paso del Algoritmo o permanecer invariable; por lo tanto, el valor que contiene una variable es el del último dato asignado a esta.
Las variables, además de guardar un valor en su interior, poseen un Nombre (identificador) para poder referirnos a ellas en los procedimientos.
Si ya tenés conocimientos previos de programación, o te alcanzó con el par de citas aquí presentadas, podés saltearte buena parte de lo que sigue. Voy a tratar de simplificar todo lo posible mi explicación sobre este concepto.

Analogías con el mundo real

Si alguna vez llenaste o llenaron un formulario con tus datos vas a entender rápidamente de lo que voy a hablar. En él podría haber casillas para colocar tu edad, altura, peso, lugar de nacimiento, dirección, número de teléfono, y todo lo que se te ocurra. Algunas casillas se llenarán con números, otras con letras. Algunos datos serán constantes en el tiempo (donde naciste por ej.), otros variables de manera previsible (el valor de tu edad siempre aumentará con el tiempo, una vez por año), otros variables de manera no previsible de antemano (tu peso, tu lugar de residencia actual).
Usando algunas de estas variables a alguien se le podría ocurrir construir un algoritmo y posterior programa para algún fin determinado, y podría ser fácil su reutilización y extensión empleando los datos de otra persona (la que tendrá su propio juego de variables, pero obviamente con otros valores).
Al igual que en las fórmulas matemáticas (donde te podés encontrar con cosas como área = base x altura), el uso de variables permite que los algoritmos se independicen de casos y valores específicos, esto es, que puedan generalizarse.
Pero el uso de variables no se agota en el almacenar datos de entrada para su posterior uso dentro del algoritmo: pueden también contener datos que almacenen estados internos y provisorios dentro del programa. Un ejemplo sería variables que almacenen el número de aciertos y el de errores que vamos acumulando al usar el mismo… caso típico presente en la mayoría de los juegos que tu juegas, mi amig@.

BASADO EN HECHOS REALES

Voy a cerrar este tramo con una síntesis del tipo de explicación concreta que les doy a mis alumnos en clase: tomo una caja de cartón, la etiqueto con un nombre, y le coloco dentro un papel donde escribí algún número.
Ese número podrá ser cambiado o no posteriormente, pero a partir de allí sugiero operaciones, comparaciones, etc. sin decir el número en cuestión: su valor estará referenciado a través del nombre con que etiquetamos la caja; cualquier resultado de análisis, curso de acción a seguir o resultado matemático será finalmente determinado a posteriori de conocer el número dentro de la caja — lo que no quita que el problema pueda ser pensado a priori—.
Empleamos después esta idea trabajando con un algoritmo similar al que estudiamos en este tutorial, pero adaptado para dibujar espirales poligonales: si Pier  tiene que caminar una cierta cantidad de pasos, esa cantidad la va a conocer abriendo la cajita pasos y leyendo el valor que tiene dentro; luego de caminar, el mismo Pier  se encarga de incrementar el valor de pasos… y al momento de dibujar un nuevo trazo la cantidad de pasos a recorrer será determinada por otro número
—quizás escriba un tutorial que complemente al presente y que verse sobre estas cuestiones, por lo que no me voy a extender más allá—.

Si entendiste esto de la cajita/variable ya podemos proseguir. Recomiendo entretanto —a modo de relax, y ya que estamos hablando de cajitas— ver el video del tema "Coffee & TV" de Blur antes de pasar a lo que sigue (una excelente infantil mezcla de crueldad y ternura… ¡del video estoy hablando!)

Vamos a darle un pequeño descanso a Pier, y en la página que sigue realizaremos un pequeño proyecto "paralelo" que nos sirva para introducir esta importante herramienta a la hora de programar: las variables en Scratch.
Última actualización: Febrero 24, 2014

No hay comentarios.:

Publicar un comentario

© Scratch CodeLab | D153ñ0 b454d0 3n l4 pl4n71ll4 SimpleRWD d3 Oloblogger