MIGUELTECNOLOGÍA

I.E.S. JOSÉ SARAMAGO (Humilladero)

Unidad 1: Programación por bloques

1. INTRODUCCIÓN

En el curso pasado estudiamos la programación por bloques con Scratch y con Makecode, que aunque son plataformas distintas, es fácil pasar de una a otra, ya que los bloques principales son similares. ¿Puedes identificar con qué plataformas se han realizado los siguientes programas por bloques? ¿Puedes explicar el funcionamiento de los mismos?

Existen otros métodos de programación más potente, basadas en texto como Java o Python que son difíciles de aprender, ya que hay que aprender toda una sintaxis propia de cada lenguaje.

En educación primaria y secundaria, se utiliza la programación por bloques por ser más sencilla y permite la introducción a la computación y a la programación a niños de todas las edades.

La programación por bloques es un tipo de programación en el que los comandos de basados en texto se agrupan en bloques preprogramados que se arrastran y sueltan para crear programas como animaciones y juegos.

1.1. Ventajas e inconvenientes de los lenguajes visuales

La programación por bloques fue diseñado por los científicos del MIT con el objetivo de hacer que la programación sea accesible para cualquiera que quiera aprender, aunque también tiene inconvenientes, como veremos:

VENTAJAS

INCONVENIENTES


2. PROGRAMACIÓN POR BLOQUES

Los lenguajes de programación por bloques actuales clasifican los bloques en categorías, utilizando un color distinto para los bloques de cada categoría.

En el caso de Scratch, existen 8 categorías:

Dentro de cada categoría existe una cantidad de bloques limitada, como vemos en el gráfico a continuación. Con estos bloques podemos hacer infinidad de combinaciones y por lo tanto, construir muchos programas distintos:

¿Recuerdas los bloques utilizados en el curso pasado y para qué servían?

2.1. Secuencia de instrucciones

A continuación vamos a estudiar los principales bloques de Scratch que nos van a servir a realizar cualquier programa.

Recuerda que todo programa tiene un inicio y un fin, que los bloques se ejecutan desde arriba hasta abajo y que existen bloques que pueden modificar el flujo del programa, como los bloques condicionales y repetitivos.

Además, en el curso pasado vimos que Scratch es un programa orientado a eventos, es decir, que responde a una entrada (Un botón, un sensor, etc.) y actúa en consecuencia con los bloques programados para dicho evento.

2.1.1. BLOQUES DE INICIO

Permiten poner en funcionamiento el programa, es el evento inicial. Hacen que comience un programa al hacer clic en la bandera de la pantalla, o al presionar una tecla determinada, o al hacer clic en un objeto o personaje de la pantalla, etc.

2.1.2. BLOQUES DE CONTROL DE FLUJO

En el curso pasado vimos que un programa informático responde a una serie de acciones ordenadas, con un inicio y un final:

Normalmente, los programas informáticos no son lineales, sino que son más complejos, gracias a los bloques de control de flujo que veremos a continuación:

BLOQUES DE CONTROL DE TIEMPO

Permiten modificar los tiempos de un programa, esperando una cantidad de segundos determinado, o esperando hasta que suceda algo (como pulsar una tecla) o deteniendo el programa.

BLOQUES DE REPETICIÓN

A veces el flujo de un programa repite la misma acción un determinado número de veces, esto se consigue con un bucle de repetición:

Con estos bloques podemos hacer que ciertas acciones se repitan un determinado número de veces o hasta que ocurra algo o para siempre, nos permite ahorrar bloques en la programación.

BLOQUES CONDICIONALES

Otras veces, el flujo de un programa se ve alterado por una condición, teniéndose que elegir entre dos o más caminos distintos, dependiendo de si una condición se cumple o no:

Estos bloques son los más importantes para todo programa, ya que deciden si hacer una acción u otra, previamente programadas. Esta es la base del funcionamiento de los robots.

Estos bloques son los más importantes para todo programa, ya que deciden si hacer una acción u otra, previamente programadas. Esta es la base del funcionamiento de los robots.

En el siguiente programa se emplean varios bloques de control de flujo, en primer lugar, hay un bloque de control de tiempo, que espera hasta que se escribe un número y se pulsa Enter. Luego, existe un bucle de repetición que escribe las diez líneas de la tabla de multiplicar.

¿Cómo se podría mejorar este programa?

En el siguiente programa se emplean varios bloques de control de flujo, en primer lugar, hay un bloque de control de tiempo, que espera hasta que se escribe un número y se pulsa Enter. Luego, existe un bucle condicional que elige la respuesta a mostrar, dependiendo de la entrada escrita.

ACTIVIDADES (1)