Unidad 2 Programación
Unidad 2 Programación
Unidad 2 Programación
Programación
Día a día en el aula. UNIDAD 2: Programación
Enseñanza individualizada . . . . . . . . . . . . . . . . . . . . . . . 64
Refuerzo y apoyo
• Ficha 1. Coordenadas en la ventana de dibujo de Processing. . . . . . . . . . 64
Profundiza en...
• Ficha 2. ¿Para qué sirven los diagramas de flujo?. . . . . . . . . . . . . . . . . . 66
• Ficha 3. Instalar librerías en Processing. . . . . . . . . . . . . . . . . . . . . . . . . 68
Soluciones de las fichas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
60 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
Recursos para la evaluación de contenidos . . . . . . . . 73
Autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Estándares de aprendizaje y soluciones . . . . . . . . . . . . . . . . . . . 76
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 61
2
PRESENTACIÓN Y PROGRAMACIÓN DE AULA
PROGRAMACIÓN
OBJETIVOS
1. Conocer el lenguaje de programación de código abierto 4. Aplicar bucles para repetir instrucciones en programación.
Processing. 5. Aprender a controlar un programa con el ratón.
2. Saber dibujar objetos con Processing: puntos, líneas, cuerpos 6. Saber cómo manipular imágenes ya existentes en el
geométricos…, y escribir texto usando la ventana de dibujo. ordenador o generadas previamente.
3. Dominar el uso de las variables, las funciones aritméticas y 7. Construir un videojuego programado de forma modular.
las funciones de programación principales de Processing.
CONTENIDOS
SABER SER • Ser cauteloso al proporcionar información personal cuando nos bajamos un programa
de código libre.
• Tomar medidas de seguridad a la hora de navegar por Internet o usar el correo electrónico.
• Valorar el papel del ordenador en general, y de los lenguajes de programación.
62 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
COMPETENCIAS QUE SE TRABAJAN
• La competencia matemática tiene un papel de forma específica en el documento del final de la
destacado en toda la unidad. Para dibujar en Processing unidad acerca del control que ejercen nuestros
hace falta manejar las coordenadas cartesianas. teléfonos móviles sobre nosotros.
Además, se trabaja con distintos elementos y formas • La competencia de conciencia y expresión
geométricas que el alumno ha de conocer previamente, artística se trabaja a la hora de dibujar con Processing.
por lo que debe existir una relación entre las materias El alumno debe conocer la teoría necesaria para
de Matemáticas y Tecnología. También se usan hacerlo, pero también debe expresar su creatividad a la
operadores lógicos. hora diseñar la práctica, elegir entre la gama de colores
• La competencia lingüística se debería trabajar en y combinarlos, dibujar formas libres…
todos los programas de la unidad, ya que se les sugiere • La competencia científica y la de aprender a
que escriban comentarios explicando qué hace cada aprender se tratan en la comparación que se hace
sentencia. De esta forma son más fácilmente de un programa y su diagrama de flujo. En esta unidad
comprensibles y modificables para otras personas. se muestra esta útil técnica a la hora de programar.
Además, se trabaja la comprensión lectora y escrita
CRITERIOS DE EVALUACIÓN
1. Explicar de qué es capaz el lenguaje de programación 4. Formular programas que se controlen con los movimientos
Processing. y los botones del ratón.
2. Dibujar elementos y formas geométricas con Processing. 5. Completar programas realizando alguna modificación.
Escribir en Processing. 6. Desarrollar un programa que permite crear un videojuego
3. Definir variables y aplicar funciones y bucles en un de una manera sencilla en Processing.
programa.
ESQUEMA DE LA UNIDAD
Programación
Bucles y Trabajar
Textuales Algoritmos Variables Funciones
condicionales con imágenes
Gráficos
int size () for
float draw () while
… setup () if-else
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 63
2
REFUERZO
En la ventana de dibujo de Processing, cada punto ocupa una coordenada cartesiana, es decir,
todo punto se determina por unas coordenadas (x, y).
DIBUJAR LA VENTANA
1. Dibuja una ventana de 600 píxeles de ancha por 5. Dibuja en Processing los 4 puntos que aparecen
400 píxeles de alta: en la imagen.
size (600,400); //600 × 400 píxeles.
2. Recuerda que todas las sentencias en Processing deben
terminar con un punto y coma (;).
• •
• •
64 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
FICHA 1
3. Vamos a dibujar, en lugar de puntos, pequeñas 5. Ahora dale color a los puntos.
circunferencias de 5 píxeles de radio. 6. Para colorear el contorno de la circunferencia
4. Para dibujar las circunferencias, utiliza la sentencia: utilizar la sentencia:
ellipse (x,y, ancho,alto); stroke (0,0,0);
Donde las coordenadas x, y marcan la posición, y 7. Para el relleno utiliza la sentencia:
las coordenadas ancho y alto determinan el tamaño. stroke (0,0,0);
ellipse (100,100, 5,5); 8. Escribe esta sentencia antes de cada elipse con
ellipse (500,100, 5,5); los números RGB correspondientes.
ellipse (100,300, 5,5);
ellipse (500,300, 5,5);
10. Ejecútalo.
11. Debe mostrar una imagen como esta:
CUESTIONES
1 Dibuja líneas que unan los «puntos» hasta completar el 3 Dibuja un rectángulo concéntrico al anterior y rellena
rectángulo. cada uno de un color
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 65
2
PROFUNDIZA EN…
Observa los siguientes organigramas. El primero de ellos corresponde a un programa que permite calcular
la nota media de un alumno a partir de un número no determinado de notas individuales. En el segundo
se ha completado el organigrama para el caso de un programa más completo en el que, tras calcular
la nota de un alumno, se pregunta si se quiere realizar otro cálculo:
1 Inicio 2 Inicio
G
F
F
C = 0 C = 0
F
F
Suma = 0 Suma = 0
F
F
N.º notas, NN N.º notas, NN
F
F
F Nota, N F Nota, N
F
F
C = C + 1 C = C + 1
F
Suma = Suma + N Suma = Suma + N
F
Sí Sí F
C = NN F Media = Suma / N F Media C = NN Media = Suma / N F Media
F
No No
F
Más Sí
F
cálculos
No
F
Stop
CUESTIONES
66 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
FICHA 2
4 Modificar un organigrama.
Observa el primer organigrama e indica las modificaciones necesarias para:
a)
Mostrar un mensaje de error (por pantalla) si se introduce un número de notas menor que cero.
b) Mostrar un mensaje de error (por pantalla) si se introduce alguna nota menor que cero.
c) Imprimir la nota media por impresora en lugar de por pantalla.
d) Imprimir la nota media por pantalla y por impresora.
e) Indicar al final del proceso, junto a la nota media, si el alumno está aprobado o no (se considerará aprobado
si la nota media es igual o mayor que 5).
6 Comparar organigramas. En una academia de informática se propone a los alumnos que elaboren
un organigrama para la siguiente tarea: calcular el mayor de tres números introducidos por el teclado.
Los alumnos proponen los siguientes:
Introducir n.º, B
Sí Sí Sí
A>B F A>C F A A<B F A
F
Introducir n.º, C
No No No
F
F
G
F
Sí Sí
B>C F B B<C F C
Sí
A>B F A
No No
F
No
F
C B
Sí
A>C F A
No
F
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 67
2
PROFUNDIZA EN…
FICHA 3
CUESTIONES
1 Instala la librería Arduino (Firmata) y, con las instrucciones de la web de Arduino, crea un programa capaz
de encender un led en Arduino directamente en el código de Processing.
68 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
2 SOLUCIONES DE LAS FICHAS
1 a) N C = 10
b) C=C+1
C = NN C=C+1
c)
2 a) Tercer proceso: N.° notas, NN.
b) Séptimo proceso: Media = Suma/N.
c) Sí
Media C = 40 Fin
d) Cuarto proceso: «Nota, N» Nota, N
3 a) No. Porque se asigna el valor cero a la variable C No
al comienzo del programa.
b) Para borrar la información anterior almacenada
en la variable C. Sí
C = impar Imprimir
c)
Un rectángulo con bordes redondeados.
d) Un rombo.
No
4 a) Después del procedimiento «N.° de Notas, NN», se
introduce una estructura de decisión que comprueba si
NN < 0. Si la respuesta es «Sí» se ejecuta el
procedimiento de error, y si es «No» se continúa con el
procedimiento «Nota, N».
b) Después del procedimiento «Nota, N», se introduce una
estructura de decisión que comprueba si la variable N
es menor que cero (N < 0).
Si la respuesta es «Sí» se ejecuta el procedimiento
de error, y si es «No», se continúa con el procedimiento
«C = C + 1».
c)
Después del procedimiento «Media = Suma/N», sigue un
procedimiento que es «imprimir Media»
d) Después del procedimiento «Media = Suma/N», sigue un
procedimiento que es «imprimir Media» y presentar por
pantalla.
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 69
2 SOLUCIONES DE LAS FICHAS
c) Inicio e) Inicio
Area = B · H/2
X=X+1
Sí Fin
No Sí f) Inicio
Y<N Y=N Imprimir “N es múltiplo de 11” Fin
Introducir días, D
No
d) Inicio
Segundos = Minutos · 60
Introducir N, N Minutos
Segundos
X=0
g) Estructuras de decisión aparecen en b), c), d);
y contadores en b), c), d).
6 El organigrama correcto es el número 1. Debe modificarse
X=X+1 el 2 porque C puede ser mayor que A y se descarta A sin
compararla con C. También el número 3, porque está mal
planteada la segunda estructura de decisión, de manera que
selecciona el número menor.
Y=N.X
Sí
No Sí
Y < 60 Y = 60 Imprimir “N es divisor de 60” Fin
No
70 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
2
EVALUACIÓN
AUTOEVALUACIÓN
a) rect (20,20,100,60,20);
b) rect (20,20,100,60);
c) ellipse (20,20,100,60);
1 c; 2 b; 3 c; 4 a; 5 a; 6 b; 7 b; 8 d; 9 c; 10 d.
d) ellipse (20,20,100,60,20);
SOLUCIONES
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 71
2
EVALUACIÓN
EVALUACIÓN DE CONTENIDOS
1 Describe con un diagrama de flujo el algoritmo a seguir 3 Indica qué acción realizan las funciones del ejercicio
desde que te levantas hasta que sales de casa para ir anterior.
al colegio. a)
b)
c)
d)
size (400,400);
2 Detecta los errores en las siguientes sentencias background(255,255,255);
de Processing y escríbelas correctamente:
fill (255,0,0);
a) Background (255,255,255); triangle (200,50,100,150,300,150);
fill (255,255,255);
rect (100,150, 200,150);
fill (105,60,15);
rect (175,230, 50,70);
b) line (0,0, 255,255)
fill (75,150,255);
rect (225,170, 60,40,5);
line (255,170,255,210);
line (225,190,285,190);
c) POINT (50,50);
72 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
5 Observa los siguientes esquemas: 6 Escribe un programa en Processing que te permita
dibujar algo parecido a lo que aparece en la imagen:
while
No
Condición
Sí
Instrucciones
for
i50
Instrucciones
i5i11
Condición Sí
i , 10
No
• Utiliza las coordenadas del ratón (mouseX,
a) ¿Qué representan? mouseY) para dibujar sobre la pantalla de Processing.
• Utiliza el bucle if para cambiar la intensidad del color.
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 73
2
EVALUACIÓN
Coger la mochila
Salir de casa
Esperar Sí
¿Vas en autobús?
el autobús
No
Caminar
Llegar al colegio
74 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
5 Respuesta: 6 Programa:
a) Los esquemas son diagramas de flujo que representan int azul = 0;
bucles. //Declaramos la variable “azul”.
b) El primer diagrama corresponde a un bucle while. Se
int incremento = 1;
utiliza para repetir un bloque de instrucciones hasta que
//Declaramos el “incremento”.
se cumpla una condición. Por ejemplo, que alguien pulse
un botón. void setup() {
El segundo diagrama de flujo representa un bucle for. s
ize (400,400);
Se utiliza para repetir una o más instrucciones un número //Ventana de 400 × 400 píxeles.
determinado de veces.
La sentencia for consta de tres partes dentro de los n
oStroke();
paréntesis: //No pintar los bordes.
• byte i = 0; declara la variable de iteración y la b
ackground (102,205,170);
inicializa a cero. //Fondo de color verde.
• i < 10; es la condición de control. El bucle se
}
ejecutará mientras esta condición sea verdadera.
• i = i + 1; después de cada iteración void draw() {
incrementamos en uno la variable.
azul = azul + incremento;
//Cambiamos un poco el azul.
i
f (azul > 255){
//Cuando llegue al máximo.
incremento = —1;
//Cambiamos el incremento.
}
i
f (azul < 0){
//Cuando llegue al mínimo.
incremento = 1;
//Cambiamos el incremento.
}
f
ill (0,0,azul);
//Selección del color de relleno.
r
ect(mouseX,mouseY,100,5);
//Pintar un rectángulos.
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 75
2
EVALUACIÓN
76 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
1 ¿Cuál era el objetivo del inventor de Processing b) Escribe el código del programa correspondiente a la
al comenzar el proyecto? figura.
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 77
2
EVALUACIÓN
Competencia que
Criterio Estándares de aprendizaje Actividades
se trabaja
1 Casey Reas, uno de los inventores de Processing, comenzó b) El código del programa sería el siguiente:
a trabajar en un nuevo lenguaje de programación con el
objetivo de unir el mundo de la tecnología con el arte.
size (640, 360);
2 Processing cuenta con una sintaxis que cualquiera puede background (0);
entender y cuyos resultados son inmediatos. Así, con una noStroke ();
sola línea de código se puede crear una figura geométrica
y solo se necesita teclear otra línea de comandos para crear fill (204);
una interacción con ella. Por tanto, se trata de un lenguaje triangle (18,18, 18,360, 81,360);
de programación muy sencillo para artistas y creadores,
con resultados muy visuales. fill (102);
3 Los creadores de arte generativo, al tratarse de obras de arte rect (81,81, 63, 63);
generadas con computadoras, comparten la autoría con la
máquina. fill (204);
quad (189,18,216,18,216,360,144,360);
4 a) Para elaborar el dibujo que aparece debajo del texto
necesitamos las siguientes sentencias: fill (255);
size (x, y); ellipse (252,144,72, 72);
fill (R,G,B, t);
fill (204);
triangle (x1,y1, x2,y2, x3,y3); triangle (288,18,351,360,288,360);
rect (x,y, ancho, alto, radio);
fill (255);
quad (x1,y1, x2,y2, x3,y3, x4,y4);
arc (479,300,280,280,PI,TWO_PI);
ellipse (x,y, ancho, alto);
arc (x1,y1,x1,y2,rad1,rad2); c) Cada alumno o alumna debe abrir Processing en su
ordenador y ejecutar el código para comprobar el
correcto funcionamiento del programa. Si el resultado no
es el esperado, deberá buscar posibles errores en el
código y corregirlos.
78 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
5 Después de haber leído el texto, los alumnos habrán
aprendido que el arte generativo se basa en la utilización
de un sistema de reglas para crear obras de arte por
ordenador.
Así, a diferencia del arte convencional, donde el artista es el
creador absoluto de la obra, en el arte generativo (o GenArt),
el artista es coautor de la obra junto con el sistema. El artista
puede seleccionar la versión final de la obra de acuerdo con
su gusto, ya que descartar una obra y comenzar de nuevo es
una tarea muy sencilla.
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 79
2 SOLUCIONARIO DEL LIBRO DEL ALUMNO
Saca el libro
¿Está encendido No Enciende y el cuaderno para
el ordenador? el ordenador la nueva asignatura
Sí
Abre el navegador
No
Teclea el algoritmo
y pulsa ENTER
Fin de algoritmo
80 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
4 5 Respuesta modelo.
Multiplicar 325 × 13
size (200,200);
//Ventana de 200 × 200 píxeles.
Coloca el número background (0,128,128); //Color de fondo.
que tiene menos 325 stroke (255,0,0); //Color de contornos.
cifras bajo el que ×13 point (100,100); //Dibuja un punto.
tiene más y traza point (100 ,50);
una línea bajo estos: line (0,0, 100,100); //Dibuja una línea.
line (100,100, 200,200);
➀ line (100,50, 100,150);
325
Multiplica 3 por las
×13
unidades:
5
Sí
➀
Multiplica 3 por las 325
decenas. Después, ×13
suma las que te
llevas: 75
325
Multiplica 3 por las
×13
centenas:
975
Repite para el 1.
Multiplica 1 por 325. 325
Coloca el producto ×13
debajo del anterior 975
dejando un hueco a
325
la derecha:
325
×13
Suma los productos
975
obtenidos:
325
4225
4225
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 81
2 SOLUCIONARIO DEL LIBRO DEL ALUMNO
6 Respuesta modelo.
size (400,220); //Ventana de 400 × 220 píxeles.
background (255,255,255); //Color de fondo blanco.
stroke (0,0,255); //Color de contorno azul.
fill(0,0,0,0); //El valor final cero indica que es completamente transparente.
ellipse (80,80, 100,100); //Dibuja un círculo.
stroke (0,0,0); //Color de contorno negro.
ellipse (200,80, 100,100); //Dibuja un círculo.
stroke (255,0,0); //Color de contorno rojo.
ellipse (320,80, 100,100); //Dibuja un círculo.
stroke (255,255,0); //Color de contorno amarillo.
ellipse (140,140, 100,100); //Dibuja un círculo.
stroke (0,255,0); //Color de contorno verde.
ellipse (260,140, 100,100); //Dibuja un círculo.
82 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
stroke (0,255,0); //Color de contorno verde.
fill(0,255,0,255); //Relleno verde anillo.
ellipse (260,140, 100,100); //Dibuja un círculo.
fill(255,255,255,255); //Relleno blanco.
ellipse (260,140, 85,85); //Dibuja un círculo.
El inconveniente de este modelo es que el interior de los anillos no es transparente. Para conseguir esto, deberíamos
hacer un bucle y construir circunferencias desde la más exterior hasta la más interior.
7 Solo tendríamos que modificar el tamaño: alto y ancho de la elipse, dentro del bloque draw(). Por ejemplo:
ellipse (mouseX,mouseY,50,50); //Radio 50.
8 for (byte i=0; i>1; i= i-2) { }
9 Para cambiar el tamaño de la ventana, tenemos que modificar la sentencia size. Por ejemplo:
size (640,320); //Ventana de 640-320 píxeles.
10 Para hacer que la serpiente cambie de tono, tenemos que modificar la sentencia fill:
fill (rojo, 0,0)
Ten en cuenta que ahora debes definir la variable «rojo» en lugar de la variable «verde»:
int rojo = 0; //Declaramos la variable “rojo”.
int incremento = 1; //Declaramos el “incremento”.
void setup(){
size (400,400); //Ventana de 400 x 400 píxeles.
noStroke(); //No pintar los bordes.
background (240,240,10); //Fondo de color amarillo.
}
void draw(){
rojo = rojo + incremento; //Cambiamos un poco el verde.
if (rojo > 255){ //Cuando llegue al máximo.
incremento = -1; //Cambiamos el incremento.
}
if (rojo < 0){ //Cuando llegue al mínimo.
incremento = 1; //Cambiamos el incremento.
}
DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L. 83
2 SOLUCIONARIO DEL LIBRO DEL ALUMNO
if (crono > 1000 && crono < 1500) ambar(); 21 Respuesta libre.
if (crono > 1500 && crono < 2500) rojo(); 22 Respuesta libre.
if (crono > 2500) time = millis();
//Reiniciamos el tiempo.
}
13 Actividad práctica.
14 Respuesta abierta.
15 Actividad práctica.
16 Respuesta abierta.
17 Respuesta abierta.
84 DÍA A DÍA EN EL AULA TECNOLOGÍA 4.º ESO Material fotocopiable © Santillana Educación, S. L.
NOTAS