Skip to main content

¿Qué es la programación por bloques?

La programación por bloques nos permite programar de forma gráfica, sin necesidad de conocer la sintaxis de un lenguaje de programación. Es ideal para comenzar a programar para el alumnado, puesto que permite descomponer el problema de la programación en dos subproblemas, y simplificar mucho uno de ellos:

  • Saber la lógica de la programación: esto supone entender el uso de entradas, salidas, variables y operadores.
  • Saber el lenguaje de programación: traducir el programa a un lenguaje que el ordenador pueda entender. Esto es lo que nos facilita la programación gráfica por bloques.

El lenguaje gráfico por bloques es un lenguaje sencillo de utilizar, nos evita tener en cuenta muchas librerías y cálculos.

Por ejemplo, la instrucción leer valor distancia el sensor ultrasonidos, mediante programación por bloques es 

leer-us.jpg

mientras que en código es

double distancia;

double fnc_ultrasonic_distance(int _t, int _e){
	unsigned long dur=0;
	digitalWrite(_t, LOW);
	delayMicroseconds(5);
	digitalWrite(_t, HIGH);
	delayMicroseconds(10);
	digitalWrite(_t, LOW);
	dur = pulseIn(_e, HIGH, 18000);
	if(dur==0)return 999.0;
	return (dur/57);
}

void setup()
{
  	pinMode(6, OUTPUT);
	pinMode(5, INPUT);

}


void loop()
{

  	distancia = fnc_ultrasonic_distance(6,5);

}

Como se puede ver en código, tiene que calcular la distancia haciendo cálculos del tiempo de rebote del eco, mientras que el gráfico es sumamente sencillo y se centra en el objetivo del algoritmo a crear, no en lo accesorio. Esto hace que un lenguaje gráfico por bloques se puede aplicar desde los 8 años.

Por otra parte, el lenguaje código tiene todo el potencial, es decir, no todo está en los lenguajes gráficos. Si se quiere cosas más avanzadas, hay que recurrir al código.

Un lenguaje gráfico se convierte en lenguaje código, pero al revés no se puede, debido a que el código es más depurado y no tiene la información necesaria para volver a su origen en bloques, ya lo has visto con el anterior ejemplo, el código tiene más información.

bloques-codigo.png
Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA

Una gran ventaja de la programación por bloques es que muchos de los programas que la utilizan son software libre o han basado su código fuente en el mismo código,  que es software libre y se encuentra liberado por sus autores. Esto se traduce en que nuestro alumnado al aprender una herramienta concreta se alfabetiza y se capacita para muchas otras sin saberlo.

Más información sobre la programación por bloques aquí