Loading
Loading
Este tema reúne los fundamentos de la programación (variables, tipos, operadores, estructuras de control y funciones), el diseño y la depuración de algoritmos mediante diagramas de flujo y pseudocódigo, y la arquitectura del «internet de las cosas» (IoT): sensores, actuadores, microcontroladores y conectividad. Es contenido evaluable de Selectividad en Tecnología e Ingeniería: se pide razonar la salida o el coste de un algoritmo, trazar/corregir un programa, diseñar la lógica de un sistema con un microcontrolador y describir la cadena IoT extremo-a-extremo. Cierra el bloque de informática de la materia conectando la lógica del software con la electrónica de los proyectos tecnológicos.
4seccionesca. 22min de lectura3competenciasNivelEstándar 3 · Profundización 1Revisado · 06/2026
nivel básico
Como materia de modalidad, todo el tema es de nivel de profundización; lo mínimo exigible es saber leer y trazar un algoritmo con las tres estructuras de control, expresarlo en pseudocódigo y diagrama de flujo, y describir la cadena IoT sensor → microcontrolador → conectividad → actuador.
nivel avanzado
El dominio pleno añade la depuración sistemática (clasificar y corregir errores de sintaxis, ejecución y lógica), el cálculo del coste de un bucle y el diseño completo de la lógica de control de un sistema IoT con condiciones de histéresis y temporización.
Lesetiefe: En profundidad
Schriftgröße: Standard
Anatomía de un programa: datos, operadores y control
Las tres estructuras de control y su sintaxis
Asignación (incremento)
El nuevo contenido de la variable x es su valor anterior más uno; la flecha (o el signo =) indica asignación, no igualdad matemática.
Operador módulo y paridad
El resto de dividir n entre 2 es cero exactamente cuando n es par; de forma análoga, d \mid n equivale a (n \bmod d = 0).
Dado el siguiente pseudocódigo, indica el valor final de la variable `suma`. INICIO; suma ← 0; PARA i DESDE 1 HASTA 6 HACER: SI (i módulo 2 = 0) ENTONCES suma ← suma + i; FIN PARA; ESCRIBIR suma; FIN.
Antes del bucle, suma vale 0. El contador i recorrerá los valores 1, 2, 3, 4, 5, 6.
Solo se acumula i cuando i es par, es decir cuando (i mod 2) = 0.
i=1 (impar): no suma → 0. i=2 (par): suma ← 0+2 = 2. i=3 (impar): no suma → 2.
i=4 (par): suma ← 2+4 = 6. i=5 (impar): no suma → 6. i=6 (par): suma ← 6+6 = 12.
Se han sumado los pares de 1 a 6: 2 + 4 + 6, que efectivamente es 12.
Resultado: La variable `suma` vale 12 al finalizar: el programa acumula los números pares entre 1 y 6.
Errores frecuentes
Repaso activo
Escribe en pseudocódigo un programa que lea un número entero N y muestre cuántos de los números del 1 al N son múltiplos de 3. Indica qué tipo de dato usas para cada variable y razona qué estructura de control empleas.
Recuerdo activo
Recuerda los puntos clave — luego revela.
Fuentes: Real Decreto 243/2022 — enseñanzas mínimas del Bachillerato (saberes básicos, Anexo II) (Gobierno de España — Boletín Oficial del Estado (BOE))
Diagrama de flujo: contar los pares de 1 a N
Símbolos normalizados del diagrama de flujo (ISO 5807)
Se da el algoritmo en pseudocódigo: INICIO; LEER n; f ← 1; i ← 1; MIENTRAS (i <= n) HACER: f ← f * i; i ← i + 1; FIN MIENTRAS; ESCRIBIR f; FIN. Calcula la salida para n = 4 y describe los símbolos del diagrama de flujo equivalente.
Se lee n = 4. Se ponen el acumulador f ← 1 y el contador i ← 1. En el diagrama: un romboide LEER n y un rectángulo con las dos asignaciones.
El MIENTRAS (i <= n) se dibuja como un rombo de decisión; mientras es verdadero el flujo entra en el cuerpo, cuando es falso sale hacia ESCRIBIR.
i=1: f ← 1·1 = 1, i ← 2. i=2: f ← 1·2 = 2, i ← 3. i=3: f ← 2·3 = 6, i ← 4. i=4: f ← 6·4 = 24, i ← 5.
Con i = 5 la condición (5 <= 4) es falsa: el flujo sale del rombo y llega al romboide ESCRIBIR f.
Se imprime f = 24, que es el factorial de 4.
Resultado: Para n = 4 el algoritmo calcula 4! = 24; el diagrama tiene un terminal de inicio, un romboide de lectura, un rectángulo de inicialización, un rombo de decisión que cierra el bucle, un rectángulo de proceso (f·i, i+1), un romboide de salida y un terminal de fin.
Errores frecuentes
Repaso activo
Diseña el algoritmo que lee 5 números enteros y muestra el mayor de ellos. Exprésalo primero en pseudocódigo y después dibuja su diagrama de flujo, señalando el rombo de decisión y la variable acumuladora `maximo`.
Recuerdo activo
Recuerda los puntos clave — luego revela.
Fuentes: Currículo de Bachillerato (LOMLOE) — materias y saberes básicos (Ministerio de Educación, Formación Profesional y Deportes — educagob)
Ciclo de depuración y tipos de error
Un alumno escribe este código para sumar 1+2+...+10 y obtiene 45 en vez de 55: `s ← 0; PARA i DESDE 1 HASTA 9 HACER s ← s + i; ESCRIBIR s`. Identifica el tipo de error, demuéstralo con la traza y corrígelo.
El programa compila y se ejecuta sin detenerse, pero da un resultado equivocado: es un error LÓGICO, en concreto un error «por uno» en el límite del bucle.
El PARA va de i=1 a i=9, así que acumula 1+2+3+4+5+6+7+8+9 y nunca añade el 10.
La suma de 1 a 9 es 45, exactamente el resultado erróneo que se observa.
El límite superior debe ser 10, no 9: `PARA i DESDE 1 HASTA 10 HACER s ← s + i`. El cambio es de 9 a 10 (típico off-by-one).
Con i de 1 a 10 la suma es la correcta, lo que confirma la corrección.
Resultado: Es un error lógico «por uno»: el bucle llegaba hasta 9 y sumaba 45; cambiando el límite a 10 el programa suma correctamente 55.
Errores frecuentes
Repaso activo
El siguiente bucle pretende sumar los números del 1 al 10 pero da 55-1=... un resultado erróneo: `s ← 0; PARA i DESDE 0 HASTA 9 HACER s ← s + i`. Haz la traza, identifica el tipo de error, di cuánto da realmente y corrígelo para que sume de 1 a 10.
Recuerdo activo
Recuerda los puntos clave — luego revela.
Fuentes: Real Decreto 243/2022 — enseñanzas mínimas del Bachillerato (saberes básicos, Anexo II) (Gobierno de España — Boletín Oficial del Estado (BOE))
Cadena IoT: del mundo físico a la nube y de vuelta
Control con histéresis
Con dos umbrales U_{ON} < U_{OFF} (aquí 30 y 60) y una banda muerta entre ellos, el actuador no conmuta cuando la lectura h oscila cerca de un único valor.
Lógica de control con histéresis (banda muerta del actuador)
Un sistema IoT de climatización lee la temperatura T de una sala. La consigna es 21 °C. Para evitar arranques continuos del calefactor se usa histéresis: enciende si T baja de 20 °C y apaga si T sube de 22 °C. Escribe la lógica del bucle de control e indica el estado del calefactor si T pasa por 19, 21 y 23 °C estando inicialmente apagado.
Sensor: sonda de temperatura (entrada analógica → ADC). Actuador: calefactor mediante relé (salida digital). Microcontrolador: ejecuta el bucle.
Umbral de encendido U_ON = 20 °C y de apagado U_OFF = 22 °C; entre ambos hay una banda muerta de 2 °C alrededor de la consigna de 21 °C.
REPETIR: leer T; SI (T < 20) ENTONCES calefactor ← ON; SI (T > 22) ENTONCES calefactor ← OFF; (entre 20 y 22 se mantiene el estado anterior).
19 < 20, se cumple la condición de encendido: el calefactor pasa a ON.
21 no es < 20 ni > 22: cae en la banda muerta, así que el calefactor MANTIENE el estado anterior (sigue ON).
23 > 22, se cumple la condición de apagado: el calefactor pasa a OFF.
Resultado: Estados sucesivos: 19 °C → ON, 21 °C → sigue ON (banda muerta), 23 °C → OFF. La histéresis de 2 °C evita que el calefactor conmute sin parar cuando la temperatura ronda los 21 °C.
Errores frecuentes
Repaso activo
Diseña, en pseudocódigo, la lógica de control de un sistema IoT de riego automático: un sensor de humedad del suelo da un valor de 0 (seco) a 100 (saturado); si la humedad baja de 30 se enciende la bomba y no se apaga hasta que sube por encima de 60 (histéresis). Indica qué elementos son sensor, actuador, entrada y salida, y dibuja la cadena IoT del sistema.
Recuerdo activo
Recuerda los puntos clave — luego revela.
Fuentes: Real Decreto 243/2022 — enseñanzas mínimas del Bachillerato (saberes básicos, Anexo II) (Gobierno de España — Boletín Oficial del Estado (BOE))
Referencias y fuentes
Gobierno de España — Boletín Oficial del Estado (BOE)
Ministerio de Educación, Formación Profesional y Deportes — educagob