La programación se apoya sobre dos conceptos fundamentales: los algoritmos y las estructuras de datos. Sin una comprensión sólida de cómo diseñar secuencias lógicas de pasos y cómo organizar la información que se procesa, cualquier código, por más moderno que sea el lenguaje, tiende a volverse frágil e ineficiente.
A lo largo de la historia de la computación, figuras como Dennis Ritchie o Niklaus Wirth demostraron que los lenguajes y sistemas más influyentes se construyen sobre principios algorítmicos claros. Aprender estos fundamentos no es un ejercicio académico: es la base que permite abordar problemas reales con soluciones limpias y escalables.
Actualmente, los currículos de formación en programación suelen saltar directamente a la sintaxis de un lenguaje concreto, dejando de lado la capacidad de abstracción que proporciona el pensamiento algorítmico. Quien domina los conceptos de selección, repetición, modularización y tipos de datos estructurados puede adaptarse a cualquier lenguaje con facilidad. Este enfoque atemporal es justo el que proponen los autores de este libro: enseñar a pensar computacionalmente antes de preocuparse por un intérprete o compilador en particular.
Introducción al libro
“Elementos esenciales para programación: Algoritmos y Estructuras de Datos” es un texto colaborativo desarrollado en el marco de la Iniciativa Latinoamericana de Libros de Texto Abiertos (LATIn). Está dirigido a estudiantes que se inician en la programación y a profesionales que deseen reforzar sus bases teóricas.
No requiere conocimientos previos de ningún lenguaje: los ejemplos y ejercicios se plantean en pseudocódigo, lo que permite centrar la atención en la lógica y no en la sintaxis.
El libro aborda desde la definición misma de algoritmo hasta técnicas clásicas de ordenamiento y búsqueda, pasando por estructuras de control, subalgoritmos y representación de datos en memoria. Su enfoque es gradual y práctico, con numerosos diagramas y ejercicios que facilitan la asimilación de conceptos abstractos. Es especialmente útil para cursos introductorios en carreras de ingeniería, ciencias de la computación o formación autodidacta.
Contenido del libro
El lector aprenderá a modelar problemas del mundo real en soluciones computacionales mediante algoritmos representados con diagramas de flujo y pseudocódigo. Se exploran las estructuras de control básicas (secuencia, selección e iteración) y se profundiza en su uso combinado para resolver casos concretos. Posteriormente, se introduce la programación modular a través de funciones y subrutinas, explicando el paso de parámetros, variables locales y globales.
La segunda mitad del libro se centra en las estructuras de datos estáticas más importantes: cadenas, registros y arreglos. Se presentan algoritmos clásicos de ordenamiento (burbuja, inserción, selección) y métodos de búsqueda (lineal y dicotómica), junto con el concepto de recursividad. Finalmente, se abordan los archivos como medio de almacenamiento persistente y se cierra con un capítulo sobre sistemas de numeración y representación interna de la información.
Índice del libro
- Prólogo
- 1. Introducción a la Informática
- 2. Técnicas de programación. Organización de las acciones
- 3. Descripción de las estructuras selectivas y repetitivas
- 4. Estructuras selectivas y repetitivas analizadas desde su uso
- 5. Subalgoritmos
- 6. Estructuras de datos
- 7. Ordenamiento, Búsqueda e Intercalación
- 8. Estructuras de datos: archivos
- 9. Representación de la Información en una Computadora
Datos del libro
- Título: Elementos esenciales para programación: Algoritmos y Estructuras de Datos
- Autor: Gracia María Gagliano, Cristina I. Alarcón, Laura M. Angelone, Edison Isaías Del Rosario Camposano, Pedro Cardona, Fernando Guspi, José Eder Guzmán Mendoza, Zenón Luna, Pablo Augusto Magé, Jaime Muñoz Arteaga
- Categoría principal: Programación
- Subcategoría: (no aplica)
- Idioma: Español
- Licencia: CC BY-SA 3.0 (Reconocimiento-CompartirIgual 3.0 Unported)
Más libros en: Programación
Aviso legal: Este libro se comparte únicamente con fines educativos. El contenido se distribuye bajo licencias Creative Commons o permisos explícitos de sus autores. OpenLibro no aloja material con derechos reservados.