// Tecnología · 3º ESO · Colegio Reina Sofía · Totana

Programación y
Pensamiento Computacional

Unidad 6 — Domina el proceso de programación, Scratch, App Inventor, diagramas de flujo e inteligencia artificial.

⚙️ Scratch y Programación
📱 App Inventor
🤖 IA y Máquinas Inteligentes
📝 Test de autoevaluación
1.1

¿Qué es programar?

Definición fundamental

PROGRAMACIÓN

Escribir líneas de código (instrucciones) para crear un programa o aplicación que resuelva un problema o satisfaga una necesidad. Se usa un lenguaje artificial diseñado para dar instrucciones a una máquina con microprocesador.

ENTORNO DE DESARROLLO (IDE)

Herramienta que permite escribir instrucciones, compilarlas, traducirlas a código máquina y ejecutar el programa. Ejemplos: Visual Studio Code, Scratch, App Inventor.

💬
Existen muchos lenguajes de programación

JavaScript, Java, Python, C++, Visual Basic… Cada uno tiene su propio vocabulario y sus reglas. La elección correcta depende del objetivo: un videojuego, un antivirus y un coche autónomo requieren enfoques distintos.

1.2

El proceso de programación

4 pasos obligatorios — siempre en orden
1

Definir el problema / identificar la necesidad. Tener claro exactamente cuál es el problema, los datos disponibles y cómo se presentará la solución.

2

Analizar y resolver el problema. Investigar cómo hacer que la máquina trabaje con los datos. Elegir el lenguaje de programación adecuado y estudiar los parámetros, operaciones y algoritmos necesarios. Representar la lógica en un diagrama de flujo.

3

Programar. Usar el lenguaje elegido para escribir el código real.

4

Comprobar y depurar. Verificar que el programa cumple los requisitos del paso 1. Corregir los errores (bugs). ¡Compartir si funciona!

1.3

Algoritmos y diagramas de flujo

Conceptos clave

ALGORITMO

Conjunto finito y ordenado de pasos que resuelve un problema. Debe tener un inicio y fin claros, y cada paso debe ser inequívoco.

DIAGRAMA DE FLUJO

Diagrama visual que representa un algoritmo mediante formas estandarizadas conectadas por flechas.

Herramienta recomendada: Flowgorithm (gratuita, online) — dibuja el diagrama de flujo y genera automáticamente código en varios lenguajes.

Símbolos del diagrama de flujo
FormaSignificado
ÓvaloInicio / Fin
RectánguloProceso / acción
ParalelogramoEntrada / Salida
RomboDecisión (Sí / No)
FlechaFlujo de control
🛒
Ejemplo de problema

Una tienda vende manzanas a 1,20 €/kg. Descuento del 10 % si supera los 3 kg. Calcular precio total. → Datos, Operaciones, Resultado.

1.4

Programar con Scratch

Interfaz de Scratch — zonas principales

Escenario

Lienzo de 480 × 360 px donde ocurre la acción. Centro de coordenadas en (0,0).

Objetos (Sprites)

Personajes u objetos en el escenario. Cada uno tiene sus propias rutinas (código).

Fondos

Imágenes de fondo del escenario. Elige de la biblioteca o crea los tuyos propios.

Paleta de bloques

Bloques organizados por categoría con código de color: Movimiento, Apariencia, Sonido, Eventos, Control, Sensores, Operadores, Variables.

Panel de disfraces

Cada Objeto puede tener varios disfraces para crear efectos de animación.

Área de scripts

Arrastra y suelta bloques aquí para escribir las rutinas del programa.

1.5

Componentes de un programa en Scratch

Bloques de construcción de cualquier programa

VARIABLES

Contenedores que almacenan datos — números, nombres, texto — utilizados a lo largo del programa. En Scratch: Crear una variable en la paleta Variables.

OPERADORES

Realizan operaciones aritméticas (+, −, ×, ÷), generan números aleatorios y comprueban si los datos son correctos (comparaciones, lógica booleana).

SENTENCIAS CONDICIONALES

Ejecutan un conjunto de instrucciones solo cuando se cumple una condición. Se encuentran en la pestaña Control. Estructura: si … entonces … si no …

BUCLES

Repiten un conjunto de instrucciones un número determinado de veces o hasta que se cumpla una condición. Tipos: repetir n veces, por siempre, repetir hasta que.

