Sei sulla pagina 1di 7

Captulo 1.

Introduccin a la ciencia de las computadoras y a la programacin 1


1.1. Qu es una computadora? 2
1.2. Organizacin fsica de una computadora (hardware) 2
1.3. El software (los programas) 10
1.4. Los lenguajes de programacin 11
1.5. La resolucin de problemas con computadora 13
1.6. Programacin modular 24
1.7. Programacin estructurada 25
1.8. Los lenguajes Pascal y Turbo Pascal 28
Resumen 29
Ejercicios 30

Captulo 2. El entorno de programacin Turbo Pascal: Comenzando la programacin 32


2.1. El programa Turbo Pascal (versin 7.0) 33
2.2. Qu es un entorno de programacin? 35
2.3. El Entorno Integrado de Desarrollo (EID) 35
2.4. Instalacin de Turbo Pascal 36
2.5. El entorno de programacin de Turbo Pascal 37
2.6. Componentes del EID Turbo Pascal 7.0 41
2.7. Los mens 45
2.8. Creacin de programas: 1a edicin 48
2.9. Conservacin (grabacin) de programas en discos 48
2.10. Compilacin 49
2.11. Ejecucin (Run) 50
2.12. Tratamiento de archivos en la ventana de edicin 51
2.13. El depurador integrado 52
Resumen 52

Captulo 3. Introduccin a Pascal 54


3.1. La estructura de un programa en Pascal 55
3.2. Objetos de un programa 58
3.3. Diagramas de sintaxis 61
3.4. Tipos de datos 62
3.5. Constantes 71
3.6. Variables 73
3.7. Sentencias 75
3.8. La sentencia de asignacin 77
3.9. Expresiones y operaciones aritmticas 79
3.10. Operaciones Entrada/Salida 83
3.11. Operaciones bsicas de utilidad 90
3.12. Programacin interactiva 94
3.13. El estilo de programacin 95
3.14. Puesta a punto de programas 99
Resumen 103
Ejercicios 103
Problemas 107

Captulo 4 Estructuras de control selectivas 109


4.1. Expresiones lgicas 109
4.2. La sentencia if 117
4.3. Sentencias if anidadas 122
4.4. Programacin con expresiones lgicas 126
4.5. La sentencia case 131
4.6. Comparacin de sentencias i f anidadas y case 134
4.7. Puesta a punto de programas 136
Resumen 141
Problemas resueltos 141
Ejercicios 143
Problemas 145

Captulo 5. Estructuras de control repetitivas 148


5.1. El concepto de bucle 148
5.2. La sentencia while 150
5.3. Diseo de bucles 152
5.4. Terminacin de los bucles 154
5.5. La sentencia repeat 161
5.6. Comparacin de los bucles while y repeat 163
5.7. La sentencia for 165
5.8. Bucles anidados 171
5.9. Sentencias dt control incondicional 174
5.10. Eleccin de la estructura repetitiva adecuada 177
5.11. Optimizacin de bucles 179
5.12. Puesta a punto de programas 180
Resumen 183
Problemas resueltos 185
Ejercicios 191
Problemas 192

Captulo 6. La programacin modular 195


6.1. El diseo descendente: los subprogramas 195
6.2. El diseo modular: los mdulos 198
6.3. Procedimientos 199
6.4. Transferencia de informacin a/desde procedimientos: los parmetros . . . . 206
6.5. Variables locales y globales 218
6.6. Efectos laterales 221
6.7. Ambito de un identificador 222
6.8. La declaracin forward 230
6.9. Diseo descendente y programacin modular 232
6.10. Incluir archivos en programas (creacin de libreras) 239
6.11. Puesta a punto de programas 241
Resumen 243
Ejercicios 243
Problemas 247

Captulo 7. Funciones estndar y definidas por el usuario 249


