1. Introducción de la unidad
La programación es una herramienta fundamental en la tecnología moderna. Aunque tradicionalmente se relaciona con computadoras, teléfonos y aplicaciones, su utilización también está presente en numerosos equipos electrónicos.
Los sistemas de control de una lavadora, un horno eléctrico, un sistema de iluminación automática, una alarma, un robot, una fuente de alimentación inteligente o un sistema de control de temperatura pueden utilizar programas para tomar decisiones y ejecutar determinadas acciones.
En electrónica, aprender programación no significa solamente aprender a escribir código. El estudiante debe desarrollar la capacidad de analizar problemas, identificar necesidades, organizar información, diseñar soluciones y convertir procedimientos lógicos en instrucciones que un sistema pueda ejecutar.
Por esta razón, esta unidad introduce los fundamentos necesarios para comprender cómo se transforma un problema técnico en una solución computacional.
El estudiante comenzará trabajando con problemas sencillos y progresivamente aprenderá a identificar:
Problema → Datos de entrada → Procesamiento → Resultado o salida
Este modelo será fundamental para las unidades posteriores, donde se trabajará con algoritmos, pseudocódigo, diagramas de flujo y programación aplicada a sistemas electrónicos.
2. Propósito de la unidad
Desarrollar en el estudiante las capacidades básicas para analizar problemas técnicos, aplicar pensamiento computacional y diseñar soluciones mediante procedimientos lógicos, reconociendo los elementos fundamentales de un programa y las características que debe cumplir una solución computacional de calidad.
3. Resultados de aprendizaje esperados
Al finalizar las 22 horas de esta unidad, el estudiante será capaz de:
- Explicar con sus propias palabras qué es la programación.
- Identificar aplicaciones de la programación en sistemas tecnológicos y electrónicos.
- Explicar la relación entre computación y resolución de problemas.
- Aplicar principios básicos del pensamiento computacional.
- Diferenciar entre un problema, una necesidad y una posible solución.
- Identificar datos de entrada en una situación determinada.
- Identificar los procesos necesarios para transformar los datos.
- Identificar los resultados o salidas de un sistema.
- Determinar requerimientos básicos de una solución.
- Reconocer las etapas generales para desarrollar una solución computacional.
- Explicar las características de un programa de calidad.
- Reconocer la importancia de la legibilidad, modificabilidad, fiabilidad, eficiencia y portabilidad.
- Identificar los elementos básicos de un entorno de desarrollo.
- Analizar problemas sencillos relacionados con equipos electrónicos.
- Diseñar una solución lógica sencilla para un problema técnico.
4. CONTENIDOS CONCEPTUALES
4.1. Concepto de programación
¿Qué es programar?
La programación es el proceso de diseñar y escribir instrucciones que indican a una computadora, microcontrolador u otro sistema programable qué debe hacer.
Un programa está formado por instrucciones organizadas de manera lógica.
Por ejemplo, imaginemos un sistema electrónico encargado de encender automáticamente una lámpara cuando detecta oscuridad.
El sistema debe realizar algo parecido a lo siguiente:
- Leer el sensor de luz.
- Obtener el valor medido.
- Comparar el valor con un límite establecido.
- Determinar si existe suficiente luz.
- Encender o apagar la lámpara.
- Repetir el proceso.
Esto puede representarse de manera sencilla:
Sensor → Programa → Decisión → Actuador
La programación permite convertir esta lógica en instrucciones que pueda ejecutar el sistema.
Programar no es solamente escribir código
Un error frecuente es pensar que programar consiste únicamente en escribir líneas de código.
En realidad, la programación comienza antes de escribir código.
Primero es necesario:
- comprender el problema;
- identificar qué se necesita;
- determinar qué información se utilizará;
- establecer qué resultado se espera;
- diseñar el procedimiento;
- comprobar si la solución funciona;
- corregir errores;
- mejorar la solución.
Por lo tanto:
Programación = análisis + diseño + instrucciones + pruebas + mejora.
5. Aplicaciones de la programación en entornos tecnológicos y electrónicos
La programación está presente en una gran cantidad de sistemas electrónicos.
5.1. Sistemas de control
Un programa puede controlar diferentes dispositivos dependiendo de determinadas condiciones.
Ejemplo:
Un sistema de control de temperatura puede:
- medir la temperatura;
- comparar la temperatura con un valor establecido;
- encender un ventilador;
- apagar el ventilador cuando la temperatura disminuya.
Representación:
Sensor de temperatura → Programa → Decisión → Ventilador
5.2. Sistemas de iluminación
Un sistema puede utilizar un sensor para determinar cuándo debe encender una lámpara.
Por ejemplo:
Si la iluminación ambiental es baja:
Encender lámpara.
Si la iluminación ambiental es suficiente:
Apagar lámpara.
5.3. Sistemas de seguridad
La programación permite controlar:
- alarmas;
- sensores de movimiento;
- sensores de puertas;
- sistemas de acceso;
- cámaras;
- detectores de humo.
Ejemplo:
Sensor de movimiento → Programa → Detecta movimiento → Activa alarma
5.4. Robótica
Los robots utilizan programas para determinar cómo deben responder ante diferentes situaciones.
Un robot puede:
- detectar obstáculos;
- mover motores;
- encender luces;
- emitir sonidos;
- seguir una trayectoria;
- recibir información de sensores.
5.5. Electrodomésticos
Muchos electrodomésticos modernos incorporan sistemas programables.
Entre ellos:
- lavadoras;
- refrigeradores;
- hornos;
- microondas;
- acondicionadores de aire;
- cafeteras;
- sistemas de climatización.
Por ejemplo, una lavadora puede controlar mediante programación:
Nivel de agua → tiempo → velocidad del motor → drenaje → centrifugado.
6. Computación y resolución de problemas
La computación puede utilizarse como herramienta para resolver problemas.
Un problema técnico generalmente aparece cuando existe una diferencia entre:
Situación actual
y
Situación deseada.
Por ejemplo:
Una lámpara permanece encendida durante todo el día.
Situación actual:
La lámpara permanece encendida aunque haya suficiente luz.
Situación deseada:
La lámpara debe encenderse solamente cuando exista poca iluminación.
El problema puede solucionarse mediante un sistema que utilice:
- sensor de luz;
- circuito de control;
- programa;
- dispositivo de salida.
7. Pensamiento computacional
El pensamiento computacional es una forma organizada de analizar problemas para encontrar soluciones que puedan ser ejecutadas por una persona o por un sistema computacional.
No significa pensar como una computadora.
Significa organizar el pensamiento de manera lógica y estructurada.
Entre sus principales elementos se encuentran:
- descomposición;
- reconocimiento de patrones;
- abstracción;
- diseño de algoritmos.
7.1. Descomposición
Consiste en dividir un problema grande en problemas más pequeños.
Ejemplo
Problema:
Diseñar un sistema automático de iluminación.
Podemos dividirlo en:
- Detectar la iluminación.
- Leer el sensor.
- Comparar el valor.
- Tomar una decisión.
- Encender la lámpara.
- Apagar la lámpara.
- Repetir el proceso.
La descomposición facilita la comprensión y resolución del problema.
7.2. Reconocimiento de patrones
Consiste en identificar situaciones que se repiten o tienen características similares.
Por ejemplo:
Si se analizan diferentes sistemas automáticos:
- sistema de iluminación;
- sistema de temperatura;
- sistema de alarma;
todos pueden presentar una estructura similar:
Entrada → procesamiento → salida.
7.3. Abstracción
La abstracción consiste en concentrarse en la información importante y evitar detalles que no son necesarios para resolver el problema.
Por ejemplo, para controlar un ventilador no necesitamos conocer todos los componentes internos del motor.
Podemos concentrarnos en:
- temperatura;
- límite establecido;
- estado del ventilador.
7.4. Algoritmos
Un algoritmo es una secuencia ordenada de pasos utilizada para resolver un problema.
Ejemplo:
Algoritmo para encender una lámpara automáticamente
- Iniciar.
- Leer el sensor de luz.
- Comparar el nivel de iluminación.
- Si hay poca luz, encender la lámpara.
- Si hay suficiente luz, apagar la lámpara.
- Repetir.
El algoritmo representa la solución antes de escribir el programa.
8. Problema, necesidad y solución
Estos tres conceptos son fundamentales.
Problema
Es una situación que presenta una dificultad o condición que debe ser mejorada.
Ejemplo:
El ventilador de un equipo electrónico se activa demasiado tarde.
Necesidad
Es aquello que se requiere para solucionar o mejorar el problema.
Ejemplo:
Se necesita controlar automáticamente la temperatura y activar el ventilador cuando alcance determinado valor.
Solución
Es la propuesta que permite atender la necesidad.
Ejemplo:
Diseñar un sistema de control de temperatura mediante un sensor, un microcontrolador y un ventilador.
La relación puede representarse así:
Problema → Necesidad → Solución
9. Datos de entrada
Los datos de entrada son los valores o información que recibe un sistema para poder realizar un proceso.
En electrónica pueden provenir de:
- sensores;
- botones;
- interruptores;
- teclados;
- potenciómetros;
- dispositivos externos;
- valores introducidos por el usuario.
Ejemplo
Un sistema de control de temperatura recibe:
Entrada: 32 °C
El programa puede utilizar ese valor para tomar una decisión.
10. Procesamiento
El procesamiento consiste en las operaciones que se realizan sobre los datos de entrada.
Puede incluir:
- cálculos;
- comparaciones;
- decisiones;
- conversiones;
- operaciones matemáticas;
- clasificación de datos.
Ejemplo
Entrada:
Temperatura = 32 °C
Condición:
Temperatura > 30 °C
Procesamiento:
La condición es verdadera.
Decisión:
Encender ventilador.
11. Resultados o salida
La salida es el resultado producido después del procesamiento.
En un sistema electrónico puede ser:
- encender un LED;
- apagar un LED;
- activar un motor;
- activar un relé;
- mostrar un mensaje;
- producir un sonido;
- enviar información;
- activar una alarma.
Ejemplo completo
Entrada: temperatura de 32 °C.
Procesamiento: comparar con el límite de 30 °C.
Salida: activar ventilador.
Por tanto:
Entrada → Procesamiento → Salida
12. Ejemplo aplicado a electrónica
Supongamos que se desea desarrollar un sistema que active un ventilador cuando la temperatura de un circuito electrónico sea demasiado alta.
Problema
El circuito puede calentarse excesivamente.
Necesidad
Se requiere controlar automáticamente la temperatura.
Entrada
Temperatura medida por un sensor.
Procesamiento
Comparar la temperatura con un límite.
Salida
Activar o desactivar el ventilador.
Representación
Sensor de temperatura
↓
Lectura del valor
↓
Comparación con temperatura límite
↓
Decisión
↓
Activar/desactivar ventilador
Este modelo será una base importante para aprender posteriormente programación de microcontroladores.
13. Requerimientos de una solución
Antes de desarrollar una solución es necesario determinar qué debe cumplir.
Los requerimientos son las condiciones o características que debe tener una solución para responder correctamente al problema.
Pueden incluir:
- función que debe realizar;
- entradas necesarias;
- salidas esperadas;
- límites de operación;
- condiciones de seguridad;
- tiempo de respuesta;
- facilidad de uso;
- costo;
- confiabilidad.
Ejemplo
Para un sistema automático de ventilación:
Requerimiento 1: medir la temperatura.
Requerimiento 2: activar el ventilador cuando la temperatura sea alta.
Requerimiento 3: apagarlo cuando la temperatura disminuya.
Requerimiento 4: funcionar continuamente.
Requerimiento 5: evitar condiciones inseguras.
14. Etapas generales del desarrollo de una solución computacional
Una solución computacional puede desarrollarse siguiendo varias etapas.
Etapa 1. Identificación del problema
Se determina qué situación debe resolverse.
Etapa 2. Análisis
Se estudia el problema y se determina:
- qué información se necesita;
- cuáles son las entradas;
- qué procesamiento debe realizarse;
- cuáles son las salidas.
Etapa 3. Definición de requerimientos
Se establecen las condiciones que debe cumplir la solución.
Etapa 4. Diseño de la solución
Se organiza la lógica mediante:
- algoritmos;
- pseudocódigo;
- diagramas de flujo.
Etapa 5. Programación
El diseño se convierte en instrucciones utilizando un lenguaje de programación.
Etapa 6. Pruebas
Se comprueba si la solución funciona correctamente.
Etapa 7. Corrección
Se identifican y corrigen errores.
Etapa 8. Documentación
Se registra información importante sobre el funcionamiento de la solución.
Etapa 9. Mantenimiento y mejora
La solución puede modificarse para corregir problemas o incorporar nuevas funciones.
Resumen
Problema → Análisis → Requerimientos → Diseño → Programación → Pruebas → Corrección → Documentación → Mantenimiento
15. Características de los programas de calidad
Un programa no debe funcionar solamente una vez.
Debe estar diseñado de manera que pueda comprenderse, mantenerse y utilizarse adecuadamente.
Entre las características fundamentales encontramos:
15.1. Legibilidad
La legibilidad indica qué tan fácil resulta comprender un programa.
Un programa legible utiliza:
- nombres claros;
- estructura organizada;
- instrucciones comprensibles;
- comentarios cuando sean necesarios;
- formato consistente.
Por ejemplo, una variable llamada:
temperatura
es más fácil de comprender que:
x1.
15.2. Modificabilidad
Un programa debe poder modificarse sin necesidad de reconstruirlo completamente.
Por ejemplo, si el sistema originalmente activa un ventilador a 30 °C, debería ser posible cambiar el límite a 35 °C sin tener que desarrollar nuevamente todo el programa.
La organización del código facilita estas modificaciones.
15.3. Fiabilidad
La fiabilidad indica la capacidad del programa para funcionar correctamente y producir resultados esperados.
En electrónica es especialmente importante.
Un programa que controla un sistema electrónico debe responder correctamente ante las condiciones previstas.
Por ejemplo:
Si la temperatura aumenta, el sistema debe activar el mecanismo de enfriamiento cuando corresponda.
15.4. Eficiencia
La eficiencia se relaciona con el uso adecuado de:
- tiempo;
- memoria;
- capacidad de procesamiento;
- recursos del sistema.
Una solución eficiente evita realizar operaciones innecesarias.
15.5. Portabilidad
La portabilidad es la capacidad de adaptar o utilizar un programa en diferentes entornos compatibles con pocos cambios.
Por ejemplo, un programa diseñado de manera organizada puede resultar más sencillo de adaptar a otra plataforma o sistema.
16. Entorno básico de desarrollo
Para crear programas se utiliza un entorno de desarrollo.
Este proporciona herramientas para escribir, ejecutar y comprobar programas.
Dependiendo de la plataforma, puede incluir:
- editor de código;
- compilador o intérprete;
- área de mensajes;
- herramientas de depuración;
- explorador de archivos;
- terminal;
- simulador.
16.1. Editor de código
Es el espacio donde se escriben las instrucciones del programa.
Ejemplo:
Inicio
Leer temperatura
Si temperatura > 30 entonces
Encender ventilador
Fin Si
Fin
16.2. Compilador
Es una herramienta que traduce un programa escrito en determinado lenguaje a una forma que pueda ser ejecutada por el sistema correspondiente.
16.3. Intérprete
Ejecuta las instrucciones de un programa utilizando un proceso de interpretación.
La forma exacta de ejecución dependerá del lenguaje utilizado.
16.4. Consola o terminal
Permite introducir comandos y observar información generada durante la ejecución.
Puede utilizarse para:
- mostrar resultados;
- observar mensajes;
- detectar errores;
- realizar pruebas.
16.5. Depurador
Permite analizar la ejecución de un programa para localizar errores.
La depuración es una parte importante del desarrollo.
Un programa puede presentar:
- errores de sintaxis;
- errores lógicos;
- errores durante la ejecución.
17. Programación aplicada a la electrónica
La programación adquiere especial importancia cuando se trabaja con sistemas electrónicos programables.
Un sistema básico puede estar compuesto por:
Entrada
Sensor o dispositivo de entrada.
↓
Control
Microcontrolador o sistema programable.
↓
Salida
Actuador o dispositivo controlado.
Por ejemplo:
Sensor de temperatura → Microcontrolador → Ventilador
El programa determina qué debe hacer el controlador cuando recibe diferentes valores.
18. Ejemplo integrador
Problema
Un equipo electrónico necesita un sistema que active un ventilador cuando alcance una temperatura elevada.
Paso 1: identificar el problema
El equipo puede alcanzar una temperatura que afecte su funcionamiento.
Paso 2: determinar la necesidad
Se necesita controlar automáticamente la temperatura.
Paso 3: determinar la entrada
Sensor de temperatura.
Paso 4: determinar el procesamiento
Comparar la temperatura con un valor límite.
Paso 5: determinar la salida
Activar o desactivar el ventilador.
Paso 6: definir el requerimiento
El sistema debe activar el ventilador cuando la temperatura sea superior al límite establecido.
Paso 7: diseñar la lógica
INICIO
Leer temperatura
SI temperatura > límite
Encender ventilador
SI NO
Apagar ventilador
FIN
Paso 8: programación
Posteriormente esta lógica puede convertirse en código utilizando el lenguaje correspondiente.
Paso 9: prueba
Se comprueba el comportamiento del sistema con diferentes temperaturas.
Paso 10: mejora
Se pueden incorporar funciones adicionales, como:
- mostrar la temperatura;
- generar una alarma;
- registrar valores;
- utilizar diferentes velocidades del ventilador.




