Joyanes Aguilar, Luis

Pascal y turbo pascal : un enfoque práctico / Luis Joyanes Aguilar, Ignacio Zahonero Martínez, Angel Hermoso López. - Madrid: McGraw-Hill, 1995 - 619 p.

CONTENIDO
1. Algoritmos y programas 1
1.1. Diseño de programas 1
1.2. Análisis del problema 3
1.3. Diseño y verificación de algoritmos 4
1.3.1. Verificación de algoritmos 7
1.4. Herramientas de programación 7
1.5. Los diagramas de flujo 8
1.6. Pseudocódigo 12
1.7. Codificación 14
1.8. Documentación 14
1.9. Compilación y ejecución 16
1.10. Verificación 17
1.11. Programación modular 17
1.12. Programación estructurada 20
1.13. Diagramas de estructura 22
1.14. Aplicaciones 26
1.14.1. Estructuras secuenciales 26
1.14.2. Estructuras alternativas 28
1.14.3. Estructuras repetitivas 30
1.15. Los lenguajes Pascal y Turbo Pascal 34
1.15.1. Turbo Pascal 35
2. Introducción a Pascal y Turbo Pascal 37
2.1. Elementos de un programa en Pascal 37
2.2. La estructura de un programa en Turbo Pascal 39
2.3. La sección de declaraciones 39
2.4. El programa principal 42
2.5. Tipos de datos predefinidos 43
2.6. Tipos definidos por e! usuario 45
2.7. La operación de asignación 46
2.8. Operaciones de Entrada/Salida 46
2.9. Operadores aritméticos 49
2.10. unciones predefinidas 49
Problemas resueltos 50
Problemas suplementarios 61
3. Estructuras de control alternativas 63
3.1. Operadores y expresiones 63
3.1.1. Operadores relacionales 63
3.1.2. Operadores lógicos 64
3.1.3. Expresiones lógicas 65
3.2. Estructuras de control 65
3.3. Estructuras alternativas 65
3.4. Sentencias If-then e If-then-else 66
3.5. Sentencias Case 67
3.6. La sentencia incondicional Goto 68
3.7. Evaluación de expresiones lógicas en cortocircuito 68
Problemas resueltos 69
Problemas suplementarios 85
4. Estructuras de control repetitivas 87
4.1. La sentencia While 87
4.1.1. Funcionamiento 87
4.1.2. Características del bucle While 89
4.2. La sentencia Repeat-until 89
4.2.1. Características del bucle Repeat 90
4.3. La sentencia For 91
4.3.1. Funcionamiento 91
4.4. ¿Cuándo utilizar While/Repeat/For? 93
4.5. Bucles anidados 93
Problemas resueltos 94
Problemas suplementarios 106
5. Procedimientos y funciones 113
5.1. Concepto de subprogramas (procedimientos y funciones) 113
5.2. El intercambio de información: los parámetros 113
5.2.1. Parámetros por valor y por variable 114
5.3. Declaraciones locales y globales 114
5.4. Efectos laterales 115
5.5. Estructura, declaración y empleo de un procedimiento 115
5.5.1. Declaración de procedimientos 116
5.5.2. Declaración de parámetros formales 116
5.5.3. Llamada o invocación a un procedimiento 116
5.6. Estructura, declaración y empleo de una función 118
5.6.1. Llamada a una función 118
5.6.2. Parámetros variables en funciones 119
5.7. ¿Funciones o procedimientos? 120
5.8. Funciones de biblioteca 120
5.9. Recursividad 120
5.10. Tipos procedimiento 122
5.11. Declaración de los tipos procedimiento 122
Problemas resueltos 126
Problemas suplementarios 146
6. Listas y tablas (arrays) 147
6.1. Concepto y clasificación de estructuras 147
6.2. La estructura array 148
6.2.1. Declaración de tipos y variables array 148
6.3. Operaciones con arrays 150
6.3.1. Acceso a los elementos de un array 150
6.3.2. Operaciones con la estructura 150
6.3.3. Constantes variables array 150
6.4. Arrays especiales: las cadenas de caracteres 151
6.5. Operaciones con cadenas 152
6.5.1. Operador de Concatenación (+) 152
6.5.2. La función Concat 153
6.5.3. La cadena vacía o nula 153
6.5.4. Acceso a los elementos de una cadena 153
6.5.5. Función Length 153
6.6. Funciones de tratamiento de cadenas 154
6.7. Tratamiento de cadenas en Pascal estándar 157
6.7.1. Definición del tipo cadena en Pascal estándar 157
6.7.2. Operaciones con cadenas en Pascal estándar 159
6.8. Procedimientos PACK Y UNPACK 164
Problemas resueltos 165
Problemas suplementarios 210
7. Búsqueda, ordenación y mezcla en listas 213
7.1. Métodos de búsqueda 213
7.1.1. Búsqueda secuencial 213
7.1.2. Búsqueda binaria 215
7.2. Métodos de ordenación 217
7.2.1. Ordenación por intercambio 218
7.2.2. Ordenación por selección 219
7.2.3. Ordenación por inserción 219
7.2.4. Ordenación QuickSort 220
7.2.5. Ordenación por montículo 222
7.2.6. Ordenación Shell 225
7.3. Mezcla de listas 226
Problemas resueltos 227
Problemas suplementarios 250
8. Conjuntos 253
8.1. Concepto de conjunto 253
8.2. Conjuntos constantes 254
8.3. Operaciones con conjuntos 254
8.4. La pertenencia a un conjunto. El operador IN 258
8.5. La operación de entrada y salida en la estructura conjunto 258
8.6. Prioridad de operadores en Pascal y Turbo Pascal 259
Problemas resueltos 259
Problemas suplementarios 268
9. Registros 271
9.1. La estructura de datos registro 271
9.2. El acceso a los componentes de un registro. La sentencia With 272
9.3. Registros como operandos y parámetros 273
9.4. Registros jerárquicos 274
9.4.1. Sentencias With anidadas 274
9.5. Registros variantes 275
9.6. Constantes tipo registro 276
Problemas resueltos 276
Problemas suplementarios 311
10. Archivos en Turbo Pascal 315
10.1. Conceptos generales de archivos 315
10.2. Declaración y apertura de archivos 315
10.2.1. El procedimiento Assign 316
10.2.2. El procedimiento Resel 317
10.2.3. La función Ioresult 317
10.2.4. El procedimiento Rewrite 318
10.2.5. El procedimiento Close 318
10.3. Procedimientos de entrada y salida 318
10.3.1. El procedimiento Read 318
10.3.2. Fin de archivo: Eof 319
10.3.3. El procedimiento Write 319
10.4. Archivos de texto 319
10.4.1. Declaración de archivos de texto 319
10.4.2. Escritura en un archivo de texto: Write y WriteLn 320
10.4.3. Lectura en un archivo de texto: Read y ReadLn 321
10.4.4. La función Eoln 321
10.4.6. Añadir datos en un archivo de texto: Append 322
10.5. Archivos de acceso directo (con tipos) 322
10.5.1. Apertura de un archivo 323
10.5.2. Tamaño. Registro actual y posición 323
10.5.3. Lectura y escritura de archivos 324
10.5.4. Cierre de un archivo 324
10.6. Paso de archivos como parámetros 324
10.7. El tratamiento de archivos desde Turbo Pascal 324
10.7.1. Cambio de nombre y borrado de un archivo 325
10.8. Ordenes de manipulación de directorios 325
Problemas resueltos 326
Problemas suplementarios 369
11. Archivos en Pascal estándar (ANSI/ISO) 373
11.1. La variable buffer de fichero 373
11.2. Put, Get, Reset y ReWrite 374
11.3. El procedimiento Page 375
11.4. Los ficheros Input y Output 375
Problemas resueltos 376
Problemas suplementarios 389
12. Estructuras dinámicas de datos (I): punteros 391
12.1. El tipo de dato puntero 391
12.2. Los procedimientos New y Dispose 392
12.3. Estructuras dinámicas de datos 395
12.4. Listas simplemente enlazadas 395
12.4.1. Declaración de un nodo 396
12.4.2. Manipulación de listas enlazadas con punteros 396
12.5. Listas doblemente enlazadas 399
12.6. Listas circulares 400
12.7. Pilas 400
12.8. Colas 401
Problemas resueltos 402
Problemas suplementarios 434
13. Estructuras dinámicas de datos (II): árboles 437
13.1. Estructuras dinámicas de datos no lineales 437
13.2. Árboles 438
13.3. Árboles binarios de búsqueda 439
13.4. Operaciones en árboles binarios de búsqueda 439
13.4.1. Búsqueda 440
13.4.2. Inserción 440
13.4.3. Eliminación 440
13.4.4. Recorrido de un árbol binario 440
Problemas resueltos 442
Problemas suplementarios 473
14. Guía del usuario ISO/ANSI. Pascal estándar 477
14.1. Elementos del lenguaje Pascal 477
14.1.1. Conjuntos de caracteres 477
14.1.2. Símbolos especiales 478
14.1.3. Palabras reservadas 478
14.1.4. Identificadores 478
14.1.5. Cadenas de caracteres 478
14.1.6. Separadores 478
14.1.7. Comentarios 479
14.1.8. Etiquetas 479
14.1.9. Directivas 479
14.2. Tabla de identificadores estándar 479
14.2.1. Constantes 479
14.2.2. Tipos estándares 479
14.2.3. Variables fichero 479
14.2.4. Funciones 480
14.2.5. Procedimientos 480
14.2.6. Listado alfabético 480
14.3. Estructura de u n programa 480
14.3.1. Cabecera de un programa 480
14.3.2. Declaraciones 481
14.3.3. Bloque o cuerpo principal 482
14.4. Tipos de datos 482
14.4.1. Definición de tipos 483
14.4.2. Tipos simples 483
14.4.3. Tipos estructurales o compuestos 484
14.5. Tipos compatibles 493
14.6. Operadores 494
14.7. Entradas y salidas básicas 495
14.7.1. Salida con WriteLn y write 495
14.7.2. Entrada (lectura) con Read y ReadLn 496
14.8. Sentencias 496
14.8.1. Sentencia de asignación 496
14.8.2. Sentencia compuesta 497
14.8.3. Sentencia procedimiento 497
14.8.4. Sentencias condicionales 497
14.8.5. Sentencias repetitivas (bucles) 499
14.9. Procedimientos y funciones definidos por el usuario 501
14.9.1. Declaración de un procedimiento 501
14.9.2. Llamada a un procedimiento 502
14.9.3. Declaración de una función 502
14.9.4. Llamada a una función 503
14.9.5. Parámetros variables 503
14.9.6. Parámetros valor 504
14.9.7. Parámetros función 504
14.9.8. Parámetros procedurales 505
14.9.9. Directiva forward 505
14.10. Funciones intrínsecas 506
14.10.1. Funciones numéricas 506
14.10.2. Funciones de transferencia 506
14.10.3. Funciones ordinales 507
14.10.4. Funciones boolean (lógicas) 507
14.11. Procedimientos intrínsecos 507
14.11.1. Procedimientos de tratamiento de archivos 507
14.11.2. Procedimientos de asignación dinámica 508
14.11.3. Procedimientos de transferencia (empaquetamiento) 509
Problemas resueltos 509
Problemas suplementarios 531
15. Guía del usuario de Turbo Pascal (5.5, 6.0, 7.0) 539
15.1. Lenguaje 539
15.1.1. Palabras reservadas 539
15.1.2. Directivas (se pueden redefinir) 539
15.1.3. Identificadores 539
15.1.4. Cadenas de caracteres 540
15.1.5. Comentarios 540
15.1.6. Línea de programa 540
15.1.7. Estructura de un programa 540
15.1.8. Procedimientos y funciones 540
15.2. Unidades 541
15.2.1. Unidades estándar 541
15.2.2. Sintaxis de la unidad 541
15.3. Dispositivos 541
15.4. Tipos de datos 542
15.4.1. Tipos simples 542
15.4.2. Tipos subrango 542
15.4.3. Tipos enumerados 542
15.4.4. Tipos estructurados 542
15.4.5. Tipos procedimiento 543
15.5. Variables y constantes 543
15.5.1. Constantes predefinidas 543
15.5.2. Declaración de variables 543
15.5.3. Variables absolutas 543
15.5.4. Variables predefinidas 544
15.5.5. Constantes con tipos 544
15.6. Operadores 545
15.6.1. Aritméticos 545
15.6.2. Lógicos 546
15.6.3. Relacionales 546
15.6.4. De conjunto 546
15.6.5. Dirección 547
15.6.6. Concatenación 547
15.6.7. Prioridad de operadores 547
15.7. Sentencias 547
15.7.1. Asignación 547
15.7.2. Compuesta 547
15.7.3. Selectiva (if) 547
15.7.4. Selectiva (if-anidada) 548
15.7.5. Selectiva múltiple (case) 548
15.7.6. Sentencia repetitiva for 548
15.7.7. Sentencia repetitiva while 549
15.7.8. Sentencia repetitiva repeat 549
15.8. Ambito y localidad 549
15.9. Procedimientos y funciones estándar 550
15.9.1. Funciones aritméticas 550
15.9.2. Funciones de transferencia 551
15.9.3. Procedimientos de flujo de control 551
15.9.4. Procedimientos o funciones ordinales 551
15.9.5. Tratamiento de cadenas 552
15.9.6. Punteros y direcciones 553
15.9.7. Asignación dinámica 553
15.9.8. Procedimientos y funciones diversas 554
15.9.9. Procedimientos de tratamiento de archivos 555
15.9.10. Entradas/Salidas 555
15.10. Funciones definidas por el usuario 557
15.10.1. Declaración 557
15.11. Archivos 557
15.11.1. Preparación de un archivo 557
15.11.2. Creación de un archivo de registros 557
15.11.3. Almacenar datos de un archivo 558
15.11.4. Cerrar un archivo 558
15.11.5. Lectura de un archivo de registros 558
15.11.6. Cambiar registros de un archivo de registros 559
15.12. Directivas de compilación 558
15.12.1. Directivas de conmutación 558
15.12.2. Directivas parámetro 559
15.12.3. Directivas de compilación condicional 559
15.12.4. Símbolos condicionales 560
15.13. Control de dispositivos 560
15.13.1. Caracteres de control 560
15.13.2. Teclas de edición de entrada de líneas 560
Problemas resueltos 562
Problemas suplementarios 572

8448118952


LENGUAJE PASCAL
PASCAL
TURBO PASCAL
LENGUAJE DE PROGRAMACION

004.438PASCAL J84p