🐠
Ejemplo resuelto — "Limpiando nuestros océanos"

Un juego donde un buzo recoge plástico mientras evita a un tiburón. Requiere: un fondo (océano), 3 objetos (Buzo, Tiburón, Plástico), un bucle por siempre para el tiburón, condicionales para detectar colisiones y una variable para la puntuación.

🍎
Ejemplo resuelto — "Cinco al día"

Juego de captura con un Gato, Frutas y Tartas que caen, una variable puntuación, una lista CestaFrutas para registrar los objetos recogidos, y rutinas para control por teclado, cambio de disfraz, puntuación y fin del juego.

🌐
Acceso a Scratch

scratch.mit.edu — gratuito, basado en navegador, sin instalación. Inicia sesión para guardar y compartir proyectos.

2.1

¿Puedes programar para un teléfono móvil?

Visión general de App Inventor

APP INVENTOR

Herramienta online gratuita del MIT para diseñar y desarrollar apps para dispositivos Android. El enfoque de programación es por bloques, muy similar a Scratch. Accede en ai2.appinventor.mit.edu

Ventana de diseño — 7 zonas
#ZonaFunción
1Barra de menúGestionar proyectos, cambiar idioma
2Barra de ventanaNombre del proyecto, controla ventanas
3PaletaComponentes para construir la app (por categoría)
4VisorVista previa del diseño en pantalla
5ComponentesLista de elementos añadidos a la app
6MultimediaCargar imágenes, audio y vídeo
7PropiedadesFuente, ubicación, fondo, imagen…
Ventana de programación — 3 zonas

BLOQUES INTEGRADOS

Todos los bloques de programa organizados por tipo: Control, Lógica, Matemáticas. Con código de color como Scratch.

ÁREA DE TRABAJO

Arrastra y combina bloques aquí para escribir la lógica del programa.

PAPELERA

Arrastra bloques aquí para eliminarlos.

📲
Cómo instalar tu app

Compilar → Generar código QR (.apk) → escanear con tu móvil Android usando la app MIT AI2 Companion. Sin cables.

2.2

Ejemplos resueltos

Programa 1 — "Mi granja de animales"
1

Problema: Crear una app sencilla para niños que muestre una granja. Cada animal emite su sonido al ser tocado.

2

Diseño: Un Lienzo (como el Escenario de Scratch). Dos ImagenSprite (Oveja, Gallina). Fondo: Granja.jpg. Archivos de sonido: beee.mp3, clo.mp3.

3

Bloque clave: cuando ImagenSprite1.Tocado → hacer llamar Sonido1.Reproducir

4

Prueba: Comprobar, corregir errores. Instalar con Compilar → código QR.

Programa 2 — "Conoce tu región"
1

Problema: Un juego de preguntas que muestra monumentos famosos de la región. 4 botones de respuesta y un botón Siguiente.

2

Componentes clave: Imagen1 (foto del monumento), EtiquetaPregunta (texto de la pregunta), ArregloHorizontal1 (fila de botones), etiqueta AciertosErrores (retroalimentación), botón Siguiente.

3

Variables usadas: listaPreguntas (lista ordenada), listaRespuestas, listaImagenes, numPregunta (registra la pregunta actual).

4

Lógica del botón Siguiente: Borrar texto AciertosErrores → incrementar numPregunta → si es el final de la lista, volver a 1 → actualizar la etiqueta Pregunta y la Imagen.

💡
Concepto clave de App Inventor: Listas

Las listas almacenan datos ordenados. Usa seleccionar elemento de lista … índice … para recuperar un elemento concreto. Las listas son esenciales para apps de preguntas, bases de datos y catálogos.

3.1

Diseño 3D por ordenador con BlocksCAD

BlocksCAD — modelado 3D por programación

Herramienta gratuita basada en navegador (blockscad3d.com/editor) que usa bloques para diseñar piezas 3D — exportables directamente para impresión 3D. Une la lógica de programación con la fabricación física.

PRIMITIVAS

Formas básicas: esfera, cilindro, cubo. Se combinan con operaciones booleanas (unión, diferencia, intersección).

BUCLES EN 3D

Usa bucles de repetición para generar matrices de objetos — por ejemplo, 10 moldes de epoxi para LED espaciados automáticamente.

