El Corazón de la Lógica: Los Algoritmos
Un algoritmo es la secuencia de pasos claros, precisos y finitos para resolver un problema. Es la receta detallada que le damos a la computadora. Omar Trejos Buriticá lo define como "un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo"[9]. Carlos Salazar Guaña lo describe de manera similar: "Un algoritmo no es más que un conjunto de pasos secuenciales y ordenados que permiten lograr un objetivo. Todos los algoritmos tienen un inicio y un fin."[10] Si te sientes perdido al crear uno, significa que tu objetivo aún no está lo suficientemente claro.
Las 3 Partes Esenciales de un Algoritmo (Sistema de Información)
Todo algoritmo, sin importar su complejidad, se puede descomponer en estas tres fases fundamentales, planteadas como un sistema de información[11]:
1. ENTRADA
Se refiere a toda la información, datos o "ingredientes" que el algoritmo necesita para comenzar su ejecución. Como menciona Regino, "La entrada hace referencia a la información proporcionada al algoritmo, la cual debe sufrir un proceso para obtener los resultados. Un algoritmo tiene cero o más datos de entrada."[12] Puede ser desde un número ingresado por el usuario hasta datos complejos de una base de datos.
2. PROCESO
Son las acciones, cálculos u operaciones que el algoritmo realiza con los datos de entrada para transformar la información y acercarse al objetivo. Regino lo describe como los "cálculos necesarios para que a partir de un dato de entrada se llegue a los resultados"[13]. Aquí es donde ocurre la "magia" lógica.
3. SALIDA
Es el resultado final del algoritmo, la información que se obtiene después de que el proceso ha sido completado. Regino la define como los "resultados finales o transformaciones que ha sufrido la información de entrada a través del proceso"[14]. Es la solución al problema planteado inicialmente.
Los algoritmos no son solo para computadoras; los usamos constantemente en nuestro día a día sin darnos cuenta. Son secuencias de acciones con un objetivo claro.
Tipos de Algoritmos
Existen dos tipos principales de algoritmos[15]:
- Informales: Aquellos que son preferiblemente realizables por el ser humano (ej. dar un beso, cocinar). Omar Trejos Buriticá los describe como "aquellos algoritmos... que no son fácilmente implementables en un computador"[10]. Aunque la tecnología avanza, la ejecución humana sigue siendo la más natural.
- Computacionales: Aquellos que deben ser preferiblemente implementados en un computador para aprovechar su velocidad de procesamiento (ej. generar los primeros 100 números primos). Son el foco principal de la programación.
Todo algoritmo debe ser preciso (indicar el orden), definido (mismo resultado si se repite), y finito (debe terminar en algún momento)[16].
La Prueba de Escritorio
La "prueba de escritorio" es la simulación manual de un algoritmo para verificar si cumple su objetivo. Omar Trejos Buriticá la define como "la simulación de la puesta en marcha de un algoritmo"[11]. Carlos Salazar Guaña la describe como "la simulación de la puesta en marcha de un algoritmo con el fin de conocer si el algoritmo que se ha diseñado logra el objetivo"[12]. Es la "prueba reina" que nos permite saber si el algoritmo está bien *antes* de codificarlo. Si el algoritmo no cumple el objetivo en esta prueba, debe corregirse.