Estructura y lógica de los algoritmos

¿Qué es un algoritmo?

Un algoritmo es una secuencia ordenada y finita de pasos que permiten resolver un problema o realizar una tarea específica. Cada paso debe estar claramente definido y ser ejecutable. En otras palabras, un algoritmo describe el procedimiento necesario para obtener una solución, de forma lógica y precisa.

Tipos de algoritmos según su naturaleza:
  • Cualitativos: Se expresan utilizando lenguaje natural, sin involucrar números ni cálculos matemáticos. Su propósito es explicar procesos de manera general, por lo que son ideales cuando se quiere transmitir una idea sin entrar en detalles técnicos o numéricos.
  • Cuantitativos: Se basan en operaciones matemáticas y cálculos numéricos. Son apropiados cuando el problema requiere procesamiento de datos numéricos, como en situaciones que involucran fórmulas, estadísticas o medidas precisas.
Características de un buen algoritmo:

Un buen algoritmo debe cumplir con las siguientes características:

  • Definido: Siempre debe producir el mismo resultado cuando se le proporciona la misma entrada.
  • Finito: Debe ejecutarse en un número limitado de pasos; es decir, no puede ejecutarse indefinidamente.
  • Efectivo: Cada una de sus instrucciones debe ser clara, comprensible y realizable con los recursos disponibles.
  • Ordenado: Las instrucciones deben estar organizadas de forma lógica y secuencial, sin ambigüedades.
Estructura de un algoritmo:

Todo algoritmo, sin importar su nivel de complejidad, está compuesto de tres partes fundamentales:

  • Entrada: Son los datos que el algoritmo recibe al inicio.
  • Proceso: Es el conjunto de operaciones que se aplican a los datos de entrada para transformarlos.
  • Salida: Es el resultado obtenido luego de ejecutar el proceso.
Lenguajes algorítmicos:

Un algoritmo puede representarse de distintas formas, dependiendo del propósito y del nivel de detalle que se necesite. Estos son los principales lenguajes algorítmicos:

  • Lenguaje natural: Es el idioma que usamos habitualmente para comunicarnos (como el español). En algoritmos, se utiliza para explicar los pasos de una solución de forma sencilla.
  • Pseudocódigo: Es una forma intermedia entre el lenguaje natural y el código de un lenguaje de programación. Utiliza términos y estructuras lógicas que imitan a los lenguajes de programación, pero sin depender una sintaxis estricta.
  • Diagrama de flujo: Es una representación gráfica de un algoritmo mediante símbolos estandarizados (óvalos, rectángulos, rombos, flechas, etc.). Cada uno de estos símbolos representa una acción, una operación o una decisión.
¿Qué es un programa?

Un programa es un conjunto de instrucciones escritas en un lenguaje de programación que permiten resolver un problema o realizar una tarea específica en un computador. En esencia, es la forma concreta en que se implementa un algoritmo para que una máquina pueda ejecutarlo.

Características de un buen programa:
  • Funcionalidad: Cumple correctamente con el objetivo para el cual fue diseñado.
  • Eficiencia: Hace un uso óptimo de los recursos del sistema (memoria, tiempo de procesamiento, etc.).
  • Legibilidad: Es fácil de entender y mantener por otros programadores.
  • Reusabilidad: Sus partes pueden adaptarse o aprovecharse en otros programas o proyectos.
  • Portabilidad: Puede ejecutarse en diferentes plataformas con pocas o ninguna modificación.