RENDERIZAR

Haz clic en Renderizar para ver el objeto 3D final. Exporta como .STL para impresión 3D.

🔦
Ejemplo resuelto: molde de epoxi para LED

Cilindro base (r=2,9, h=1,0) → restar cubo desfasado para la ranura → añadir cilindro central → incorporar esfera (r=2,5, z=6,2). El programa usa operaciones difference() y union() — la misma lógica que los condicionales en código.

3.2

Resolver problemas con diagramas de flujo (Flowgorithm)

Del problema al diagrama de flujo y al código
D

Datos: ¿Qué entradas necesita el algoritmo?

O

Operaciones: ¿Qué cálculos o decisiones son necesarios?

R

Resultado: ¿Cuál debe ser la salida?

🛒
Problema de la frutería

Precio 1,20 €/kg. Descuento del 10 % si >3 kg. El diagrama de flujo tiene un rombo de decisión: "¿peso > 3?" → la rama SÍ aplica el descuento, la rama NO no lo aplica.

// Flowgorithm genera automáticamente esta lógica Entrada peso total = peso * 1.20 Si peso > 3 Entonces descuento = total * 0.10 Si no descuento = 0 Fin si total = total - descuento Salida "Total: €", total

Flowgorithm permite ejecutar el diagrama paso a paso Y exportarlo como Python, Java, C++, etc. — un excelente puente entre la lógica visual y el código de texto.

3.3

Simulación del control de una pandemia en Scratch

Scratch avanzado — clones, listas y recogida de datos

Simulación de la propagación de una pandemia con el bloque crear clon de… de Scratch, una variable de datos llamada infecciones y un cronómetro para medir la tasa de infección en el tiempo.

OBJETOS NECESARIOS

Sano, Infectado, Línea, Rastreador — cuatro objetos con distintos disfraces.

LÓGICA DE CLONES

Crear 50 clones (gatitos). Si un clon Sano toca a uno Infectado → crear nuevo clon Infectado, infecciones += 1.

LISTA DE DATOS

Una lista llamada datos registra las infecciones cada 2 segundos. Exportar a hoja de cálculo para análisis.

VARIABLES

infecciones (contador entero), cronómetro (temporizador integrado de Scratch). Condición: mascarilla o sin mascarilla cambia la probabilidad de infección.

📊
Por qué importa esto

Esto es modelado computacional — el mismo principio que usan los científicos para modelar epidemias reales. Cambiar la condición de mascarilla equivale a modificar un parámetro en un modelo científico real. Los datos recogidos pueden analizarse en Google Sheets o LibreOffice Calc.

4.1

Inteligencia artificial: el contenedor inteligente

¿Qué es la Inteligencia Artificial?

INTELIGENCIA ARTIFICIAL (IA)

La inteligencia que poseen las máquinas: la capacidad de percibir su entorno, razonar, comunicarse y aprender. Los programas de IA no saben exactamente qué hacer con los datos — deben descubrirlo por sí mismos aprendiendo patrones a partir de ejemplos.

APRENDIZAJE AUTOMÁTICO

Una rama de la IA donde el ordenador aprende a partir de ejemplos etiquetados en lugar de seguir reglas fijas. Se usa en reconocimiento de imágenes, traducción automática y filtros de spam.

APRENDIZAJE PROFUNDO

Un tipo de aprendizaje automático con redes neuronales (capas de algoritmos inspirados en el cerebro humano). Impulsa los asistentes virtuales y los vehículos autónomos.

IoT (Internet de las Cosas)

Objetos cotidianos equipados con sensores que envían datos a la nube. Termostatos inteligentes, contenedores de residuos conectados, dispositivos portátiles.

CONTENEDOR ECO-IoT

Un proyecto real: contenedores inteligentes que usan IA + IoT para predecir el volumen de residuos y optimizar las rutas de recogida, reduciendo el consumo de combustible y la contaminación.

4.2

Enseñar a un ordenador a clasificar residuos

Proyecto de ML con machinelearningforkids.co.uk
1

Elegir el tipo de entrada: texto, imágenes, números o sonidos. Para el clasificador de residuos, elige texto.

2

Crear etiquetas (clases): p. ej. "Papel", "Plástico", "Vidrio", "Orgánico", "General". Son las categorías que aprenderá la IA.