7.1. Las funciones de Turbo Pascal 250
7.2. Las funciones predefinidas en Turbo Pascal 250
7.3. Funciones matemticas 251
7.4. Funciones trigonomtricas 257
7.5. Funciones ordinales 261
7.6. Funciones especiales 264
7.7. Funciones especiales (bajo nivel): HI/Lo/swap 265
7.8. Incremento y decremento: Inc/Dec 267
7.9. Nmeros aleatorios 269
7.10. Funciones definidas por el usuario 273
7.11. El tipo procedimental (PROCEDURE FUNCTION) 278
7.12. Puesta a punto de programas 281
Resumen 281
Problemas resueltos 282
Ejercicios 285
Problemas 288

Captulo 8. Tipos de datos definidos por el usuario y conjuntos 290


8.1. Definiciones de tipos 290
8.2. Tipos de datos ordinales 291
8.3. Tipos de datos subrango 294
8.4. Tipos definidos por el usuario: enumerados 297
8.5. Las funciones ordinales: Ord, Pred y Succ 304
8.6. Compatibilidad de tipos y compatibilidad de asignacin 308
8.7. Conjuntos 309
8.8. Operaciones con c o n j u n t o s 313
8.9. Recapitulacin sobre conjuntos: conceptos y operaciones 323
8.10. Procedimientos especiales de conjuntos 326
8.11. Puesta a punto de programas 328
Resumen 329
Ejercicios 329
Problemas 330

Captulo 9. Introduccin a las estructuras de datos: arrays 332


9.1. Concepto de estructuras de datos 333
9.2. Qu es un array? 333
9.3. Arrays unidimensionales: los vectores 334
9.4. Operaciones con arrays (vectores) 341
9.5. Arrays como parmetros 345
9.6. Valores mnimo y mximo de un vector 348
9.7. La directiva del compilador R 349
9.8. Arrays paralelos 350
9.9. Arrays multidimensionales 351
9.10. Arrays bidimensionales (tablas) 352
9.11. Tratamiento de arrays multidimensionales 361
9.12. Compatibilidad y conversin de tipos 364
9.13. Constantes de tipo array (tipeadas) 365
9.14. Arrays abiertos 366
9.15. Puesta a punto de programas 369
Resumen 370
Problemas resueltos 370
Ejercicios 374
Problemas 377

Captulo 10. Tratamiento de cadenas de caracteres 380


10.1. Concepto de cadena de caracteres (string) 380
10.2. Longitud de una cadena 381
10.3. Operaciones entre cadenas 385
10.4. Procedimientos y funciones de cadena internos 386
10.5. Otras propiedades de las cadenas 394
10.6. Parmetros array abierto de tipo CHAR 398
10.7. Parmetros cadena abierta 399
10.8. Cadenas terminadas en nulo 401
10.9. La unidad strings: funciones 402
Resumen 407
Ejercicios 409
Problemas 412

Captulo 11. El control de la pantalla y del teclado 414


11.1. La unidad Crt 414
11.2. Las variables Crt 417
11.3. Rutinas de control de pantalla 419
11.4. Pantallas versus ventanas 423
11.5. Pantalla de texto 424
11.6. Coordenadas de pantalla: posicin del cursor 426
11.7. Reglas prcticas para el control de la pantalla 428
11.8. El control del teclado 430
11.9. El control del tiempo y de sonidos 434

Captulo 12. Ingeniera de software: introduccin a la metodologa de construccin de


grandes programas 438
12.1. La complejidad inherente al software 438
12.2. La crisis del software 440
12.3. Factores en la calidad del software 442
12.4. El ciclo de vida del software 443
12.5. La documentacin 449
12.6. Mtodos formales de verificacin de programas 451
12.7. Principios de diseo de sistemas 458
12.8. Estilo de programacin 463
12.9. Diseo de algoritmos 473
12.10. Codificacin 474
12.11. Prueba (Testing) 474
12.12. Depuracin 475
12.13. Eficiencia 478
12.14. Transportabilidad (Portabilidad) 481

