Fundamentos de Algorítmica y Resolución de Problemas
Análisis y diseño de algoritmos
Un algoritmo se define como un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. En el contexto de la ingeniería, un buen algoritmo debe cumplir tres requisitos fundamentales:
- Precisión: Indicar el orden de realización de cada paso.
- Definición: Si se sigue dos veces, se debe obtener el mismo resultado.
- Finitud: Debe tener un número determinado de pasos.
El diseño de cualquier solución técnica sigue el esquema de Entrada → Proceso → Salida.
- Entrada: Son los datos iniciales o variables que el sistema necesita (ej. la lectura de un sensor de temperatura).
- Proceso: Son las operaciones lógicas y matemáticas que transforman los datos (ej. calcular si la temperatura supera un umbral).
- Salida: Es el resultado final o la acción física (ej. activar un ventilador).
Representación gráfica de soluciones
Antes de codificar, es vital visualizar la lógica. Las dos herramientas principales son:
- Diagramas de Flujo (Flowcharts): Utilizan simbología normalizada para representar el flujo de datos.
- Óvalo: Inicio/Fin.
- Rectángulo: Proceso o instrucción.
- Rombo: Decisión (condicional).
- Paralelogramo: Entrada/Salida de datos.
- Pseudocódigo: Es un lenguaje intermedio entre el lenguaje humano y el de programación. No tiene una sintaxis rígida, pero mantiene una estructura lógica clara (ej. "SI temperatura > 25 ENTONCES encender ventilador").
Estructuras de control fundamentales
Las estructuras de control determinan el orden en que se ejecutan las instrucciones:
- Secuenciación: Las instrucciones se ejecutan una tras otra, de arriba hacia abajo.
- Estructuras condicionales (if/else): Permiten que el programa tome caminos distintos según se cumpla o no una condición lógica.
- Bucles e iteraciones:
- For: Se usa cuando conocemos de antemano el número de repeticiones (ej. leer 10 sensores).
- While: Se usa mientras se cumpla una condición (ej. mantener el motor encendido mientras el depósito no esté vacío).


