
Cómo escribir un programa informático
¿Qué es un programa informático?
Un programa informático es una secuencia de instrucciones ordenadas escritas para realizar una tarea específica. Para escribir estas instrucciones se pueden utilizar diversos lenguajes de programación, en esta práctica se usará Java.
Siendo así, ¿cuál es el objetivo de esta práctica?
Mostrar al alumnado de 4º de ESO conceptos básicos para poder empezar a programar, llegando a crear un programa capaz de hacer mover un robot haciendo una forma de cuadrado y posteriormente un triángulo.

Figura 1: ejemplo del recorrido que debe seguir el robot
¿Cómo se debe realizar esta práctica?
MATERIALES INSTRUMENTALES:
-
Dispositivo en el cual se pueda programar (ordenador o móvil)
-
Dispositivo capaz de recibir y ejecutar las instrucciones creadas a partir del programa (mini sphero)
PROCEDIMIENTO EXPERIMENTAL:
-
Enseñar los diferentes tipos de sentencias:
-
for (var _i1 = 0; _i1 < a; _i1++) {
b
}
El programa, al entrar en esta sentencia llamada bucle for, lleva a cabo una serie de sentencias “b” hasta que la parte marcada en verde sea falsa, incrementando la variable _i1 en 1 cada vez que se ejecutan todas las sentencias dentro de los corchetes {}.
-
await roll(x, y, z); sirve para hacer mover el robot en una dirección, velocidad y tiempo determinados (donde “x” es la dirección en grados hacia donde se moverá el robot, “y” la velocidad comprendida entre -255 y 255 y “z” el tiempo que pasará haciendo esta acción).
-
await delay(z); sirve para esperar entre acción y acción, de manera que el robot no se desequilibre y lleve a cabo las acciones sin fallos (donde “z” es el tiempo que pasará haciendo esta acción).
-
get heading(); esta sentencia obtiene la orientación en ese momento del robot.
-
setHeading(y); sirve para marcar la dirección en la que se moverá el robot.
-
-
Se debe dejar claro que una sentencia puede estar dentro de otra; todas las variables antes mencionadas tienen que estar sustituidas por números enteros; se pueden usar los siguientes signos matemáticos: +, -, / y * (no se tiene porque usarlos); no se necesitan usar todos los tipos de sentencias y se pueden repetir y se tiene que intentar escribir el programa con el menor de líneas y sentencias posibles.
-
Crear un programa que sea capaz de dibujar un cuadrado seguido de un triángulo y ejecutarlo.
-
En el caso de que el programa no funcione, arreglar los fallos y volver a ejecutarlo hasta que funcione.
¿Qué resultados se deben obtener?
El programa que se debe obtener es el siguiente:
async function startProgram() {
for (var _i1 = 0; _i1 < 4; _i1++) {
await roll((getHeading() + 90), 60, 1);
await delay(1);
}
for (var _i1 = 0; _i1 < 3; _i1++) {
await roll((getHeading() + 120), 60, 1);
await delay(1);
}
}
O bien, de manera alternativa, se puede crear este programa equivalente:
async function startProgram() {
await roll(90, 60, 1);
await delay(1);
await roll(180, 60, 1);
await delay(1);
await roll(270, 60, 1);
await delay(1);
await roll(360, 60, 1);
await delay(1);
await roll(60, 60, 1);
await delay(1);
await roll(300, 60, 1);
await delay(1);
await roll(180, 60, 1);
await delay(1);
}
Figura 2: programa en funcionamiento
Si se programa de manera correcta, el robot realizará el movimiento deseado: se desplazará en forma de cuadrado y, posteriormente, en forma de triángulo.