¿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 programar: esto supone entender la lógica de la programación, 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
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.

Imagen Federico Coca Notas sobre ESP32 STEAMakers CC-BY-SA
