CONTENIDO: INTRODUCCIÓN A LOS ALGORITMOS Y A LA PROGRAMACIÓN DE COMPUTADORAS
Introducción
Concepto de algoritmo
Conceptos de programación
Representación gráfica de algoritmos
Nuestro primer programa
La memoria de la computadora
Las variables
Operadores aritméticos
Expresiones lógicas
Operadores de bits
ESTRUCTURAS BÁSICAS DE CONTROL Y LÓGICA ALGORÍTMICA
Introducción.
Estructura secuencial.
Estructura de decisión
Estructura de repetición
Contextualización del problema
Resumen
FUNCIONES, MODULARIZACIÓN Y METODOLOGÍA TOP-DOWN
Introducción.
Conceptos iniciales.
Funciones definidas por el programador
Legibilidad y reusabilidad del código
Alcance de las variables (scope).
Argumentos por valor y referencia.
TIPOS DE DATOS ALFANUMÉRICOS.
Introducción
Carácter
Cadenas de caracteres
Tratamiento de cadenas de caracteres
Funciones de biblioteca para manejo de cadenas
Resumen
PUNTEROS A CARÁCTER
Introducción
Conceptos iniciales
Funciones que retornan cadenas
La función malloc
PUNTEROS, ARRAYS Y ARITMÉTICA DE DIRECCIONES
Introducción
Punteros y direcciones de memoria
Arrays
Relación entre arrays y punteros
Código compacto y eficiente
Arrays de cadenas
Argumentos en línea de comandos (int argc, char* argv[])
Resumen
TIPOS DE DATOS ESTRUCTURADOS
Introducción
Acceso directo sobre arrays
Acceso indirecto sobre arrays
Operaciones sobre arrays
Arrays multidimensionales
Tipos de datos definidos por el programador
Estructuras o registros
OPERACIONES SOBRE ARCHIVOS.
Introducción
Archivos
Archivos de registros
Lectura y escritura en bloques (buffers)
Archivos de texto
Operaciones lógicas sobre archivos
TIPO ABSTRACTO DE DATO (TAD)
Introducción
Capas de abstracción.
Tipos de datos.
Análisis de ejercicios integradores
Introducción
Problemas con corte de control
Apareo de archivos
Apareo de archivos con corte de control
Resumen ESTRUCTURAS DE DATOS DINÁMICAS LINEALES
Introducción
Estructuras estáticas
Estructuras dinámicas
Listas enlazadas.
Operaciones sobre listas enlazadas
Estructura Pila (LIFO)
Estructura Cola (FIFO).
Lista doblemente enlazada
Nodos que contienen múltiples datos
Estructuras de datos combinadas
Resumen
Bibliografía contenidos interactivos web
Resumen
En la actualidad aún son pocas las personas que tienen la capacidad de dictarle instrucciones a una computadora exitosamente, ello no obstante que la informática está al alcance de todos; la razón de lo anterior es que para poder alcanzar tal propósito es fundamental tener un pensamiento conciso y ordenado, que tenga bien definido lo que desea realmente conseguir. Este libro tiene el objetivo de ayudar al lector a desarrollar ese tipo de pensamiento. El programador que desea adquirir una buena lógica encontrará en estas páginas conceptos profundos como las cadenas de caracteres, los apuntadores, los arreglos, el contexto de un programa y la asignación dinámica de la memoria explicados de modo directo, claro y conciso.
El autor del presente texto ofrece un enfoque práctico, secuencial e incremental, adecuado para el lector iniciado o el estudiante promedio, ya que por una parte comineza de cero y el lector iniciado va avanzando conforme va dominando los temas, y por otra parte el estudiante promedio encontrará una organización clara y jerárquica cuyo objetivo es que el lector identifique, aprenda y desarrolle sus competencias y áreas de oportunidad. Opuesto al concepto de libro tradicional, el presente texto se desarrolla como un curso de programación donde se guía al alumno en un proceso de aprendizaje y se le proporciona la lógica para diseñar e implementar algoritmos.