Universidad Autónoma de Occidente

FUNDAMENTOS DE PROGRAMACION /

MANUEL SANTOS

FUNDAMENTOS DE PROGRAMACION / - ALFA OMEGA MEXICO 2006 - 317 ILUSTRACION 17 X 22.8 CM

Este libro tiene un enfoque didáctico y académico, especialmente útil para introducir al lector en los principios básicos de la programación. Está orientado a estudiantes o personas que no tienen conocimientos previos de programación. Su propósito es facilitar la comprensión de los conceptos fundamentales como:

Algoritmos

Estructuras de control

Operaciones básicas y estructuras de datos

Lenguajes y paradigmas de programación

Uso de seudocódigo


Además, contiene ejercicios resueltos y propuestos, recursos para el profesor y secciones especiales de autoevaluación, lo cual lo convierte en una herramienta ideal para el autoaprendizaje y la enseñanza estructurada en niveles iniciales.


INTRODUCCIÓN XIII


---

CAPÍTULO 1. ALGORITMOS Y PROGRAMAS
Introducción .............................................................. 1
Representación de la información .................... 4
Algoritmos ............................................................... 5
Aplicación informática ....................................... 5

Ciclos de vida ................................................... 6

Metodologías .................................................. 8

Errores ............................................................. 9
Programación ..................................................... 11

Tipos de programación ................................. 12

Calidad ............................................................ 12

Documentación ............................................. 12
Resumen .............................................................. 14



---

CAPÍTULO 2. CONCEPTOS BÁSICOS DE LA METODOLOGÍA DE PROGRAMACIÓN
Técnicas para el diseño de algoritmos .......... 15

Diagramas de flujo ....................................... 15

Pseudocódigo ................................................ 20

Tablas de decisión ....................................... 23

Diagrama de transición de estados ............ 26

Diagrama Jackson ........................................ 27



---

CAPÍTULO 3. C, UN LENGUAJE ESTRUCTURADO. EL COMPILADOR
Lenguajes de programación ............................ 45

Tipos de lenguajes de programación ........ 45

Traductores del lenguaje .............................. 48

Compiladores frente a intérpretes ............ 49
El lenguaje C ...................................................... 50

Historia del lenguaje .................................... 50

C como lenguaje estructurado .................... 51
Estructura de un programa en C ..................... 52

Estructura general ........................................ 52

Directivas para el preprocesador .............. 54

Declaraciones globales ............................... 55

Funciones de usuario y de librería ............ 56
Librerías de C ...................................................... 57
La compilación y el enlazado ......................... 58

Uso de un compilador en modo comando 59

¿Por qué crear programas para el modo comando? 60
Entorno de desarrollo ...................................... 62

Entorno de desarrollo integrado ................ 62

Instalación y requerimientos del IDE ........ 63

Uso básico del IDE ......................................... 64

Depuración de un programa ....................... 65
Resumen .............................................................. 67
Ejercicios propuestos ..................................... 69



---

CAPÍTULO 4. COMENZANDO A PROGRAMAR. ELEMENTOS BÁSICOS DEL LENGUAJE C
Introducción .......................................................... 71
Caracteres y sintaxis de C ................................ 72

Comentarios ...................................................... 72

Palabras clave .................................................. 73

Identificadores .................................................. 73
Tipos de datos ....................................................... 74

Tipos de datos fundamentales ..................... 75

Tipos de datos derivados .............................. 76

Nombres de tipos: typedef ............................ 76
Declaración de constantes ................................ 77
Declaración de variables ................................... 78

Ámbito de las variables. Accesibilidad ....... 78
Operadores y expresiones ................................. 80

Operadores ......................................................... 80

Expresiones ......................................................... 81
Programación estructurada: funciones, librerías

La función main ............................................ 87
Primeras funciones de E/S por consola .......... 88

Función getchar ............................................ 88

Función putchar ............................................ 89

Función printf ................................................. 91

Función scanf .................................................. 91

Función getch y getche .............................. 92

Función gets y puts .................................... 92

Función flush(stdin) .......................................... 93
Resumen ................................................................. 94
Ejercicios resueltos ............................................ 95
Ejercicios propuestos ....................................... 96



---

CAPÍTULO 5. SENTENCIAS DE CONTROL DE FLUJO
Introducción .......................................................... 97
Sentencia if/else (selección) ............................ 97
Sentencia switch (selección) ........................... 100
Sentencia while (iteración) ............................. 101
Sentencia do...while (iteración) ...................... 102
Sentencia for (iteración) .................................... 103
Sentencias break y continue ............................ 104
Sentencia goto ..................................................... 104
Resumen ................................................................. 105
Ejercicios resueltos ............................................ 109
Ejercicios propuestos ....................................... 110


---

