Programación por bloques
Un programa es una serie o secuencia de comandos que se le hacen al procesador de una computadora, celular, robot u otro dispositivo electrónico para que este realice una acción o función determinada. Estos programas pueden ser escritos en diferentes lenguajes de programación, acá tenemos dos ejemplos:
Arduino y Python son dos de los muchísimos lenguajes formales que existen. Si bien cada lenguaje es distinto, todos funcionan parecido ya que tienen el mismo interlocutor: la computadora. Emplean entonces lógicas propias del llamado pensamiento computacional y presentan elementos como condicionales, bucles, funciones, etc. Más adelante veremos que son cada uno de estos.
La programación en bloque para facilitar el acceso a la programación
Es justo decir que programar, si bien está al alcance de todas y todos, en un principio puede resultar engorroso. Requiere ser muy meticulosa o meticuloso con la sintaxis del lenguaje que se usa, una coma mal o un espacio de más y el programa no andará. Además las líneas se ven todas parecidas por lo que no es fácil a primera vista identificar por ejemplo las partes del programa. Algunas instituciones educativas se pusieron a pensar maneras más amables de entrar en contacto con la programación, sus lógicas, conceptos y esencia sin los problemas o inconvenientes de los lenguajes formales, así surge la programación con bloques. En ella los diferentes comandos o líneas del programa tienen la forma de un bloque de color. Hay distintos tipos de programación de bloques pero la mayoría de los programas se verán algo parecido a esto:
En un principio la programación con bloques era sólo una manera de ensayar programas formales de una manera más intuitiva y accesible, sin embargo con el correr del tiempo se fueron inventando cada vez más plataformas que permiten que sea funcional. Algunas de estas son:
-
Scratch: Permite programar videojuegos e historias interactivas 2D usando programación de bloques. Se puede usar en línea o también se puede descargar.
-
Alice: Permite programar videojuegos e historias interactivas 3D usando programación de bloques. Se debe descargar. Alice usa bloques un poco más complejos por lo que no se recomienda para niños y niñas.
-
App Inventor: Permite programar aplicaciones para sistema operativo Android usando programación de bloques. Se usa en línea.
-
Ardublock, Visualino y otros: Permite hacer programas para robots y proyectos de computación física usando programación de bloques. Se debe descargar. Para que pueda funcionar también se debe descargar el entorno de programación Arduino
Al ampliar las posibilidades de la programación en bloques, estas plataformas no sólo son útiles para personas aprendiendo de la programación y sus usos sino también para entusiastas, creadores y creadoras que desean llevar adelante ciertos proyectos sin aprender programación formal. Terminan siendo aptas entonces para un público destinatario muy vasto tanto en edad como en perfil.
Elementos de la programación con bloques
Los programas hechos con bloques cuentan con los mismos elementos que la programación formal: condicionales, bucles, variables etc. Cada uno de ellos se representa con un bloque de color distinto, como veremos en el siguiente ejemplo. Es un programa hecho en Scratch que hará que el personaje principal de la animación o videojuego que se está haciendo (un gatito en este caso), camine y que cuando se presione la tecla espacio, maulle.
Control
Los bloques de control y de eventos en Sratch son naranjas, en otros entornos podrán tener otro color. Tienen esa forma redondeada arriba. Estan hechos de esa manera para que no se les pueda encastrar ningún otro bloque arriba ya que siempre serán piezas que irán al comienzo de un programa o una porción de programa. Esto será así porque justamente inicializan el programa.
Bucle
Los bucles tienen forma de C. Particularmente en Scratch, también son naranja como los bloques de control ya que, al igual que estos, agrupan u organizan a otros comandos (los que están en su interior). Concretamente los bucles repiten la secuencia que tienen dentro. Si son bucles infinitos, la repiten infinitamente, si son bucles con parámetros las repiten un determinado número de veces. En el ejemplo se usa un bucle infinito, estos son muy comunes en los juegos ya que se necesita que el juego y sus dinámicas sigan andando a menos que la persona que juegue explícitamente abandone.
Condicionales
Los condicionales también tiene forma de C y también son naranja pues también agrupan u organizan a otros comandos (los que están en su interior). Concretamente los condicionales permiten que se lleve adelante la secuencia que tienen dentro sólo si se cumple con una condición, como su nombre indica. De modo que a la pieza en forma de C le encastraremos una en forma de rombo alargado que especificará la condición. Las condiciones deben ser algo que no se preste a ambiguedades y que la computadora pueda fácilmente verificar si se cumple o no. En el ejemplo la condición es que se esté tocando la tecla espacio.
Primitiva
Las primitivas en Scratch son de color azul o violeta. Ellas son la forma más básica de comando. A diferencia de las piezas de control, de los condicionales y los bucles ellas no agrupan ni organizan a ninguna otra función.
Para profundizar
Para interiorizarte más de la programación en bloques te recomendamos fuertemente realizar los desafíos de Pilas y Bloques.
Muchas computadoras de Punto Digital ya tienen instalado Pilas y Bloques, en caso de que no sea del caso en tu PD podés conseguirlo de manera gratuita acá. En cada desafio irás entendiendo un poco mejor los elementos que enunciamos anteriormente.
Si lo deseas, también podés animarte a realizar algún proyecto con alguna de las plataformas que mencionamos anteriormente.