MIGUELTECNOLOGIA

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

Tema 5: Introducción a la programación

1. INTRODUCCIÓN

A nuestro alrededor existen multitud de dispositivos electrónicos que usamos a diario: Teléfonos móviles, tablets, ordenadores, videoconsolas, smartTVs, etc. Dichos dispositivos funcionan mediante un conjunto de órdenes que les dice qué tienen que hacer en cada momento.; a este conjunto de órdenes se les llama programa.

Los programas se escriben en un lenguaje que pueda entender el dispositivo, llamado lenguaje de programación; existen multitud de lenguajes de programación, pero nosotros nos vamos a centrar en un lenguaje de programación  llamado Scratch, que es usado en todo el mundo para enseñar a programar a niños.

La programación ayuda a nuestro cerebro a pensar de una manera más estructurada y ordenada, lo que nos ayuda a potenciar el razonamiento lógico.

2. PROGRAMACIÓN POR BLOQUES

Los programadores informáticos emplean lenguajes de programación como C++ o Java, que son lenguajes que requieren mucho tiempo para aprenderlos. Los programas hechos con este tipo de lenguajes son difíciles de comprender y el resultado de los mismos sólo se puede ver cuando se ejecuta el programa.

Existen también entornos de programación por bloques, como Scratch, App inventor, Robolab, etc., que facilitan la programación al ser mas visuales, permitiendo ver el resultado del programa a medida que lo vamos realizando, como contrapartida, no podremos hacer programas muy elaborados.

Ventana de programación en lenguaje Python

2.1. Scratch

En este tema vamos a aprender a utilizar Scratch, que es un lenguaje de programación por bloques creado por el MIT (Instituto Tecnológico de Massachusetts), que permite crear programas de forma visual, añadiendo bloques que se conectan entre sí.

Podemos instalar Scratch en nuestro ordenador descargándolo de aquí: https://scratch.mit.edu/download

O podemos ejecutar Scratch online entrando en la siguiente dirección con nuestro navegador: https://scratch.mit.edu

La versión online del programa tiene las partes de la ventana cambiadas de sitio, como puedes ver en las siguientes imágenes.

En la página de Scratch podemos encontrar multitud de programas creados por personas de todo el mundo.

Cuando entramos en Scratch podemos ver una ventana como la siguiente, en la que se han indicado las distintas partes de la misma.

Ventana de Scratch con sus partes principales

Veamos el siguiente vídeo de introducción a Scratch 3.0

Actividades (1)

Contesta en tu cuaderno las siguientes preguntas, copiando los enunciados completos:

3. LOS PRIMEROS PASOS

Como hemos visto, en la ventana de ejecución de Scratch hay dos iconos: la bandera verde que hace que se inicie el programa y el botón rojo, que detiene la ejecución. Es conveniente comenzar nuestro programa siempre con la orden "al presionar la bandera verde", que se encuentra dentro de los bloques de eventos (color marrón).

En la pestaña de Programas Hay varias categorías de órdenes; al pulsar sobre una de ellas, se despliegan todas las órdenes correspondientes a esa categoría. Podemos ver lo que hace una orden pulsándola directamente.

Vamos a pulsar la categoría Movimiento (color azul oscuro) y vamos a elegir la orden  "mover (...) pasos", hasta conseguir un programa como el siguiente (Si se desea que el personaje ande más pasos, basta con cambiar la cantidad de pasos pulsando sobre el número):

Nuestro primer programa

En la categoría Movimiento también está la orden  "girar (...)grados", que permite que el gato gire sobre su eje una cantidad de grados determinados. 

También está la orden "apuntar en dirección (...)" que nos permite situar el gato en distintas posiciones.

Además, la orden "ir a x:(...) y:(...)" nos permite situar al gato en un punto concreto de la pantalla.

Actividades (2)

Abre Scratch y realiza las siguientes actividades.

3.1. Dibujando con Scratch

Podemos hacer que el personaje dibuje una línea mientras se desplaza, para ello hay que pulsar el icono de añadir extensión que se encuentra en la esquina inferior izquierda de la pantalla y elegir la extensión "Lápiz".

Al volver atrás, vemos que se ha creado una nueva categoría llamada Lápiz, con varios bloques verdes en su interior.

Veamos para qué sirven algunos de esos bloques:

Si ponemos el bloque "bajar lápiz" antes de mover, veremos que Scratch va dibujando una línea mientras se mueve.

Si queremos que el personaje deje de dibujar, hay que utilizar el bloque "sube lápiz".

