1. Introducción a la programación ............................... 11
1.1. Introducción ....................................................... 11
1.2. Un poco de historia de C..................................... 12
1.3. Entorno de programación en GNU/C ................. 16
1.3.1. Un primer programa en C ..................... 17
1.3.2. Estructura de un programa simple .......... 21
1.4. La programación imperativa ............................... 23
1.4.1. Tipos de datos básicos ........................... 24
1.4.2. La asignación y la evaluación de expresiones ....................................... 28
1.4.3. Instrucciones de selección ....................... 33
1.4.4. Funciones estándar de entrada y de salida ............................................. 35
1.5. Resumen ............................................................ 40
1.6. Ejercicios de autoevaluación ............................... 41
1.6.1. Solucionario .......................................... 42
2. La programación estructurada ................................. 45
2.1. Introducción ....................................................... 45
2.2. Principios de la programación estructurada ......... 48
2.3. Instrucciones iterativas ........................................ 49
2.4. Procesamiento de secuencias de datos ................ 52
2.4.1. Esquemas algorítmicos: recorrido
y búsqueda ........................................... 53
2.4.2. Filtros y tuberías ..................................... 59
2.5. Depurado de programas .................................... 62
2.6. Estructuras de datos ........................................... 66
2.7. Matrices ............................................................. 67
2.7.1. Declaración ........................................... 68
2.7.2. Referencia ............................................. 70
2.7.3. Ejemplos ............................................... 71
2.8. Estructuras heterogéneas .................................... 74
2.8.1. Tuplas ................................................... 74
2.8.2. Variables de tipo múltiple ....................... 77
Software libre
2.9. Tipos de datos abstractos .................................... 79
2.9.1. Definición de tipos de datos abstractos .... 80
2.9.2. Tipos enumerados .................................. 81
2.9.3. Ejemplo ................................................. 82
2.10. Ficheros ............................................................. 84
2.10.1. Ficheros de flujo de bytes ........................ 84
2.10.2. Funciones estándar para ficheros ............ 85
2.10.3. Ejemplo ................................................. 90
2.11. Principios de la programación modular ............... 92
2.12. Funciones ........................................................... 92
2.12.1. Declaración y definición ......................... 92
2.12.2. Ámbito de las variables .......................... 96
2.12.3. Parámetros por valor y por referencia ..... 99
2.12.4. Ejemplo ................................................. 101
2.13. Macros del preprocesador de C .......................... 103
2.14. Resumen ............................................................ 104
2.15. Ejercicios de autoevaluación ................................ 106
2.15.1. Solucionario ........................................... 110
3. Programación avanzada en C. Desarrollo
eficiente de aplicaciones ........................................... 125
3.1. Introducción ....................................................... 125
3.2. Las variables dinámicas ...................................... 127
3.3. Los apuntadores ................................................. 129
3.3.1. Relación entre apuntadores y vectores ..... 132
3.3.2. Referencias de funciones ......................... 135
3.4. Creación y destrucción de variables dinámicas ..... 137
3.5. Tipos de datos dinámicos .................................... 139
3.5.1. Cadenas de caracteres ........................... 140
3.5.2. Listas y colas .......................................... 145
3.6. Diseño descendente de programas ...................... 156
3.6.1. Descripción ............................................ 157
3.6.2. Ejemplo ................................................. 158
3.7. Tipos de datos abstractos y funciones
asociadas ........................................................... 159
3.8. Ficheros de cabecera .......................................... 166
3.8.1. Estructura ............................................... 166
3.8.2. Ejemplo ................................................. 169
3.9. Bibliotecas .......................................................... 172
3.9.1. Creación ............................................... 172
3.9.2. Uso ....................................................... 173
3.9.3. Ejemplo ................................................. 174
3.10. Herramienta make .............................................. 175
3.10.1. Fichero makefile ..................................... 176
5
Introducción al desarrollo del software
3.11. Relación con el sistema operativo. Paso
de parámetros a programas ............................... 179
3.12. Ejecución de funciones del sistema operativo ....... 181
3.13. Gestión de procesos ........................................... 183
3.13.1. Definición de proceso ............................ 184
3.13.2. Procesos permanentes ............................ 185
3.13.3. Procesos concurrentes ............................ 188
3.14. Hilos .................................................................. 189
3.14.1. Ejemplo ................................................. 190
3.15. Procesos ............................................................ 193
3.15.1. Comunicación entre procesos ................. 198
3.16. Resumen ............................................................ 202
3.17. Ejercicios de autoevaluación ............................... 204
3.17.1. Solucionario .......................................... 211
4. Programación orientada a objetos en C++ ............. 219
4.1. Introducción ....................................................... 219
4.2. De C a C++ ..................................................... 221
4.2.1. El primer programa en C++ .................. 221
4.2.2. Entrada y salida de datos ....................... 223
4.2.3. Utilizando C++ como C ........................ 226
4.2.4. Las instrucciones básicas ........................ 227
4.2.5. Los tipos de datos .................................. 227
4.2.6. La declaración de variables y constantes ........................................... 230
4.2.7. La gestión de variables dinámicas .......... 231
4.2.8. Las funciones y sus parámetros ............... 235
4.3. El paradigma de la programación orientada
a objetos ........................................................... 240
4.3.1. Clases y objetos ..................................... 242
4.3.2. Acceso a objetos .................................... 246
4.3.3. Constructores y destructores
de objetos ............................................. 250
4.3.4. Organización y uso de bibliotecas
en C ++................................................ 257
4.4. Diseño de programas orientados a objetos .......... 261
4.4.1. La homonimia ....................................... 262
4.4.2. La herencia simple ................................. 267
4.4.3. El polimorfismo ..................................... 273
4.4.4. Operaciones avanzadas con herencia ..... 279
4.4.5. Orientaciones para el análisis y diseño
de programas ........................................ 281
4.5. Resumen ............................................................ 285
4.6. Ejercicios de autoevaluación ............................... 286
4.6.1. Solucionario .......................................... 287
Software libre
5. Programación en Java ............................................... 309
5.1. Introducción ....................................................... 309
5.2. Origen de Java .................................................. 312
5.3. Características generales de Java ........................ 313
5.4. El entorno de desarrollo de Java ......................... 317
5.4.1. La plataforma Java ................................ 318
5.4.2. Mi primer programa en Java .................. 319
5.4.3. Las instrucciones básicas y los comentarios ................................... 320
5.5. Diferencias entre C++ y Java ............................. 321
5.5.1. Entrada/salida ....................................... 321
5.5.2. El preprocesador .................................... 324
5.5.3. La declaración de variables y constantes . 325
5.5.4. Los tipos de datos .................................. 325
5.5.5. La gestión de variables dinámicas ........... 326
5.5.6. Las funciones y el paso de parámetros .... 328
5.6. Las clases en Java .............................................. 329
5.6.1. Declaración de objetos ........................... 330
5.6.2. Acceso a los objetos ............................... 331
5.6.3. Destrucción de objetos ........................... 332
5.6.4. Constructores de copia ........................... 333
5.6.5. Herencia simple y herencia múltiple ........ 333
5.7. Herencia y polimorfismo ..................................... 334
5.7.1. Las referencias this y super ................ 334
5.7.2. La clase Object ...................................... 334
5.7.3. Polimorfismo .......................................... 335
5.7.4. Clases y métodos abstractos ................... 335
5.7.5. Clases y métodos finales ......................... 336
5.7.6. Interfaces ............................................... 337
5.7.7. Paquetes ................................................ 339
5.7.8. El API (applications programming interface)de Java .................................................. 340
5.8. El paradigma de la programación orientada
a eventos ........................................................... 341
5.8.1. Los eventos en Java ................................ 342
5.9. Hilos de ejecución (threads) ................................. 344
5.9.1. Creación de hilos de ejecución ............... 345
5.9.2. Ciclo de vida de los hilos de ejecución .... 348
5.10. Los applets ......................................................... 349
5.10.1. Ciclo de vida de los applets .................... 350
5.10.2. Manera de incluir applets
en una página HTML .............................. 351
5.10.3. Mi primer applet en Java ........................ 352
5.11. Programación de interfaces gráficas
en Java .............................................................. 353
5.11.1. Las interfaces de usuario en Java ............ 354
7
Introducción al desarrollo del software
ANOTACIONES
5.11.2. Ejemplo de applet de Swing ................... 355
5.12. Introducción a la información visual .................... 356
5.13. Resumen ............................................................ 357
5.14. Ejercicios de autoevaluación ............................... 358
5.14.1. Solucionario .......................................... 359
Glosario ......................................................................... 373
Bibliografia .................................................................... 381
http://www.megaupload.com/?d=48TGD779

No hay comentarios:
Publicar un comentario
Gracias por opinar en el Blog, si tienes dudas o sugerencias mándanos un mail a: jsmaster.in@gmail.com
De antemano, Gracias.
El equipo del Portal de Noticias del Tecnologico de Oaxaca