3

Añadir datos de entrenamiento: Escribe tantos ejemplos de cada tipo como puedas. Intenta tener un número similar de ejemplos por etiqueta.

4

Entrenar el modelo: Haz clic en Entrenar. El algoritmo encuentra patrones en tus ejemplos.

5

Aprender y probar → Crear: Prueba con nuevas entradas. Si el modelo falla, añade más datos de entrenamiento para esa clase y vuelve a entrenar.

6

Importar a Scratch: Aparecen nuevos bloques de ML en la paleta. Úsalos en tu juego para clasificar residuos en tiempo real.

🌍
Proyecto: "¡No uses el contenedor equivocado!"

Un juego en Scratch donde los residuos caen desde arriba y el jugador los coloca en el contenedor correcto. Conecta el modelo de ML para que la IA clasifique el residuo automáticamente. Añade un marcador y una lista con los residuos recogidos por contenedor.

4.3

Máquinas inteligentes y sostenibilidad

Aplicaciones de la IA para un futuro sostenible

🌾 Agricultura

Sensores que predicen necesidades de riego. Drones que controlan plantaciones y detectan plagas. Robots autónomos que realizan tareas agrícolas.

⚡ Suministro energético

Predecir necesidades energéticas y condiciones óptimas para la producción eólica y solar. Reduce el desperdicio y mejora la eficiencia de la red.

♻️ Clasificación de residuos

Sistemas de visión artificial en centros de reciclaje que clasifican residuos más rápido y con más precisión que los humanos.

🏙️ Ciudades sostenibles

Vehículos autónomos que optimizan el flujo de tráfico. La IA propone rutas alternativas para reducir atascos y emisiones de CO₂.

🌿 Gestión de ecosistemas

Análisis de imágenes satelitales que detecta cambios en la vegetación, escasez de agua y especies invasoras de forma temprana.

🏥 Ciudades saludables

Chatbots que asisten a personas mayores. La IA analiza grandes datos biológicos para predecir y prevenir enfermedades.

⚠️
Riesgos de la IA

Destrucción de empleos, gran demanda energética para entrenar modelos, tendencia a reproducir los sesgos (raza, género, edad) de sus creadores a través de datos discriminatorios. El pensamiento crítico sobre los sistemas de IA es una competencia digital clave.

4.4

Economía circular y las 9 R's

Más allá del reciclaje — el modelo circular completo

OBSOLESCENCIA PROGRAMADA

Productos diseñados deliberadamente para fallar o quedarse obsoletos rápidamente → impulsa el sobreconsumo. Parte de la economía lineal extraer-fabricar-tirar.

ECONOMÍA CIRCULAR

Mantiene los materiales en uso el mayor tiempo posible. Objetivo: cero residuos, cero contaminación, regeneración de la naturaleza.

LAS 9 R's

Rechazar → Replantear → Reducir → Reutilizar → Reparar → Renovar → Refabricar → Reproponer → Reciclar. En ese orden de prioridad.

📦
Cada uno de nosotros genera ~500 kg de residuos al año

Minimiza el plástico de un solo uso. Reutiliza envases. Compra a granel. Antes de reciclar, reduce — el reciclaje sigue costando energía y materiales.

4.5

Almacenamiento de energía eléctrica

Por qué el almacenamiento de energía es clave para las renovables

El viento y el sol son variables. Para alcanzar la neutralidad climática, necesitamos almacenar energía para cuando se necesite — no solo cuando se produce.

TecnologíaCómo funcionaEscala
BateríasReacciones químicas entre dos electrodos + electrolito. Li-ion: teléfonos, vehículos eléctricos. Ni-MH: electrónica. LiPo: mayor densidad energética.Pequeña–grande
Supercondensadores de grafenoSe cargan en segundos, alta potencia de salida. Miniaturizados para dispositivos portátiles e IoT.Micro–media
Imanes superconductoresSin pérdida de energía — pero necesitan temperaturas criogénicas.Grande
Hidroeléctrica por bombeoSe bombea agua cuesta arriba con exceso de energía; se suelta para generar electricidad a demanda. La más común en Europa.Red eléctrica
Aire comprimidoAlmacenar aire comprimido en depósitos; soltarlo para impulsar generadores.Red eléctrica
Almacenamiento térmicoAlmacenar calor o frío; reconvertirlo en electricidad.Grande
HidrógenoBase de las células de combustible. Producción mediante electrólisis con electricidad renovable. Alta densidad energética pero requiere fuente renovable.Red eléctrica
5.0