CAPÍTULO 6. ESTRUCTURAS ESTÁTICAS
Introducción ........................................................ 115
Arrays .................................................................... 116
Cadenas de caracteres. Funciones estándar .... 118
Estructuras ............................................................. 121
Uniones .................................................................. 123
Enumerados .......................................................... 124
Punteros ................................................................... 125
Resumen ............................................................... 127
Ejercicios resueltos .......................................... 128
Ejercicios propuestos ..................................... 129


---

CAPÍTULO 7. FUNCIONES
Introducción ........................................................ 131
Definición de una función ................................ 131
Llamada a una función ..................................... 132
Declaración prototipo ....................................... 132
Paso de argumentos por valor y por referencia 133
Paso de argumentos a la función main ....... 134
Librerías de funciones en C ............................... 135
Errores comunes .................................................. 136
Resumen ................................................................. 139
Ejercicios resueltos ............................................ 140
Ejercicios propuestos ....................................... 143


---

CAPÍTULO 8. ESTRUCTURAS EXTERNAS. FICHEROS
Conceptos del trabajo con ficheros ................. 145

Tipos de funciones de manejo de ficheros ... 145

Tipos de acceso a ficheros .................................. 148
Operaciones sobre ficheros ................................. 149

Abrir un fichero .................................................... 149

Cerrar un fichero .................................................. 150

Tratamiento de errores ...................................... 151
Tratamiento de ficheros en modo secuencial .... 152

Entrada / salida de caracteres ......................... 152

Entrada / salida de cadenas ............................. 153

Entrada / salida con formato ............................. 155

Modo texto y modo binario ............................... 157

Entrada / salida de registros ............................ 160
Tratamiento de ficheros en modo aleatorio ...... 163
Funciones de manejo de ficheros a bajo nivel . 165
Otras funciones para el manejo de ficheros ..... 169
Resumen ................................................................. 170
Ejercicios resueltos ............................................ 170
Ejercicios propuestos ....................................... 183



---

CAPÍTULO 9. ESTRUCTURAS DINÁMICAS
Organización de los datos en memoria ............. 187
Concepto de estructura de datos dinámica ....... 189
Asignación dinámica de memoria ....................... 191

Función malloc ................................................. 191

Función calloc .................................................. 192

Función realloc ................................................ 192

Función free ....................................................... 192
Arrays dinámicos .................................................... 193
Listas .............................................................................. 195

Inserción, recorrido, borrado, listas dobles, etc.
Pilas ................................................................................ 207
Colas ............................................................................... 210
Árboles ........................................................................... 214

Árboles binarios, de búsqueda, etc.
Resumen ................................................................. 227
Ejercicios resueltos ............................................ 227
Ejercicios propuestos ....................................... 236



---

CAPÍTULO 10. PROGRAMACIÓN AVANZADA
Recursividad .......................................................... 239

Función factorial, tipos, ventajas ................... 240
El preprocesador .................................................... 247
Creación de librerías ............................................. 250
Sockets ....................................................................... 257
Resumen ................................................................. 263
Ejercicios resueltos ............................................ 264
Ejercicios propuestos ....................................... 267



---

APÉNDICE A. DESARROLLO EN ENTORNO LINUX
Introducción .......................................................... 269
Compilador GCC ..................................................... 269
Utilidad MAKE ......................................................... 271
Creación de librerías con la utilidad AR .......... 274
Entorno gráfico ANJUTA IDE .............................. 276


---

APÉNDICE B. GESTIÓN DE PROCESOS
Introducción .......................................................... 279
Nociones sobre procesos .................................... 280
Funciones POSIX para la gestión de procesos . 285
Hilos o threads ....................................................... 287


---

APÉNDICE C. GUÍA DE ESTILO DE C
Introducción .......................................................... 291
Legibilidad y mantenimiento del código .......... 292
Organización de las funciones ........................... 296
Tipos de datos, operadores y expresiones ...... 301
Sentencias de control de flujo ........................... 305


---

ÍNDICE ALFABÉTICO ..................................... 313


Este libro está diseñado para que cualquier persona adquiera los conocimientos necesarios para desarrollar programas utilizando el lenguaje de programación C. Inicia desde lo más básico, explicando los elementos fundamentales de un ordenador, hasta alcanzar metodologías avanzadas de desarrollo.

Se destaca el papel histórico del lenguaje C, creado en los Bell Laboratories entre 1969 y 1972, junto con el sistema operativo Unix, los cuales revolucionaron la programación al hacerla más portátil y eficiente. Actualmente, C y sus derivados siguen siendo fundamentales en empresas, universidades y sistemas de Internet.

El texto subraya que dominar C es muy útil para desarrollar sistemas informáticos de cualquier tipo, y por eso el libro comienza presentando un sistema informático como herramienta para aprender a resolver problemas, empleando metodologías que faciliten el desarrollo de software.



9701511557


Programación

QA76.6 .S26 2006

Libros electrónicos

eLibro eLibro

Recursos de investigación libres

image host image host image host image host image host image host image host image host image host image host

Recursos informativos



TecNM | Tecnológico Nacional de México

© 2025 by Biblionexus