Captulo 13. Ordenacin, bsqueda y mezcla 484


13.1. Introduccin 484
13.2. Ordenacin 485
13.3. Ordenacin por burbuja 486
13.4. Ordenacin por seleccin 493
13.5. Ordenacin por insercin 495
13.6. Ordenacin Shell 498
13.7. Bsqueda lineal 501
13.8. Bsqueda binaria 505
13.9. Mezcla 509

Captulo 14. Registros 515


14.1. El tipo de datos registro 516
14.2. La sentencia with 520
14.3. Registros jerrquicos (anidados) 521
14.4. Los registros como parmetros 527
14.5. Arrays de registros 531
14.6. Registros variantes 534
14.7. Constantes de tipo registro (tipeadas) 543
14.8. Bsqueda en un array de registros 544
14.9. Bsqueda por conversin de claves (hashing) 547
14.10. Ordenacin de un array de registros 552
14.11. Puesta a punto de programas 556

Captulo 15. Archivos 564


15.1. Introduccin a los archivos 565
15.2. Los archivos en Turbo Pascal 566
15.3. Los archivos de texto (secuenciales) 570
15.4. Tratamiento de archivos de texto 572
15.5. Redirecciones de las entradas/salidas estndar 579
15.6. Los archivos de acceso aleatorio (con tipos) 582
15.7. Tratamiento de archivos de acceso aleatorio 584
15.8. Mantenimiento de archivos aleatorios 586
15.9. Deteccin de errores de Entrada/Salida (E/S) 593
15.10. Errores de E/S bajo MS-DOS 595
15.11. Tratamiento completo de archivos aleatorios 595
15.12. Archivos sin tipos 604
15.13. Borrar y renombrar archivos 606
15.14. Dispositivos en Turbo Pascal 608
15.15. Escritura en impresora 609
15.16. Archivos de texto asociados a unidades lgicas 610
15.17. Los archivos como parmetros de procedimientos 611
15.18. Ordenacin de archivos 611
15.19. Mezcla de archivos 612
15.20. Puesta a punto de programas 616

Captulo 16. La recursividad 620


16.1. La naturaleza de la recursividad 620
16.2. El seguimiento de la recursividad 629
16.3. Pilas 631
16.4. Subprogramas recursivos con parmetros tipo array 633
16.5. La eficiencia (iteracin ver sus recursividad) 635
16.6. Recursividad indirecta: declaracin Forward 637
16.7. Bsqueda binaria recursiva 639
16.8. Ordenacin rpida (quicksort) 642
16.9. Ordenacin por mezcla (ordenacin externa) 646
16.10. El problema de las Torres de Hanoi 650
16.11. Recursin mutua 653
16.12. La recursividad, pros y contras (sntesis) 654
16.13. Puesta a punto de programas 655

Captulo 17. Pilas y colas 660


17.1. Introduccin 660
17.2. Qu es una pila? 661
17.3. Realizacin de pilas con arrays (vectores) y registros 664
17.4. Qu es una cola? 670
17.5. Aplicaciones de las colas 671
17.6. Realizacin de una cola con arrays y registros 671
17.7. Puesta a punto de programas 676
Captulo 18. Estructuras dinmicas de datos: punteros y listas enlazadas 680
18.1. Estructuras de datos dinmicas 680
18.2. Punteros 682
18.3. Operaciones con variables puntero: los procedimientos New y Dispose . . . 685
18.4. El tipo genrico puntero (pointer) 700
18.5. La funcin assigned 701
18.6. La asignacin de memoria en Turbo Pascal 701
18.7. Listas enlazadas 706
18.8. Operaciones en una lista enlazada 710
18.9. Listas circulares 721
18.10. Listas doblemente enlazadas 723
18.11. Diseo de pilas con listas enlazadas 725
18.12. Diseo de colas con listas enlazadas 727
18.13. Puesta a punto de programas 729