Actividades prácticas — Unidad 6

📋
Nota de evaluación

Las actividades marcadas como ★ Ampliación pueden formar parte del porfolio del proyecto. Documenta siempre tu proceso: definición del problema, decisiones de diseño, evidencias de prueba y conclusiones.

01

Reto de diseño de diagramas de flujo

Elige uno de los siguientes problemas y diseña un diagrama de flujo completo con Flowgorithm o en papel:
(a) Un programa que pide la nota de un alumno (0–10) y muestra: Insuficiente (<5), Suficiente (5–6), Bien (7–8) o Sobresaliente (9–10).
(b) Un programa que calcula el área de un círculo dado el radio, aplicando un recargo del 15 % si el área > 50 m².
Exporta el diagrama de Flowgorithm y genera automáticamente el código en Python. Compara el diagrama y el código con una breve reflexión escrita.

Algoritmos Flowgorithm Medio
02

Proyecto Scratch: juego de limpieza del océano

Recrea (o amplía) el juego "Limpiando nuestros océanos" de la unidad. Requisitos:
· Objeto Buzo controlado por las flechas del teclado (rutina del buzo).
· Objeto Tiburón que siempre sigue al buzo (bucle infinito + apuntar hacia).
· Objeto Plástico que se repite continuamente con un disfraz aleatorio en cada ciclo.
· Variable puntuación: +1 por cada plástico recogido. El juego termina cuando el tiburón toca al buzo.
Ampliación: Añade una variable cronómetro y muéstrala en pantalla. Crea un sistema de récords usando una lista.

Scratch Variables Bucles ★ Ampliación Medio
03

Análisis del modelo de pandemia

Abre la simulación de la pandemia de la unidad (o recréala). Ejecuta la simulación tres veces: (1) sin mascarillas, (2) uso de mascarilla al 50 %, (3) uso de mascarilla al 100 %. Exporta la lista de datos de infecciones cada vez. Impórtala en Google Sheets, crea un gráfico de líneas que superponga los tres escenarios y redacta una conclusión analítica de 150 palabras: ¿cómo afecta el uso de mascarillas al pico de infecciones y a la tasa de contagio? ¿Qué implicaciones tiene esto para las políticas sanitarias reales?

Scratch Análisis de datos Modelado computacional ★ Ampliación Avanzado
04

App Inventor: app de preguntas sobre tu región

Crea tu propia app de preguntas sobre el tema que elijas (historia, ciencias, geografía de Murcia…). Requisitos:
· Mínimo 8 preguntas almacenadas en una listaPreguntas.
· Listas correspondientes de respuestas e imágenes.
· La etiqueta AciertosErrores da retroalimentación inmediata.
· Contador de puntuación visible en pantalla.
· Al final, una pantalla con la puntuación total y opción de reiniciar.
Instálala en un dispositivo Android real mediante código QR. Graba un breve vídeo de demostración.

App Inventor Listas Android ★ Ampliación Avanzado
05

Clasificador de residuos con IA — "¡No uses el contenedor equivocado!"

Con machinelearningforkids.co.uk, entrena un clasificador de texto con al menos 5 categorías de residuos (Papel, Plástico, Vidrio, Orgánico, General) y más de 15 ejemplos por clase. Prueba la precisión de tu modelo. Después intégralo en un juego de Scratch donde:
· Los residuos caen desde la parte superior del escenario.
· El jugador escribe o hace clic en el contenedor correcto.
· El modelo de ML verifica si el tipo de residuo coincide con el contenedor.
· Se muestran un marcador y un resumen de los residuos al final del juego.
Documenta el proceso de entrenamiento del modelo con capturas de pantalla.

IA / ML Scratch machinelearningforkids ★ Ampliación Avanzado
06

BlocksCAD: diseña un componente personalizado

