Fundamentos de Algoritmos y Estructuras de Control en Programación
Clasificado en Informática
Escrito el en español con un tamaño de 4,59 KB
Noción de Algoritmo
Un algoritmo es un conjunto ordenado y finito de operaciones que permite hallar la solución de un problema. Es la base fundamental para la resolución de tareas en diversos campos, especialmente en la programación de ordenadores.
Ejemplo Práctico: Reemplazar una Bombilla
Consideremos un escenario cotidiano: una bombilla fundida en una lámpara. Un algoritmo simplificado para resolver este problema podría ser:
- Comprobar si hay bombillas de repuesto.
- Si las hay, sustituir la bombilla anterior por la nueva.
- Si no hay bombillas de repuesto, adquirir una nueva en la tienda y luego sustituir la vieja por la nueva.
Los algoritmos son la esencia de la programación de ordenadores, ya que los programas informáticos pueden entenderse como algoritmos escritos en un lenguaje de programación específico, comprensible para una máquina.
Es crucial que un algoritmo contemple todas las posibilidades y escenarios. Por lo tanto, los tres pasos anteriores pueden desglosarse en un algoritmo mucho más detallado para asegurar su completitud:
Algoritmo Detallado para Reemplazar una Bombilla
- Comprobar si hay bombillas de repuesto:
- Abrir el cajón de las bombillas.
- Observar si hay bombillas disponibles.
- Si hay bombillas:
- Coger la bombilla.
- Coger una silla.
- Subirse a la silla.
- Poner la bombilla en la lámpara.
- Si no hay bombillas:
- Abrir la puerta.
- Bajar las escaleras... (y continuar con los pasos para ir a la tienda, comprar, volver, etc.)
Estructuras de Control de Flujo
Las estructuras de control son fundamentales en la programación, ya que permiten definir el orden en que se ejecutan las instrucciones de un algoritmo. Se clasifican principalmente en estructuras condicionales (alternativas) y estructuras iterativas (bucles).
Instrucción de Alternativa Simple (IF)
Las instrucciones if
(si) solo se ejecutarán si la expresión lógica evaluada es verdadera. Si la condición es falsa, el bloque de código asociado al if
se omite y la ejecución continúa con la siguiente instrucción fuera de la estructura. (Ver Diagrama)
Instrucción de Alternativa Doble (IF-ELSE)
Se trata de una variante de la estructura condicional if
en la que se ejecutan un conjunto de instrucciones si la expresión evaluada es verdadera, y otro conjunto de instrucciones si es falsa. Esto permite manejar dos caminos de ejecución distintos según el resultado de una condición. (Ver Diagrama)
Instrucciones Iterativas: Bucle Mientras (WHILE)
El bucle while
(mientras) significa que las sentencias en su interior se ejecutan repetidamente mientras la condición especificada sea verdadera. Si la condición se vuelve falsa, la ejecución del bucle se detiene y el programa continúa con la instrucción siguiente. (Ver Diagrama de Flujo)
Es importante destacar que las instrucciones dentro del bucle while
podrían no ejecutarse ni una sola vez si la condición es falsa desde el inicio. Además, existe el riesgo de crear un bucle infinito si la condición nunca llega a ser falsa, lo que provocaría que el programa se ejecute indefinidamente.
Instrucciones Iterativas: Bucle Para (FOR)
El bucle for
(para) facilita la implementación de iteraciones con un contador. Consiste en un conjunto de instrucciones que se repiten un número determinado de veces, controladas por un contador al que se le asigna un valor de inicio, un valor final y un incremento (o decremento) por cada iteración. Es ideal para situaciones donde se conoce de antemano el número de repeticiones. (Ver Diagrama de Flujo)
Símbolos Principales en Diagramas de Flujo
Los diagramas de flujo son representaciones gráficas de algoritmos o procesos. Utilizan símbolos estandarizados para ilustrar la secuencia de operaciones y decisiones.
A continuación, se presenta un ejemplo de diagrama de flujo que ilustra cómo determinar y mostrar el menor de dos números leídos:
(Insertar Diagrama de Flujo del Ejemplo: Determinar el menor de dos números)
Nota: Los "Diagramas" mencionados a lo largo del documento representan las representaciones gráficas correspondientes a cada estructura o ejemplo.