Captulo 19. Arboles 733


19.1. Concepto de rbol 733
19.2. Arboles binarios 736
19.3. Arboles de expresin 742
19.4. Construccin de un rbol binario 745
19.5. Recorrido de un rbol 747
19.6. Arbol binario de bsqueda 751
19.7. Operaciones en rboles binarios de bsqueda 760

Captulo 20. Construccin de grandes programas (las unidades y la compilacin


independiente) 770
20.1. Concepto de unidad 771
20.2. Estructura de una unidad 771
20.3. Creacin de unidades 774
20.4. Utilizacin de unidad estndar 782
20.5. Situacin de las unidades en sus discos: Dnde busca Turbo Pascal las unidades? 786
20.6. Identificadores idnticos en diferentes unidades 788
20.7. Sntesis de unidades 789
20.8. Otros mtodos de estructurar programas: inclusin, solapamientos y encadenamiento
791

Captulo 21. Unidades estndar 805


21.1. Las unidades estndar 805
21.2. La unidad System 806
21.3. La unidad Printer 806
21.4. La unidad Dos 808
21.5. Procedimientos y funciones de la unidad Dos 811
21.6. La unidad Crt 819
21.7. La unidad Strings: Funciones 825
21.8. La unidad Turbo3 829

Captulo 22. Tipos abstractos de datos y objetos 834


22.1. El Papel (el Rol) de la abstraccin 835
22.2. Un nuevo paradigma de programacin 838
22.3. Modularidad 840
22.4. Diseo de mdulos 843
22.5. Tipos de datos 845
22.6. Abstraccin en lenguajes de programacin 846
22.7. Tipos abstractos de datos 849
22.8. Tipos abstractos de datos en Turbo Pascal 851
22.9. Orientacin a objetos 854
22.10. Reutilizacin de software 838
22.11. Lenguajes de programacin orientados a objetos 859
22.12. Desarrollo tradicional frente a orientado a objetos 863
22.13. Beneficios de las tecnologas de objetos 864

Captulo 23. Programacin orientada a objetos 868


23.1. Programacin estructurada 869
23.2. Qu es programacin orientada a objetos? 871
23.3. Un mundo de objetos: notaciones grficas 877
23.4. Comunicaciones entre objetos: los mensajes 883
23.5. Estructura interna de un objeto 886
23.6. Estructura interna de una clase 888
23.7. Herencia 890
23.8. Anulacin/Sustitucin 897
23.9. Sobrecarga 898
23.10. Ligadura dinmica 899

Captulo 24. Programacin orientada a objetos con Turbo Pascal 7 904


24.1. La estructura de los objetos: sintaxis 905
24.2. Secciones pblica y privada 912
24.3. Definicin de objetos mediante unidades 915
24.4. La herencia 917
24.5. Los mtodos - 925
24.6. Objetos dinmicos 926
24.7. Polimorfismo 935
24.8. Constructores y destructores 942
24.9. Los procedimientos new y dispose en programacin orientada a objetos . . 945
24.10. Mejoras en programacin orientada a objetos 946

Apndice
A. Cdigos de referencia 951
B. Palabras reservadas 957
C. El editor de Turbo Pascal 7.0 959
D. El entorno integrado de desarrollo Turbo Pascal 7.0 963
E. Operaciones ms ususales con Turbo Pascal 7 980
F. Directivas de compilacin 983
G. Depuracin de sus programas en Turbo Pascal 998
H. Mensajes y cdigos de error 1011
I. Gua de referencia Turbo Pascal 7.0, 6.0 y 5.5 1019
J. Diagramas de sintaxis Turbo Pascal 7.0, 6.0 y 5.5 1044
K. Gua del usuario ISO/ANSI Pascal estndar 1059
L. Pascal estndar (ANSI Pascal) versus Turbo Pascal 5.5 a 7.0 1081

Potrebbero piacerti anche