Diseña un objeto 3D funcional en BlocksCAD usando al menos 3 primitivas (cilindro, cubo, esfera), al menos una operación booleana (diferencia o unión) y al menos un bucle (p. ej. para repetir un patrón). Objetos sugeridos: soporte de bolígrafos personalizado, un conjunto de peones de ajedrez, una escuadra paramétrica. Exporta el archivo .STL y, si es posible, prepáralo para el laminado con PrusaSlicer u OrcaSlicer. Redacta un breve diario de diseño explicando cada paso y la lógica de programación utilizada.

Diseño 3D BlocksCAD Impresión 3D Medio
07

Auditoría de economía circular

Elige 5 productos electrónicos que uses habitualmente (teléfono, portátil, auriculares, consola de videojuegos, tablet). Para cada uno, investiga:
(a) Indicadores de obsolescencia programada (¿cuánto tiempo hasta que deja de tener soporte o se estropea?).
(b) Puntuación de reparabilidad (consulta ifixit.com).
(c) Cuál de las 9 R's aplica cuando llega al final de su vida útil.
Presenta tus resultados en una presentación de Google Slides (1 diapositiva por producto). Concluye con un ranking de sostenibilidad de la clase y tres recomendaciones concretas.

Sostenibilidad Economía circular Investigación Medio
6.0

Test de autoevaluación — Unidad 6

📝
Instrucciones

12 preguntas sobre todos los apartados de la Unidad 6. Selecciona tu respuesta — la corrección es inmediata. Comprueba tu puntuación total al final. Cada pregunta tiene una sola respuesta correcta.

P01 / ¿Cuál es el orden correcto del proceso de programación?
A
Programar → Analizar → Definir → Comprobar
B
Definir → Analizar → Programar → Comprobar y depurar
C
Analizar → Definir → Comprobar → Programar
D
Comprobar → Programar → Definir → Analizar
P02 / En un diagrama de flujo, ¿qué forma representa una decisión?
A
Rectángulo
B
Óvalo
C
Rombo
D
Paralelogramo
P03 / En Scratch, ¿qué es un "Objeto" (Sprite)?
A
La imagen de fondo del escenario
B
Un personaje u objeto en el escenario que tiene sus propias rutinas
C
Un bloque que repite instrucciones
D
La ventana de programación de Scratch
P04 / ¿Qué categoría de bloques de Scratch usarías para hacer que un programa repita instrucciones hasta que se cumpla una condición?
A
Movimiento
B
Operadores
C
Control
D
Variables
P05 / App Inventor se usa para crear apps para qué sistema operativo?
A
iOS
B
Android
C
Windows
D
Linux
P06 / En App Inventor, necesitas almacenar 10 preguntas de un quiz. La mejor estructura de datos es:
A
Una sola variable
B
Un componente Lienzo
C
Una lista (colección ordenada)
D
Un componente etiqueta
P07 / ¿Qué significa "depurar" (debug) en programación?
A
Escribir la primera versión del código
B
Diseñar el diagrama de flujo
C
Encontrar y corregir errores en el programa
D
Traducir el código a lenguaje máquina automáticamente
P08 / En un proyecto de aprendizaje automático, ¿para qué sirven los "datos de entrenamiento"?
A
Para aumentar la velocidad del procesador del ordenador
B
Para dar a la IA ejemplos etiquetados y que aprenda a reconocer patrones
C
Para guardar la versión final del programa
D
Para conectar la app a internet
P09 / BlocksCAD se usa principalmente para:
A
Escribir código Python
B
Diseñar interfaces de apps móviles
C
Crear objetos 3D mediante programación por bloques
D
Simular la propagación de una pandemia
P10 / La "obsolescencia programada" se refiere a:
A
Un método para hacer que el software funcione más rápido
B
Diseñar productos para que fallen o queden obsoletos rápidamente, impulsando el sobreconsumo
C
Un tipo de IA que planifica calendarios futuros
D
Un método de reciclaje de la economía circular
P11 / En la simulación de la pandemia, ¿qué función de Scratch se usó para crear múltiples copias del objeto gato?
A
Duplicar disfraz
B
Crear clon de…
C
Enviar mensaje
D
Crear una lista
P12 / ¿Cuál es el orden de prioridad correcto en la economía circular?
A
Reciclar → Reutilizar → Reducir → Rechazar
B
Reciclar → Reparar → Reducir → Rechazar
C
Rechazar → Reducir → Reutilizar → Reparar → … → Reciclar
D
Reducir → Reciclar → Reutilizar → Reparar