Fundamentos de Algoritmia y Programación: Conceptos Esenciales
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
con un tamaño de 5,27 KB
Etapas para la resolución de problemas
- Definición del problema: Comprender qué se pide.
- Análisis del problema: Identificar datos, resultados y condiciones.
- Diseño o programación: Elaborar un método para resolver el problema, que luego se traduce a un lenguaje de programación (codificación).
- Prueba: Se ejecuta el programa con distintos datos para verificar que los resultados sean correctos. Si hay errores, se revisan las etapas anteriores hasta corregirlos.
Estrategia
Resolver un problema complejo dividiéndolo en subproblemas más pequeños con el objetivo de reducir su complejidad (diseño descendente o top-down). Cada subproblema se analiza y resuelve por separado para finalmente integrar las soluciones.
Algoritmo
Secuencia ordenada y finita de pasos que permite resolver un problema. Expresado en un lenguaje comprensible para quien lo ejecuta, con acciones realizables.
- Finito: Cantidad limitada de pasos.
- Definido: Instrucciones claras, sin ambigüedades.
- General: Que pueda resolver todos los casos de un mismo tipo de problema.
Formalización
El ejecutante interpreta y ejecuta las instrucciones. Los recursos existentes en la ejecución de un trabajo constituyen el ambiente.
- Acción: Operación que modifica el estado del ambiente. Puede ser: Primitiva (el enunciado es suficiente para que pueda ser ejecutada sin información adicional) y No-primitiva (puede ser descompuesta en acciones primitivas para un ejecutante dado).
- Condición: Expresión lógica que puede ser verdadera o falsa, se utiliza para la toma de decisiones.
Programación modular
Dividir un programa en partes más pequeñas llamadas módulos. Cada uno puede desarrollarse y probarse de manera independiente, facilitando la detección de errores y la comprensión del programa completo. Permite reutilizar código y simplificar modificaciones futuras.
Conceptos básicos
- Constante: Valor que no cambia durante la ejecución.
- Variable: Espacios de memoria que almacenan valores que pueden cambiar durante la ejecución del programa. Se identifican mediante un nombre y solo pueden contener un valor a la vez.
- Expresión: Combinaciones de variables, constantes y operadores que producen un resultado: Aritmético (ej: A+B*2) y Relacional o Lógico (ej: A>B).
Tipos de datos
- Numérico: Representan números enteros o reales. Se utilizan para cálculos matemáticos.
- Carácter: Representan letras, símbolos o cadenas de texto. Manejan información textual.
- Lógico: Representan valores de verdad, se utilizan en condiciones.
Anidamiento
Una estructura de control se encuentra dentro de otra; un ciclo dentro de otro ciclo o una condición dentro de otra. Permite resolver problemas complejos, pero requiere un orden, asegurando que cada estructura esté completamente contenida dentro de la que incluye.
Corte de control
Utilizada en algoritmos que procesan datos ordenados, detectando cambios en una variable clave. Toma un valor inicial como referencia y repite acciones mientras ese valor no cambie. Cuando se detecta un cambio, se produce un “corte”, que implica realizar algún procesamiento parcial, como mostrar resultados o reiniciar acumuladores. Utilizado cuando se necesita agrupar información, por ejemplo, procesar datos por categorías o grupos.
Acciones primitivas
Operaciones básicas que componen un algoritmo:
- Asignación: Permite almacenar un valor en una variable (N = N + 1).
- Entrada de datos (LEER): Permite incorporar valores desde el exterior del algoritmo, generalmente ingresados por el usuario.
- Salida de datos (ESCRIBIR): Permite mostrar resultados hacia el exterior.
Estructuras lógicas de control
Definen el flujo de ejecución de un algoritmo, el orden en que se ejecutan las instrucciones.
- Secuencia: Las instrucciones se ejecutan una después de la otra, en el orden en que están escritas.
- Selección (decisión): Tomar decisiones dentro del algoritmo. Según el resultado de una condición, puede ser: Condicional simple (ejecuta acciones solo si se cumple una condición), Condicional doble (permite elegir entre dos caminos posibles) y Selección múltiple (permite elegir entre varias opciones según el valor de una variable).
- Iteración (repetición):
- Mientras: Evalúa la condición al inicio. Si la condición es falsa desde el principio, no se ejecuta. Se utiliza cuando no se sabe cuántas veces se repetirá, pero sí la condición del corte.
- Repetir: Evalúa la condición al final, el bloque se ejecuta al menos una vez. Ejecutar primero y luego verificar.