La orden "sellar" hace que el personaje se quede dibujado en el lugar en el que se encuentra.

La orden "borrar todo" nos permite borrar todos los trazos hechos en la pantalla de Scratch; se suele incluir al principio de los programas para limpiar trazos de programas anteriores.

3.1.1. Cambiando las características del lápiz

Dentro de la categoría lápiz existen una serie de órdenes que permiten ajustar el grosor ("fijar el tamaño de lápiz a 1") y el color del lápiz ("fijar color de lápiz a ") para dibujos con distintas líneas. En el siguiente ejemplo hemos dibujado un triángulo equilátero con lados de grosor 5 y de tres colores distintos.

Observa como en el ejemplo anterior se han empleado las órdenes "subir lápiz", "borrar", "ir a x:-120 y:80" y "apuntar en dirección 90º" para que el programa siempre se inicie con la pantalla en blanco y con el gato situado en un punto concreto.

Veamos el siguiente vídeo donde se explica el uso del lápiz y se hace un pequeño programa para dibujar polígonos.

Actividades (3)

Abre Scratch y realiza las siguientes actividades.

3.2. Estructuras repetitivas

En los ejercicios anteriores hemos tenido que repetir varios bloques para conseguir dibujos con partes repetidas, como el triángulo o las líneas discontinuas.

Dentro de la categoría Control (color naranja) existen estructuras que permiten repetir los bloques que introduzcamos dentro: el bloque llamado "repetir (,,,)"  y el bloque llamado "por siempre".

En los siguientes ejemplos se ha empleado el bloque de repetición "repetir (4)" para dibujar un cuadrado sin definir lado por lado y en el segundo ejemplo, se ha utilizado el bloque de repetición "por siempre" para no tener que estar moviendo continuamente al personaje. (Si no has quitado el lápiz, se hace un dibujo muy chulo).

Otras estructuras repetitivas son: "repetir hasta que (...)", que repite hasta que pasa "algo", como pulsar una tecla, chocar contra el borde, etc. y el bloque "esperar hasta que (,...)", que espera hasta que pasa "algo". Programas muy utilizados en juegos con movimiento.

En los siguientes ejemplos podemos observar el funcionamiento de dichos bloques:

Actividades (4)

Abre Scratch y realiza las siguientes actividades. 

2. Dibuja una estrella multicolor de 36 puntas. Para ello, debes dibujar 36 veces un lado de longitud 120 y girar 170 grados para dibujar el siguiente. 

Añade el siguiente bloque para cambiar de color:

3. Dibuja una estrella de 12 puntas multicolor, que tenga 12 lados de longitud 110 y girará 150 grados en cada trazo. 

4. Crea un programa en el que el personaje gire 15 grados cada vez que se pulse la tecla g.

                         Actividad1                                                                               Actividad 2                                                                        Actividad 3

4. OPERADORES Y ESTRUCTURAS SELECTIVAS

Dentro de la categoría Operadores existen las operaciones matemáticas básicas +, -, *, /, números aleatorios y otras funciones para unir palabras.

Las estructuras selectivas se utilizan para tomar decisiones y hacer una cosa u otra dependiendo de si se cumple una condición o no.

Las condiciones básicas son "Si..." y "Si... , sino..." y están dentro de la categoría Control (color naranja) Veamos unos ejemplos para aclarar su uso:

El operador "modulo" nos da el resto de una división, por lo tanto podremos identificar los número pares si dividimos por 2 y el resto es 0.

También existen operadores para realizar operaciones con letras y palabras.

Para obtener un número al azar o "aleatorio" entre dos cantidades, se utiliza el siguiente bloque

Actividades (5)

Abre Scratch y realiza las siguientes actividades. 

1. Prueba los cuatro programas vistos anteriormente.

2. Crea un programa en el que te pregunte un número y luego te diga un número al azar entre 0 y el que tu has dicho.

3. Crea un programa que pregunte un número y te diga si es múltiplo de 10.

4. Con el programa de la derecha, se puede dibujar un círculo (realmente es un polígono de 72 lados). Amplia el programa para que dibuje 10 círculos de distintos colores en posiciones de la pantalla al azar.

5. OBJETOS Y ESCENARIOS

Scratch desarrolla historias en un escenario en el que se pueden incluir distintos personajes y objetos que pueden ser programados de forma individual.

5.1. Escenarios

El escenario es la zona donde se muestran los personajes y objetos, cada escenario lleva asociados sus propios fondos, sonidos y programas:


En el siguiente ejemplo se han incluido dos nuevos fondos llamados "castle1" y "castle2" de la biblioteca; mediante el siguiente programa se puede cambiar el fondo al pulsar las teclas 1 y 2.

5.2. Objetos

Los objetos son los personajes que podemos utilizar en nuestros programas de Scratch, al igual que los fondos, podremos elegirlos de la biblioteca, dibujarlos en el mismo programa, cargarlos desde el ordenador o desde una cámara web.

Y al igual que los escenarios, cada objeto lleva asociados sus propios disfraces, sonidos y programas:

En el siguiente ejemplo se ha realizado un programa para cada personaje, si presionamos la bandera de cada personaje, solo se moverá ese personaje, pero si presionamos la bandera verde de la ventana de ejecución, podremos ver cómo se mueven ambos personajes.

Actividades (6)

Abre Scratch y realiza las siguientes actividades.

1. Elige un personaje que tenga varios disfraces (por ejemplo el tiburón) y un escenario adecuado. Haz que se mueva por el escenario.

2. Crea una historia en el que dos personajes conversen entre sí, puedes sincronizar los diálogos utilizando el siguiente bloque que hace que un personaje espere un tiempo determinado.

3. Simula un personaje que pasa de una zona a otra de un juego, por ejemplo elige dos fondos de la categoría "ciudad"  y haz que el personaje se mueva hacia la derecha. Cuando toque el borde, cambia el fondo y haz que el personaje aparezca a la izquierda.

6. ANIMACIONES

Una animación consiste en crear la sensación de que el personaje se mueve, cambiando disfraz alternativamente, por eso la mayoría de los personajes de Scratch disponen de varios disfraces que podemos ver y editar en la pestaña disfraces.

6.1. Tamaño del personaje

En ocasiones también podemos conseguir la animación de un personaje cambiando su tamaño, así podemos crear el efecto de que el mismo se aleja o se acerca a nosotros.

6.2. Efectos en el personaje

Dentro de la categoría "Apariencia" se encuentra el bloque "cambiar efecto", que nos permite hacer cambios en el aspecto del personaje, como cambiar su color, verlo a vista de ojo de pez, pixelarlo, desvanecerlo, hacerlo más brillante, aplicarle un remolino, etc.

Actividades (7)

1. Utiliza el gato para dibujar una línea de 180 pasos. Tras cada paso cambiará de disfraz y esperará un segundo. Cuando termine, tu personaje deberá pensar "Esto es fácil" durante tres segundos.

2. Crea un programa en el que aparezca un personaje que se acerque y se aleje al caminar, cambiando de disfraz con cada paso.

3. Aplica una deformación de ojo de pez a tu personaje. Debes aplicar el efecto de 10 en 10, repetirlo 50 veces y hacer una pausa de 0.1 segundo entre una repetición y la siguiente.

7. VARIABLES

A veces necesitamos guardar un dato a lo largo de un programa, como la puntuación de un juego; en estos casos, Scratch dispone dentro de  la categoría Variables de unos  bloques que nos permiten crear variables a las que damos un nombre y que guardan datos durante el programa.

En el siguiente ejemplo se han usado dos datos " Respuesta1" y "Respuesta2" para guardar los dos números que nos preguntan.

Solo aparecen los bloques naranjas cuando creamos al menos una variable.

Los datos pueden ir cambiando durante la ejecución del programa, como en el siguiente ejemplo, en el que hemos creado una variable llamada lado cuyo valor inicial es 10, pero que se incrementa en 5 con cada paso del bucle, para ir incrementando el lado de la espiral cuadrada.

Actividades (8)

1. Prueba los dos ejemplos vistos antes.

2. Copia y ejecuta los siguientes juegos sencillos.

Juego 1: Intenta tocar el gato que se mueve aleatoriamente por toda la pantalla.

Juego 2: ¿Puedes adivinar el número en el que está pensando la hechicera? (Fíjate cómo hemos desactivado la variable "número secreto" para que no se vea en pantalla).

Muy bien, ya eres todo un programador o una programadora de juegos, ¿Ahora, porqué no pruebas uno de los siguientes hechos con Scratch?:

CRITERIOS DE EVALUACIÓN SEGÚN CURRÍCULO DE EDUCACIÓN DE ANDALUCÍA (LOMCE)

3.1.  Conocer y manejar de forma básica un entorno de programación gráfico.

3.2.  Adquirir las habilidades y conocimientos necesarios para elaborar programas que resuelvan problemas sencillos, utilizando la programación gráfica.

4.3. Elaborar programas gráficos para el control de sistemas automáticos básicos y/o robots básicos.