Como programar c++-4taEdicion

GNU/Linux es un Sistema Operativo multitarea en el que van a convivir un gran número de procesos. Es posible, bien por u

Views 267 Downloads 1 File size 36MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PEARSON

EITEL

DEITEL DEITEL

http://alexyniorlls.blogspot.com 2 of 1380.

CUARTA EDICIÓN

CÓMO PROGRAMAR EN

C++

http://alexyniorlls.blogspot.com 3 of 1380.

http://alexyniorlls.blogspot.com 4 of 1380.

CUARTA EDICIÓN

CÓMO PROGRAMAR EN

Harvey M. Deitel Paul J. Deitel TRADUCCIÓN Alfonso Vidal Romero Elizondo Ingeniero en Sistemas Electrónicos ITESM-Campus Monterrey Jorge Octavio García Pérez Ingeniero en Computación Universidad Nacional Autónoma de México REVISIÓN TÉCNICA M. en C. Gabriela Azucena Campos García Profesora del Departamento de Sistemas de Información ITESM-Campus Estado de México

MÉXICO • ARGENTINA • BRASIL • COLOMBIA • COSTA RICA • CHILE • ECUADOR ESPAÑA • GUATEMALA • PANAMÁ • PERÚ • PUERTO RICO • URUGUAY • VENEZUELA

http://alexyniorlls.blogspot.com 5 of 1380.

_________________________ / Dal-right ©2003. Todos los derechos reservados. Esta edición en español es la única autorizada.

Edición en español: Editor:

Guillemo Trujano Mendoza e-mail: guülermodrujaoo^1pcan»m*d..cotB Miguel B. Gutiérrez Hernández Editor de desarrollo: Supervisor de producción: Enrique Trejo Hernández

Edición en inglés: Vice Presidenl and Editorial Director. ECS: Murcia J. Hartón Acquisilions Editor: Petra J. Recler Assistant E ditor Sarah Burrows Projcct Manager: Jennifer Cappello Vice Presiden! and Director o í Produclion and Manufacturing. ESM: David W. U c e a ré Exccutivc Managing Editor: Vince O ’Brien Production Editor: Chirag Thakkar Director of Creative Services: Paul Belfanti Creative Director: Carole Anson Chaptcr Opcncr and Covcr Dcsigncr: Tomara l~ Sew nam , la u ra Treibeck, Dr. Harvey Deitel Manufacturing Manager. Trudy Pisciotti Manufacturing Buyer: Lisa McDowell Marketing Manager: Pamela Sltaffer Marketing Assistant: Barrie Reinhold

CUARTA EDICIÓN. 2003 D.R. © 2003 por Pearson Educación de México, S.A. de C.V. Atlacomulco 500-5o. piso Col. Industrial Atoto 53519, Naucalpan de Juárez, Edo. de México e-mail: editorial, universidades @ pearsoned.com Cámara Nacional de la Industria Editorial Mexicana. Reg-Núm. 1031. Prcntice Hall es una marca registrada de Pearson Educación de México. S.A. de C.V. Reservados todos los derechos. Ni la totalidad ni parte de esta publicación pueden reproducirse, registrarse o transmitirse, por un sistema de recuperación de información, en ninguna forma ni por ningún medio, sea electrónico, mecánico, fotoquímico, magnético o clcctroóptico, por fotocopia, grabación o cualquier otro, sin permiso previo por escrito del editor. El préstamo, alquiler o cualquier otra forma de cesión de uso de este ejemplar requerirá también la autorización del editor o de sus representantes. ISBN 970-26-0254-8

®

Impreso en México. Printed in México. 1 2 3 4 5 6 7 8 9 0 - 05 0 4 0 3 0 2

http://alexyniorlls.blogspot.com 6 of 1380.

PARA Don Kostuch: Por su constante dedicación a la excelencia en la enseñanza y al escribir sobre C++ y la tecnología de objetos. Gracias por ser nuestro mentor, colega y amigo. Gracias por haber sido durante una década nuestro revisor más crítico y. aún así, el más constructivo. Es un privilegio para nosotros ser sus estudiantes. Harvey y Paul Deitel

http://alexyniorlls.blogspot.com 7 of 1380.

http://alexyniorlls.blogspot.com 8 of 1380.

Contenido

Prefacio

1

xxxiii

Introducción a las co m p u tad oras y a la p ro gra m a ció n en C + +

1.1 Introducción 1.2 ¿Qué es una computadora? 1.3 Organización de las computadoras 1.4 Evolución de los sistemas operativos 1.5 Computación personal, distribuida y diente-servidor 1.6 Lenguajes máquina, lenguajes ensambladores, yde alto nivel 1.7 Historia de C y C++ 1.8 La Biblioteca estándar de C++ 1.9 Java 1.10 Visual Basic, Visual C++ y C# 1.11 Otros lenguajes de alto nivel 1.12 Programación estructurada 1.13 La tendenda clave del software: tecnología deobjetos 1.14 Conceptos básicos de un ambiente típico C++ 1.15 Tendendas de hardware 1.16 Historia de Internet 1.17 Historia de la World Wide Web 1.18 El Consorcio World Wide Web (W3C) 1.19 Notas generales acerca de C++ y de este libro 1.20 Introducdón a la programación en C++ 1.21 Un programa sencillo: imprimir una línea de texto 1.22 Otro programa sencillo: suma de dos enteros 1.23 Conceptos de memoria 1.24 Aritmética 1.25 Toma de dedsiones: operadores de igualdad y dereladón http://alexyniorlls.blogspot.com 9 of 1380.

1 2 4 5 6 7 7 8 10 11 11 13 13 14 15 17 18 19 20 20 21 21 26 30 31 34

Contenido

VIII

1.26 1.27

Acerca de los objetos: introducción a la tecnología de objetos y al Lenguaje Unificado de Modelado (UML™) Recorrido a través del libro

2

Estructuras d e control

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8

Introducción Algoritmos Seudocódigo Estructuras de control Estructura de selección i f Estructura de selección i £ / e l s e Estructura de repetición w h ile Cómo formular algoritmos: ejemplo práctico 1 (repetición controlada por un contador) 2.9 Cómo formular algoritmos mediante el mejoramiento de arriba a abajo, paso a paso: ejemplo práctico 2 (repetición controlada por un centinela) 2.10 Cómo formular algoritmos mediante el mejoramiento de arriba a abajo, paso a paso: ejemplo práctico 3 (estructuras de control anidadas) 2.11 Operadores de asignación 2.12 Operadores de incremento y decremento 2.13 Fundamentos de la repetición controlada por un contador 2.14 Estructura de repetición f o r 2.15 Ejemplos de la utilización de la estructura f o r 2.16 Estructura de selección múltiple s w i tc h 2.17 Estructura de repet ición d o / wh i 1 e 2.18 Instrucciones b r e a k y c o n t i nue 2.19 Operadores lógicos 2.20 La confusión entre los operadores de igualdad ( - - ) y de asignación (-) 2.21 Resumen sobre programación estructurada 2.22 (Ejemplo práctico opcional) Acerca de los objetos: cómo identificar las clases de un sistema a partir de un problema establecido

3 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15

Funciones

40 44

70 71 72 72 73 76 77 81 83 86 94 98 99

102 104 109 113

120 122 124 127 128 133

169

Introducción Componentes de un programa en C++ La biblioteca de funciones matemáticas Funciones Definición de funciones Prototipos de función Archivos de encabezado Cómo generar números aleatorios Ejemplo: un juego de azar y la introducción de enum Clases para almacenamiento Reglas de alcance Recursi viciad Ejemplo sobre cómo utilizar la rccursividad: la serie de Fibonacci Recursividad versus iteración Funciones con listas de parámetros vacías http://alexyniorlls.blogspot.com 10 of 1380.

170 170 171 173 174 178 180 182 188 192 195 198

202 206 208

Contenido

3.16 3.17 3.18 3.19 3.20 3.21 3.22

IX

Funciones inline Referencias y parámetros por referencia Argumentos predeterminados Operador unario de resolución de alcance Sobrecarga de funciones Plantillas de función (Ejemplo práctico opcional) Acerca de los objetos: identificación de los atributos de las clases

4

Arreglos

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10

Introducción Arreglos Declaración de arreglos Ejemplos del uso de arreglos Cómo pasar arreglos a funciones Ordenamiento de arreglos Ejemplo práctico: cálculo de la media, la mediana y la moda mediante arreglos Búsqueda en arreglos: búsqueda lineal y búsqueda binaria Arreglos con múltiples subíndices (Ejemplo práctico opcional) Acerca de los objetos: cómo identificar las operaciones de una clase

5

A puntadores y c a d e n a s Introducción Declaración e inicialización de variables de apuntador Operadores para apuntadores Llamada a funciones por referencia Uso de const con apuntadores Ordenamiento burbuja mediante las llamadas por referencia Expresiones con apuntadores y aritmética de apuntadores Relación entre apuntadores y arreglos Arreglos de apuntadores Ejemplo práctico: simulación para barajar y repartir cartas Apuntadores a funciones Introducción al procesamiento de caracteres y texto 5.12.1 Fundamentos de los caracteres y de las cadenas 5.12.2 Funciones para el manejo de cadenas de la biblioteca de manipulación de cadenas (Ejemplo práctico opcional) Acerca de los objetos: colaboración entre objetos

6

C la se s y ab stracción d e datos

6.1 6.2 6.3 6.4

Introducción Definiciones de estructura Acceso a los miembros de una estructura Implementación del tipo Tiempo definido por el usuario mediante una estructura al estilo C Implementación del tipo de dato abstracto Tiempo mediante una clase Alcance de una clase y acceso a los miembros de la dase

6.5 6.6

225

252

5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12

5.13

209 211 215 217 219 222

http://alexyniorlls.blogspot.com 11 of 1380.

253 253 255 256 272 276 278 283 289 2%

319 320 320 322 325 329 336 341 344 349 350 355 360 360 362 370

404 405 406 407 408 411 418

Separación de la interfaz y la ¡mplementación Control de acceso a los miembros Funciones de acceso y funciones de utilidad Inicialización de los objetos de una clase: constructores Uso de argumentos predeterminados con constructores Destructores Invocación de constructores y destructores Uso de las funciones set (establecer) y get (obtener) Trampa sutil: retomo de una referencia a un dato miembro privado Asignación predeterminada de miembros Reutilización de software (Ejemplo práctico opcional) Acerca de los objetos: Comienzo de la programación de las clases para el simulador del elevador

420 424 426 430 430 435 435 439 445 448 450

Clases: Parte II

168

Introducción Objetos y funciones miembro const (constantes) Composición: objetos como miembros de clases Funciones y clases friend Uso del apuntador this Administración de memoria dinámica con los operadores now y delate Miembros de clase static Abstracción de datos y ocultamicnto de información 7.8.1 Ejemplo: tipo de dato abstracto Arreglo 7.8.2 Ejemplo: tipo de dato abstracto Cadena 7.8.3 Ejemplo: tipo de dato abstracto Cola Clases contenedoras e iteradores Clases proxy (Ejemplo práctico opcional) Acerca de los objetos: programación de las clases para el simulador del elevador

469 469 478 485 489 495 497 502 504 504 505 505 506

451

509

So b re c a rg a d e operadores: objetos d e tipo c a d e n a y d e tipo arreglo

>46

Introducción Fundamentos de la sobrecarga de operadores Restricciones en cuanto a la sobrecarga de operadores Funciones de operador como miembros de la clase o como funciones friend Sobrecarga de los operadores de inserción y de extracción de flujo Sobrecarga de operadores unarios Sobrecarga de operadores binarios Ejemplo práctico: la clase Arreglo Conversión entre tipos Ejemplo práctico: la clase Cadena Sobrecarga de ♦♦ y de — Ejemplo práctico: la clase Fecha Las clases string y vector de la biblioteca estándar

547 548 549 550 552 555 555 556 568 569 581 582 588

http://alexyniorlls.blogspot.com 12 of 1380.

Contenido

XI

9

Programación orientada a objetos:herencia

609

9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10

Introducción Clases base y clases derivadas Miembros protected Relación entre las clases base y las clases derivadas Ejemplo práctico: jerarquía de herencia de tres niveles Constructores, destructores y clases derivadas Relaciones "Usa un” y “Conoce a” Herencia public, protected y prívate Ingeniería de software con herencia (Ejemplo práctico opcional) Acerca de los objetos: incorporación de la herencia al simulador del elevador

610 611 614 614 637 642 648 648 648

10

Programación orientada a objetos:polimorfismo

10.1 10.2

Introducción Relaciones entre los objetos en una jerarquía de herencia 10.2.1 Invocación de funciones de clases base a partir de objetos de clases derivadas 10.2.2 Dirigir los apuntadores de clases derivadas a objetos de clases base 10.2.3 Llamadas a funciones miembro de clases derivadas mediante apuntadores de clases base 10.2.4 Funciones virtual Ejemplos de polimorfismo Campos de tipos y estructuras switch Gases abstractas Caso de estudio: herencia de interfaz y de imple mentación Polimorfismo, funciones virtual y vinculación dinámica “tras bambalinas” Destructores virtuales Caso de estudio: sistema de nómina utilizando polimorfismo e información de tipos en tiempo de ejecución con dynamic_cast y typeid

10.3 10.4 10.5 10.6 10.7 10.8 10.9

7 7 Plantillas

650

662 663 664 665 670 672 673 679 680 680 682 695 699 699

718

11.1 11.2 11.3 11.4 11.5 11.6 11.7 11.8

Introducción Plantillas de funciones Sobrecarga de plantillas de funciones Plantillas de clases Plantillas de clases y parámetros sin tipo Plantillas y herencia Plantillas y frienda Plantillas y miembros atatic

12

Entrada/salida de flujo en C++

737

12.1 12.2

Introducción Flujos 12.2.1 Comparación entre flujo clásico y flujo estándar 12.2.2 Archivos de encabezado de la biblioteca iostream 12.2.3 Clases y objetos de entrada/salida de flujo

739 739 740 740 741

http://alexyniorlls.blogspot.com 13 of 1380.

719 720 723 723 730 731 731 732

XII

12.3

Contenido

12.9

Salida de flujo 12.3.1 Salida de variables tipo ch&r * 12.3.2 Salida de caracteres utilizando la función miembro put Entrada de flujo 12.4.1 Las funciones miembro get y gat lina 12.4.2 Las funciones miembro de istream: peek, putback e ignore 12.4.3 E/S con seguridad de tipos E/S sin formato utilizando read. write y gcount Manipuladores de flujo 12.6.1 Base de flujo integral: dec. oct. hex y setbase 12.6.2 Precisión de punto flotante (precisión, setprecision) 12.6.3 Anchura de campos (width. setw) 12.6.4 Maní puladores defi nidos por el programador Estados de formato de flujo y manipuladores de flujo 12.7.1 Ceros a la derecha y puntos decimales ( showpoint) 12.7.2 Alineación (laft, right c intamal) 12.7.3 Relleno (fill, setfill) 12.7.4 Base integral de flujo (dec. oct, hex. showbase) 12.7.5 Números de punto flotante; notación científica y fija (scientific, fixed) 12.7.6 Control de mayúsculas/minúsculas (uppercase) 12.7.7 Especificación de formato booleano (boolalpha) 12.7.8 Establecer y restablecer el estado del formato mediante la función miembro flags Estados de error de flujo Enlazar un flujo de salida a un flujo de entrada

12.4

12.5 12.6

12.7

12.8

13

Manejo de excepciones

13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11 13.12 13.13

Introducción Generalidades acerca del manejo de excepciones Otras técnicas para el manejo de errores Ejemplo simple del manejo de excepciones: dividir entre cero Volver a lanzar una excepción Especificaciones de excepciones Procesamiento de excepciones inesperadas Limpieza de la pila Constructores, destructores y manejo de excepciones Excepciones y herencia Procesamiento de fallas con new La clase auto_ptr y la asignación dinámica de memoria Jerarquía de excepciones de la biblioteca estándar

74

Procesamiento de archivos

14.1 14.2 14.3 14.4 14.5

Introducción Jerarquía de datos Archivos y flujos Creación de un archivo de acceso secuencial Cómo leer datos de un archivo de acceso secuencial http://alexyniorlls.blogspot.com 14 of 1380.

743 743 744 744 745 748 748 748 749 750 751 752 754 755 756 757 759 760 761 762 763 764 766 768

779 780 781 783 784 788 789 790 790 792 793 793 797 800

808 809 809 811 812 816

Contenido

XIII

14.6 14.7 14.8 14.9 14.10 14.11 14.12

Actualización de archivos de acceso secuencial Archivos de acceso aleatorio Creación de un archivo de acceso aleatorio Cómo escribir datos en forma aleatoria en un archivo de acceso aleatorio Cómo leer datos secuencialmcnte desde un archivo de acceso aleatorio Ejemplo: un programa para procesar transacciones Entrada/salida de objetos

823 824 824 829 831 834 841

15

La clase s t r i n g y el procesamiento de flujos de cadena

15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 15.11 15.12

Introducción Asignación y concatenación de objetos tipo string Comparación de objetos tipo string Subcadcnas Intercambio de objetos string Características de la dase string Buscar cadenas y caracteres en un objeto string Sustitución de caracteres en un objeto string Inserción de caracteres en un objeto string Conversión a cadenas ch&r * estilo C Itcradores Procesamiento de flujos de cadena

16

Programación Web con CG I

16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 16.10 16.11 16.12 16.13 16.14 16.15 16.16 16.17

Introducción Tipos de peticiones HTTP Arquitectura de multinivel Acceso a los servidores Web El servidor HTTP Apache Cómo pedir documentos de XHTML Introducción a CGI Transacción HTTP simple Secuencia de comandos CGI simple Envío de datos de entrada a una secuencia de comandos CGI Uso de formularios en XHTML para enviar datos de entrada Otros encabezados Ejemplo práctico: una página Web interactiva Cookies Archivos del lado del servidor Ejemplo práctico: carrito de compras Recursos en Internet y Web

17 17.1 17.2 17.3 17.4 17.5

Estructuras de datos Introducción Gases autorreferenciadas Asignación de memoria y estructuras de datos dinámicas Listas enlazadas Pilas http://alexyniorlls.blogspot.com 15 of 1380.

850 851 852 855 857 858 859 862 864 866 867 869 870

880 881 882 882 883 884 885 885 886 888 895 897 905 905 909 915 921 936

942 943 944 945 945 960

XIV

Contenido

17.6 17.7

Colas Árboles

965 969

18 18.1 18.2 18.3 18.4 18.5 18.6 18.7 18.8 18.9 18.10 18.11 18.12

Introducción Definición de estructuras Inicialización de estructuras Uso de estructuras con funciones typedef Ejemplo: simulación de alto rendimiento para barajar y repartir cartas Operadores a nivel de bits Campos de bits Biblioteca para manejo de caracteres Funciones de conversión de cadenas Funciones de búsqueda de la biblioteca para manejo de cadenas Funciones de memoria de la biblioteca para manejo de cadenas

79

El preprocesador

Bits, caracteres, cadenas y estructuras

19.1 Introducción 19.2 La directiva «inelude del preprocesador 19.3 La directiva «define del preprocesador: constantes simbólicas 19.4 La directiva «define del preprocesador: macros 19.5 Compilación condicional 19.6 Las directivas «error y «pragma del prcproccsador 19.7 Los operadores # y «# 19.8 Números de línea 19.9 Constantes simbólicas predefinidas 19.10 Afirmaciones

20

Temas relacionados con el código heredado de C

20.1

Introducción Redirección de la entrada/salida en sistemas UNIX y DOS Listas de argumentos con longitudes variables Uso de los argumentos de la línea de comandos Notas sobre la compilación de programas con varios archivos de código fuente Terminación de un programa con exit y atexit Calificador de tipo volátil© Sufijos para constantes enteras y de punto flotante Manejo de señales Asignación dinámica de memoria con c&lloc y realloc La ramificación incondicional: goto Uniones Especificaciones de enlazado

20.2

20.3 20.4 20.5 20.6 20.7 20.8

20.9 20.10 20.11 20.12

20.13 21

Biblioteca estándar de plantillas (STL)

21.1

Introducción a la Biblioteca estándar de plantillas (STL) 21.1.1 Introducción a los contenedores 21.1.2 Introducción a los ¡teradores http://alexyniorlls.blogspot.com 16 of 1380.

1000 1001 1001

1003 1004 1004 1005 1007 1017 1020 1026 1031 1036

1053 1054 1054 1055 1056 1057 1058 1059 1059 1060 1060

1065 1066 1066 1067 1070 1071 1073 1075 1075 1075 1078 1079 1080 1084

1090 1092 1094 1098

Contenido

XV

21.6 21.7 21.8

Introducción a los algoritmos 21.1.3 Contenedores de secuencia 21.2.1 Contenedor de secuencia vector 21.2.2 Contenedor de secuencia list 21.2.3 Contenedor de secuencia deque Contenedores asociativos 21.3.1 Contenedor asociativo multiset 21.3.2 Contenedor asociativo set 21.3.3 Contenedor asociativo multimap 21.3.4 Contenedor asociativo map Adaptadores de contenedores 21.4.1 Adaptador stack 21.4.2 Adaptador queue 21.4.3 Adaptador priority_queue Algoritmos 21.5.1 fill, fill_n, generate y generate.n 21.5.2 equal, mismatch y lexicographical_compare 21.5.3 remove, remove_if, remove_copyy remove_copy_if 21.5.4 replace, replace_if,replace_copy y replace_copy_i£ 21.5.5 Algoritmos matemáticos 21.5.6 Algoritmos básicos de búsqueda y ordenamiento 21.5.7 swap, iter_swap y swap_rauges 21.5.8 copy_backward, merge, un ique y reverse inplace_merge, unique_copy y reverse_copy 21.5.9 21.5.10 Operaciones de conjuntos 21.5.11 lowe r_bound, upper bound y equal_range 21.5.12 Heapsort 21.5.13 min y max 21.5.14 Algoritmos que no se cubren en este capítulo La clase bitset Objetos de función Recursos de la STL en Internet y la Web

22

Otros temas

22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 22.10 22.11

Introducción El operador const_cast El operador reinterpret_cast Espacios de nombres Palabras reservadas de los operadores Constructores explicit Miembros de clases mutable Apuntadores a miembros de clases ( . * y - >*) Herencia múltiple Herencia múltiple y clases base virtual Comentarios finales

A

Tabla de precedencia de los operadores

21.2

21.3

21.4

21.5

1103 1105 1105 1113 1117 1119 1119 1122 1124 1126 1128 1128 1130 1132 1133 1134 1136 1138 1141 1144 1148 1150 1152 1154 1156 1160 1162 1165 1166 1168 1172 1175

1183

http://alexyniorlls.blogspot.com 17 of 1380.

1184 1184 1185 1186 1190 1192 1197 1199 1201 1205 1210

1214

XVI

B

Contenido

Conjunto de caracteres ASCII

1216 1217

C

Sistemas numéricos

C.l C.2 C.3 C.4 C.5 C. 6

Introducción Abreviatura de los números binarios como números octalcs y hcxadccimalcs Conversión de números ocíales y hexadecimales a números binarios Conversión de un número binario, octal o hcxadccimal a decimal Conversión de un número decimal a binario, octal o hcxadccimal Números binarios negativos: notación de complemento a dos

D

Recursos de C++ en Internet y Web

D. 1 D.2 D.3 D.4 D.5 D.6 D.7

Recursos Tutoriales FAQs Visual C++ Grupos de noticias Compiladores y herramientas de desarrollo Biblioteca de plantillas estándar

1218 1221 1222 1222 1223 1225

1230 1230 1232 1233 1233 1233 1234 1234

E

Introducción a XHTML

El E2 E3 E4 E5 E6 E7 E8 E9 E 10 E 11 E 12 E 13 E 14

Introducción Edición de XHTML El primer ejemplo de XHTML Encabezados Vínculos Imágenes Caracteres especiales y más interrupciones de línea Listas desordenadas Listas anidadas y ordenadas Tablas básicas de XHTML Tablas intermedias de XHTML y formato Formularios básicos de XHTML Formularios más complejos de XHTML Recursos en Internet y en World Wide Web

F

Caracteres especiales XHTML

1274

Bibliografía

1275

índice

1281

http://alexyniorlls.blogspot.com 18 of 1380.

1236 1237 1237 1238 1240 1242 1245 1249 1250 1251 1252 1257 1259 1262 1269

Ilustraciones

1

Introducción a las computadoras y a la programación en C++

1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15

Ambiente típico de desarrollo de C++. 16 Programa que imprime texto. 22 Secuencias de escape. 24 Impresión en una línea mediante instrucciones separadas con cout. 25 Impresión de varias líneas mediante una sola instrucción con cout. 25 Programa de suma. 26 Ubicación de memoria que muestra el nombre y el valor de la variable enterol. 30 Ubicaciones de memoria después de almacenar los valores de enterol y entero2. 31 Ubicaciones de memoria después de calcular la suma de enterol y entero2. 31 Operadores aritméticos. 31 Precedencia de operadores aritméticos. 33 Orden en el cual se evalúa un polinomio de segundo grado. 35 Operadores de igualdad y de relación. 35 Operadores de igualdad y de relación. 36 Precedencia y asociatividad de los operadores que hemos explicado hasta elmomento. 39

2

Estructuras de control

2.1 2.2 2.3 2.4 2.5 2.6

Diagrama de actividad de una estructura de secuencia. Palabras reservadas de C++. Diagrama de actividad de la estructura de selección simple if. Diagrama de actividad de la estructura de selección doble if/else. Diagrama de actividad de la estructura de repetición while. Algoritmo en seudocódigo para calcular el promedio de una clase, el cual utiliza una repetición controlada por un contador. Problema correspondiente al cálculo del promedio de una clase, el cual utiliza una repetición controlada por un contador. Algoritmo en seudocódigo del problema correspondiente al cálculo del promedio de una clase mediante la repetición controlada por un centinela.

2.7 2.8

http://alexyniorlls.blogspot.com 19 of 1380.

1

70 73 75 77 78 82 83 84 89

Problema correspondiente al cálculo del promedio de una clase mediante el uso de una repetición controlada por un centinela. Algoritmo en seudocódigo del problema de resultados de examen. Estructuras de control anidadas: problema de resultados de exámenes. Operadores aritméticos de asignación. Operadores de incremento y decremento. Prcincrcmcnto y posincremento. Precedencia de los operadores explicados hasta este punto. Repetición controlada por un contador. Repetición controlada por un contador mediante la estructura for. Componentes del encabezado de la estructura for. Diagrama de actividad de la estructura de repetición for. Sumatoria mediante for. Cálculo del interés compuesto mediante for. Evaluación de múltiples calificaciones expresadas en letras, mediante la estructura switch. Diagrama de actividad de la estructura de selección múltiple switch con instrucciones break. Estructura do/while. Diagrama de actividad de la estructura de repetición do/while. Instrucción break para interrumpir una estructura for. Instrucción continué que termina una iteración de la estructura for. Tabla de verdad del operador lógico && (AND lógico). Tabla de verdad del operador lógico | | (OR lógico). Tabla de verdad del operador ! (negación lógica). Precedencia y asociatividad de operadores. Estructuras de secuencia de entrada sencilla/salida sencilla, selección y repetición de C++. Reglas para formar programas estructurados. Diagrama de actividad más sencillo. Aplicación repetida de la regla 2 de la figura 2.33 al diagrama de actividad más sencillo. Aplicación repetida de la regla 3 de la figura 2.33 al diagrama de actividad más sencillo. Diagrama de actividad con sintaxis no permitida. Diagrama caso-uso para el sistema del elevador. Lista de sustantivos en el enunciado del problema. Representación de una clase en UML. Asociaciones entre clases de un diagrama de clases. Valores de multiplicidad. Diagrama completo de las clases del simulador del elevador. Diagrama de objetos de un edificio vacío.

89 96 96 99 100

100 102

103 104 105 108 109 111 114 118 121 121 122

123 125 125 126 127 129 130 130 130 131 132 139 140 142 142 143 144 145

Fundones

69

Relación jerárquica función jefe/función trabajador. Biblioteca de funciones matemáticas. Función cuadrado, definida por el programador. Función mayor, definida por el programador.

172 172 174 177

http://alexyniorlls.blogspot.com 20 of 1380.

lustraciones

XIX

3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 3.29 3.30 3.31 3.32

180 181 183 184 186 188 191 196 200 200 202 205 207 208 210 212 213 214 216 217 219 221 223 225 226 228 228

Jerarquía de promoción de tipos de datos integrados. Archivos de encabezado de la biblioteca estándar. Escala y cambio de enteros producidos por 1 ♦ r an d () % 6. Tiro de un dado de seis lados 6,000 veces. Randomización del programa de dados. Simulación del juego “craps” Salidas de ejemplo para el programa “craps”. Ejemplo de alcance. Evaluación recursiva de 5!. Cálculo de factoriales mediante una función recursiva. Números de Fibonacci generados mediante una función recursiva. Conjunto de llamadas recursivas al método F ib o n a c c i. Resumen de los ejemplos y ejercicios sobre recursividad que aparecen en el libro. Funciones que no toman argumentos. Función i n l i n e que calcula el volumen de un cubo. Paso de argumentos por valor y por referencia. Cómo inicializar una referencia. No inicializar una referencia local ocasiona un error de sintaxis. Argumentos predeterminados de una función. Operador unario de resolución de alcance. Definición de funciones sobrecargadas. Destrucción de nombres para permitir la vinculación segura de tipos. Uso de una plantilla de función. Palabras y frases descriptivas en el enunciado del problema. Diagrama de clase que muestra los atributos. Diagrama de estados para las clases B o to n P is o y B o to n E e le v a d o r. Diagrama de estados para la clase E le v a d o r . Diagrama de actividad que modela la lógica del elevador correspondiente a la presión de los botones del piso. 3.33 Programa de ejemplo para el ejercicio 3.2. 3.34 Las torres de Hanoi para el caso con cuatro discos.

4

Arreglos

4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15

Arreglo de 12 elementos. Precedencia y asociatividad de operadores. Inicialización en ceros de los elementos de un arreglo y su impresión. Inicialización de los elementos de un arreglo mediante una declaración. Generación de valores a colocarse en los elementos de un arreglo. Inicialización y uso de una variable constante. Las variables c o n s t deben inicial izarse. Cálculo de la suma de los elementos de un arreglo. Programa para desplegar un histograma. Programa de tiro de dados mediante el uso de arreglos en lugar de s w i t ch. Programa de encuesta a estudiantes. Arreglos de caracteres procesados como cadenas. Inicialización de un arreglo s t a t i c y uno automático. Paso de arreglos y de elementos individuales de un arreglo a funciones. Calificador de tipo c o n s t aplicado a un parámetro de arreglo.

230 237 247

252

http://alexyniorlls.blogspot.com 21 of 1380.

254 255 256 257 259 260 260 261 262 263 265 268 270 273 275

XX

lustTaclones

4.16 Ordenamiento de un arreglo mediante el método burbuja. 4.17 Programa de análisis de una encuesta. 4.18 Muestra de la ejecución del programa de análisis de datos de una encuesta. 4.19 Búsqueda lineal en un arreglo. 4.20 Búsqueda binaria en un arreglo ordenado. 4.21 Arreglos con doble subíndice con tres filas y cuatro columnas. 4.22 Inicialización de arreglos multidimensionales. 4.23 Manipulación de un arreglo con doble subíndice. 4.24 Frases para cada clase de nuestro simulador del elevador. 4.25 Diagrama de clase que incluye los atributos y las operaciones. 4.26 Diagrama de secuencia que modela los pasos que repite el edificio durante la simulación. 4.27 Diagrama de secuencia para el proceso de planificación. 4.28 Las 36 posibles salidas para el tiro de dos dados. 4.29 Comandos de gráficos de tortuga. 4.30 Los ocho movimientos posibles del caballo. 4.31 Los 22 cuadros eliminados al colocar una reina en la esquina superior izquierda.

5

Apuntadores y cadenas

5.1 5.2 5.3 5.4 5.5 5.6 5.7

Referencia directa e indirecta hacia una variable. Representación gráfica de un apuntador que apunta a una variable en memoria. Representación de y y p tr Y en memoria. Operadores de apuntadores & y *. Precedencia y asociatividad de operadores. Paso por valor utilizado para elevar al cubo el valor de una variable. Paso por referencia con un apuntador como argumento utilizado para elevar al cubo el valor de una variable. Análisis del paso por valor del programa de la figura 5.6. Análisis del paso por referencia (con apuntadores como argumentos) del programa de la figura 5.7. Conversión de una cadena a mayúsculas. Impresión de una cadena, carácter por carácter, mediante el uso de un apuntador no constante a un dato constante. Intento de modificar datos a través de un apuntador no constante a un dato constante. Intento para modificar un apuntador constante a un dato no constante. Intento de modificar un apuntador constante a un dato constante. Ordenamiento por el método burbuja mediante paso por referencia. Cuando el operador s i z e o f se aplica al nombre de un arreglo, éste devuelve el número de bytes en el arreglo. Uso del operador s i z e o f para determinar los tamaños de los tipos de datos estándar. El arreglo v y la variable de apuntador p tr V que apunta a v. El apuntador p tr V después de la aritmética de apuntadores. Referencia a elementos de un arreglo mediante el nombre de arreglo y apuntadores. Copia de cadenas mediante la notación de arreglos y la de apuntadores. Representación gráfica del arreglo p a lo . Representación de un arreglo con dos subíndices de una baraja.

5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 5.23

http://alexyniorlls.blogspot.com 22 of 1380.

277 279 282 284 286 290 290 293 297 298 300 302 311 313 314 316

319 321 322 322 323 324 326 327 328 329 331 332 333 334 335 336 339 340 342 342 345 347 349 350

Ilustraciones

XXI

5.24 5.25 5.26 5.27 5.28 5.29 5.30 5.31 5.32 5.33 5.34 5.35 5.36 5.37 5.38 5.39 5.40 5.41 5.42 5.43 5.44

Programa para barajar y repartir cartas. Programa de ordenamiento multipropósito mediante apuntadores a funciones. Arreglo de apuntadores a funciones. Funciones para la manipulación de cadenas de la biblioteca estándar. Funciones strepy y stracpy. Funciones strcat y atraeat. Funciones stremp y straemp. Función atrtok. Función atrlen. Lista modificada de verbos y frases para las clases del sistema. Colaboraciones que ocurren en el sistema del elevador. Diagrama de colaboración para cargar y descargar pasajeros. Arreglo baraja no revuelto. Ejemplo del arreglo baraja revuelto. Reglas de movimiento para la tortuga y la liebre. Códigos de operación del lenguaje máquina Simplctron (LMS). Ejemplo 1 de LMS. Ejemplo 2 de LMS. Un vaciado de muestra. Arreglo con dos subíndices, el cual representa un laberinto. Alfabeto en clave Morse.

352 355 358 363 364 365 366 368 370 371 371 373 386 386 386 388 389 389 392 396 402

6

Clases y abstracción de datos

6.1

Creación de una estructura, establecimiento de sus miembros e impresión de la estructura. Definición de la clase Tiempo. Implementación dd tipo de dato abstracto Tiempo como una clase. Acceso a los datos y funciones miembro de un objeto a través de cada tipo de manipulador del objeto, del nombre del objeto, de la referencia al objeto y de un apuntador al objeto. Definición de la clase Tiempo. Definiciones de las funciones miembro de la clase Tiempo. Programa para probar la clase Tiempo. Los miembros privados de una clase no son accesibles fuera de la misma. Definición de la clase Vendedor. Definiciones de las funciones miembro de la clase Vendedor. Demostración de una función de utilidad. Case Tiempo que contiene un constructor con argumentos predeterminados. Definiciones de las funciones miembro de la clase Tiempo, incluyendo un constructor que toma argumentos. Constructor con argumentos predeterminados. Definición de la clase CreaYDestraye. Definiciones de las funciones miembro de la clase CreaYDestraye. Orden en el que se llama a los constructores y a los destructores. Definición de la clase Tiempo con funciones establecer y obtener. Definiciones de la función miembro de la clase Tiempo, incluyendo a las funciones establecer y obtener. Funciones establecer y obtener que manipulan un dato privado de un objeto.

6.2 6.3 6.4

6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17 6 .18 6.19 6.20

http://alexyniorlls.blogspot.com 23 of 1380.

404 408 411 413

419 421 421 422 425 427 428 429 431 431 433 436 437 438 440 441 443

XXII

lustTaclones

6.21 6.22 6.23 6.24 6.25 6.26 6.27 6.28 6.29 6.30 6.31 6.32 6.33 6.34 6.35 6.36 6.37

Retomo de una referencia a un dato miembro privado. Retomo de una referencia a un dato miembro privado. Retomo de una referencia a un dato miembro privado. Asignación predeterminada de miembros. Diagrama de clases que incluye atributos y operaciones. Lista de manipuladores para cada clase. Archivo de encabezado de la clase Campana. Archivo de encabezado de la clase Reloj . Archivo de encabezado de la clase Persona. Archivo de encabezado de la clase Puerta. Archivo de encabezado para la clase Luz. Archivo de encabezado de la clase Edificio. Archivo de encabezado de la clase BotonElevador. Archivo de encabezado de la clase BotonPiso. Archivo de encabezado de la clase Bitácora. Archivo de encabezado de la clase Piso. Archivo de encabezado de la clase Elevador.

7

Clases: Parte II

7.1 7.2

Definición de la clase Tiempo con funciones miembro const . Definición de las funciones miembro de la clase Tiempo, incluyendo las funciones miembro const. Objetos y funciones miembro const. Inicializador de miembros utilizado para inicializar una constante de un tipo de dato integrado. Intento incorrecto de inicializar una constante de un tipo de dato integrado mediante una asignación. Definición de la clase Pecha. Definición de las funciones miembro de la clase Fecha. Definición de la clase Empleado que muestra la composición. Definición de las funciones miembro de la clase Empleado. incluyendo a un constructor con una lista de inicializadores de miembros. Inicializadores de los objetos miembro. Las funciones amigas pueden acceder a los miembros privados de una clase. Las funciones no amigas/no miembro no tienen acceso a miembros privados. Uso implícito y explícito del apuntador this para acceder a los miembros de un objeto. Definición de la clase Tiempo modificada para permitir llamadas en cascada a funciones miembro. Definición de las funciones miembro de la clase Tiempo modificadas para permitir las llamadas en cascada a funciones miembro. Llamadas en cascada a funciones miembro. Definición de la clase Empleado con un dato miembro static para dar seguimiento al número de objetos Empleado en memoria. Definición de las funciones miembro de la clase Empleado. Dato miembro estático que da seguimiento al número de objetos de una clase. Definición de la clase implementación.

7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20

446 446 447 449 452 452 453 454 454 455 456 456 457 458 458 459 461

468

http://alexyniorlls.blogspot.com 24 of 1380.

471 471 473 475 476 479 480 481 482 483 486 488 490 491 492 494 498 499 501 506

XXIII

Ilustraciones

7.21 7.22 7.23 7.24 7.25 7.26 7.27 7.28 7.29 7.30 7.31 7.32 7.33 7.34 7.35 7.36 7.37 7.38 7.39 7.40 7.41 7.42 7.43 7.44 7.45 7.46

Definición de la clase Interfaz. Definición de las funciones miembro de la clase Interfaz. Implementación de una clase proxy. Simulación del elevador. Archivo de encabezado de la clase Edificio. Archivo de implementación de la clase Edificio. Archivo de encabezado de la clase Reloj. Archivo de implementación de la clase Reloj. Archivo de encabezado para la clase Bitácora. Archivo de implementación de la clase Bitácora. Archivo de encabezado para la clase Campana. Archivo de implementación de la clase Campana. Archivo de encabezado para la clase Luz. Archivo de implementación de la clase Luz. Archivo de encabezado de la clase Puerta. Archivo de implementación de la clase Puerta. Archivo de encabezado de la clase BotonElevador. Archivo de implementación de la clase BotonElevador. Archivo de encabezado para la clase BotonPiso. Archivo de implementación de la clase BotonPiso. Archivo de encabezado para la clase Elevador. Archivo de implementación de la clase Elevador. Archivo de encabezado de la clase Piso. Archivo de implementación de la clase Piso. Archivo de encabezado para la clase Persona. Archivo de implementación de la clase Persona.

8

Sobrecarga de operadores: objetos de tipo cadena y de tipo arreglo

8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8

Operadores que pueden sobrecargarse. Operadores que no pueden sobrecargarse. Operadores de inserción y de extracción de flujo sobrecargados. Definición de la clase Arreglo con operadores sobrecargados. Definición de las funciones miembro y friend de la clase Arreglo. Programa de prueba para la clase Arreglo. Definición de la clase Cadena con sobrecarga de operadores. Definición de las funciones miembro y las funciones friend de la clase Cadena. Programa de prueba para la clase Cadena. Definición de la clase Fecha mediante operadores de incremento sobrecargados. Definición de las funciones miembro y friend de la clase Fecha. Programa de prueba para la clase Fecha. Clase string de la biblioteca estándar. Clase vector de la biblioteca estándar. Definición de la clase Complejo. Definición de las funciones miembro de la clase Complejo. Números complejos. Definición de la clase IntOrande.

8.9 8.10 8.11 8.12 8.13 8.14 8.15 8.16 8.17 8.18

http://alexyniorlls.blogspot.com 25 of 1380.

507 507 508 511 511 512 514 514 515 516 519 519 520 520 522 522 524 525 526 526 528 530 535 536 538 539

546 549 549 552 557 558 561 569 571 574 582 583 586 588 592 601 602 603 604

XXIV

lustTaclones

8.19 8.20

Definición de las funciones miembro y amigas de la clase intQrande. Enteros grandes.

9

Programación orientada a objetos: herencia

9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11

Ejemplos de herencia. Jerarquía de herencia para MiembrosDeLaComunidad universitaria. Jerarquía de herencia para Formas. Archivo de encabezado de la clase Punto. La clase Punto representa un par de coordenadas x-y. Programa de prueba para la clase Punto. Archivo de encabezado de la clase Circulo. La clase Circulo contiene una coordenada x-y y un radio. Programa de prueba de la clase Circulo. Archivo de encabezado de la clase Circulo2. No es posible acceder a los datos privados de la clase base desde una clase derivada. Archivo de encabezado de la clase Punto2. La clase Punto2 representa un par de coordenadas *->’ como datos protected. Archivo de encabezado de la clase Circulo3. La clase Circulo3 hereda las propiedades y el comportamiento de la clasePunto2 . Es posible acceder a los datos protegidos de la clase base desde una clase derivada. Archivo de encabezado de la clase Punto3. La clase Punto3 utiliza funciones miembro para manipular sus datos private. Archivo de encabezado de la clase Circulo!. La clase Circulo! hereda las propiedades y el comportamiento de la clase Punto3, la cual no proporciona datos protected. Los datos private de la clase base son accesibles a la clase derivada mediante una función miembro public o protected heredada por la clase derivada. Archivo de encabezado de la clase Cilindro. La clase cilindro hereda las propiedades y el comportamiento de la clase Circulo! y redefine a la función miembro obtieneArea. Programa de prueba de la jerarquía Punto/Circulo/Cilindro. Archivo de encabezado de la clase Punto!. La clase base Punto! contiene un constructor y un destructor. Archivo de encabezado de la clase Circulo5. La clase Circuios hereda las propiedades y el comportamiento de la clasePunto! . Orden de llamadas a constructores y destructores. Resumen de accesibilidad de los miembros de la clase base en una clase derivada. Los atributos y las operaciones de las clases BotonElevador y BotonPiso. Diagrama de clases que incorpora la herencia al simulador del elevador. Archivo de encabezado de la clase Boton. Archivo de implementación de la clase Boton; clase base para BotonElevador y BotonPiso. Archivo de encabezado de la clase BotonElevador. Definición de las funciones miembro para la clase BotonElevador. Archivo de encabezado de la clase BotonPi so. Definición de las funciones miembro para la clase BotonPiso.

9.12 9.13 9.14 9.15 9.16 9.17 9.18 9.19 9.20 9.21 9.22 9.23 9.24 9.25 9.26 9.27 9.28 9.29 9.30 9.31 9.32 9.33 9.34 9.35 9.36 9.37 9.38

http://alexyniorlls.blogspot.com 26 of 1380.

604 607

609 612 613 614 615 616 617 618 619 621 622 623 625 625 627 627 629 631 632 633 634 636 638 639 640 643 643 644 645 647 649 651 652 653 653 654 655 656 656

lustraclones

XXV

10

Programación orientada a objetos: polimorfismo

10.1 10.2 10.3 10.4 10.5

Archivo de encabezado de la clase P u n to . La clase Punto representa un par de coordenadas x-y. El archivo de encabezado de la clase C ir c u lo . La clase Circulo que hereda de la clase Punto. Asignación de direcciones de objetos de clase base y clase derivada a apuntadores de clase base y clase derivada. Dirigir un apuntador de clase derivada a un objeto de clase base. Intento de invocar funciones que sólo existen en la clase derivada mediante un apuntador de la clase base. El archivo de encabezado de la clase P u n to declara a la función imprimir como virtual. El archivo de encabezado de la clase Circulo declara a la función imprimir como virtual. Demostración del polimorfismo mediante la invocación de una función virtual de una clase derivada a través de un apuntador de la clase base que apunta a un objeto de la clase derivada. Definición de la interfaz polimórfica para las clases de la jerarquía de Figura. El archivo de encabezado de la clase base abstracta Figura. La clase base abstracta Figura. Archivo de encabezado de la clase P u n to . El archivo de implcmcntación de la clase P u n to . El archivo de encabezado de la clase C ir c u lo . Laclase C i r c u l o que hereda de laclase P u n to . El archivo de encabezado de la clase Cilindro. El archivo de implementación de la clase Cilindro. Demostración del polimorfismo mediante una jerarquía encabezada por una clase base abstracta. El flujo de control de la llamada a una función virtual. Jerarquía de clases para la aplicación polimórfica de nómina de empleados. El archivo de encabezado de la clase Empleado. Archivo de implcmcntación de la clase Empleado. El archivo de encabezado de la clase EmpleadoAsalariado. Archivo de implcmcntación de la clase EmpleadoAsalariado. Archivo de encabezado de la clase EmpleadoPorHoras. El archivo de implementación de la clase EmpleadoPorHoras. Archivo de encabezado de la clase EmpleadoPorComision. Archivo de implementación de la clase EmpleadoPorComision. Archivo de encabezado de la clase EmpleadoBaseMasComision. Archivo de implementación de la clase EmpleadoBaseMasComision. Programa controlador de la jerarquía de la clase Empleado.

10.6 10.7 10.8 10.9

10.10

10.11 10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19 10.20 10.21 10.22 10.23 10.24 10.25 10.26 10.27 10.28 10.29 10.30 10.31 10.32 10.33

11

Plantillas

11.1 11.2 11.3 11.4

Espccializacioncs de la plantilla de función imprimirArreglo. Plantilla de la clase Pila. Programa de prueba para la plantilla de clase Pila. Piso de un objeto de la plantilla de Pila a una plantilla de función.

662 665 666 667 667 669 671 672 675 675

676 683 684 684 685 686 687 688 690 691 692 697 700 701 701 703 704 705 705 707 708 709 710 711

718

http://alexyniorlls.blogspot.com 27 of 1380.

721 724 726 728

XXVI

12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11 12.12 12.13 12.14 12.15 12.16

12.17 12.18 12.19 12.20 12.21 12.22

lustTaclones

Entrada/salida de flujo en C++ Porción de la jerarquía de plantillas de E/S de flujo. Porción de la jerarquía de plantillas de E/S de flujo que muestra las plantillas principales de procesamiento de archivos. Imprimir la dirección almacenada en una variable c h a r *. Las funciones miembro g e t . p u t y e o f . Introducción de una cadena utilizando c i n con extracción de flujo, en comparación con la introducción de una cadena mediante c i n . g e t . Introducción de datos tipo carácter con la función miembro g e t l i n o de c i n . E/S sin formato mediante las funciones miembro r e a d . g c o u n t y w r i t e . Los manipuladores de flujo hex. o c t . d e c y s e t b a s e . La precisión de los valores de punto flotante. La función miembro w id th de la clase i o s j b a s e . Manipuladores de flujo no parametrizados, definidos por el usuario. Los manipuladores de flujo de estado de formato incluidos en < i o s t ream>. Control de la impresión de ceros a la derecha y puntos decimales para valores d o u b le . Alineación a la izquierda y a la derecha con los manipuladores de flujo l e f t y r i g h t . Cómo imprimir un entero con cspaciamiento intemo y el signo positivo. Uso de la función miembro f i l l y del manipulador de flujo s e t f i l l para cambiar el carácter de relleno para los campos que sean más grandes que los valores a imprimir. El manipulador de flujo show base. Valores de punto flotante mostrados en los formatos predeterminado, científico y fijo. El manipulador de flujo u p p e r c a e e . Los manipuladores de flujo b o o la lp h a y n o b o o la lp h a . La función miembro f l a g s . Evaluación de los estados de error.

73

Manejo de excepciones

13.1

Ejemplo de manejo de excepciones que lanza excepciones al intentar dividir entre cero. Volverá lanzar una excepción. Limpieza de la pila. new devolviendo 0 al fallar. new lanzando la excepción b a d _ a l l o c al fallar. s e t_ n e w _ h a n d le r especificando la función a llamar cuando falle new. El objeto a u t o _ p t r administra la memoria asignada en forma dinámica.

13.2 13.3 13.4 13.5 13.6 13.7

74

Procesamiento de archivos

14.1 14.2 14.3 14.4 14.5 14.6

Jerarquía de datos. La forma en que C++ ve a un archivo de n bytes. La porción de la jerarquía de plantillas de E/S de flujos. Creación de un archivo secuencial. Modos de apertura de archivos. Combinaciones de teclas para indicar el fin del archivo en varios sistemas computacionales populares. http://alexyniorlls.blogspot.com 28 of 1380.

737 741 743 743 745 746 747 749 750 751 753 754 755 756 757 758

759 761 762 763 764 765 767

779 785 788 791 793 795 797 798

808 810 811 812 813 814 815

XXVII

Ilustraciones

14.7 14.8 14.9 14.10 14.11 14.12 14.13 14.14 14.15

Cómo leer e imprimir un archivo secuencia!. Programa de investigación de créditos. La forma en que C++ ve a un archivo de acceso aleatorio. El archivo de encabezado de DatosCliente. La clase DatosCliente representa la información crediticia de un cliente. Creación de un archivo de acceso aleatorio en forma secuencial. Cómo escribir en un archivo de acceso aleatorio. Cómo leer un archivo de acceso aleatorio en forma secuencial. Programa de cuentas bancarias.

75

La clase s t r i n g y el procesamiento de flujos de cadena

15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 15.10 15.11 15.12

Demostración de las operaciones de asignación y concatenación con objetos string. Comparación de objetos tipo string. Demostración de la función miembro substr de string. Uso de la función swap para intercambiar dos objetos string. Impresión de las características de un objeto string. Demostración de las funciones f ind de string. Demostración de las funciones erase y replace. Demostración de las funciones miembro insert de la clase string. Conversión de objetos tipo string a cadenas estilo C y arreglos de caracteres. Uso de un iterador para mostrar un objeto string. Uso de un objeto ostringstream asignado en forma dinámica. Demostración de la entrada desde un objeto istringstream.

76

Programación Web con CG I

16.1 16.2 16.3 16.4

Modelo de una aplicación de tres niveles. Monitor del servidor Apache. El proceso de pedir la página prueba . html al servidor Apache. El cliente interactuando con el servidor y el servidor Web. Paso 1: La petición get, OET /libros/descargas.html HTTP/1.1. Su primera secuencia de comandos CGI. Paso 1: I-a petición get, OET /cgi-bin/horalocal.cgi HTTP/1.1. La salida de horalocal . egi cuando se ejecuta desde la línea de comandos. Cómo recuperar las variables de entorno mediante la función getenv. Cómo leer los datos de entrada de query _ s t r in q . Elementos de un formulario de XHTML. Uso de OET con un formulario de XHTML. Uso de POST con un formulario de XHTML. Portal interactivo para crear una página Web protegida por contraseña. Manejador de portal interactivo. Documento de XHTML que contiene un formulario para enviar datos al servidor mediante el método post. Cómo escribir una cookic. Programa para leer cookies de la computadora del cliente. Documento de XHTML para leer la información de contacto de un usuario. Creación de un archivo del lado del servidor para almacenar los datos de los usuarios. El contenido del archivo de datos clientes . txt.

16.5 16.6 16.7 16.8 16.9 16.10 16.11 16.12 16.13 16.14 16.15 16.16 16.17 16.18 16.19 16.20

http://alexyniorlls.blogspot.com 29 of 1380.

817 819 825 825 826 828 829 832 835

850 853 855 858 858 859 862 865 866 867 869 871 873

880 883 885 885 887 889 891 892 893 896 898 899 901 906 907 910 911 914 916 917 921

XXVIII

lustTaclones

16.21 Programa que muestra una página de inicio de sesión. 16.22 Secuencia de comandos CGI que permite a los usuarios comprar un libro. 16.23 Secuencia de comandos CGI que permite a los usuarios ver el contenido de sus carritos. 16.24 Programa para cerrar sesión. 16.25 E lc o n te n id o d e c a ta lo g o .tx t.

77

Estructuras d© datos

17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 17.9 17.10 17.11 17.12 17.13 17.14 17.15 17.16 17.17 17.18 17.19 17.20 17.21 17.22 17.23 17.24 17.25 17.26 17.27

Dos objetos de una clase autorrefercnciada enlazados entre sí. Una representación gráfica de una lista. Definición de la plantilla de clase N o d o L is ta . Definición de la clase de plantilla L i s t a . Manipulación de una lista enlazada. La operación i n e e r t a r A l F r e n t e representada en forma gráfica. La operación i n s e r t a r A l F i n a l representada en forma gráfica. La operación q u i t a r D e l F r e n t e representada en forma gráfica. La operación q u it & r D e lF r e n te representada en forma gráfica. Definición de la plantilla de clase Pila. Un programa simple sobre el uso de pilas. La plantilla de clase P i l a con un objeto L i s t a compuesto. Definición de una plantilla de clase llamada C o la . Programa para procesar colas. La representación gráfica de un árbol de búsqueda binaria. Un árbol de búsqueda binaria. La definición de la plantilla de clase N odoA rbol. Definición de la plantilla de clase A r b o l. Creación y recorrido de un árbol binario. Un árbol de búsqueda binaria. Un árbol de búsqueda binaria con 15 nodos. Comandos simples. Programa de Simple que determina la suma de dos enteros. Programa de Simple que encuentra el mayor de dos números. Calcular los cuadrados de varios enteros. Cómo escribir, compilar y ejecutar un programa en lenguaje Simple. Las instrucciones de LMS producidas después de la primera pasada del compilador. 17.28 Tabla de símbolos para el programa de la figura 17.27. 17.29 Código no optimizado del programa de la figura 17.27. 17.30 Código optimizado para el programa de la figura 17.27.

18

Bits, caracteres, cadenas y estructuras

18.1

Posible alineación de almacenamiento para una variable de tipo E jem p lo , mostrando un área indefinida en la memoria. Simulación de alto rendimiento para barajar y repartir cartas. La salida del programa de simulación de alto rendimiento para barajar y repartir cartas. Operadores a nivel de bits. Cómo imprimir un entero sin signo en bits.

18.2 18.3 18.4 18.5

http://alexyniorlls.blogspot.com 30 of 1380.

922 929 931 935 937

942 945 946 947 948 952 956 957 958 959 961 962 964 966 967 969 970 970 971 974 976 980 987 988 988 988 989 992 992 997 997

1000 1003 1005 1007 1008 1009

Ilustraciones

XXIX

18.6 18.7 18.8 18.9 18.10 18.11 18.12 18.13 18.14 18.15 18.16 18.17

1010 1011 1013 1013 1014 1014 1016 1016 1017 1019 1020

18.18 18.19 18.20 18.21 18.22 18.23 18.24 18.25 18.26 18.27 18.28 18.29 18.30 18.31 18.32 18.33 18.34 18.35 18.36 18.37 18.38 18.39

Resultados de comparar dos bits con el operador AND a nivel de bits (&). Los operadores AND, OR inclusivo, OR exclusivo y complemento a nivel de bits. Ejemplo de la salida del programa de la figura 18.7. Combinación de dos bits con el operador OR inclusivo a nivel de bits ( |) . Combinación de dos bits con el operador OR exclusivo a nivel de bits (A). Operadores de desplazamiento a nivel de bits. Operadores de asignación a nivel de bits. Precedencia y asociatividad de operadores. Uso de campos de bits para almacenar un juego de cartas. Ejemplo de la salida del programa de la figura 18.14. Las funciones de la biblioteca para el manejo de caracteres. Las funciones i s d i g i t , i s a l p h a . is a ln u m c i s x d i g i t para manejo de caracteres. Las funciones is l o w e r , i s u p p e r . t o l o w e r y t o u p p e r para manejo de caracteres. Las funciones i s s p a c e . i s c n t r l , i s p u n c t , i s p r i n t n e i s g r a p h para manejo de caracteres. Las funciones de conversión de cadenas de la biblioteca de utilerías generales. 1.a función a t o f de conversión de cadenas. La función a t o l de conversión de cadenas. La función a t o l de conversión de cadenas. La función s t r t o d de conversión de cadenas. La función s t r t o l de conversión de cadenas. La función s t r o t o u l de conversión de cadenas. Las funciones de búsqueda de la biblioteca para manejo de caracteres. La función s t r e h r para buscar en cadenas. La función s t r e s p n para buscar en cadenas. La función s t r p b r k para buscar en cadenas. La función s t r r c h r para buscar en cadenas. La función s t r s p n para buscar en cadenas. La función s t r s t r para buscar en cadenas. Las funciones de memoria de la biblioteca para manejo de cadenas. La función memepy para manejo de memoria. La función memmove para manejo de memoria. La función mememp para manejo de memoria. La función memchr para manejo de memoria. La función m em set para manejo de memoria.

19

El preprocesador

19.1

Las constantes simbólicas predefinidas.

20

Temas relacionados con el código heredado de C

20.1 20.2 20.3 20.4 20.5 20.6

El tipo y las macros definidas en el encabezado < c s td a r g > . Uso de listas de argumentos con longitud variable. Uso de los argumentos de la línea de comandos. Uso de las funciones e x i t y a t e x i t . Las señales definidas en el encabezado < c s ig n a l> . Uso del manejo de señales. http://alexyniorlls.blogspot.com 31 of 1380.

1021 1023 1025 1026 1027 1027 1028 1029 1030 1030 1031 1032 1033 1034 1034 1035 1036 1037 1038 1038 1039 1040 1041

1053 1060

1065 1067 1068 1070 1074 1076 1076

XXX

20.7 20.8 20.9 20.10

lustTaclones

Uso de goto. Imprimir el valor de una unión en ambos tipos de datos miembro. Uso de una unión anónima. Ejemplo de salida para el ejercicio 20.8.

21

Biblioteca estándar de plantillas (STL)

21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 21.10 21.11 21.12 21.13 21.14 21.15

Clases contenedoras de la Biblioteca estándar. Funciones comunes de los contenedores de la STL. Archivos de encabezado de los contenedores de la Biblioteca estándar. Elementos typedef encontrados en los contenedores de primera clase. Iteradores de flujos de entrada y salida. Categorías de iteradores. Jerarquía de categorías de iteradores. Tipos de iteradores soportados por cada contenedor de la Biblioteca estándar. Elementos typedef de los iteradores. Operaciones de iteradores para cada tipo de ¡terador. Algoritmos alteradores de secuencia. Algoritmos no alteradores de secuencia. Algoritmos numéricos del archivo de encabezado . La plantilla de clase vector de la Biblioteca estándar. Funciones de manipulación de elementos de la plantilla de clase vector de la Biblioteca estándar. Tipos de excepciones de la STL. Plantilla de clase liet de la Biblioteca estándar. Plantilla de clase deque déla Biblioteca estándar. Plantilla de clase multiset de la Biblioteca estándar. Plantilla de clase set de la Biblioteca estándar. Plantilla de clase multimap de la Biblioteca estándar. Plantilla de clase map de la Biblioteca estándar. Clase de adaptador stack de la Biblioteca estándar. Plantilla de clase del adaptador queue de la Biblioteca estándar. La clase de adaptador priority_queue de la Biblioteca estándar. IjOS algoritmos £111. £ill_n, genérate y generate_n. Los algoritmos equal.mismatch y lexicographical_compare. Los algoritmos remo ve. remove_if, remove_copy y remove_copy_if . Los algoritmos replace. replace_i£, replace_copy y replace_copy_i£. Algoritmos matemáticos de la Biblioteca estándar. Algoritmos básicos de búsqueda y ordenamiento de la Biblioteca estándar. Demostración de swap. iter_swap y swap ranges. Demostración de copy_backward, merge, unique y reverse. Demostración de inplace_merge. unique_copy y reverse_copy. Operaciones set de la Biblioteca estándar. Los algoritmos lowerbound. upper_bound y equal_range. Uso de las funciones de la Biblioteca estándar para realizar el algoritmo heapsort. Los algoritmos min ymax. Los algoritmos que no se cubren en este capítulo. La dase bit set y la Criba de Eratóstenes.

21.16 21.17 21.18 21.19 21.20 21.21 21.22 21.23 21.24 21.25 21.26 21.27 21.28 21.29 21.30 21.31 21.32 21.33 21.34 21.35 21.36 21.37 21.38 21.39 21.40

http://alexyniorlls.blogspot.com 32 of 1380.

1079 1082 1083 1089

1090 1094 1095 1096 1097 1098 1100 1100 1101 1101 1102 1104 1104 1104 1106 1109 1112 1113 1118 1120 1123 1124 1126 1129 1131 1132 1 134 1136 1139 1142 1144 1148 1150 1152 1155 1157 1160 1163 1165 1166 1170

Ilustraciones

XXXI

21.41 Objetos función de la Biblioteca estándar. 21.42 Objeto función binaria.

1172 1173

22

Otros temas

22.1 22.2 22.3 22.4

Demostración del operador const_cast. Demostración del operador reinterpret_cast. Demostración del uso de los espacios de nombres. Las palabras reservadas de los operadores como alternativas al uso de sus símbolos. Demostración de las palabras reservadas de los operadores. Constructores con un solo argumento y conversiones implícitas: arreglo.h. Constructores con un solo argumento y conversiones implícitas: arreglo . cpp. Constructores con un solo argumento y conversiones implícitas: f ig22_08 . cpp. Demostración de un constructor explicit: arreglo.h. Demostración de un constructor explicit: arreglo.cpp. Demostración de un constructor explicit: fig22_ll.cpp. Demostración de un miembro de datos mutable. Demostración de los operadores . * y -> *. Demostración de la herencia múltiple: basel .h. Demostración de la herencia múltiple: base2 .h. Demostración de la herencia múltiple: derivada .h. Demostración de la herencia múltiple: derivada . cpp. Demostración de la herencia múltiple: £ig22_18.cpp. Herencia múltiple para formar la clase iostream. Intento de llamar polimórfícamente a una función con herencia múltiple. Uso de las clases base virtual. Espacios de nombres para el ejercicio 22.10.

22.5 22.6 22.7 22.8 22.9 22.10 22.11 22.12 22.13 22.14 22.15 22.16 22.17 22.18 22.19 22.20 22.21 22.22

A

Tabla de precedencia de los operadores

A. 1

Tabla de precedencia de los operadores.

B

Conjunto de caracteres ASCII

B. 1

El conjunto de caracteres ASCII.

C

Sistemas numéricos

C. 1 C.2 C.3 C.4 C.5 C.6 C.7 C.8 C.9 C. 10

Dígitos de los sistemas numéricos binario, octal, decimal y hexadecimal. Comparación de los sistemas binario, octal. decimal y hexadecimal. Valores posicionales en el sistema numérico decimal. Valores posicionales en el sistema numérico binario. Valores posicionales en el sistema numérico octal. Valores posicionales en el sistema numérico hexadecimal. Equivalentes en decimal, binario, octal y hexadecimal. Conversión de un número binario en decimal. Conversión de un número octal en decimal. Conversión de un número hexadecimal en decimal.

D

Recursos de C++ en Internet y Web http://alexyniorlls.blogspot.com 33 of 1380.

1183 1184 1186 1187 1190 1191 1192 1193 1193 1195 1195 1196 1198 1199 1201 1202 1202 1203 1204 1206 1206 1208 1212

1214 1214

1216 1216

1217 1219 1219 1219 1220 1220 1221 1221 1223 1223 1223

1230

XXXII

lustTaclones

E

Introducción a XHTML

E1 E2 E3 E4 E5 E6 E7 E8 E9 E 10 E li E 12 E 13 E 14

El primer ejemplo de XHTML Los elementos de encabezado, de hl hasta h6. Vínculos hacia otras páginas Web. Creación de un vínculo a una dirección de correoelectrónico. Cómo colocar imágenes en archivos de XHTML. Uso de imágenes como anclas de vínculos. Inserción de caracteres especiales en XHTML. Listas desordenadas en XHTML. Listas anidadas y ordenadas en XHTML. Tabla de XHTML. Tabla compleja de XHTML. Formulario simple con campos ocultos y un cuadro de texto. Formulario con áreas de texto, cuadros de contraseñay casillas de verificación. Formulario que incluye botones de opción y listas desplegables.

F

Caracteres especiales XHTML

F.l

Caracteres especiales XHTML.

http://alexyniorlls.blogspot.com 34 of 1380.

123ó 1238 1241 1242 1244 1245 1247 1249 1251 1252 1255 1257 1260 1263 1266

1274 1274

Prefacio

¡Bienvenidos a ANSI/ISO C++ Estándar! En Dcitcl & Associates, escribimos libros de texto de nivel universitario, así como libros profesionales, sobre lenguajes de programación, y trabajamos mucho para que los libros publicados se mantengan actualizados a través de un flujo constante de nuevas ediciones. Escribir la cuarta edición de este libro fue un placer. Este libro y el material de apoyo inclu­ yen todo lo que los maestros y los estudiantes necesitan para tener una experiencia educativa intere­ sante, informativa, entretenida y desafiante con respecto a C++. Esta publicación concuerda con la última versión del estándar ANSI/ISO de C++ (uno de los estándares de la comunidad de compu­ tación más importantes del mundo) y con el diseño orientado a objetos de la última versión de UML (Lenguaje Unificado para Modelado) del Object Management Group (OMG). Pusimos a tono la es­ critura, la pedagogía, nuestro estilo para codificar, el paquete de accesorios del libro, y además in­ cluimos un análisis importante de las aplicaciones de desarrollo para Internet y Web. También, en el capítulo 1, le ofrecemos una sección integral llamada Recorrido a través del libro, que ayudará a los maestros, a los estudiantes y a los profesionales a darse cuenta de la rica cobertura que este libro ha­ ce de la programación orientada a objetos con C++. del diseño orientado a objetos con UML y de la programación en general. Si está evaluando el libro, consulte las páginas 44 a 56 de la sección Re­ corrido a través del libro. Ya sea usted maestro, estudiante, profesional experimentado o programador principiante, este li­ bro tiene mucho que ofrecerle. C++ es un lenguaje de programación de clase mundial que se utiliza para desarrollar aplicaciones de cómputo de alto rendimiento. En nuestro caso, comparamos cuida­ dosamente nuestro borrador con el documento estándar ANSI/ISO de C++,1el cual define a C++, y tuvimos el privilegio de contar con Stevc Clamagc como revisor, quien labora en Sun Microsystems y quien encabeza el comité J 16 de ANSI, responsable de la evolución del C++ estándar. Como re­ sultado. los programas que genere estudiando este texto deben adaptarse fácilmente a cualquier com­ pilador compatible con ANSI/ISO. En este prefacio planteamos información general de Cómo programar en C++, la cuarta edición de este libro, la cual ayuda a los maestros a maximizar la experiencia relacionada con el aprendiza­ 1. Puede disponer de una copia electrónica en formato PDF del documento estándar de C++, número 1SO-IEC 148821998. por una módica cantidad, en w * b s t o r « . a n a l . o r g / a n s i d o c s t o r a / d e f a u l t . a s p . asimismo si k> desea puede obtener una copia impresa.

http://alexyniorlls.blogspot.com 35 of 1380.

XXXIV

Prefacio

je de C++ de sus estudiantes. Explicamos las convenciones que utilizamos, tal como la presentación de la sintaxis del código de los ejemplos, para “lavar código”, y para resaltar segmentos importantes de código, lo que ayuda a los estudiantes a enfocar su atención en los conceptos clave que introducimos en cada capítulo. También planteamos las nuevas características de la cuarta edición de este libro, in­ cluyendo el primer tratamiento que hicimos sobre arreglos y cadenas como objetos, un tratamiento mejorado sobre programación orientada a objetos, desarrollo de aplicaciones Web con CGI, el ejem­ plo práctico mejorado del diseño orientado a objetos (DOO) con UML, sobre la simulación de un elevador, y el amplio uso de los diagramas UML que se han actualizado de acuerdo con la versión 1.4 de los estándares de UML. El libro incluye un CD con el software de Microsoft Visual C++® 6.0 Introductory Edition. Pa­ ra que los programadores principiantes obtengan soporte adicional, ofrecemos seis de nuestras pu­ blicaciones Dive -Into ™ Series para que las descarguen gratuitamente de www.deitel.com. * Es­ te material, en inglés, explica cómo compilar, ejecutar y depurar programas en C++, utilizando di­ versos ambientes de desarrollo populares de C++. Además, en este sitio damos una idea general del paquete completo de materiales auxiliares para maestros y estudiantes que utilicen la cuarta edición de este libro. Dichos materiales, también en in­ glés, incluyen un CD llamado Instructor’s Resource, el cual contiene las soluciones a los ejercicios planteados en los capítulos del libro, así como el archivo Test-Item que contiene cientos de pregun­ tas de opción múltiple y sus respectivas respuestas. Para los maestros que deseen mantener sesiones cerradas de laboratorio (o asignar tareas altamente estructuradas), les proporcionamos la opción de adquirir el manual C++ in the lab. Esta publicación incluye actividades previas al laboratorio, ejer­ cicios de laboratorio y actividades posteriores al laboratorio, que han sido cuidadosamente elabo­ radas. Este prefacio también analiza la cuarta edición del C++ Multimedia Cyber Classroom, que es la versión multimedia, en inglés, de la versión original de este libro. Esta herramienta de aprendiza­ je contiene “recorridos” con audio a través de los programas, animaciones sobre la ejecución de pro­ gramas y cientos de ejercicios y soluciones. Analizamos diversas herramientas Deitel™ de aprendizaje en línea, incluyendo una explica­ ción del contenido de Blackboard, CourseCompass y WebCT de la serie Course Management Sys­ tems, cada uno de los cuales apoya el material de este libro. Este libro fue revisado por 52 distinguidos académicos y profesionales de la industria; men­ cionamos sus nombres y en dónde laboran para que tenga una idea de qué tan cuidadosamente examinaron el libro. FJ prefacio concluye con información sobre los autores y sobre Deitel & Asso­ ciates, Inc. Cuando lea este libro, si surge alguna pregunta, envíenos un correo electrónico a del­ ta 10deitel.can; le responderemos inmediatamente. Visite con regularidad nuestro sitio Web, www.deitel.com.y asegúrese de registrarse para el correo de noticias DeíTEL™ Ruyz On une , en www.deitel.com/newsletter/8ubscribe.Nosotros utilizamos el sitio Web y las noti­ cias para mantener al día a nuestros lectores, con respecto a las publicaciones y servicios Dfjtel.

Características de Cóm o programar en C++, cuarta edición Este libro contiene, entre otras características, las siguientes: Resaltado de código y de entradas de usuario En este libro, hemos agregado mucho código resaltado. Al revisar nuestro código, eliminamos la ma­ yoría de los fragmentos de código “redundante” que aparecían en el texto de la tercera edición. Di­ •

Todo el material complementario referido en este prefacio, disponible en los sitios Web mencionados, está en idio­ ma inglés y es responsabilidad de sus autores.

http://alexyniorlls.blogspot.com 36 of 1380.

Prefacio

XXXV

chos fragmentos los mantuvimos en la primera parte del libro como una herramienta pedagógica que ayudara a los principiantes. Queremos que el lector vea, en contexto, todas las características del nuevo código, por lo que en el capítulo 3 nuestras revisiones al código simplemente hacen referen­ cia a los números de línea de los segmentos del nuevo código que se encuentran en los programas fuente. Para facilitar a los lectores la detección de los segmentos destacados, los hemos resaltado. Esta característica ayuda a los estudiantes a revisar el material rápidamente, cuando se preparan para algún examen o laboratorio. “IAvado de código” Lavado de código es el término que utilizamos para aplicar comentarios, para utilizar identificadores importantes, para aplicar sangría y espaciado vertical para separar unidades importantes de un programa. Este proceso da como resultado programas que son más fáciles de leer y que sirven como autodocumentación. Hemos hecho un amplio “lavado” a todo el código de los programas fuente de este texto, del manual de laboratorio, de los accesorios y del Cyber Classmom. Introducción inicial a la biblioteca estándar: objetos stringy vector Los lenguajes de programación orientada a objetos por lo general ofrecen la capacidad de crear obje­ tos string y array utilizando una instancia de las bibliotecas de clases o de clases definidas por el programador. También es importante que los estudiantes de C++ se familiaricen con el estilo C, arre­ glos y cadenas basados en apuntadores, debido a la gran cantidad de código heredado de C y del pri­ mer C++ que encontrarán en la industria. En este libro mostramos los tres medios para crear cadenas y arreglos. En los capítulos 4 y 5 mostraremos el tradicional estilo C. basado en apuntadores, para arreglos y cadenas, respectivamente. En el capítulo 8, creamos nuestras propias clases definidas por el usuario Arreglo y Cadena. Al final del capítulo 8 introducimos las bibliotecas de clases vec­ tor y string, las cuales explicamos detalladamente en los capítulos 15 y 21 respectivamente. El material del capítulo 15, que trata sobre string, podría enseñarse en cualquier momento, después de cubrir el capítulo 8. El material del capítulo 21, que trata sobre vector (y sobre otros aspectos del STL), también podría enseñarse después del capítulo 8, aunque nosotros recomendamos que vea primero el capítulo 11, Plantillas. El proceso para ponera punto la programación orientada a objetos (capítulos 9 y 10) Ésta es una de las mejoras más importantes de esta nueva edición. Hemos realizado una actualiza­ ción muy precisa a los capítulos 9 y 10. I> entero2;

// indicador // lee un entero

suma - enterol + entero2;

// asignación del resultado a suma

19 20 21 22 23 24

std: :cout «

"La ruma es " «

return 0;

// indica que el programa terminó satisfactoriamente

suma «

std::endl; // impresión de suma

) // fin de la función main

Digite el primer entero 45 Digite el segundo entero 72 La suma es 117 F ig u ra 1.6

Program a d© sum a.

http://alexyniorlls.blogspot.com 82 of 1380.

Capitulo 1

Introducción a las computadoras y a la programación en C-m -

27

Las líneas 8 a 10 int enterol; int entero2; int suma;

// primer número que introduce el usuario // segundo número que introduce el usuario // variable en la que se almacenará la suma

son declaraciones. Las palabras e n t e r o l . e n t e r o 2 y exima son nombres de variables. Una va­ riable es un sitio de la memoria de la computadora en donde se puede almacenar un valor para que lo utilice un programa. Esta declaración especifica que las variables e n t e r o l , e n t e r o 2 y suma son datos de tipo i n t . lo cual significa que estas variables almacenan valores enteros, es decir, nú­ meros completos tales como el 7, -11, 0, 31914. Todas las variables deben declararse mediante un nombre y un tipo de dato, antes de que puedan utilizarse en un programa. Se pueden declarar muchas variables del mismo tipo dentro de una misma declaración, o mediante varias declaraciones. Podría­ mos declarar las tres variables dentro de una sola declaración de la siguiente manera: int enterol, entero2, suma;

sin embargo, esto hace que el programa sea más difícil de leer y nos impide proporcionar comenta­ rios que describan el propósito de cada variable dentro del programa. Si se declara más de un nom­ bre en una declaración (como se muestra aquí), los nombres se separan por comas ( ,) . A esto se le denomina lisia separada por comas. Buena p rá ctica d e p rogram ación 1.8 Algunos programadores prefieren declarar cada variable en una línea aparte. Este formato permite la fácil inserción de comentarios descriptivos a la derecha de cada declaración.

Pronto explicaremos los tipos de datos d o u b le (para especificar números reales; es decir, núme­ ros con punto decimal como 3.4, 0.0, -11.19) y c h a r (para especificar un dato de tipo carácter, una variable c h a r puede almacenar una letra minúscula, una letra mayúscula, un dígito o un carácter es­ pecial como x, $.7, *, etcétera). Buena p ráctica d e p ro g ra m a ció n 1.9 Coloque un espacio después de cada coma ( , ) para hacer más claro el programa.

Un nombre de variable puede ser cualquier identificador válido. Un identificador es una serie de caracteres que consta de letras, dígitos y guiones bajos (_), y que no comienza con un dígito. C++ es sensible a mayúsculas y minúsculas, las letras mayúsculas y las minúsculas son diferentes, de ma­ nera que al y Al son idcntificadores diferentes. Tip de portabilidad 1.4 C++ permite identificadores de cualquier longitud, pero su sistema y/o su propia implementación de C++ podría imponer algunas restricciones acerca de la longitud de los identificadores. Utilice identi­ ficadores de 31 caracteres o menos para asegurar la portabilidad.

Buena p ráctica d e p ro g ra m a ció n 1.10 B ija nombres de variables con significado, esto ayuda a que el programa sea "autodocumentado", es decir, será más fá cil comprender el programa simplemente con leerlo, en lugar de tener que leer los manuales o utilizar demasiados comentarios.

Buena p rá ctica d e p ro g ra m a ció n 1.11 Evite los identificadores que comienzan con guión bajo y doble guión bajo, debido a que los compila­ dores de C+ + podrían utilizar nombres como ésos para sus propios fines internos. Esto evitará que los nombres que usted elija se confundan con los nombres que el compilador elige.

http://alexyniorlls.blogspot.com 83 of 1380.

28

Introducción a las computadoras y a la programación en C++

Capítulo 1

La declaración de variables puede colocarse casi en cualquier parte de una función, pero deben aparecer antes de que sus variables correspondientes se utilicen en el programa. Por ejemplo, en el programa de la figura 1.6, la declaración int enterol;

podría colocarse inmediatamente antes de la línea std::cin >> enterol;

la declaración int entero2;

podría colocarse inmediatamente antes de la línea ■td::cin >> entero2;

y la declaración int suma;

podría colocarse inmediatamente antes de la línea suma - enterol ♦ entero2;

Buena práctica d e p ro g ra m a ció n 1.12 Coloque siempre una línea en blanco erare una declaración y las instrucciones ejecutables adyacen­ tes. Esto hace que las declaraciones resalten en el programa y contribuye a la claridad del programa. Buena práctica d e p ro g ra m a ció n 1.13 Si usted prefiere colocar las declaraciones al principio de una función, separe dichtis declaraciones de las instrucciones ejecutables correspondientes a esa función mediante un espacio en blanco, para re­ saltar donde terminan las declaraciones y comienzan las instrucciones ejecutables.

Línea 12 ■td::cout entero2;

// lee un entero

obtiene, por parte del usuario, un valor para la variable e n te r o 2 . La instrucción de asignación de la línea 18 suma - enterol + entero2;

// asignación del resultado a suma

calcula la suma de las variables e n t e r o l y e n t e r o 2 , y asigna el resultado a la variable suma me­ diante el uso del operador de asignación - . La instrucción se lee como “suma obtiene el valor de e n t e r o l + e n t e r o 2 ”. 1.a mayoría de los cálculos se realizan dentro de instrucciones de asig­ nación. A los operadores - y + se les conoce como operadores binarios debido a que cada uno con­ tiene dos operandos. En el caso del operador ♦, los dos operandos son e n t e r o l y e n t e r o 2 . En el caso del operador - , los dos operandos son suma y el valor de la expresión e n t e r o l e n te ro 2 . Buena p ráctica d e p ro g ra m a ció n 1.14 Coloque espacios a cada lado de un operador binario. Esto hace que el operador resalte y hace más claro el programa

La línea 20 stds xcout «

"La suma as

"

suma > num2; // lee dos enteros if ( numl ■ - numl ) cout - 60 ) cout » 60]

a

Imprimo “Aprobado

5

[calificación < 60]

4 Rgura 2.3

Diagrama d e actividad d e la estructura d e selección simple if.

O bserve que la estructura i f es d el tipo entrada sencilla/salid a sen cilla. V erem os que lo s d ia­ gram as d e actividad para las estructuras d e control restantes contienen adem ás estados in iciales, fle ­ ch as d e transición, estad os d e acción q u e indican la s a ccio n es a realizarse, sím b o lo s de d ecisió n (con sus con d icion es de guardia asociadas) q u e indican las d ecisio n es a tom ar y lo s estad os finales. Esto es consistente con e l m odelo de program ación acción/decisión que hem os enfatizado. P odem os im aginar sie te cajon es, cada uno co n solam ente estructuras de control de uno de lo s sie te tipos diferentes. Estas estructuras de control están vacías. E ntonces, la tarca del programador es ensam blar un programa con tantas estructuras de control d e cada tipo co m o lo requiera el algorit­ m o, com binando dichas estructuras de control en s ó lo dos form as p osibles (apilado o anidado), y He­ nar los estados de acción y las d ecisio n es m ediante exp resion es de acción y con d icio n es de guardia de m anera apropiada para el algoritm o. E xplicarem os la variedad de form as en las cu ales se pueden escribir las a ccion es y la s d ecision es.

2.6 Estructura de selección i f / e l s e La estructura d e se lecció n if realiza una acción indicada solam en te cuando la co n d ición es ver­ dadera; de lo contrario, se evita dicha acción. La estructura de se lecció n perm ite al programador especificar una acción a realizar cuando la con d ición es verdadera, y una a cció n d iferente a realizar cuando la acción e s falsa. Por ejem p lo, la instrucción en seu d o có d ig o

i f calificación del estudiante es m ayor o igual que 6 0 Im prim e "A p ro b a d o ” else Im prim e " Reprobado " im prim e A probado si la calificación del estudiante es m ayor o igual que 6 0 , pero im prim e Reproba­ do si la calificación d el estudiante es m enor que 60. En am b os ca so s, desp ués de d esplegar e l resul­ tado, se “realiza” la sigu ien te instrucción en la secu en cia. L a estructura anterior if/else en seu d o có d ig o se puede escribir en C + + co m o

if ( calificación >- 60 ) cout ■ 60) cout « "D*/ else cout alsa ( cout > calificación; E sto ocasionaría un c ic lo infinito si e l usuario no introdujera - 1 para la primera ca lifica ció n . Los prom edios no siem pre arrojan resultados enteros. A m enudo, un prom edio e s un valor que con tien e una parte fraccional, tal com o 7.2 o -9 3 .5 4 1 . A esto s valores se le s c o n o c e co m o números d e punto flotante, y en C + + se representan m ediante tipos de d atos co m o f l o a t y d o u b l e . Un tipo de variable double puede alm acenar un valor d e una m agnitud m ucho m ayor y con m ayor pre­ cisión que float. Por esta razón, preferim os utilizar el tipo double, en lugar d e float, para representar valores de punto flotante en nuestros programas. En C + + , las constantes d e punto flotan­ te, tales co m o 1000.0 y .05. se crean co m o tipo double. La variable prom edio se declara de tipo double (lín ea 21) para capturar lo s resultados fracció­ nales de nuestros cálcu los. Sin em bargo, debido a que total y contadorCalif icacion son valores enteros, el resultado del cá lcu lo total / contadorCalificacion e s un entero. D ivi­ dir d os en teros da co m o resultado la división entera, en la que se pierde cualquier parte fraccional d e lo s cá lcu lo s (es decir, se trunca). En la sigu ien te instrucción:

promedio ■ total / contadorCalificacion; prim ero se realiza el cálcu lo de la d ivisión , d e m odo que la parte fraccional d el resultado se pierde antes de que éste s e asig n e a promedio. Para producir un cá lcu lo d e punto flotante a partir de valo­ res enteros, d eb em os crear para el cálcu lo , valores tem porales que sean núm eros d e punto flotante. C + + proporciona el operador unario de conversión de tipo para llevar a cab o esta tarea. La línea 47 utiliza el operador de con versión d e tipo static_c»st ( operando ) para crear una cop ia en punto flotante d el operando entre paréntesis, total. U tilizar e l operador d e conversión de tipo en esta forma se le denom ina conversión explícita. El valor alm acenado en la variable total e s aún un entero. E l cálcu lo con siste ahora en un valor de punto flotante (la versión tem poral dou­ ble de total) dividida por el entero contadorCalificacion. El com pilador de C + + solam en te sab e cóm o evaluar exp resion es en las cu ales los tipos de da­ tos d e lo s operandos sean idénticos. Para asegurarse de que los operandos son d el m ism o tipo, el com pilador realiza una operación llam ada prom oción (tam bién llamada conversión im plícita ) sobre lo s operadores seleccion ad os. Por ejem p lo, en una expresión que con tien e valores co n tipos d e datos int y double. C + + prom ueve los operandos int a valores double. En nuestro ejem p lo , después d e prom over contadorCalificacion a double, el cá lcu lo se realiza y el resultado de la di­ v isió n en punto flotante s e asigna a promedio. M ás adelante en e ste capítulo, exp licarem os todos lo s tipos d e datos estándar y su orden de prom oción.

http://alexyniorlls.blogspot.com 148 of 1380.

Estructuras do control

Capitulo 2

93

L os operadores d e conversión d e tip o están d isp o n ib les para cualquier tipo de dato. El operador s t a t i c _ c a s t se forma m ediante la palabra reservada s t a t i c _ c a s t y las lla v es triangulares (< y > ) alrededor del nom bre d el tipo d e dato. El operador d e conversión d e tipo es un operador unario, un operador que requiere solam ente un operando. En el capítulo 1, estu diam os lo s operadores aritm éticos binarios. C + + tam bién perm ite version es unitarias de lo s operadores d e sum a ( ♦ ) y res­ ta ( - ) , d e manera que el programador puede escribir exp resion es co m o - 7 o + 5 . L os operadores de conversión de tipo tienen una precedencia m ayor que m uchos otros operadores, tales co m o lo s o p e ­ radores unarios + y - . Esta precedencia es m ayor que la q u e tienen lo s operadores de m ultiplicación * , / y %, y m enor q u e la de lo s paréntesis. En nuestras tablas d e precedencia, indicam os el operador de conversión d e tipo m ediante la notación s t a t i c _ c a s t < tipo> ( ) . A quí, exp licarem os brevem ente las capacidades d e form ato d e la figura 2 .9 , y co n d etalle en el cap ítu lo 21. L a llam ada setprecision( 2 ) de la lín ea 5 0 in dica que la variable double promedio d eb e desplegarse con d os d íg ito s d e precisión a la derecha d el punto d ecim al (por ejem ­ plo, 92.37). A esta llam ada se le denom ina m anipulador param etrizable de flu jo . L os program as que utilizan estas llam adas deben contener la directiva d e preprocesador (lín ea 10)

•inelude I.a línea 12 esp ecifica que el programa utiliza el nom bre setprecision del archivo de en cab eza­ do . O bserve q u e endl e s un m anipulador n o param etrizable de flu jo y no requiere del archivo de en cab ezad o . Si no se esp ecifica la precisión, lo s valores de punto flo ­ tante por lo general s e im prim en con seis dígitos de precisión (es decir, la precisión p o r defecto ), sin em bargo, en un m om ento verem os una excep ción . E l m anipulador de flujo fixed (línea 5 1 ) indica que los valores d e punto flotante deben impri­ m irse en e l form ato denom inado fo rm a to de pu n to fijo (en op osición con la notación científica, la cual explicarem os en el capítulo 21). Especificar el form ato de punto fijo también fuerza la im presión del punto decim al y ceros, aún cuando el valor e s un m onto entero, co m o 88.00. Sin la opción de formato de punto fijo, d ich o valor se im prim e en C + + co m o 88 sin lo s ceros y sin el punto decim al. Cuando el form ato anterior se utiliza en un programa, el valor im preso se redondea al núm ero indicado por las p osiciones decim ales, aunque el valor en m em oria perm anece igual. Por ejem p lo, lo s valores 87.946 y 6 7 .5 4 3 s e imprimen com o 87.95 y 6 7 .5 4 , respectivam ente. O bserve que también es posible forzar la aparición del punto decim al m ediante el u so del manipulador de flujo e h o w p o i n t . Si se especifica show point sin form ato fijo, en tonces no se imprimirán los ceros. C om o endl, lo s m anipu­ ladores de flujo fixed y showpoint son m anipuladores de flujo no param ctrizables que n o requie­ ren d el archivo de encabezado . A m b os se encuentran en .

Error común d© programación 2.10 Utilizar números de punto flotante de manera que se asuma que se representan de manera exacta pue­ de provocar resultados incorrectos. Los números de punto flotante se representan sólo de numera apro­ ximada en la mayoría de las computadoras. A pesar d e que lo s núm eros de punto flotante n o son siem pre “ 100% precisos”, tienen num ero­ sas ap licacion es. Por ejem p lo, cu an do hablam os d e una temperatura “norm al” del cuerpo de 9 8 .6 no n ecesitam os precisar un gran núm ero de dígitos. C uando v em os la temperatura en un termóm etro y leem os 9 8 .6 , en realidad podría ser 9 8 .5 9 9 9 4 7 3 2 1 0 6 4 3 . FJ punto aquí es que el referirse a este nú­ m ero sencillam en te com o 9 8 .6 está bien para la mayoría de la s aplicaciones. Otra manera en la que se desarrollan núm eros de punto flotante es a través de la d ivisión. C uan­ do d ivid im os 10 entre 3, el resultado e s 3 .3 3 3 3 3 3 3 ... donde la secu en cia d e núm eros s e repite de manera infinita. La com putadora reserva una cantidad fija de esp acio para alm acenar d ich o valor, por lo que claram ente el valor de punto flotante alm acenado solam en te e s una aproxim ación.

http://alexyniorlls.blogspot.com 149 of 1380.

94

Estructuras de control

Capítulo 2

2.10 C ó m o formular algoritmos mediante el mejoramiento de arriba a abajo, paso a paso: ejemplo práctico 3 (estructuras de control anidadas) Trabajem os con otro problem a com pleto. D e nuevo, form ularem os el algoritm o m ediante utilizando e l m ejoram iento de arriba a abajo, paso a paso, y escribirem os su programa correspondiente en C ++. H em os visto que la s estructuras d e control se pueden apilar una sobre la otra (en secu en cia ) tal com o un niño apila b loqu es d e construcción. En este ejem p lo práctico, verem os la otra forma en la que las estructuras de control se pueden conectar e n C + + , a saber, m ediante el anidam iento de una estructu­ ra de control dentro d e otra. C onsidere e l sigu ien te enunciado del problema:

Una escuela ofrece un curso que prepara a los estudiantes para el examen de certificación del estado como corredor de bienes raíces. El año pasado, muchos de los estudiantes que completaron el curso tomaron el examen de certificación. Naturalmente, la escuela desea saber que tan bien les fue a los es­ tudiantes en el examen. A usted se le pide que escriba un programa que resuma los resultados. Se le dio una lista de 10 estudumtes. Junto a cada nombre se escribe un 1 si el estudicmte aprobó el examen o un 2 si el estudiante reprobó. Su programa debe analizar los resultados del examen de la siguiente manera: 1. Introduzca cada resultado (es decir, un l o un 2). En la pcmtalla, despliegue el mensaje "In­ troduzca resultado ”,cada vez que el programa pida otro resultado del exttmen. 2. Cuente el número de resultados del examen de cada tipo. 3. Despliegue un resumen de los resultados, indicando el número de estudiantes que aprobaron y el número de estudiantes que reprobaron. 4. Si aprobaron más de ocho estudiantes, despliegue el mensaje “Incrementar las inscripciones ". D esp ués d e leer el enunciado d el problem a cuidadosam ente, h acem os la s sig u ien tes ob servacio­ n es acerca del problema: 1. F.l programa debe procesar lo s resultados d e la evaluación para 10 estudiantes. Se d eb e uti­ lizar una repetición controlada por un contador. 2. Cada resultado de la evaluación es un núm ero, un 1 o un 2. Cada vez q u e el programa lee un resultado, e l programa debe determ inar si el núm ero es igual a 1 o a 2. En nuestro a lg o ­ ritmo, evaluam os el 1. Si el núm ero n o e s igual a 1, asu m im os q u e s e trata de un 2. (FJ ejer­ c ic io 2.2 3 considera las con secu en cia s de esta su p osición .) 3. S e utilizan d os contadores para mantener la pista de los resultados, uno para contar el nú­ m ero de estudiantes que aprobaron el exam en y otro para contar el núm ero de estudiantes que reprobaron el exam en. 4. D esp u és de que el programa procesó to d o s lo s resultados, debe decidir si m ás de o ch o estu ­ diantes aprobaron el exam en. Procedam os con e l m ejoram iento de arriba a abajo, paso a paso. C om enzam os con una repre­ sentación del seud ocód igo de la cima:

A naliza los resultados del exam en y decid e si las inscripciones deben aum entarse U na v e z más. e s importante enfatizar q u e la cim a e s una representación com p leta d el programa, pe­ ro se requerirán varias m ejoras antes de que el seu d o có d ig o pueda evolucionar d e manera natural a un programa en C ++.

http://alexyniorlls.blogspot.com 150 of 1380.

Estructuras do control

Capitulo 2

95

Nuestra primera m ejora es:

Inicializa las variables Introduce d iez calificaciones y cuenta ¡os aprobados y los reprobados D espliega un resutnen de los resultados d e l exam en y decide si las inscripciones deben aum entarse A quí tam bién, aún cuando ten em os una representación com pleta del programa, e s necesario m ejorar­ la. Ahora, n os com p rom etem os co n variables esp ecíficas. L os contadores son n ecesarios para regis­ trar lo s aprobados y lo s reprobados, utilizarem os un contador para controlar el proceso d el c ic lo y necesitarem os una variable para alm acenar la entrada del usuario. L a variable en la se alm acenará la entrada del usuario no se in icializa, d eb id o a que su valor p roviene d el usuario durante cada itera­ ción d el ciclo . La instrucción de seud ocód igo

Inicializa variables p uede m ejorarse com o sigue:

Inicializa aprobados con cero Inicializa reprobados con cero Inicializa co n ta d o r d e estudiantes con uno O bserve que só lo se in icializan lo s contadores. La instrucción de seud ocód igo

Introduce d iez calificaciones y cuenta los aprobados y los reprobados requiere un ciclo que introduzca d e manera sucesiva el resultado d e cada exam en. A quí sab em os de antem ano que son precisam ente diez resultados, de manera que es apropiado un c ic lo controlado por un contador. D entro del c ic lo (es decir, anidado en el ciclo ), una estructura de se lecció n d oble deter­ minará si cada resultado d el exam en es aprobado o reprobado, e increm entará el contador apropia­ do. E ntonces, la mejora al seu d o có d ig o an teriores:

W hile e l co n ta d o r de estudiantes sea m en o r o igual que diez Introduce el siguiente resultado d el exam en i f el estudiante aprobó Sum a uno a aprobados else Sum a uno a reprobados Sum a uno a l contador de estudiantes O bserve el uso de líneas en blanco para terminar la estructura de control if/else y mejorar la claridad. La instrucción de seudocódigo

D espliega un resum en de los resultados del exam en y decide si las inscripciones deben a u ­ m entarse se puede definir d e la sigu iente forma

D espliega el núm ero de aprobados D espliega el núm ero de reprobados ¡ f aprobaron m á s de ocho estudiantes D espliega "A u m en ta r inscripciones ”

http://alexyniorlls.blogspot.com 151 of 1380.

96

Estructuras de control

Capítulo 2

La segunda m ejora com pleta aparece en la figura 2.10. O bserve que las lín eas en blanco se uti­ lizan también para establecer e l final d e la estructura W hile para m ayor claridad. Ahora, el seu d ocód igo ha m ejorado lo su ficien te co m o para hacer la conversión a C ++. El pro­ gram a en C + + y d os ejem p los de la ejecu ción aparecen en la figura 2.11. Las lín eas 13 a 16 declaran las variables q u e utiliza main para procesar lo s resultados d el exa­ m en. O bserve que tom am os ventaja d e una característica d e C + + que permite incorporar la inicialización de la s variables en la s declaraciones (a aprobados s e le asigna 0, a reprobados s e le asign a 0 y a contadorEstudiantes se le asigna 1). En o casion es, los programas con ciclo s requieren la in icialización al principio d e cada repetición; por lo general, dicha in icialización ocurre en instrucciones d e asign ación.

Inicializa aprobados con cero Inicializa reprobados con cero Inicializa co n ta d o r de estudiantes con uno W hile e l contador de estudiantes se a m e n o r o igual que diez Introduce el siguiente resultado d e l examen i f e l estudiante aprobó S u m a uno a aprobados else S u m a uno a reprobados Sum a uno a l co n ta d o r d e estiuliatUes D espliega e l núm ero de aprobados D espliega e l núm ero de reprobados I f aprobaron m á s de ocho estudiantes D espliega "A um entar inscripciones"

Hgura 2.10

1 2 3

Algoritmo en seudocódigo del problema d e resultados d e examen.

// Fig. 2.11: fig02_ll.cpp // Análisis de loa resultados del examen. •inelude

4

5 6 7

using std::cout; using std::cin; using std::endl;

8 9 10

11 12 13

// la función main comienza la ejecución del programa int main () { // inicializa las variables en las declaraciones int aprobados > 0 ; // número de aprobados

Figura 2.11

Estructuras de control anidadas: problema de resultados de exámenes. (Parte 1 de 3.)

http://alexyniorlls.blogspot.com 152 of 1380.

Estructuras do control

Capitulo 2

14 15 16 17 18 19

int reprobados - 0; int contadorEstudiantes ■ 1; int resultado;

97

// número de reprobados // contador de estudiantes // resultado de un examen

// procesa 10 estudiantes mediante un ciclo controlado por un contador while ( contadorEstudiantes > cari >> car2 >> car3; // invoca a la versión char de máximo cout s identificadores que se declaran dentro de un bloque tienen alcance de bloque. El alcance de bloque ter­ mina con la llave derecha (>) de terminación de bloque. • Las variables locales tienen alcance de bloque, tales como los parámetros de una función, que se consideran variables locales. • Cualquier bloque puede contener declaraciones de variables. Cuando los bloques están anidados y un identi­ ficador en un bloque externo tiene el mismo nombre que un identificador en un bloque interno, el identifica­ dor en el bloque externo se “oculta" hasta que termina el bloque interno. • Los únicos identificadores con alcance de prototipo de función son aquellos que se utilizan en la lista de pa­ rámetros de un prototipo de función. • Una función recursiva es una función que se llama a sí misma de manera directa o indirecta. • Si se llama a una función recursiva mediante el caso base, la función simplemente regresa un resultado. Si la función se llama mediante un problema más complejo, la función divide el problema en dos partes concep­ tuales. una parte que la función sabe cómo resolver y una versión ligeramente más sencilla que el problema original. Debido a que este nuevo problema se parece al original, la función lanza una llamada recursiva den­ tro del problema más pequeño. • Para que termine la recursividad, cada vez que la función recursiva se llama a sí misma mediante una versión ligeramente más simple que el problema original, la secuencia de problemas cada vez más pequeños deben converger en el caso base. Cuando la función reconoce el caso base, el resultado se devuelve a la llamada pre­ via de la función, y en algún momento, una secuencia de devoluciones encadenadas en línea hacia arriba has­ ta la llamada original de la función regresa el resultado final. • El C++ estándar no especifica el orden en el cual se deben evaluar los operandos de la mayoría de los opera­ dores. C++ especifica el orden de evaluación de los operadores &&. | | , el operador coma ( , ) y ? *. Los tres primeros operadores son binarios, y sus operandos se evalúan de izquierda a derecha. El último operador es el único operador temario de C++. Primero se evalúa el operando que se encuentra más a la izquierda; si la evaluación arroja un número diferente de cero (verdadero), el operador en el centro se evalúa a continuación, y el último operador se ignora; si el resultado de la evaluación arroja un número igual a cero (falso), el ter­ cer operando se evalúa a continuación, y el operador central se ignora. • Tanto la iteración como la recursividad se basan en una estructura de control: la iteración utiliza una estructura de repetición; la recursividad utiliza una estructura de selección. • Tanto la iteración com o la recursividad involucran la repetición: la iteración utiliza de manera explícita una estructura de repetición; la recursividad logra la repetición a través de llamadas repetidas de función. • Tanto la iteración como la recursividad involucran una prueba de terminación: la iteración termina cuando la condición de continuidad es falsa; la recursividad termina cuando se reconoce el caso base. • La iteración y la recursividad pueden ser infinitos: un ciclo iterativo infinito ocurre, si la prueba de continui­ dad nunca se hace falsa; la recursividad infinita ocurre si el paso recursivo no reduce el problema de manera que converja con el caso base. • La recursividad invoca de manera repetida el mecanismo, y por consecuencia el gasto de llamadas a funcio­ nes. Esto puede ser costoso tanto en tiempo del procesador como en espacio de memoria.

http://alexyniorlls.blogspot.com 289 of 1380.

234

Funciones

Capítulo 3

• Los programas en C++ no compilan, a menos que se proporcione el prototipo o la definición para cada fun­ ción antes de que se llamen por primera vez. • Una función que no devuelve un valor se declara mediante un tipo de retomo v o i d . Intentar devolver un va­ lor desde la fundón o utilizar el resultado de la invocadón de la función en la llamada de la fundón, es un error de sintaxis. • Una lista de parámetros vacía se cspedfica mediante paréntesis vacíos, o v o i d dentro de los paréntesis. • Las funciones inline diminan el abuso de llamadas de fundones. El programador utiliza la palabra dave i n l i n e para aconsejar al compilador que genere el código de la fundón en línea para minimizar las llama­ das a fundones. El compilador podría ignorar la palabra clave inline. • C++ ofrece una manera directa de pasar por referencia, utilizando parámetros de referenda. Para indicar que un parámetro de fundón se pasa por referencia, coloque & en seguida del tipo del parámetro dentro del pro­ totipo de la función. En la llamada de la fundón, mencione la variable por su nombre para pasarla por re­ ferencia En la fundón invocada mencionar la variable por su nombre local en realidad hace referencia a la variable original en la llamada de la función. Además, la variable original se puede modificar de manera directa mediante la fundón invocada. • la s variables por referenda se pueden crear para uso local como alias de otras variables dentro de una fun­ d ón. la s variables por referencia se deben inidalizar en sus deciaradones, y no se pueden reasignar como alias de otras variables. Una vez. que se declara una variable por referenda como un alias para otra variable, todas las operaciones que se desarrollan sobre el alias se realizan en la variable. • C++ permite al programador especificar argumentos predeterminados para las fundones. Si se omite un argu­ mento predeterminado en la llamada a una función, se utiliza el valor predeterminado de dicho argumento. Los parámetros predeterminados deben estar en el extremo derecho de los argumentos de la lista de pa­ rámetros de una función. Los parámetros predele mi inados se deben especificar con la primera ocurrencia del nombre de la fundón. Los valores predeterminados pueden ser constantes, variables globales, o llamadas a fun­ ciones. • El operador unario de resoludón de alcance ( : : ) permite al programa acceder a variables globales cuando una variable local del mismo nombre se encuentra en el mismo alcance. • Es posible definir muchas funciones con el mismo nombre, pero con diferentes tipos de parámetros. A esto se le llama sobrecarga de fundones. Cuando se llanta a una función sobrecargada, el compilador selecciona la función apropiada ntediante el examen del número y tipos de argumentos en la llamada. • Las funciones sobrecargadas pueden tener diferentes valores de retomo y debe tener diferentes listas de pa­ rámetros. Dos fundones que difieren solamente en el tipo de retomo provocan un error de sintaxis. • I^s plantillas de fundón permiten la crcadón de funciones que realizan las mismas operaciones con diferen­ tes tipos de datos, pero la plantilla de la función se define solamente una vez.

TERMINOLOGÍA a lc a n c e

b ib lio te c a e s tá n d a r d e C + +

a lc a n c e d e a rc h iv o

c a s o b a se e n rc c u rs iv id a d

a lc a n c e d e b lo q u e

c la s e d e a lm a c e n a m ie n to a u to m á tic o

a lc a n c e d e f u n d ó n

c la s e p a ra a lm a c e n a m ie n to

a lm a c e n a m ie n to a u to m á tic o

c o e r d ó n d e a rg u m e n to s

a m p e r s a n d (& ) s u f i j o

c o m p o n e n te

a rc h iv o d e e n c a b e z a d o

const

a rc h iv o s d e e n c a b e z a d o d e la b ib lio te c a e s tá n d a r

c o n s ta n te c o n n o m b re

a rg u m e n to e n u n a lla m a d a a f u n d ó n

c o n s ta n te d e e n u m e ra d ó n

a rg u m e n to p re d e te rm in a d o d e u n a fu n c ió n

c o n s ta n te s im b ó lic a R A N D

b ib lio te c a d e f u n d o n e s m a te m á tic a s

d e d a ra d ó n de fu n d ó n

http://alexyniorlls.blogspot.com 290 of 1380.

M AX

Funciones

Capitulo 3

decoración de nombre definición de función destrucción de nombre destrucción de referencia divide y vencerás duración del almacenamiento estático efecto colateral

enum enumeración escalar espedalización de una plantilla de función especificación de vinculación espccificador de clase para almacenamiento especificador de clase para almacenamiento auto espccificador de clase para almacenamiento

extern especificador de clase para almacenamiento

mutable espccificador de clase para almacenamiento

register

iteración jerarquía de promoción llamada a una función llamada de función llamada recursiva ocultamiento de información operador unario de resolución de alcance (::) optimización del compilador parámetro por referencia parámetros dentro de una definición de función paso por referencia paso por valor plantilla de función principio del menor privilegio programa modular prototipo de una función randomizar recursi vi dad recursi vi dad infinita

raturn

especificador de la clase de almacenamiento

•tetic expresión de tipo mixto firma firma de una función función función definida por el programador función factorial función inline función invocada función que llama función rand función recursiva función srand función time generación de números aleatorios ingeniería de software invocar una función

rcutilización de software simulación sobrecarga sobrecarga de funciones

tamplata tipo de referencia tipo de valor de retorno

typenama unsignad variable automática variable constante variable de sólo lectura variable global variable local variable atatic vinculación vinculación segura de tipos

void

Terminología para la sección opcional “Acerca de los objetos” acción

Boolaan círculo opaco condición de guardia decisión diagrama de actividad diagrama de estado

Entero estado estado de acción estado final

estado inicial etiqueta de acción etiqueta de acción realizar etiqueta de entrada de acción etiqueta de salida de acción evento expresión de acción rectángulo redondeado rombo

String transiciones

http://alexyniorlls.blogspot.com 291 of 1380.

235

236

Funciones

Capítulo 3

EJERCICIOS DE AUTOEVALUACIÓN 3.1

Responda cada uno de los siguientes incisos: a) Ixk componentes de un programa en C++ se conocen c o m o ___________y ___________ b) A una fundón se le invoca mediante u na___________ c) Una variable que es conodda sólo dentro de una fundón en la que está definida se conoce como d)

La instruedón___________en una fundón invocada, pasa el valor de una expresión nuevamente hada la fundón que invoca. e) La palabra reservada____________ se utiliza en el encabezado de una función, para indicar que una fundón no devudve un valor, o para indicar que una función no contiene parámetros. 0 H __________ de un idcntificador es la porción del programa en la que el identificador puede utilizarse. g) Las tres formas para devolver el control, de una función invocada a quien la llama son :__________,

-------------- y -------------- * h)

U n a ___________permite al compilador verificar el número, los tipos y el orden de los argumen­ tos pasados a una función. i) La función___________ se utiliza para produdr números aleatorios. j) La función___________ se utiliza para establecer la semilla del número aleatorio para randomizar un programa. k) Los especificadores de la clase de almacenamiento son m u t a b l e s . ___________, ___________,

-------------- y -------------- • l)

Se supone que las variables declaradas en un bloque o en la lista de parámetros de una función son de la clase de almacenamiento___________, a menos que se especifique lo contrario. m) El especificador___________de la clase de almacenamiento es una recomendación que se le hace al compilador, para que almacene una variable en uno de los registros de la computadora. n) Una variable declarada fuera de cualquier bloque o función es una variable___________. o) Para que una variable local a una función retenga su valor entre las llamadas a la función, ésta de­ be declararse con el especificador de la clase de almacenamiento___________. p) Los cuatro posibles alcances de un identificador s o n ___________, ___________ , ___________y q)

Una función que se llama a sí misma, directa o indirectamente, es decir, a través de otra función, es una función___________ . r) Una función recursiva por lo general tiene dos componentes: Uno que proporciona un medio para que la recursividad termine probando un c a s o ___________. y otro que expresa el problema como una llamada recursiva por un problema ligeramente más sencillo que la llamada original. s) En C++, es posible tener varias funciones con el mismo nombre que operen con diferentes tipos de números o argumentos. A ésta se le llam a___________ de función. t) E l___________ permite acceder a una variable global con el mismo nombre que una variable en el alcance actual. u) FJ calificador___________se utiliza para declarar variables de sólo lectura. v) Una función_________ permite que se defina a una función sencilla para que realice una tarea so­ bre diferentes tipos de datos.

3 .2

Para el programa de la figura 3.33, establezca el alcance (ya sea alcance de función, de archivo, de blo­ que o de prototipo de función) de cada uno de los siguientes elementos: a) La variable * en m ain . b) 1.a variable x en cube. c) La función cube. d) 1.a función m ain . e) El prototipo de función para cube. f) El identificador y en el prototipo de función para cube.

3 .3

Escriba un programa que verifique si los ejemplos de las llamadas a las funciones matemáticas de la li­ brería que aparece en la figura 3.2 produce realmente los resultados indicados.

http://alexyniorlls.blogspot.com 292 of 1380.

Funciones

Capitulo 3

1 2

237

// Ejercicio 3.2s «j03._02.cpp iinclude

3

4 5 6 7 8 9 10 11

using std::cout; using std::«ndl; int cubo( int y );

// prototipo d« 1« función

int main() { int x;

12 13 14 15 16 17 18 19

// ciclo de 10 repeticiones, calcula el cubo de x y nuestra el resultado for ( x ■ 1; x > ) se sobrecarga para designar la entrada de flujo y s e co n o ce co m o el operador d e extrac­

ción d e flu jo . E stos operadores se utilizan co n los ob jetos de flujo estándar

c in . c o u t. c e r r

y

c l o g y, com únm ente, co n o b jetos d e flujo d efin id os por el programador.

Rgura 12.1

Porción d e la Jerarq u ía d e p lan tillas d e E/S d e flujo.1 2

1. Técnicamente, tas plantillas no heredan de otras plantillas. Sin embargo, en este capítulo hablamos sobre las plan­ tillas sólo en el contexto de las especializaciones de plantillas que permiten la E/S de valores char. Estas especializaciones son clases y. por lo tanto, pueden heredar unas de otras. 2. La herencia múltiple se describe en el capítulo 22. Otros temas.

http://alexyniorlls.blogspot.com 797 of 1380.

742

Entrada/sallda de flujo en C++

Capítulo 12

El objeto predefinido c i n e s una instancia d e i s t r e a m y se dice que está “con ectado” ( o uni­ d o) al d isp ositivo d e entrada estándar, que por lo general es el teclado. El operador d e extracción de flujo (> > ) utilizado en la sigu iente instrucción hace que se introduzca un valor para la variable tipo entero g r a d o (asum iendo que g r a d o ha sid o declarada co m o variable tipo i n t ) de c i n a la m e­ moria:

cin >> grado;

// loa datos "fluyan" an la diracción da las flachas

O bserve que el com pilador determ ina el tipo de datos de g r a d o y seleccio n a el operador de e x ­ tracción d e flujo sobrecargado m ás apropiado. Suponiendo que g r a d o se haya declarado apropia­ damente. el operador de extracción de flujo no requiere información adicional sobre el tipo de los datos (c o m o e s el caso, por ejem p lo, con la E /S al estilo d el lenguaje C). E l operador >> se sobrecarga para introducir elem en tos d e datos d e lo s tipos integrados, cadenas y valores de apuntadores. El ob jeto predefinido c o u t es una instancia de o s t r e a m y se dice que está “con ectado a" el d isp ositivo de salida estándar, que por lo general es la pantalla. El operador d e inserción d e flujo (< < ) utilizado e n la sigu iente instrucción hace q u e el valor de la variable g r a d o se muestre d e la m em o­ ria al d ispositivo estándar de salida:

cout ( palabra ) es: ” ( palabra ) ( palabra ) es: 0046C078 Figura 12.3

Im prim ir la d ire cció n a lm a c e n a d a en u n a v a ria b le c h a r * . (P a rte 2 d e 2 .)

12.3.2 Salida de caracteres utilizando la función miembro p u t P odem os utilizar la función m iem bro p u t para mostrar caracteres. Por ejem p lo, la instrucción:

cout.put( 'A' ); m uestra el carácter individual A. Las llam adas a put pueden hacerse en cascada, co m o en la instruc­ ción:

cout.put ( 'A' ).put( %\n' ); que m uestra la letra A seguida d e un carácter de nueva línea. A l igual que con < < , la instrucción an­ terior se ejecuta de esta manera, ya que el operador punto ( . ) se evalúa d e izquierda a derecha y la función m iem bro p u t d evu elve una referencia a l ob jeto o s t r e a m q u e recibió la llam ada a p u t . Esta función tam bién p uede llam arse con una expresión num érica q u e represente un valor A SC II, c o ­ m o en la instrucción c o u t . p u t ( 6 5 ) ; que también im prim e A.

12.4 Entrada de flujo A hora con sid erem os la entrada d e flujo. La cla se i s t r e a m proporciona las capacidades de entrada con y sin formato. El operador de extracción de flujo (e s decir, el operador >> sobrecargado) por lo general om ite lo s caracteres de espacios en blanco (co m o esp a cio s en blanco, tabuladores y de nueva lín ea) en el flujo d e entrada; verem os có m o cam biar este com portam iento. El operador d e extracción d e flujo d evu elve 0 ( f a l s a ) al encontrar el fin de archivo en un flujo; d e no ser así, el operador de extracción de flujo d ev u elv e una referencia al ob jeto que recibió el m ensaje d e extracción (por ejem ­ p lo, c i n en la expresión c i n > > g r a d o ) . Cada flujo co n tien e un conjunto d e bits d e estado que se utilizan para controlar el estado d el flujo (es decir, el formato, la asign ación d e estad os d e error, etcé­ tera). La extracción de flujo hace que e l bit f a l i b i t del flujo se active si s e introducen datos del tipo incorrecto y h ace q u e el bit b a d b i t del flujo se active si falla la operación. Las seccio n es 12.7 y 12.8 hablan, de manera m ás detallada, sobre los bits de estado d e flujo y lu eg o muestran có m o eva­ luar esto s bits después d e una operación de E/S.

http://alexyniorlls.blogspot.com 800 of 1380.

Entrada/sallda de flujo en C++

Capitulo 12

745

12.4.1 Las funciones miembro g e t y g e t l i n e L a f u n c ió n m ie m b r o get s in a r g u m e n to s in tr o d u c e u n c a r á c t e r d e s d e flu jo d e s ig n a d o ( in c lu s o si e s u n e s p a c io e n b la n c o ) y d e v u e lv e e s te c a r á c te r c o m o e l v a lo r d e la lla m a d a a la f u n c ió n . E s ta v e rs ió n de

get d e v u e lv e EOF c u a n d o

s e e n c u e n tr a e l fin d e a r c h iv o e n e l flu jo .

eof y get e n e l f lu jo d e e n tra d a cin put e n e l f lu jo d e s a lid a cout. E l p r o g ra m a p r im e ro im p r im e e l v a lo r d e cin. eof (), e s d e c ir, falso (0 e n l a s a lid a ), p a r a d e m o s tr a r q u e n o se h a lle g a d o a l fin d e a r c h i­ v o e n cin. FJ u s u a rio in tr o d u c e u n a lín e a d e te x to , o p r im e Entrar y la c o m b in a c ió n d e te c la s c o r r e s ­ p o n d ie n te a l fin d e a rc h iv o ( -z e n e q u ip o s c o m p a tib le s c o n la IB M P C , -dt n s is te m a s U N IX y M a c in to s h ). 1.a lín e a 18 le e c a d a c a r á c te r , q u e la lín e a 19 e n v ía a cout u tiliz a n d o la fu n ­ c ió n m ie m b r o put. A l lle g a r a l fin d e a r c h iv o la e s tr u c tu r a while te rm in a y la lín e a 2 3 m u e s tra el v a lo r d e cin.eof (), q u e a h o r a e s true (1 e n la s a lid a ), p a r a m o s tr a r q u e s e h a lle g a d o a l fin d e a r c h iv o e n cin. O b s e r v e q u e e s te p r o g ra m a u tiliz a la v e rs ió n d e la f u n c ió n m ie m b r o get q u e se in c lu y e e n istream. la c u a l n o to m a a r g u m e n to s y d e v u e lv e e l c a r á c t e r q u e s e e s tá in tr o d u c ie n d o L a f ig u ra 12.4 d e m u e s tra e l u s o d e la s f u n c io n e s m ie m b r o

y la f u n c ió n m ie m b r o

( lín e a 18). L a f u n c ió n m ie m b r o

get

c o n u n a r g u m e n to d e r e f e r e n c ia a u n c a r á c te r in tr o d u c e e l s ig u ie n te

c a r á c t e r d e l f lu jo d e e n tr a d a ( in c lu s o si e s u n c a r á c te r d e e s p a c io e n b la n c o ) y l o g u a r d a e n e l a r g u ­

get d e v u e lv e -1 a l istream p a r a e l c u a l s e

m e n to tip o c a rá c te r. E s ta v e rs ió n d e

lle g a r al fin d e a r c h iv o ; d e n o s e r a s í, d e ­

v u e lv e u n a re f e r e n c ia a l o b je to

e s tá in v o c a n d o la fu n c ió n m ie m b ro

1 2

// Fig. 12.4s figl2_04.cpp // üao de las funciones miembro get, put y eof.

3 4 5 6 7

linclude

get.

using std::cout; using std::cin; using std::endl;

8 9 10

11

12 13 14 15

int main( ) {

int carácter; // se utiliza int porque char no puede representar a EOF // pedir al usuario que introduzca la linea de texto cout > saldo; } // fin de instrucción while interior archivoClientesEntrada.clear();

// borrar indicador eof para la siguiente operación de entrada archivoClientesEntrada.seekg( 0 ); // ir al inicio del archivo solicitud • obtener SolicitudO; // obtener solicitud adicional del usuario

87 88

100 101

) // fin de instrucción while exterior cout

chtml xmlns ■ *http://www.w3.org/1999/xhtmlw>

Viajes Bug2Bug

12

13

14 Bienvenido a Viajes Bug2Bug 15 16

19

22

23 24

25

R gura 16.13

Portal Interactivo para crear una p ágin a W eb protegida por contraseña.

http://alexyniorlls.blogspot.com 962 of 1380.

Capitulo 16

Programación Web con CGI

907

P a ra r e c u p e r a r e l v a lo r a s o c ia d o c o n cuadronombre> ( e l v a lo r in tr o d u c id o p o r e l u s u a rio ) la p o s i­ c ió n e n l a c a d e n a a v a n z a 1 3 c a r a c te r e s h a c ia d e la n te . R e c u e rd e q u e u n a c a d e n a d e c o n s u lta c o n tie n e p a r e s n o m b r e - v a lo r s e p a r a d o s p o r s ig n o s -

y &. P a ra e n c o n tr a r la p o s ic ió n fin a l p a r a lo s d a to s q u e

d e s e a m o s r e c u p e r a r , b u s c a m o s e l c a r á c te r & e n la lín e a 3 1 . E l p r o g r a m a a h o r a c o n tie n e u n e n te ro “a p u n t a n d o ” a la p o s ic ió n in ic ia l. L a lo n g itu d d e la p a la b r a e s c r ita s e d e te r m in a m e d ia n te e l c á lc u lo

f InNombrePoslclon - nombrePosicion. E n la s lín e a s d e la 3 7 a la 41 a s ig n a m o s lo s v a ­ lo r e s d e lo s c a m p o s d e l f o rm u la r io a la s v a r ia b le s nombreString y contraseniaString. E n la lín e a 5 8 u tiliz a m o s a nombreString p a r a m o s tr a r u n s a lu d o p e r s o n a liz a d o al u s u a rio . L o s e s ­ p e c ia le s s e m a n a le s v ig e n te s s e m u e s tra n e n la s lín e a s d e la 5 8 a la 6 2 . ( E n e s te e je m p lo in c lu im o s e s ta in f o rm a c ió n c o m o p a r te d e l a s e c u e n c ia d e c o m a n d o s .) S i la c o n tra s e ñ a d e m ie m b r o e s c o r r e c ta , se m u e s tra n e s p e c ia le s a d ic io n a le s ( lín e a s 6 6 -6 7 ). Si la c o n tr a s e ñ a e s in c o rr e c ta , s e in f o r m a a l c lie n te q u e la c o n tr a s e ñ a e s in v á lid a . O b s e r v e q u e a q u í u tiliz a m o s u n a c o m b in a c ió n d e u n a p á g in a W e b e s tá tic a y u n a s e c u e n c ia d e c o ­ m a n d o s C G I. P o d ría m o s h a b e r in c o r p o r a d o e l f o rm u la r io d e X H T M L d e a p e r tu r a y e l p r o c e s a m ie n ­ to d e lo s d a to s e n u n a s o la s e c u e n c ia d e c o m a n d o s C G I, c o m o lo h ic im o s e n lo s e je m p lo s a n te r io r e s d e e s te c a p ítu lo . E n e l e je r c ic io 16.8 p e d im o s a l le c to r q u e h a g a e sto .

Tip de rendimiento 16.1 Siempre es mucho más eficiente para el servidor proporcionar contenido estático en vez de ejecutar una secuencia de comandos CCI. ya que al servidor le lleva tiempo cargar la secuencia de comandos del disco duro a la memoria y ejecutarlo (mientras que un archivo de XHTMl. sólo necesita enviarse al cliente). Es una buena práctica el utilizar una mezcla de XHTMl. estático (para el contenido que ge nendmente permanece sin cambio) y secuencias de comandos CGI (para el contenido dinámico). Es­ ta práctica permite al servidor Web responder a los clientes con muclui mayor eficiencia que cuaiulo se utilizan sólo secuencias de conumdos CGI. 1 2 3 4 5 6 7 8

// Fig. 16.14: portal.cpp //Se encarga de la entrada a viajes Bug2Bug tiñelude uslng std:rcout; using std::cinj tlnclude

9 10 uslng std::string; 11 12 tlnclude 13 14 lnt main() 15 { 16 char postStringt 1024 ] - n"; 17 strlng datosString - n " ¡ 18 strlng nombreString ■ ; 19 strlng contrasenlaStrlng -; 20 lnt contenídoLongitud « 0; 21 22 / /se enviaron datos con post 23 lf ( getenv( "CONTEWT LENGTH* ) ) 24 contenidoLongitud • atol( getenv( "CONTENT 25 R g u ra 16.14

length"

Manejador d e portal Interactivo. (Parte 1 d e 3.)

http://alexyniorlls.blogspot.com 963 of 1380.

) );

908

26 27 28 29 30 31 32 33 34 36 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

ftogramación Web con CGI

cin.read( postString, contenidoLongitud ); datoaString - postString; // buscar en la cadena loa datoa de entrada int nombrePosición • datoaString.find( "cuadronombre*" ) ♦ 13; int finNombrePosicion - datoaString.find( *£* ); int contraaenia ■ datoaString.find( "cuadrocontrásenla-" ) + 18; int finContraaenia - datoaString.find( "fcboton" ); // obtener loa valorea para el nombre y la contraaeña nombreString ■ datoaString.aubatr( nombrePoaicion, finNombrePosicion - nombrePoaicion ); contraseniaString - datoaString.aubatr( contraaenia, finContraaenia contraaenia ); // mostrar encabezado cout

3 4 — > 5 7 8 chtml xmlns - "http://www.w3.org/1999/xhtml"> 9

10 Por favor escriba su información de contacto 11

12

13 14 15 16 17 18 19 20 21 22

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

Por favor escriba su información en el formularlo de abajo.

Nota: Debe llenar todos los campos.



Primer nombre:

Apellido:

ñame ■ "ciudad" size - *10" /> ñame - "estado" size » *2" /> ñame - "codpostal" size ■ *5" /> ñame - "pais" size - *10" />

Docum ento d e XHTML para leer la Información d e co n ta cto d e un usuario. (Parte 1 d e 2.)

http://alexyniorlls.blogspot.com 972 of 1380.

Capitulo 16

39

917



40 41

Dirección de e-mail: cinput type - "text* ñame - "email® />

42

43 44 45 46 47

Programación Web con CGI







Figura 16.18

Docum ento d e XHTML para leer la Información d e co n ta cto d e un usuario. (Parte 2 d e 2.)

Esta secu en cia d e com an dos no e s lo suficientem ente robusta co m o para desplegarla en Internet, pero m uestra un ejem plo d e cóm o utilizar archivos del lado del servidor para guardar inform ación. Una v ez q u e lo s archivos s e guardan en el servidor, lo s usuarios no pueden m odificarlos a m en o s que el administrador d el servidor lo permita. Por lo tanto, guardar esto s archivos en el servidor es m u­ ch o m ás seguro que guardar los datos d el usuario en cook ies. [Nota: M uchos sistem as alm acenan la inform ación d e lo s usuarios en b ases de datos protegidas co n contraseñas para tener m ayores nive­ les d e seguridad.]

1 2 3 4 5

// Fig. 16.19: guardararchivo.cpp // Programa para introducir la información da contacto da un usuario en un // archivo dal lado dal servidor. •inelude

6

7

using std::cerr;

Figura 16.19

Creación d e un archivo del lado del servidor para alm acenar los datos d e los usuarios. (Parte 1 d e 5.)

http://alexyniorlls.blogspot.com 973 of 1380.

918

Rogramación Web con CGI

Capítulo 16

8 using 8td::cout; 9 using std::cin; 10 using std::ios; 11

12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60

ffinclude using stdz:o£stream; ffinclude using std::string; ffinclude int main() { char postString! 1024 1 » »•; int contenidoLongitud - 0; // variables para almacenar datos del usuario string datosString ■ **; string primernombre string apellido ; string dirección string ciudad ; string estado ; string codpostal ■ string pais string email ■ //se enviaron datos mediante post if ( getenv( "CONTENT LENGTH" ) ) contenidoljongitud - atoi( getenv( wCONTENT_LENOTH" ) ); cin.read( postString, contenidoLongitud ); datosString - postString; // buscar el primer carácter '«■' int caracterPosicion - datosString.find(

);

// buscar el siguiente carácter *+' while ( caracterPosicion < string::npos ) { datosString.replace( caracterPosicion, 1, * * ); caracterPosicion - datosString.£ind( caracterPosicion ♦ 1 ); ) // fin de instrucción while // buscar posición de primernombre int primerlnicio - datosString.find( "primernombre-" ) ♦ 13; int finPrimer - datosString.find( "fcapellido" ); primernombre - datosString.substr( primerlnicio, finPrimer - primerlnicio );

Figura 16.19

Creación d e un archivo del lado del servidor para alm acenar los datos d e los usuarios. (Parte 2 d e 5.)

http://alexyniorlls.blogspot.com 974 of 1380.

Capitulo 16

61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

Programación Web con CGI

919

// buscar posición de apellido int apellidolnicio - datosString.find( "apellido-" ) ♦ 9; int finApellido - datosString.find( "¿dirección" ); apellido - datosString.substr( apellidolnicio, finApellido - apellidolnicio ); // buscar posición de dirección int direccionlnicio - datosString.find( "dirección-" ) ♦ 10; int finDireccion - datosString.find( "¿ciudad" ); dirección - datosString.substr( direccionlnicio, finDireccion - direccionlnicio ); // buscar posición de ciudad int ciudadlnicio - datosString.find( "ciudad-" ) ♦ 7; int finCiudad - datosString.find( "¿estado" ); ciudad - datosString.substr( ciudadlnicio, finCiudad - ciudadlnicio); // buscar posición de estado int estadolnicio - datosString.find( "estado-" ) ♦ 7; int finEstado - datosString.find( "¿codpostal" ); estado - datosString.substr( estadolnicio, finEstado - estadolnicio ); // buscar posición de codpostal int epinicio - datosString.find( "codpostal-" ) ♦ 10; int finCP - datosString.find( "¿pais" ); codpostal - datosString.substr( epinicio, finCP - epinicio ); // buscar posición de pais int paislnicio - datosString.find( "pais-" ) + 5; int finPais - datosString.findi "¿email" ); pais - datosString.substr( paislnicio, finPais - paislnicio );

100

101 102 103 104 105 106 107 108 109 110

// buscar posición de dirección de e-mail int emaillnicio - datosString.find( "email-" ) ♦ 6; int finRmail - datosString.find( "¿submit" ); email - datosString.substr( emaillnicio, finEmail - emaillnicio ); // mostrar encabezado cout * ü s t e d n o a s u n u s u a r i o

c o n tra sa n ia as in c o rre c ta ( u su a rio K n co n tra d o ) c o u t " 0; 35 36 // recuperar datoa de cookie 37 if ( getenv( "HTTP._COOKIE" ) ) { 38 carritoDatoa ■ gatenv( "HTTPCOOKIE" ); 39 cookieString ■ carritoDatoa; 40 ) // fin de inatrucción if 41 42 // se eacribieron datoa 43 if ( getenv( "COOTENTLENGTH" ) ) { 44 contenidoLongitud - atoi ( getenv( wCONTEWr._LENGTH" ) ); 45 cin.read( conaulta, contenidobongitud ); 46 datoaString ■ conaulta; 47 48 // buscar poaición de valor de iabn 49 int agregarPoaicion - datoaString.find( "agregar»" ) + 8; 50 int finAgregar ■ datoaString.find( "fcisbn" ); 51 int iabnPoaicion ■ datoaString.find( "iabn-" ) + 5; 52 53 // recuperar número iabn para agregar al carrito 54 iabnEacrito ■ datoaString.aubatr( iabnPoaicion ); 55 56 // eacribir cookie 57 atring expirea « "Friday, 14-MAY-10 16:00:00 OMT"; 58 int carritoPoaicion ■ cookieString.find( "CARRITO»" ) +8; 59 60 // cookie exiate 61 if { carritoPoaicion > 0 ) 62 cookieString ■ cookieString.aubatr( carritoPoaicion ); 63 64 / / n o exiaten datoa en cookie 65 if ( cookieString »» "" ) 66 cookieString » iabnEacrito; 67 Hgura 16.23

Secuencia de com andos C G I q u e permite a los usuarios ver el contenido de sus carritos. (Parte 2 d e 5.)

http://alexyniorlls.blogspot.com 988 of 1380.

Capitulo 16

68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

Programación Web con CGI

// existen datos en cookie else cookieString ■ cookieString ♦

933

♦ isbnEscrito;

// establecer cookie cout class NodoLista < friend class Lista< TIPONODO >; // hacer de Lista una amiga

12

13 14 15 16 17 18 19

public: NodoLista( const TIPONODO t ); TIPONODO obtenerDatos() const;

// constructor // devolver los datos en el nodo

prívate: TIPONODO datos; // datos NodoLista< TIPONODO > *sigruientePtr; // siguiente nodo en la lista

20

21

}; // fin de la clase NodoLista

Rgura 17.3

Definición de la plantilla de clase N o d o L is t a . (Parte 1 de 2.)

http://alexyniorlls.blogspot.com 1004 of 1380.

948

Estructuras de datos

Capítulo 17

22

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 Figura

1 2 3 4 5 6 7 8 9 10 11

// constructor t e m p l a t e < c l a s s T IP O N O D O > N o d o L i s t a < T I PONODO > : : N o d o L i a t a ( : d a to s ( in fo ), sig u ie n te P tr( 0 )

conat

TIPO N O D O & i n f o

)

< // cuerpo vacio }

//

fin

da

c o n stru c to r

da

N o d o L ista

/ / d a v o lv a r c o p ia da lo s d a to s an a l nodo t e m p l a t a < class T IP O N O D O > T I P O N O D O N o d o L i s t a < T IP O N O D O >s:o b t a n a r D a t o s () c o n s t

{ ra tu rn )

//

fin

d a to s; da

la

fu n c ió n

o b ta n a rD a to s

iendif

17.3

Definición d e la plantilla d e clase

NodoLista. (Parte 2 d e 2.)

// Pig. 17.4: lista.h // Definición de la plantilla de clase Lista. iifndaf LISTA H idefine LISTA_H fineluda using std::cout; iineluda iincluda "nodolista.h"

// Definición da la clase NodoLista

12

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

texnplate< class TIPONODO > class Lista { public: ListaO; // constructor -ListaO; // destructor void insartarAlPrenta( const TIPONODO fc ); void insertarAirinal( const TIPONODO & ); bool quitarDelFrente( TIPONODO & ); bool quitarDelPinal( TIPONODO & ); bool estaVaciaO const; void imprimir() const; privata: NodoLista< NodoLiata
*primerPtr; TIPONODO > *ultimoPtr;

// apuntador al primar nodo // apuntador al último nodo

Definición d e la clase d e plantilla L i s t a . (Parte 1 d e 5.)

http://alexyniorlls.blogspot.com 1005 of 1380.

Capitulo 17

30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

Estructuras do datos

/ / fu n c ió n N o d o L ista< fin

de

949

de u t i l e r í a p a ra a s ig n a r nuevo nodo T IP O N O D O > * o b t e n e r N u e v o N o d o { c o n s t T I P O N O D O & ) ;

);

//

la

//

c o n stru c to r

c la se

L ista

p re d eterm in ad o

t e m p l a t e < c l a s e T IP O N O D O > L i s t a < TIPO N O D O > : : L i s t a ( ) s p rim e rP tr( 0 ), u ltira o P tr( 0 )

( // }

//

cuerpo fin

de

v a c io c o n stru c to r

de

L is ta

/ / d e stru c to r t e m p l a t e < c l a s s T IP O N O D O > L i s t a < TIPO N O D O > : : - L i s t a ( )

{ if

( le s ta V a c ia O ) { c o u t s ig u ie n te P tr - p rim e rP tr; p rim e rP tr - n u e v o P tr; }

Rgura 17.4

//

fin

de

in stru c c ió n

e ls e

Definición de la clase d e plantilla L i s t a . (Parte 2 d e 5.)

http://alexyniorlls.blogspot.com 1006 of 1380.

v a lo r

);

)

950

83 84 85 86

87 88

89 90 91 92 93 94 95 96 97 98 99

Estructuras de datos

}

//

fin

de

la

Capítulo 17

fu n c ió n

in a a rta rA lP ra n ta

/ / in s e r ta r nodo en p a rte f in a l de la l i s t a t e m p l a t e < c l a s s TIPO N O D O > v o i d L i s t a < T IP O N O D O > : : i n s e r t a r A l F i n a l ( c o n s t

T IP O N O D O &v a l o r

{ N o d o L ista


* n u e v o P tr

if ( e sta V a c ia O ) // p rim a rP tr - u ltlm o P tr

-

o b ten e rN u e v o N o d o ( v a lo r

L is ta e s tá v a cía - n u a v o P tr;

e ls e { / / L i s t a no e s t á vacia u ltim o P tr - > s ig u ie n te P tr - n u a v o P tr; u ltlm o P tr » n u a v o P tr; )

//

fin

de

in stru c c ió n

de

la

fu n c ió n

e ls e

100

101

}

//

fin

in se rta rA lF in a l

102

103 104 105 106 107 108 109

/ / e lim in a r nodo de p a rte fro n ta l t e m p l a t a < c l a s s TIPO N O D O > bool

L is ta
::q u ita rD e lP re n te (

T IP O N O D O & v a l o r

)

{ if

110

( e sta V a c ia O re tu rn fa ls e ;

e ls e { N o d o L ista


* tem p P tr

no

e x ito sa

■ p rim a rP tr;

112

113 114 115 116 117 118 119

if

( p rim a rP tr p rim a rP tr -

■■ u l t l m o P t r u ltlm o P tr ■

)

0;

else p rim a rP tr

-

p rim e rP tr-> sig ru ie n te P tr;

v a lo r - te m p P tr-> d a to s; d e la te te m p P tr;

//

lo s

d a to s

se

van

a

q u ita r

120 121

re tu rn tru e ;

//

o p e ra c ió n

d e la te

e x ito sa

122

123 124 125 126 127 128 129 130 131 132 133 134 135

} // fin de instrucción else )

//

fin

de

la

fu n c ió n

q u ita rD e lP re n te

/ / e lim in a r nodo de p a rte f in a l de la l i s t a t e m p l a t e < c l a s s TIPO N O D O > b o o l L i s t a < T I P O N O D O > i i q u i t a r D e l P i n a l ( T IP O N O D O f c v a l o r

{

Rgura 17.4

if

{ e sta V a c ia O re tu rn fa ls e ;

) //

o p e ra c ió n

d e la te

no

e x ito sa

else { N o d o L ista


* tem p P tr

»

u ltlm o P tr;

Definición d e la clase d e plantilla L i s t a . (Parte 3 de 5.)

http://alexyniorlls.blogspot.com 1007 of 1380.

)

);

)

Capitulo 17

136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188

Estructuras do datos

if

( p r i m e r P t r ■■ u l t i m o P t r p rim e rP tr ■ u ltim o P tr ■

)

0;

else { N o d o L ista


‘a c tu a lP tr

-

p rim e rP tr;

/ / l o c a l i z a r e le m e n to a n t e r i o r a l ú ltim o w h i l e ( a c t u a l P t r - > s i g u i e n t e P t r i« u l t i m o P t r a c tu a lP tr ■ a c tu a lP tr-> sig ru ie n te P tr; u ltim o P tr

-

)

a c tu a lP tr;

actualPtr->siguientePtr ■ 0; } // fin

de

instrucción

e ls e

v a lo r - te m p P tr-> d a to s; d e la te te m p P tr; re tu rn

tru e ;

//

o p e ra c ió n

d e la te

e x ito sa

} // fin de instrucción else }

//

fin

de

la

fu n c ió n

q u ita rD e lF in a l

/ / e s t á L is ta v a cia? t e m p l a t e < c l a s s T IP O N O D O

>

bool Lista< TIPONODO >t:estaVacia() const { r e t u r n p r i m e r P t r ■■ 0; )

//

da

fin

la

fu n c ió n

e sta V a c ia

/ / d e v o lv e r a p u n ta d o r a nodo r e c ié n a sig n a d o t a m p l a t e < c l a s s T IP O N O D O > N o d o L i s t a < T IP O N O D O > * L i s t a < T IP O N O D O > : : o b t e n e r N u e v o N o d o ( c o n s t T IP O N O D O f c v a l o r )

{ re tu rn }

//

fin

new de

N o d o L ista
(

v a lo r

);

o b ten erN u ev o N o d o

/ / m o s tra r c o n te n id o de L is ta t e m p l a t e < c l a s s T IP O N O D O > v o i d L i s t a < T IP O N O D O > : : i m p r i m i r ( )

const

{

Rgura 17.4

if

( e s t a V a c i a () ) { c o u t > opciones; svitch ( opciones ) { case 1: cout > valor; objetoLista.insertarAlPrente( valor ); objetoLista.imprimir(); bréale; case 2: cout siguientePtr (lín ea 116), es decir, m odificar primerPtr para que apunte a lo que so lía ser el segun do n odo antes de la rem oción (y que ahora es e l nuevo primer nodo). 4. U na v e z que se com pleten todas estas m anipulaciones de apuntadores, se debe copiar al pa­ rámetro de referencia valor el m iem bro datos del nodo que se va a quitar (lín ea 118).

Figura 17.7

a)

p rim a rP tr

u ltim o P tr

n u a v o P tr

b)

p r im e rP tr

u ltim o P tr

n u a v o P tr

La operación

insertarAlFinal representada en forma gráfica.

http://alexyniorlls.blogspot.com 1014 of 1380.

958

Estructuras de datos

Capítulo 17

5. A hora se debe elim inar m ediante delete el nodo al que apunta tempPtr (lín ea 119). 6. D evolver true, indicando que la rem oción tuvo éx ito (lín ea 121). La figura 17.8 muestra la función quitarDelFrente. La parte a) muestra la lista antes de la operación d e rem oción. La parte b ) m uestra las m anipulaciones d e apuntadores que se llevan a cabo. La función quitarDelFinal (figura 17.4, lincas 128-158) quita el n odo final de la lista y cop ia el valor d el n odo al parámetro de referencia. La función d evu elve f a l s e si se intenta quitar un n odo d e una lista vacía (lín eas 131-132) y d evu elve true si la rem oción tuvo éxito. 1.a función co n siste d e varios pasos:

1. A signar a tempPtr la dirección a la que apunta ultimoPtr (lín ea 135). Eventualm entc. tempPtr se utilizará para elim inar el n odo que se va a quitar. 2. S i primerPtr es igual a ultimoPtr (lín ea 137), es decir, si la lista só lo tien e un ele­ m en to antes del intento de rem oción, en ton ces a primerPtr y a ultimoPtr se le s a sig ­ na el valor d e cero (lín ea 138) para sacar e s e nodo de la lista (dejándola vacía). 3. S i la lista tiene m ás d e un n odo antes de la rem oción, en ton ces se d eb e asignar a actualPtr la dirección a la que apunta primerPtr (línea 140). 4. A hora hay que “avanzar por la lista” con actúalPtr hasta que apunte al n odo anterior al últim o. Esto se hace m ediante un c ic lo while (lín eas 1 43-144) q u e seguirá reem plazando a actualPtr por actúalPtr->siquientePtr m ientras que actualPtr->siguientePtr no sea ultimoPtr. 5. A signar ultimoPtr a la d irección a la que apunta actualPtr (lín ea 146) para sacar el n od o final de la lista. 6. A signar a actualPtr->siquientePtr el valor de cero (lín ea 147) en el últim o nue­ vo n odo de la lista.

o)

p r im e r P tr

u ltim o P tr

b)

p rim e rP tr

u ltim o P tr

0 te m p P tr

Rgura 17.8

La operación

quitarDelFrente representada en forma gráfica.

http://alexyniorlls.blogspot.com 1015 of 1380.

Capitulo 17

Estructuras do datos

959

7. Una v e z que se com pleten todas las m anipulaciones d e apuntadores, se debe copiar al pa­ rámetro de referencia valor el m iem bro datos del nodo que s e va a quitar (lín ea 151). 8. Ahora s e d eb e elim inar m ediante delete el n odo al que apunta tampPtr (línea 152). 9. D evolver true (lín ea 154), indicando que la rem oción tuvo éxito. La figura 17.9 m uestra la función quitarDelFlnal. La parte a) de la figura muestra a la lis­ ta antes d e la operación de rem oción. La parte b) d e la figura m uestra las m anipulaciones de apun­ tadores que se llevan a cabo. La función Imprimir (lín ea s 178-199) primero determ ina si la lista está vacía (lín ea 181). D e ser así. imprimir im prim e e l m ensaje ”l*a lista asta vacia" y regresa (lín ea s 182-183). D e n o ser a sí, im prim e lo s datos en la lista. La función in ictaliza a actualPtr co m o una copia de primerPtr (lín ea 187) y desp ués im prim e la cadena "La lista es s" (línea 189). M ientras que actualPtr no se a nulo (lín ea 191) s e im prim e el valor de actualPtr->datos (lín ea 192) y a actualPtr s e le asigna el valor de actualPtr->siguientePtr (línea 193). O bserve que, si el en lace e n el últim o n odo de la lista no e s nulo, el algoritm o de im presión imprimirá in co­ rrectamente m ás allá d el final de la lista. Este algoritm o es id én tico para la s listas enlazadas, las pi­ las y la s colas. El tipo d e lista enlazada q u e h em os estado d escrib iend o e s una lisia sim plem ente enlazada: la lista em pieza con un apuntador al primer n odo y cada n odo co n tien e un apuntador al sigu ien te nodo “en secuencia". Esta lista termina con un nodo c u y o m iem bro apuntador tiene el valor de 0. Una lis­ ta sim p lem en te enlazada puede recorrerse solam ente e n una dirección. U na lista circ u la r sim plem ente enlazada em p ieza co n un apuntador al primer n odo y cada nodo con tien e un apuntador al sigu iente nodo. El “últim o nodo" n o co n tien e un apuntador a 0; en vez de eso, e l apuntador en el últim o nodo apunta de vuelta al prim er nodo, cerrando a sí el “círculo” .

a)

p rim e rP tr

b)

p rim e rP tr

u ltim o P tr

a c tu a lP tr

u ltim o P tr

ta m p P tr

Rgura 17.9

La operación q u i t a r D e l F r e n t e representada en forma gráfica.

http://alexyniorlls.blogspot.com 1016 of 1380.

960

Estructuras de datos

Capítulo 17

U na lista doblem ente enlazada se puede recorrer tanto hacia adelante co m o hacia atrás. D icha lista se im plcm cnta generalm ente con dos “apuntadores de in icio”: uno que apunta al primer elem en ­ to d e la lista para perm itir que ésta pueda recorrerse de adelante hacia atrás, y uno que apunta al últi­ m o elem en to de la lista para perm itir que ésta pueda recorrerse de atrás hacia adelante. Cada nodo tiene un apuntador lia d a adelante, al sigu iente n odo en la lista en direcrión de avance y un apuntador hacia atrás al sigu ien te nodo en la lista en la dirección d e retroceso. Por ejem p lo, si su lista con tie­ ne un directorio telefó n ico alfabetizado, la búsqueda d e a lgu ien cuyo nom bre co m ien ce con alguna d e las prim eras letras d el alfabeto podría em pezar d esd e la parte frontal de la lista. La búsqueda de algu ien c u y o nom bre em p iec e con alguna d e las últim as letras d el alfabeto podría em pezar d esd e la parte final d e la lista. F.n una lista circular doblem ente enlazada el apuntador hacia adelante del último nodo apunta al primer nodo y el apuntador hacia atrás del primer nodo apunta al último nodo, cerrando a sí el “círculo”.

17.5 Pilas En el capítulo 11, Plantillas, exp licam os el con cep to de una plantilla d e cla se d e pila im plem entada m ediante un arreglo subyacente. En esta secció n la im plem entarem os m ediante una lista enlazada subyacente, basada en apuntadores. Tam bién hablarem os sobre las pilas e n el capítulo 2 1 , B ib lio te­ ca de plantillas estándar (ST L ). U na estructura de datos p ila perm ite que se agreguen y elim in en nodos tan só lo d e la parte su­ perior d e la m ism a. Por esta razón, una pila se c o n o c e co m o estructura d e datos d el tipo "últim o en entrar, p rim ero en s a lir” (U F O ). Una m anera de im plcm cntar una pila es co m o una versión restrin­ gid a de una lista enlazada. En dicha im plem entación, al m iem bro d e en lace en el ú ltim o n odo d e la p ila s e le asigna el valor nulo (cero) para indicar el fondo d e la pila. Las funciones miembro primarias que se utilizan para manipular una pila son p u a h y p o p . La fun­ ción push agrega un nuevo nodo a la parte superior d e la pila, luí función s>op quita un nodo de la par­ te superior de la pila, guarda el valor extraído en una variable de referencia que se pasa a la función que hizo la llamada y d evu elve true si la operación pop ftie exitosa (en ca so contrario, devu elve false). Las pilas tienen m uchas ap licacion es interesantes. Por ejem p lo, cuando se hace una llamada a una función, la función llam ada debe saber có m o regresar a su ¡nvocador, por lo que la dirección de retom o se m ete en una pila. Si ocurre una serie d e llam adas a fun cion es, los valores de retom o su ce siv o s se m eten en la pila en el orden “ú ltim o en entrar, prim ero en salir”, de manera que cada función pueda regresar a su ¡nvocador. t a s pilas ofrecen soporte para la s llam adas a fu n cio n es recur­ sivas de igual manera que para las llam adas no recursivas con ven cionales. I-as pilas sum inistran la m em oria para, y alm acenan lo s valores de. las variables autom áticas en cada in vocación de una función. C uando la función regresa a su ¡nvocador o lanza una ex cep ció n se llam a al destructor (si lo hay) para cada objeto local, el esp acio para las variables autom áticas de esa función se extrae de la pila y e sa s variables dejan de ser con ocid as por el programa. L os com piladores utilizan pilas durante el proceso de evaluar exp resion es y generar có d ig o de lenguaje máquina. L os ejercicios d e este capítulo exploran varias ap licacion es de las pilas, in clu yen ­ d o el có m o utilizarlas para desarrollar un com p ilad or com pletam ente funcional. A provecharem os la estrecha relación entre las listas y las pilas para im plem entar una cla se de pila reutilizando principalm ente una clase de lista. U sarem os d os form as distintas de reutilización. Primero im plem cntarcm os la clase pila m ediante la herencia privada de la clase lista. Luego im plcm entarem os una clase pila con la m ism a funcionalidad por m ed io d e la co m p o sició n , incluyendo un o b ­ je to lista co m o m iem bro privado d e una d a s e pila. D esd e lu ego que todas las estructuras de datos en este cap ítulo, incluyendo estas d os cla ses d e pila, se ¡m plem entan co m o plantillas para exhortar a que s e rcutiliccn en el futuro.

http://alexyniorlls.blogspot.com 1017 of 1380.

Capitulo 17

Estructuras do datos

961

El programa de las figuras 17.10 y 17.11 crea una plantilla de clase llamada Pila (figura 17.10), principalmente a través d e la herencia prívate de la plantilla d e clase L i s t a de la figura 17.4. Q u e­ rem os que la Pi l a tenga las fun cion es m iem bro pus h (lín eas 13-17). p o p (lín ea s 2 0 -2 4 ), estaPilaVacia (lín eas 2 7-31) e impri m i r P i l a (lín ea s 34-38). O bserve que, en esen cia, éstas son las fun cion es insertarAlFrente. quitarDelFrente. estaVacia e imprimir de la plantilla de clase Lista. D esd e lu ego que esta plantilla de cla se co n tien e otras fun cion es m iem bro (es decir, insertarAlFinal y quitarDelFinal) que no querem os q u e sean a ccesib les para la clase P i l a a través d e la interfaz public. Por lo tanto, al indicar q u e la plantilla d e cla se P i ­ la va a heredar de la plantilla de cla se Lista, esp ecifica m o s una herencia private. Esto hace que todas las fun cion es m iem bro de la plantilla de cla se L i s t a sean fun cion es p r i v a t s en la plantilla de cla se Pila. Al im plem entar las fun cion es m iem bro de P i l a h acem os en ton ces que c a ­ da una de éstas llam e a la función m iem bro apropiada de la cla se Lista: p u s h llam a a i n s e r ­ tarAlFrente (lín ea 15), p o p llama a quitarDelPrente (lín ea 22). estaPilaVacia llam a a est a V a c i a (línea 2 9 ) c imprimirPila llam a a imprimir (línea 36). La plantilla de clase Pila s e utiliza en m a i n (figura 17.11) para crear una instancia de la p ila de enteros intPila de tipo Pila< int > (línea 11). L os enteros del 0 al 3 se meten en intPila (lín eas 16-20) y lu ego se sacan de la m ism a (lín eas 2 3 -3 0 ). El programa u tiliza la plantilla d e cla se Pila para crear la p ila d o u b l e P i l a de tipo Pila< double > (lín ea 32). Los valores 1.1, 2.2 , 3 .3 y 4 .4 se m eten en d o u b l e P i l a (lín eas 3 8 -4 3 ) y lu ego se sacan de la m ism a (lín eas 4 6 -5 3 ).

1 2

// Fig. 17.10: pila // Definición de la plantilla de clase Pila, derivada de la clase

3 4 5 6 7 8 9

«ifndef PILA_H «define PILA H

Lista.

«inelude "lista.h"

// Definición de la clase Lista

teaplate< class TIPOPILA > class Pila : private Lista< TIPOPILA > {

10

11 12 13 14

public: // push llama a la función insertarAlFrente de la clase Lista void push( const TIPOPILA &datos ) {

15

insertarAlFrente( datos );

16

17

) // fin de la función push

18

19 20

// pop llama a la función quitarDelFrente de la clase Lista bool pop( TIPOPILA &datos )

21

{

22 23 24 25 26 27

return quitarDelFrente( datos );

// estaPilaVacia llama a la función estaVacia de la clase Lista bool estaPilaVacia() const

28

{

) // fin de la función pop

Figura 17.10

Definición de la plantilla de clase P i l a . (Parte 1 de 2.)

http://alexyniorlls.blogspot.com 1018 of 1380.

962

29 30 31 32 33 34 35 36 37 38 39 40 41 42

Estructuras d e datos

return estaVacia(); ) // fin de la función estaPilaVacia // imprimirPila llama a la función imprimir de la clase Lista void imprimirPila() const { imprimir(); } // fin de la función imprimir }; // fin de la clase Pila •endif

Figura 17.10

1 2 3 4 5

Capítulo 17

Definición d e la plantilla d e clase Pila. (Parte 2 de 2.)

// Fig. 17.11> £igl7_ll.cpp // Programa para probar la plantilla de clase Pila. Vinelude using std::endl;

6

7

ffinclude "pila"

// Definición de la clase Pila

8

9 10 11

i n t main() ( Pila< int > intPila;

// crear Pila de valores int

12

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

cout {

10

11 12 13 14 15 16 17 18 19 20

public: // enqueue llama a la función insertarAlFinal de la clase Lista void enqueue( const TIPOCOLA ¿datos ) { insertarAlFinal( datos ); > // fin de la función enqueue // dequeue llama a la función quitarDelFrente de la clase Lista bool dequeue( TIPOCOLA ¿datos )

21

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

{

retura quitarDelFrente( datos ); } // fin de la función

dequeue

// estaColaVacia llama a la función estaVacia de la clase Lista bool estaColaVacia() const { retura estaVaciaO; }

// fin de

la función estaColaVacia

// imprimírCola llama a la ftinción imprimir de la clase Lista void imprimírCola() const { imprimir () ; >

// fin de

la función imprimírCola

}; // fin de la clase Cola iendif

Figura 17.13

Definición d e una plantilla d e clase llamada C o la .

Cola ( fig u r a 1 7 .1 3 ), Lista d e la f ig u ra 1 7 .4. 1 3 -1 7 ), dequeue (lin c a s

E l p r o g ra m a d e la f ig u ra s 1 7 .1 3 y 1 7 .1 4 c re a u n a p la n tilla d e c l a s e lla m a d a p r in c ip a lm e n te a tr a v é s d e la h e r e n c ia

prívate

d e la p la n tilla d e c la s e

Cola te n g a la s f u n c io n e s m ie m b r o enqueue ( lín e a s estaColaVacia (lín e a s 2 7 - 3 1 ) e imprimí rCola (lín e a s 3 4 -3 8 ). H a y q u e te n e r e n c u e n ta q u e é s ta s s o n e s e n c ia lm e n te la s f u n c io n e s insertarAlFinal. quitarDelFrente, estaVacia e imprimir d e la p la n tilla d e c la s e Lista. D e s d e lu e g o q u e e s ta p la n tilla d e c la s e c o n tie n e o tr a s f u n c io n e s m ie m b r o (e s d e c ir , insertarAlFrente y quitarDelFinal)que n o e s c o n v e n ie n te q u e s e a n a c c e s ib le s a tr a v é s d e la in te r f a z public p a r a la c l a s e Cola. A s í q u e , al in d ic a r q u e l a p la n tilla d e c la s e Cola v a a h e r e d a r a la p la n tilla d e c la s e Lista, e s p e c if ic a m o s u n a h e r e n c ia private. E s to h a c e q u e to d a s la s f u n c io n e s m ie m b r o d e la p la n tilla d e c l a s e Lista se a n f u n c io n e s private e n la p la n tilla d e c la s e Cola. A l im p le m e n ta r la s f u n c io n e s m ie m b r o d e Cola. Q u e r e m o s q u e la 2 0 - 2 4 ),

http://alexyniorlls.blogspot.com 1023 of 1380.

Capitulo 17

Estructuras do datos

967

Lista: enqueue insert&rAlFin&l (línea 15). dequeue llama a quitarDelFrente (linca 22), estaColaVacia llam a a estaVacia (línea 2 9 ) e imprimírCola llam a a imprimir (lín ea 3 6). 1.a figura 17.14 utiliza a la plantilla de cla se Cola para crear una instancia de la c o la de valores enteros intCola d e tipo Cola< int > (línea 11). L os enteros d el 0 a l 3 se ponen en la c o la intCola (lín ea s 16-20) y d esp u és se sacan de la co la intCola en el orden “primero e n entrar, prim e­ ro en salir” (lín eas 23-30). A continuación, el programa crea una instancia d e la co la doubleCola de tip o Cola< double > (línea 32). L os valores 1 .1 ,2 .2 ,3 .3 y 4 .4 se ponen en doubleCola (lí­ neas 3 8 -4 3 ) y lu ego se sacan d e doubleCola en e l orden “prim ero en entrar, primero en salir” h acem os que cada una d e éstas llam e a la función m iem bro apropiada d e la cla se

llama a

(lín eas 46 -5 3 ).

1 / / F ig . 17.14: figl7_14.cpp 2 / / Programa p a ra probar l a p l a n t i l l a de c laa e Cola. 3 •in e lu d e 4 5 uaing s td :r e n d í; 6 7 iin c lu d e " c o la .h " / / D efin ició n de la c la s e Cola 8 9 in t main() 10 ( 11 Cola< in t > in tC o la ; / / c re a r Cola de v a lo re s in t 12

13 14 15 16 17 18 19 20

cout *derPtr; // apuntador al subárbol derecho ); // fin de la clase NodoArbol •endif

Rgura 17.17

1 2 3 4 oc 6 7 8 o 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Estructuras do datos

La definición d e la plantilla d e clase NodoArbol. (Parte 2 de 2.)

// Fig. 17.18: árbol.h // Definición de la plantilla de clase Arbol. •ifndef ARBOL H •define ARBOL_H •inelude using std:rendí; •inelude •inelude "nodoárbol.h" template< class TIPONODO > class Arbol { publict Arbol(); void insertarNodo( const TIPONODO void preOrdenRecorrido() const; void inOrdenRecorrido() const; void postOrdenRecorrido() const;

k

);

private: NodoArbol< TIPONODO > ‘raixPtr; // funciones de utilería void insertarAyudanteNodo( NodoArbol< TIPONODO > **, const TIPONODO k ); void preOrdenAyudante( NodoArbol< TIPONODO > * ) const; void inOrdenAyudante( NodoArbol< TIPONODO > * ) const; void postOrdenAyudante( NodoArbol< TIPONODO > * ) const; }; // fin de la clase Arbol

17.18

Definición d e la plantilla de clase

Arbol. (Parte 1 d e 4.)

http://alexyniorlls.blogspot.com 1028 of 1380.

972

35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

Estructuras de datos

Capítulo 17

// constructor t e m p l a t e < c l a s e TIPONODO > A r b o l < TIPONODO > : : A r b o l ( )

{ raizPtr - 0; > // fin del constructor de Arbol / / in s e r t a r nodo en A rb ol t e m p l a t e < c l a s s TIPONODO > v o i d A r b o l < TIPONODO > sii n s e r t a r N o d o ( c o n s t TIPONODO ¿ v a l o r

)

{ in s e r t a r A y u d a n t e N o d o ( &r a i z P t r , )

//

fin

de la

fu n c ió n

v a lo r

);

in s e r ta r N o d o

/ / f u n c i ó n d e u t i l e r í a lla m a d a p o r i n s e r t a r N o d o ; r e c i b e u n a p u n t a d o r / / a o t r o a p u n ta d o r , d e m anera que l a f u n c ió n p u ed a m o d if ic a r e l v a l o r d e e s e a p u n ta d o r t e m p l a t e < c l a s s TIPONODO > v o i d A r b o l < TIPONODO > : : i n s e r t a r A y u d a n t e N o d o ( N o d o A r b o l< TIPONODO > * * p t r , c o n s t TIPONODO & v a lo r )

{ / / s u b á r b o l e s t á v a c i o ; c r e a r n u ev o N odoA rbol q u e c o n te n g a e l v a l o r i f ( *ptr 0 ) * p t r ■ n ew N o d o A r b o l< TIPONODO > ( v a l o r ) ; e ls e

//

su b á rb o l no e s t á

v a c io

// los datos a insertar son menores que los datos en el nodo

64 65

if

a ctu a l ( v a lo r < ( * p tr )-> d a to s ) in s e r t a r A y u d a n t e N o d o ( &( ( * p t r

)-> iz q P tr

),

v a lo r

);

66

67

else

68

69

//

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85

if

l o s d a to s a i n s e r t a r so n m ayores q u e l o s d a to s en e l nodo a c tu a l { v a lo r > ( * p tr )-> d a to s ) i n s e r t a r A y u d a n t e N o d o ( &( ( * p t r ) - > d e r P t r ) , v a l o r ) ;

e ls e

//

se

ig n o r a

e l v a lo r de lo s

d a to s d u p lic a d o s

cout > doubleValor;

Rgura 17.19

Creación y recorrido d e un árbol binarlo. (Parte 1 d e 2.)

http://alexyniorlls.blogspot.com 1031 of 1380.

Capitulo 17

44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Estructuras do datos

d o u b l« A r b o l. in s e r t a r N o d o ( d o u b le V a lo r

975

);

) // fin de instrucción Por cou t

) d e s p la z a lo s b its d e s u o p e r a n d o iz q u ie r d o a la d e r e c h a , s e g ú n e l n ú m e ro d e b its e s p e c if ic a d o e n s u o p e r a n d o d e re c h o . A l r e a liz a r u n d e s p la z a m ie n ­ to a la d e r e c h a s o b r e u n e n te r o u n s i g n e d lo s lu g a re s v a c ío s a la iz q u ie r d a s e r e e m p la z a n c o n Os; lo s b its q u e s e d e s p la z a n m á s a llá d e l ú ltim o lu g a r a l a d e r e c h a s e p ie rd e n . E n e l p r o g ra m a d e la fi­ g u r a 18.11, el r e s u lta d o d e d e s p la z a r n u m e r o l 8 b its a la d e r e c h a e n la e x p r e s ió n n u m e r o l > > 8 ( lín e a 3 1 ) e s 3 ( 0 0 0 0 0 0 0 0

__

00000000

00000000

0 0 0 0 0 0 1 1 ).

Error común do programación 18.7 El resultado de desplazar un \xdor es indefinido si el operando derecho es negativo o si es mayor o igual que el mimen) de bits en los que se almacena el operando izquierdo.

http://alexyniorlls.blogspot.com 1072 of 1380.

1016

Bits, caracteres, cadenas y estrucuras

Capítulo 18

Tip de portabilidad 18.4 £7 resultado de desplazar a la derecha un valor con signo es dependiente del equipo. Algunos equipos rellenan con ceros y otros utilizan el bit de signo. C a d a o p e r a d o r a n iv e l d e b its ( e x c e p to e l o p e r a d o r d e c o m p le m e n to ) tie n e u n o p e r a d o r d e a s ig ­ n a c ió n c o rr e s p o n d ie n te . E s to s

operadores de asignación a nivel de bits

se m u e s tra n e n la f ig u ra

1 8 .1 2 y se u tiliz a n e n f o rm a s im ila r a lo s o p e r a d o re s d e a s ig n a c ió n a r itm é tic o s p r e s e n ta d o s e n e l c a ­ p ítu lo 2. I-a f ig u ra 1 8 .1 3 m u e s tra la p r e c e d e n c ia y la a s o c ia tiv id a d d e lo s o p e r a d o r e s in tr o d u c id o s h a s ta e s te p u n to e n e l te x to . S e m u e s tra n d e a r r i b a h a c ia a b a jo e n o r d e n d e s c e n d e n te d e p re c e d e n c ia .

Operadores de asignación a nivel de bits Operador de asignación AND a nivel de bits.

&-

Operador de asignación OR inclusivo a nivel de bits.

1-

Operador de asignación OR exclusivo a nivel de bits.

A m



Operador de asignación de desplazamiento a la derecha, con extensión de signo.

Rgura 18.12

Operadores de asignación a nivel d e bits.

Asocia«vidad

Operadores 1 1 (unario; de izquierda a derecha) 11 (binario; de izquierda a derecha)

.

->

♦♦ static cast < tipo > () ++ — ♦ I * S < l

U

• *

O

V ■

A

-6 A

V

>> ■

« A



1-

1 &&

delate

eizeof

de izquierda a derecha de izquierda a derecha

mayor

de derecha a izquierda

unario

de izquierda a derecha

multiplicativo

de izquierda a derecha

aditivo

de izquierda a derecha de izquierda a derecha de izquierda a derecha

desplazamiento relacional igualdad

de izquierda a derecha de izquierda a derecha de izquierda a derecha

AND a nivel de bits XOR a nivel de bits OR a nivel de bits

de izquierda a derecha

AND lógico OR lógico

de izquierda a derecha de derecha a izquierda

II ?* ftm



♦|■

Rgura 18.13



*■

*/■

Tipo

unario

condicional

de derecha a izquierda

asignación

de izquierda a derecha

coma

Precedencia y asociatividad d e operadores.

http://alexyniorlls.blogspot.com 1073 of 1380.

Capitulo 18

Bits, caracteres, cadenas y estrucuras

1017

18.8 Cam pos d© bits C + + o f re c e la h a b ilid a d d e e s p e c if ic a r e l n ú m e r o d e b its e n lo s q u e s e a lm a c e n a u n tip o in te g ra l o m ie m b r o d e tip o enumde u n a c l a s e o e s tru c tu ra . D ic h o m ie m b r o se c o n o c e c o m o u n campo de bits. L o s c a m p o s d e b its p e rm ite n u n a m e jo r u tiliz a c ió n d e l a m e m o r ia a l g u a r d a r lo s d a to s e n e l m ín im o n ú m e ro d e b its re q u e rid o s . L o s m ie m b r o s c a m p o s d e b its te g ra l o

deben d e c la r a r s e

c o m o u n tip o d e d a to s in ­

enum. Tip de rendimiento 18.2 Los campos de bits ayudan a conservar el almacenamiento.

C o n s id e r e la d e f in ic ió n d e la s ig u ie n te e s tru c tu r a :

struct C&rt&Bit { unsigned cara i 4/ unsigned palo i 2; unsigned color : 1; );

// fin da struct Cartafiit

L a d e f in ic ió n c o n tie n e tre s c a m p o s d e b its

unsigned: cara, palo

y

color, u tiliz a d o s

p a r a re ­

p r e s e n ta r u n a c a r ta d e un ju e g o d e 5 2 c a rta s . P a ra d e c la r a r u n c a m p o d e b its s e p o n e d e s p u é s d e un m ie m b r o d e tip o in te g ra l o la

anchura

enum e l

s ig n o d e d o s p u n to s ( * ) y u n a c o n s ta n te e n te r a q u e re p r e s e n ta

d e l c a m p o (e s d e c ir, e l n ú m e r o d e b its e n lo s q u e s e a lm a c e n a e s c m ie m b ro ). 1-a a n c h u r a

d e b e s e r u n a c o n s ta n te e n te r a e n tr e c e r o y e l n ú m e ro to ta l d e b its u tiliz a d o s p a r a a lm a c e n a r u n

int

e n el s is te m a . L a a n t e r io r d e fin ic ió n d e u n a e s tr u c tu r a in d ic a q u e e l m ie m b r o m ie m b ro

palo s e

a lm a c e n a e n 2 b its y e l m ie m b r o

color en

cara

s e a lm a c e n a e n 4 b its , el

1. E l n ú m e ro d e b its s e b a s a e n e l r a n ­

cara a lm a c e n a v a lo re s e n ­ 12 (R e y ): 4 b its p u e d e n a l m a c e n a r u n v a lo r e n tr e 0 y 15. E l m ie m b r o palo a lm a c e n a v a lo re s e n tre 0 y 3 (0 = D ia m a n te s , 1 = C o r a z o n e s , 2 = B a s to s , 3 = E s p a d a s ): 2 b its p u e d e n a lm a ­ c e n a r u n v a lo r e n tre 0 y 3. F in a lm e n te , e l m ie m b ro color a lm a c e n a y a s e a 0 ( R o jo ) o 1 (N e g ro ):

g o d e s e a d o d e v a lo re s p a r a c a d a m ie m b r o d e la e s tru c tu r a . E l m ie m b ro

0 (A s)

tre

y

1 b it p u e d e g u a r d a r 0 o 1 .

go

E l p r o g ra m a d e la f ig u ra 1 8 .1 4 ( c u y a s a lid a s e m u e s tr a e n la f ig u ra 1 8 .1 5 ) c r e a el a r r e g lo

jue­

C&rt&Bit ( lín e a 2 5 ). L a f u n c ió n llen&rJuego in s e r ta f u n c ió n repartir im p r im e la s 5 2 c a rta s . O b s e r v e q u e lo s

la s 5 2

q u e c o n tie n e 5 2 e s tr u c tu r a s

c a r ta s e n el a r r e g lo

juego y

la

m ie m ­

b r o s c a m p o s d e b its d e la s e s tr u c tu r a s s e u tiliz a n e n f o r m a id é n tic a a c o m o s e u tiliz a c u a lq u ie r o tr o m ie m b r o d e la e s tr u c tu r a ( lín e a s 3 8 - 4 0 y 5 1 -5 6 ). E l m ie m b r o color se in c lu y e c o m o u n m e d io p a ­ ra in d ic a r el c o lo r d e la c a r ta e n u n s is te m a q u e p e rm ita e l u s o d e p a n ta lla s a c o lo re s .

1 // Pig. 18.14: figl8_14.cpp

2 // Representación de las cartas mediante caspos de bits en una estructura. 3

f i n c l u d e < iostream > 4 5 u sin g s t d : : c o u t ; 6

using std::endl;

7 8

finclude

Figura 18.14

Uso de cam pos d e bits para alm acenar un juego d e cartas. (Parte 1 d e 2.)

http://alexyniorlls.blogspot.com 1074 of 1380.

1018

Bits, caracteres, cadenas y estrucuras

Capítulo 18

9 10 11 12

using std::setw;

// Definición de la estructura CartaBit con campos de bits 13 struct CartaBit { 14 unsigned cara * 4; // 4 bits; 0-15 15 unsigned palo s 2; // 2 bits; 0-3 16 unsigned color i 1; / / I bit; 0-1 17 18 ); // fin de struct CartaBit 19 20 void llenarJuego( CartaBit * const ); // prototipo 21 ▼oid repartir( const CartaBit * const ); // prototipo 22

23 int main() 24 { 25 CartaBit juego[ 52 ]; 26 27 llenarJuego( juego ); repartir( juego ); 28 29 retura 0; 30 31 32 ) // fin de main 33 34 // inicializar elementos CartaBit 35 ▼oid llenarJuego( CartaBit * const wJuego ) 36 { 37 for { int i - 0; i prioridades; // meter elementos prioridades.push( prioridades.push( prioridades.push(

en prioridades 3.2 ); 9.8 ); 5 . 4 );

cout rmt_c*Mt puede ocasioruir que los programas se comporten de manera distin­ ta en distintas plataformas.

22.4 Espacios d© nombres U n p r o g r a m a in c lu y e m u c h o s id c n tif ic a d o r e s q u e s e d e f in e n c o n d is tin to s a lc a n c e s . E n o c a s io n e s , u n a v a r ia b le d e u n a lc a n c e s e “ s u p e r p o n e ” ( e s d e c ir, c h o c a ) a u n a v a ria b le d e l m is m o n o m b re e n un d is tin to a lc a n c e , c r e a n d o p o te n c ia l m e n te un p ro b le m a . D ic h a s u p e rp o s ic ió n p u e d e o c u r r ir e n m u c h o s n iv e le s . L a s u p e rp o s ic ió n d e id c n tif ic a d o r e s o c u r r e f r e c u e n te m e n te e n b ib lio te c a s d e te rc e r o s q u e u tiliz a n lo s m is m o s n o m b re s p a r a lo s id c n tif ic a d o r e s g lo b a le s ( c o m o la s f u n c io n e s ). C u a n d o e s to o c u r r e , p o r lo c o m ú n s e g e n e r a n e r r o r e s d e c o m p ila c ió n .

Buena práctica de programación 22.1 Evite comenzar los identificadores con el carácter de guión bajo, que puede ocasionar errores con el enlazador.

1 2 3 4 5 6 7 8 9 10 11

// Fig. 22.2 i fig22_02.cpp // Demostración del operador reinterpret_cast. finelude using stdsscout; using std::endl; int main() ( int x - 120; int *ptr - &x;

12

13 14 15 16 17 18

// usar reinterpret_cast para convertir de int * a char # cout ( ptr ) ;

d e fin ir

e n u m e ra c ió n

24 25 26 27

} }

// fin de Interno

// fin de Ejemplo

Figura 22.3

Demostración del uso d e los espacios d e nombres. (Parte 1 d e 2.)

http://alexyniorlls.blogspot.com 1244 of 1380.

1188

28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45

Otros tomas

// croar ñameopaca sin nombra ñamaapaca { double doubleEnSinNombre - 88.22; }

// declarar variable

// fin da namespace sin nombra

int main() (

// mostrar al valor da doubleEnSinNombre dal namespace sin nombra cout Deitel



Prentice Hall



aqui para abrir un mensaje de correo electrónico dirigido a deitel9deitel.com.



20 21 22

23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

Apéndice E

< I—

inserta una regla horizontal — >

Toda la información en este sitio es © Deitel & Associates, Inc. 2003.



Solo se permite una descarga por hora.



--> — > > — >

Nota: < &fracl4; de la información aqui presentada se actualiza diariamente.



Figura E.7

Inserción d e caracteres especiales en XHTML. (Parte 2 d e 2.)

A d e m á s d e lo s c a r a c te r e s e s p e c ia le s , e s te d o c u m e n to p r e s e n ta u n a

regla horizontal in d ic a d a

por

la m a rc a < h r / > e n la lín e a 24. L a m a y o ría d e lo s n a v e g a d o r e s d e s p lie g a n u n a r e g la h o riz o n ta l c o m o u n a lín e a h o riz o n ta l. L a m a rc a < h r / > ta m b ié n in s e rta u n a in te r ru p c ió n d e lín e a a r r ib a y d e b a jo d e l a lín e a h o r iz o n ta l.

E.8 Listas desordenadas H a s ta e s te p u n to h e m o s p re s e n ta d o lo s e le m e n to s y a trib u to s b á s ic o s d e X H T M L p a ra c r e a r v ín c u lo s a r e c u rs o s , c r e a r e n c a b e z a d o s , u tiliz a r c a r a c te r e s e s p e c ia le s c in c o r p o r a r im á g e n e s . E n e s ta s e c c ió n

http://alexyniorlls.blogspot.com 1307 of 1380.

Introducción a XHTML

Apéndice E

1251

hablarem os sobre có m o organizar la inform ación en una página W eb m ediante e l uso de listas. M ás adelante en este apéndice presentarem os otra herramienta para organizar inform ación con ocida co m o una tabla. La figura E .8 m uestra texto en una lista desordenada (e s decir, una lista q u e n o orde­ na su s elem en tos m ediante letras o núm eros). El elem ento u 1 de la lista desordenada crea una lista en la que cada elem en to em pieza con una viñeta (con ocid a co m o un disco). Cada entrada en una lista desordenada (el elem en to u l en la línea 20) e s un elem en to l i ( ele­ m ento d e lista) (lín ea s 2 3 ,2 5 ,2 7 y 29). l^a m ayoría d e los navegadores W eb despliegan esto s e le m e n ­ tos con una interrupción d e línea y un sím b o lo de viñeta co n sangría que em p ieza desde el principio de la nueva línea.

E.9 Listas anidadas y ordenadas Las listas pueden anidarse para representar relaciones jerárquicas, co m o en un form ato d e bosquejo. La figura E .9 dem uestra el u so de las listas anidadas y las listas ordenadas (es decir, una lista que ordena sus elem en tos m ediante letras o núm eros).

1 2 3

Lista desordenada que contiene hipervinculos

12

13 14 15 16 17

He aqui mis sitios favoritos Haga clic en un nombre para ir a esa pagina.

18

19 20 21 22 23 24 25 26 27



    < l i x a href - «httpx//ww.deitel.com">Deitel

    9

    10 11

    < title > L is ta s avanzadas: anidadas y o rd e n a d a s< /title >

    12

    13

    14

    Figura E.9

    Listas anidadas y ordenadas en XHTML (Parte 1 de 3.)

    http://alexyniorlls.blogspot.com 1309 of 1380.

    Introducción a XHTML

    15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

    1253

    Las mejores características de Internet < l ~ crear una lista desordenada -->
    • Puede conocer personas de países de todo el mundo.
    • Tiene acceso a los nuevos medios que se hacen públicos:

      • Nuevos juegos
      • Nuevas aplicaciones

        < IDOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN* "http://wirv.w3.org/TR/xhtmll/DTD/xhtiall-etrict.dtd*>

        5

        7 8

        9 10 11 12

        13 14 15 16 17 18 19



        Precio de la fruta

        Fruta Precio

        Manzana $0.25 Naranja $0.50

        Tabla d e XHTML. (Parte 1 d e 2.)

        http://alexyniorlls.blogspot.com 1312 of 1380.

        1256

        Introducción a XHTML

        45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

        Apéndice E

        Platano $l.00 Piña $2.00



        Total $3.75

        < /t a b la >

        66

        67 68

        firoctón do u n a laida

        R P 1 C

        Ve, F - | a

        Figura E.l 0

        Tabla d e XHTML. (Parte 2 d e 2.)

        Tip de prueba y depuración E.l Trole de cambiar el tamaño de la ventana del navegador para ver cómo afecta la anchura de la venta­ na a la anchura de la tabla. U na tabla tien e tres seccio n es distintas: encabezado, cuerpo y p ie. La secció n d el encabezado (o celda d e encabezado) s e define m ediante un elem en to t h e a d (lín eas 2 6 -3 1 ), el cual contiene inform ación sobre el encabezado tal co m o los nom bres d e las colum nas. Cada elem en to t r (lincas 2 7 -3 0 ) d efine una fila d e ¡a tabla. L as colum nas en la secció n d el en cab ezado se d efinen con ele­ m entos t h . La m ayoría de lo s navegadores centran el texto al que dan form ato lo s elem en to s t h

        http://alexyniorlls.blogspot.com 1313 of 1380.

        Introducción a XHTML

        Apéndice E

        1257

        (colu m n a d e encabezado de tabla) y lo muestran en negritas. L os elem en to s de encabezado d e tabla están anidados dentro de lo s elem en tos de fila d e tabla. L a se cc ió n del cuerpo, o cuerpo de la tabla, co n tien e lo s datos principales d e la m ism a. El cuer­ po d e la tabla (lín eas 3 4 -5 4 ) s e d efine en un elem en to tbody. Las celdas de d a to s contienen piezas individuales d e datos y se definen con elem en tos td {datos de tabla). La secció n d el pie (lín eas 5 8 -6 3 ) s e d efine con un elem en to t f o o t (p ie de tabla) y representa un pie d e página. El texto que se c o lo c a com únm ente en el p ie de página in clu ye lo s resultados de cá lcu lo s y notas al pie. A l igual que otras se ccio n es, la secció n del p ie puede contener filas d e tabla y cada fila puede contener colum nas.

        E.l 1 Tablas Intermedias de XHTML y formato En la sección anterior exploram os la estructura d e una tabla básica. En la figura E. 11 am pliam os nuestra d iscu sión sobre la s tablas al introducir elem en tos y atributos que permiten a l autor d el d o cu ­ m ento crear tablas m ás com plejas. Error c o m ú n d© p r o g r a m a c ió n E.5

        Al utilizar colsp&n y rowspan para ajustar el tamaño de las celdas de datos de una tabla, tenga en cuenta que las celdas modificadas ocuparán más de una columna o fila; otras filas o columnas de la tabla deben compensar las filas o columnas adicionales que abarcan las celdas individuales. Si no lo hace así, el formato de su tabla se distorsionará y podría inadvertidamente crear más columnas y filas de las que había pensado. La tabla em p ieza en la línea 17. El elem en to

        c o lg r o u p

        (lín eas 2 2 -2 7 ) agrupa y da form ato a

        las colum nas. El elem en to c o l (línea 2 6 ) esp ecifica d o s atributos en este ejem plo. El atributo a l i g a determ ina la alin eación d e texto en la colum na. FJ atributo e p a n determ ina a cuántas c o ­ lum nas va a dar form ato el elem en to c o l . En este caso estab lecem os el valor de align en

        "rigrht" y el valor de span en "1" para alinear e l texto a la derecha en la primera colum na (la q u e con tien e la im agen d el ca m ello en la captura d e im agen d e ejem plo). El tam año de las celd as de la tabla se ajusta para dar cabida a lo s datos q u e contienen. L os au­ tores d el d ocu m ento pueden crear celd as de datos m ás grandes m ediante el u so de lo s atributos r o w e p a n y c o l e p a n . Los valores asign ados a esto s atributos especifican el núm ero d e filas o c o ­ lum nas ocupadas por una celda. El elem en to th de las lín eas 36 a 3 9 utiliza el atributo rowspan - " 2 /r para permitir q u e la celd a que con tien e la im agen d el ca m ello utilice d o s celd as verticalm en­ te adyacentes (por lo tanto, la celd a abarca dos filas). El elem en to th de las líneas 42 a 45 utiliza el atributo colspan - ”4" para am pliar la celd a de en cab ezad o (q u e co n tien e Comparación de

        camellos y Fecha aproximada:

        9/2002) d e manera que abarque cuatro celdas.

        La línea 4 2 introduce el atributo v a l i g n , que alin ea vertical m ente los datos y puede recibir uno de cuatro valores: wtop" alin ea lo s datos en la parte superior de la celd a, "midáis" centra verticalm cnte lo s datos (el valor predeterm inado para todas las celd a s de datos y de encabezado), "bottom" alinea lo s datos en la parte inferior de la celda y "baseline" ignora lo s tipos de le ­ tra utilizados para los datos de la s filas y estab lece la parte inferior d e todo el texto e n la fila en una

        línea b a se com ú n (e s decir, la línea horizontal con la que se alinea cada carácter en una palabra).

        1 2 3 4

        < IDOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//BN" "http://www.w3.org/TR/xhtmll/DTD/xhtmll-strict.¿td*»

        Figura E.l 1

        Tabla com pleja d e XHTML. (Parte 1 d e 3.)

        http://alexyniorlls.blogspot.com 1314 of 1380.

        1258

        5 6

        Introducción a XHTML

        Apéndice E



        7 8

        9 10 11 12

        13 14 15

        chtml xmlns - "http://www.w3.org/1999/xhtml">

        Diseño intermedio de tablas

        Pagina de ejemplo de tablaa



        17 18

        ctable bordar - "1"> He aqui una tabla de ejemplo mea compleja.

        19 20 21 22

        23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Figura E.l 1













        7 8

        9 10 11 12

        13 14 15 16 17 18 19

        chtml xmlna ■ "http://www.w3.org/1999/xhtml">

        Diseño de formularios, ejemplo l

        20 21 22

        23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 Figura E.12

        Formulario de sugerencias

        Por favor llene este formulario para ayudarnos a mejorar nuestro sitio.

        < 1 -- la marca empieza el formulario, proporciona -->

        inserta un cuadro da texto -->

        Nombre:





        4 5 6 7 8 9 10 11



        Diseño de formularios, ejemplo 2

        12

        13

        14 15 16 17 18 figura E.l 3

        Formulario de sugerencias

        Por favor llene este formulario para ayudarnos a mejorar nuestro sitio.

        Formulario c o n áreas de texto, cuadros d e contraseña y casillas de verificación. (Parte 1 d e 3.)

        http://alexyniorlls.blogspot.com 1320 of 1380.

        1264

        Introducción a XHTML

        19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 Figura E.13

        Apéndice E

        Comentarios:
        Formularlo q u e Incluye botones d e opción y listas desplegables. (Parte 1 d e 4.)

        http://alexyniorlls.blogspot.com 1323 of 1380.

        Introducción a XHTML

        41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

        1267

        ctextarea ñame ■ "comentarios" rows ■ "4" cois - "36*>

        Direccion de e-maili

        Cosas que le gustaron: Diseño del sitio

        Vinculos

        Codigo fuente



        Formulario q u e Incluye botones d e opción y listas desplegables. (Parte 2 de 4.)

        http://alexyniorlls.blogspot.com 1324 of 1380.

        1268

        Introducción a XHTML

        94 95 96 97 98 99

        Vinculos desde otro sitio

        Sitio Web Deitel.com •einput ñame - "comollegoasitio" type - "radio" valué - "deitel.com" />

        100 101 102

        103 104 105 106 107 108 109

        Referencia en un libro

        110 111 112

        113 114 115 116 117 118 119

        Otro (comentario de XHTML) taxnp; (carácter especial &) fccopy; (carácter especial ©) .htm (extensión de nombre de archivo de XHTML) .h t m l (extensión de nombre de archivo de XHTML) "radio* (valor de atributo)

        . . . ancla ancla de correo electrónico área de texto atributo atributo action atributo alt atributo bordar atributo chackad atributo cois atributo colspan atributo haight atributo hraf atributo maxlangth atributo meted atributo ñama atributo rovs (textarea) atributo rowspan (tr) atributo selected atributo sisa (input) atributo a r e (img) atributo type atributo valign (th) atributo valúa atributo width

        atributo xmlns carácter especial casilla de verificación celda de encabezado código hcxadccimal comentario de XHTML comentarios en XHTML cuadro de contraseña declaración de XML disco documento vinculado editor de texto elemento elemento a (... ) elemento body elemento br (interrupción de línea) elemento col elemento colgroup elemento forra elemento haad elemento img elemento input elemento input tipo hiddan elemento lista desordenada (ul) elemento ol (lista ordenada) elemento p (párrafo) elemento sub elemento tabla elemento tbody elemento td elemento taxtaraa elemento tfoot (pie de tabla)

        http://alexyniorlls.blogspot.com 1329 of 1380.

        Introducción a XHTML

        Apéndice E

        elemento titl« elemento tr (fila de tabla) elementos de encabezado ( h l hasta h 6) encabezado formulario formulario de XHTML hipervínculo hipervínculo de imagen lenguaje de marcado lista anidada marca marca marca < h r / > (regla horizontal) marca < h tm l> marca < 1 1 > (elemento de lista) marca

        marca anidada marca de XHTML marca vacía marcado de XHTML nivel de anidamiento página Web paréntesis angulares (< >) petición de navegador servidor Web sintaxis subíndice superíndice

        URI.mailto: World Wide Web (WWW) XHTML (lenguaje de marcado de hipertexto extendido)

        http://alexyniorlls.blogspot.com 1330 of 1380.

        1273

        7 Caracteres especiales XHTML

        La tabla d e la figura F .l m uestra m uchos caracteres esp ecia les d e XH TM L que se utilizan com ún m ente. El C onsorcio de la W orld W ide Web llam a a esto s caracteres referencias a entidades de ca racteres. Para obtener una lista com p leta d e referencias a entidades d e caracteres, v ea el sitio

        www.w3.org/TR/REC-html40/sgml/entities.html

        Carácter

        Codificación XHTML

        Carácter

        Codificación de XHTML

        espacio indivisible

        6*160;

        é

        6*234;

        §

        6*167;

        \

        6*236;

        ©

        6*169;

        (

        6*237;

        ®

        6*174;

        í

        6*238;

        Ji

        6*188;

        ñ

        6*241;

        J

        6*189;

        ó

        6*242;

        Q

        6*190;

        6

        6*243;

        á

        6*224;

        6

        6*244;

        á

        6*225;

        6

        6*245;

        a

        6*226;

        T

        6*247;

        a

        6*227;

        ü

        6*249;

        á

        6*229;

        ú

        6*250;

        í é

        6*231;

        ú •

        6*251;

        6*232;

        é

        6*233;

        TM

        6*8482;

        Figura F.l

        6*8226;

        Caracteres especiales d e XHTML.

        http://alexyniorlls.blogspot.com 1331 of 1380.

        Bibliografía

        Alhir, S. UML in a NutshelL Cambridge, MA: O 'R cilly & A ssociates, Inc., 1998. Allison, C. “Codc Capsules: A C ++ Date Class, Part I” . The C Users Journal \fol. 11. Núm. 2. febrero 1993. págs. 123-131. Allison, C. “Convcrsions and Casts.” The C /C+ + Users Journal N6\. 12, Núm . 9, septiembre 1994, págs. 67-85. Allison, C. “Text Processing I." The C Users Journal \b l. 10, Núm . 10, octubre 1992, págs. 23-28. Allison, C. 'T ext Processing 11.” The C Users Journal Vfol. 10, Núm . 12, diciembre 1992, págs. 73-77. Almarodc, J. ‘‘Objcct Sccurity." Smalltalk ReponW o 1. 5. Núm .3, novicmbrc/dicicmbrc 1995, págs. 15-17.

        American National Standard, Prvgrarnming Language C + + . (Documento ANSI ISO/IEC 14882), Nueva York, NY: American Nacional Standards Institute (Instituto nacional estadounidense de estándares), 1998. Andcrson, A. E. y W. J. H cinzc. C ++ Programming and Fundcanental Concepts. Englcwood Cliflfs. NJ: H entice Hall. 1992. Baker, L. C M athematical Function Handbook. Nueva York, NY: McGraw H ill, 1992. Bar-David, T. Object Oriented Design f o r C + + . Englewood ClifTs, NJ: Prentice Hall, 1993. Bcck. K. “Birds, Bees, and Browscrs— Obvious Sourocs o f Objccts.” The Smalltalk R ep o n \fol. 3, Núm. 8, junio 1994, pág. 13. Becker, P. “Conversión Confusión." C+ + R ep o n octubre 1993, págs. 26-28. Bcckcr, P. "Shrinking thc Big Switch Statemcnt.” Windows Tech Journal Vfol. 2, Núm. 5. mayo 1993, págs. 26-33. Bcrard, E. V. Essays on Object-Oriented Software Engineering: Volume /. Englewood Cliflfs, NJ: Prentice Hall. 1992. Binder. R. V. “State-Based Tcsting." Object M agazine Vfol. 5, Núm . 4 , agosto 1995, págs. 75-78. Binder, R.V. "State-Based Tcsting: Sneak Paths and Conditional Transitions.” Object M agazine Vfol. 5 Núm .6, octubre 1995, págs. 87-89. Blum, A. Neural Networks in C + + : An Object-Oriented Framework fo r Building Cotmectionist Systems. Nueva York, NY: John W ilcy & Sons, 1992.

        http://alexyniorlls.blogspot.com 1332 of 1380.

        Bibliografía

        1276

        Booch. G. Object Solutions: M anaging the Object-Oriented Prvject. Rcading. MA: Addison-W cslcy, 1996. Booch, G. Object-Oriented Analysis and Design, Second Edition. Rcading, MA: Addison-W cslcy, 1994. Booch. G. Object-Oriented Design with Applications, Third Edition. Rcading. MA: Addison-W cslcy, 2003. Booch. G ., Rumbaugh, J. c I. Jacobson. The Unified Modeling Language User Guide. Rcading. MA: Addison-W cslcy, 1999. Cargill, T. Prograrnming Style. Rcading. MA: Addison-W cslcy. 1992. Caroll, M.D. y M .A. EUis. Designing and Coding Reusable C + + . Rcading, MA: Addison-W cslcy, 1995. Coplicn. J.O. y D.C. Schmidt. ftitte m Languages o f Program Design. Rcading, MA: Addison-W cslcy, 1995. D citcl, H.M. Operating Systems. Second Edition. Rcading, MA: Addison-W cslcy, 1990. D citcl, H.M. y PJ. Dcitcl. C How to Program. Third Edition. Uppcr Saddlc Rivcr, NJ: Prcnticc Hall. 2000. D cítel, H.M. y PJ. D eitel. Ja\a How to Program, Fourth Edition. Uppcr Saddlc River, NJ: Prcntice Hall, 2002. D citcl, H.M. y P.J. D eitel. The Java Multimedia Cyber Classroom, Fourth Edition. Uppcr Saddlc Rivcr, NJ: Prcnticc Hall, 2002. Duncan, R. “Insidc C++: Fricnd and Virtual Functions, and Múltiple Inhcritancc." PC Magazine 15 octu­ bre 1991, págs. 417-420. Filis, M .A. y B. Stroustrup. The Annotated C + + Reference Manual. Rcading, MA: Addison-W cslcy, 1990. Emblcy, D.W ., B.D. Kurtz y S.N. W oodficld. Object-Oriented Systems Analysis: A M odel Driven Approach. Englcwood C liffs. NJ: Yourdon Press, 1992. Entsiningcr, G. y B. Eckcl. The Tao o f Objects: A Beginner's Guide to Object-Oriented Prograrnming. Nueva York, NY: W ilcy Publishing, 1990. Fírcsmith, D.G. y B. Hcndcrson-Scllcrs. “Clarifying Spccializcd Fonns o f Association in U M L and OML.” Journal o f Object-Oriented Prograrnming mayo 1998, págs. 47-50. Flamig. B. Practical Data Structures in C + + . Nueva York, NY: John W ilcy & Sons. 1993. Fowlcr, M. y K. Scott. UML Distilled: Applying the Standard Object Modeling Language. Rcading. MA: Addison-W cslcy, 1997. Gamma, E., R. H clm , R. Johnson y J. V lissidcs. Design Pattems: Elements q f Reusable Object-Oriented Software. Rcading, MA: Addison-W cslcy, 1995. Gchani. N. y W.D. Room c. The Concurrent C Prograrnming Language. Summit. NJ: S ilicon Press, 1989. Giancola, A. y L. Baker. “Bit Arrays with C++.” The C Users Journal \fol. 10, Núm. 7, julio 1992, págs. 21-26. Glass, G. y B. Schuchcrt. The STL . Uppcr Saddlc Rivcr, NJ: Prcnticc Hall PTR, 1995. Gooch, T. “Obscure C++." Inside Microsoft Visual C++ Val. 6, Núm. 11, noviembre 1995, págs. 13-15. Hanscn, T.L. The C + + Answer Book. Rcading, MA: Addison-W cslcy, 1990. Henricson, M. y E. Nyquisl. Industrial Strength C++: Rules and Recommendations. Upper Saddlc River, NJ: Prcnticc Hall, 1997.

        International Standard: Prograrnming languages — C + + . ISO/IHC 14882:1998. Nueva York, NY: American Nacional Standards Institute, 1998.

        http://alexyniorlls.blogspot.com 1333 of 1380.

        1277

        Bibliografía

        Jacobson, I. "Is Object Technology Software’s Industrial Flatform?” IEEE Software M agazine Vol. 10, Núm. 1. enero 1993, págs. 24-30. Jaeschke, R. Dtrtability and the C Language. Indianapolis, IN: Sams Publishing, 1989. Johnson. L J. "Model Bchavior” Enterprise Development. mayo 2000, págs. 20-28. Josuttis, N. The C + + Standard Lihrury: A Tutorial and Referente. Boston, MA: Addison-W cslcy. 1999. Kcrnighan, B.W. y D.M. Ritchic. The C Programming Language, Second Edition. Englcwood C liffs, NJ: ftentice Hall, 1988. Knight, A. “Encapsulation and Information Hiding.” The Smalltalk Report, Vbl. 1, Núm . 8. junio 1992, pdgs. 19-20. Koenig. A. "Implicit Base Class Conversions.” The C + + Report, Vfol. 6, Núm. 5, junio 1994, págs. 18-19. Kocnig, A. "What is C ++ A nyw ay?” Journal q f Object-Oriented Programming. ábril/mayo 1991. págs. 48-52. Koenig. A. y B. M oo. Ruminations on C + + ; A Decade o f Programming Insight and Experience. Reading, MA: Addison-W esley, 1997. Koenig. A. y B. Stroustrup. “Exception Handling for C ++ (R evised)” , Proceedings o f the USENIX C + + Conference, San Francisco, C A , abril 1990. Kruse, R.L., B.P. I^ung y C.L. Tondo. Data Structures and Program Design in C. F.nglewood C liffs, NJ: R-cnticc Hall. 1991. Langer, A. y K. Krcft. Standard C + + ¡OStneams and Incales: Advanced Progm m m er's Cuide and Reference. Reading. MA: Addison-W cslcy, 2000. Lcjtcr, M., S. M cycrs y S.P. Rciss. “Support for Maintaining Object-Oriented Programs", IEEE Transactions on Software Engineering.WoX. 18. Núm . 12, diciembre 1992, págs. 1045-1052. Lippman. S.B. C + + Primer, Third Edition. Reading. MA: Addison-W cslcy. 1998. Lorcnz. M. “A Bricf Look at Inhcritancc Mctrics.” The Smalltalk Report, \fol. 3, Núm. 8, junio 1994, págs. 1,4-5. Lorcnz. M. Object-Oriented Software Development: A P m etical Guide. Englcwood C liffs, NJ: Prcnticc Hall. 1993. Martin. J. Principies o f Object-Oriented Analysis and Design. Englcwood Cliffs, NJ: Prcnticc Hall, 1993. Martin, R.C. Designing Object-Oriented C++ Applications Using the Booch Method. Englcwood Cliffs, NI: Prcnticc Hall, 1995. Matsche, J.J. “Object-Oriented Programming in Standard C.” Object M agazine. Vbl. 2, Núm . 5, enero/febrero 1993, págs. 71-74. McCabe, TJ. y A.H. Watson. “Combining Comprchension and Testing in Object-Oriented Development.” Object Magazine, Vbl. 4 , Núm. 1, marzo/abrfl 1994, págs. 63-66. Mcl-aughlin, M. y A. Moore. “ Real Time Extensions to the UML.” Dr. D obb's Journal, diciembre 1998: págs. 82-93. M clewski, D. “UM L Gains Ground.” Application Development Trends, octubre 1998, 34-44. M elewski. D. “UML- Ready for Prime Time?” Application Development Trends, noviembre 1997, págs. 30-44. M clewski, D. “Whcreforc and What Now, UML?” Application Development Trends , diciembre 1999, págs. 61-68. Mcycr, B. Eijfel: The Language. Englcwood C liffs, NJ: Prcnticc Hall. 1992.

        http://alexyniorlls.blogspot.com 1334 of 1380.

        Bibliografía

        1278

        Meycr, B. Object-Oriented Software Construction, Second Edition. Hnglewood C liffs. NJ: Prcnticc Hall. 1997. Mcycr, B. y D. Mandrioli. Advances in Object-Oriented Software Engineering. Hnglewood C liffs, NJ: Prentice Hall. 1992. Mcyers. S. “Mastcring Uscr-Dcfined Conversión Functions.” The C/C++ Users Journal. \o \. 13, Núm . 8. agoslo 1995. págs. 57-63. M cyers, S. Effective C + + : 50 Specific Ways to lmprove Your Programs and Designs, Second Edition. Rcading, MA: Addison-W eslcy, 1998. M cyers, S. Effective STL: 50 Specific Ways to lmprove Your Use o f the Standard Témplate Library. Rcading, MA: Addison-W esley, 2001. M cyers, S. More Effective C + + : 35 New Ways to lmprove Your Programs and Designs. Rcading, MA: Addison-W eslcy, 1996. Mullcr. P. Instant U M L Birminghain. UK: Wrox Press Lid., 1997. Murray, R. C ++ Strategies and Tacúes. Rcading, MA: Addison-W eslcy, 1993. Musser, D.R. y A A . Stepanov. “Algorithm-Oriented Generic Libraries.” Software Practice and Experience, Vol. 24, Núm. 7, julio 1994. Musser, D .R ., G J . Derge y A. Saini. STL Tutorial and Reference Guide: C + + Programming with the Standard Témplate Library, Second Edition. Reading, MA: Addison-W eslcy, 2001. N elson, M. C ++ Pm gram m er's Guide to the Standard Témplate Library. Nueva York, NY: W iley Publishing, 1995. Nerson, J.M. ‘A pplying Object-Oriented A nalysis and Design.” Communications o f the ACM , V il. 35, Núm. 9 , septiembre 1992, págs. 63-74. Nierstrasz, O., S. Gibbs y D. Tsichritzis. •‘Component-Orientcd Software Development." Communications o f the ACM , V il. 35, N úm . 9 , septiembre 1992, págs. 160-165. ftjrry, P. “ UML Steps to the Píate.” Application Development Trends, mayo 1999, págs. 33-36. Pinson, L.J. y R.S. Wiener. Applications o f Object-Oriented Programming. Rcading, MA: AddisonWfesley, 1990. Pittman. M. “Lessons Leamed in Managing Object-Oriented Developm ent.” IEEE Software Magazine, V il. 10. Núm. 1, enero 1993, págs. 43-53. Raugcr, D. “Making C ++ Safe for Thrcads.” The C Users Journal, Vol. 11, Núm . 2, febrero 1993, págs. 58-62. Raugcr, P.J. 77ie Standard C lib ra ry. Englcwood C liffs. NJ: Prcnticc Hall, 1992. Pohl, 1. C + + Distilled: A Concise ANSI/ISO Reference and Style Guide. Rcading, M A Addison-W eslcy, 1997. Pohl, I. Object-Oriented Programming Using C + + , Second Edition. Rcading, MA: Addison-W eslcy, 1997. Press, W.H., S.A. Tcukolsky, W.T. Vcttcrling y B. Flanncry. Numerical Recipes in C, Second Edition. Cambridge, M A Cambridge Univcrsity Press, 1992. Pricto-Diaz, R. “Status Rcport: Software Rcusability.” IEEE Software, Vol. 10. Núm. 3. mayo 1993, págs. 61-66. Princc, T. “Tuning Up Math Functions.” The C Users Journal, Vbl. 10, Núm. 12, diciembre 1992. Prosise, J. “Wake U p and Smell the MFC: U sing the Visual C ++ C lasses and Applications Framework.” Microsoft Systems Journal, \ o 1. 10, Núm. 6 , junio 1995, págs. 17-34.

        http://alexyniorlls.blogspot.com 1335 of 1380.

        Bibliografía

        1279

        Rabinowitz. H. y C. Schaap. Portable C. Englcwood CliíTs. NJ: Frcnlicc Hall. 1990. Rccd, D.R. “M oving from C to C++.” Object M agazine. Vbl. 1, Núm. 3, scpticinbrc/octubrc de 1991. págs. 46-60. Ritchic, D.M . “The U N IX System: The Evolution o f thc U N IX Tímc-Sharing S y stem ” AT& T Bell Laboratories Technical Journal. Vbl. 63 . Núm . 8. Parte 2, octubre 1984. págs. 1577-1593. Ritchic. D.M .. S.C. Johnson. M.E. Lcsk y B.W. Kcmighan. “UNIX Timc-Sharing System: The C R-ogramming Language.” The Bell System Technical Journal. Vbl. 5 7 . Núm . 6. Parte 2, julio/agosto 1978. págs. 1991-2019. Robson, R. Using the S T L The C + + Standard Témplate Library. Nueva York, NY: Springcr Vfcrlag, 2000. Roslcr, L. “The U N IX System: The Evolution o f C — Ibst and Future." AT&T Laboratories Technical Journal. Vbl. 63, Núm . 8. Parte 2, octubre 1984. págs. 1685-1699. Rubín. K.S. y A. Goldbcrg. “Object Behavior Analysis.” Communications o f the ACM . Vol. 3 5 , Núm. 9, septiembre 1992. págs. 48-62. Rumbaugh, J., Jacobson, I. y G. Booch. The Unified Modeling language Reference Manual. Rcading, MA: Addison-W esley, 1999. Rumbaugh, J., M. Blaha, W. Prcmcrlani, F. Eddy y W. Lorensen. Object-Oriented Modeling and Design. Englcwood Clififs, NJ: Prcnticc Hall. 1991. Saks, D. ‘Inhcritancc." The C Users Journal , mayo 1993. págs. 81-89. Schildt, H. STl , Programming from the Ground Up. Berkeley. CA: Osborne McGraw-Hill, 1999. Schlaer. S. y S J . Mellor. Object Lifecycles: Modeling the World in States. Englcwood Clififs. NJ: Prentice Hall. 1992. Schmullcr. J. Sam 's Teach Yourself UML in 24 Hours. Indianapolis: Macmillan Computer Publishing, 1999. Sedgw ick. R. Algorithms in C + + . Rcading. MA: Addison-W esley. 1992. Scssions. R. Class Construction in C and C + + : Object-Oriented Programming. Englcwood Clififs. NJ: R-cnticc Hall. 1992. Skclly, C. “Pointcr Power in C and C++.” The C Users Journal, Vbl. 11, Núm . 2. febrero 1993, págs. 9398. Smith, J.D. Reusability & Software Construction in C & C++. Nueva York. NY: John W ilcy & Sons. 1990. Snydcr, A. “The Esscncc o f Objccts: Conccpts and Tcrms.” IEEE Software Magazine. Vbl. 10, Núm . 1, enero 1993, págs. 31-42. Stcpanov. A. y M. Lee. “The Standard Témplate Library.” 31 de octubre de 1995 . Stroustrup. B. “Making a v e c t o r Fit for a Standard." The C++ R ep o n , octubre 1994. Stroustrup, B. “Paramcterizcd Typcs for C++." Proceedings o f the USENLX C + + Conference, Dcnvcr, CO, octubre 1988. Stroustrup, B. “T he UNIX System: Data Abstraction in C." AT&T Bell Laboratories Technical Journal, Vbl. 6 3 , Núm . 8. Parte 2, octubre 1984. págs. 1701-1732. Stroustrup, B. “What is Object-Oriented Programming?” IEEE Software, Vol. 5, Núm . 3, m ayo 1988, págs. 10-20. Stroustrup, B. "W hyConsider la n g u a g e Extensions?: Maintaining a Delicate Balance." The C + + R epon, septiembre 1993, págs. 44-51.

        http://alexyniorlls.blogspot.com 1336 of 1380.

        Bibliografía

        1280

        Strousirup, B. The C + + Programming Language, Speeial Third Edil ion. Reading. MA: Addison-W eslcy. 2000. Stroustrup, B. The Design and Evolution o fC + + . Reading. MA: Addison-W cslcy, 1994.

        Taiigenl's Cuide to Designing Programs: Weli-Mannered Object-Oriented Design in C + + . Reading, MA: Addison-W eslcy. 1994. Taylor. D. Object-Oriented Information Systems: Planning and Implementation. Nueva York. NY: John Wiley & Sons. 1992. Tondo, C.L. y S.E. Gim pcl. The C Answer Book. Englcwood C liffs, NJ: Prcnticc Hall. 1989.

        Unified M odeling language Specification: Versión 1.4. Framingham, MA: OM G (Grupo de administra­ ción de objetos), 2001. Urlockcr. Z. “Iblym orphism Unboundcd.” Windows Tech Journal, Vbl. 1. Núm. 1. enero 1992, págs. 1116. Vin Camp, K.E. “Dynam ic Inhcritancc Using Filtcr C lasscs.” The CJC++ Users Journal, Vbl. 13, Núm. 6, June 1995. págs. 69-78. Vilot, M.J. “An Introduction to the Standard Témplate Library.” The C + + R epon, Vbl. 6 , Núm. 8, octubre 1994. Vbss. G. "Objects and M essages.” Windows Tech Journal, febrero 1993. págs. 15-16. Vbss, G. Object-Oriented Programming: An Introduction. Bcrkclcy. CA: O sbom e McGraw-Hill, 1991. W m g, B.L. y J. Wang. *‘Is a Deep Class Hierarchy Considered Harmful?” Object Magazine. Vbl. 4, Núm . 7. noviembre/diciembre 1994, págs. 35-36. W cisfcld. M. “An A ltcm ativc to Largc Switch Statcmcnts.” The C Users Journal, Vbl. 12. Núm . 4. abril 1994. págs. 67-76. Wciskamp, K .y B, Flamig. The Complete C + + Primer, Second Edition. Orlando, FL: Acadcmic Press, 1993. Wiebel, M. y S. Halladay. “Using O O P Techniques Instead o f switch in C++.” The C Users Journal, Vbl. 10, Núm. 10, octubre 1993, págs. 105-112. Wiener, R.S.. y L.J. Pinson. An Introduction to Object-Oriented Programming and C + + . Reading, MA: Addison-W eslcy, 1988. Wildc. N. y R. Huitt. “Maintcnancc Support for Object-Oriented Programs.” IEEE Trunsactions on Software E n g in eerin g .\o \. 18, Núm . 12. diciembre 1992. págs. 1038-1044. W ilde, N., P. Matthews y R. Huitt. “Maintaining Object-Oriented Software." IEEE Software Magazine, Vbl. 10, Núm. 1, enero 1993, págs. 75-80. W ilson, G. V. y P. Lu. Rtrallel Programming Using C + + . Cambridge, MA: M1T Press, 1996. Wilt, N. ‘Tom piates in C++.” The C Users Journal, mayo 1993, págs. 33-51. Wirfs-Brock. R ., B. Wilkerson y L. Wiener. Designing Object-Oriented Software. F.nglewood C liffs, NJ: Prcnticc Hall PTR, 1990. Wyatt. B.B., K. Kavi y S. Hufnagcl. "Parallclism in Object-Oriented Languages: A Survcy.” IEEE Software. Vbl. 9 . Núm . 7. noviembre 1992, págs. 56-66. Yamazaki, S., K. Kajihara, M. Ito y R. Yasuhara. “Object-Oriented D esign o f Tclccommunication Software.” IEEE Software Magazine, Vbl. 10. Núm . 1, enero 1993, págs. 81-87.

        http://alexyniorlls.blogspot.com 1337 of 1380.

        Indice

        Símbolos —, operador unario, 99 ! (NOT lógico). 124. 126. 1190 I - (operador de desigualdad), 35 , 36 . 550 . 1190 t. operador del prcproccsador, 22 , 1054 . 1059 •#. operador del prcproccsador, 1059

        $. indicador de línea de comandos de Unix. 1067 V indicador, 1067 V operador módulo, 31 b, carácter. 907 b. operador de dirección. 322 . 323 . 1190 6 . lista de parámetros. 213 b para declarar referencia, 211 6 y *. operadores inversos entre sí. 324

        fc- (operador AND de asignación a nivel de bits), 1 169, 1190 6fraeli; referencia de entidad, 1249

        t l t ; . referencia de entidad. 1249 bb (operador AND lógico), 124, 125 , 205 . 1190 (). operador de llamada a función, 175

        *, operador, 31 * operador de desreferencia a apuntador, 323 ♦. operador, 29 . 31 ♦ operador, 99 operador sobre un iterador, operador. 98 . 550 , 854

        1098

        .•.operador. 1199 . 1201 . h. archivo de encabezado. 180. 181 /. operador, 31 / / , comentario de una sola línea, 22 \. barra diagonal invertida. 23 . 1057 \ \ , secuencia de escape, 24 11 (operador binario de resolución ds ámbito o alcance), 497 «i (operador unario de resolución de ámbito o alcance), 217 . 1189 , 1200

        < (operador menor que), 35 > sobrecarga de operadores, 30 7 1 (operador temario condicional), 78 , 205 \. carácter de barra diagonal inversa, secuencia de escape, 24 carácter de comillas dobles, secuencia de escape, 24

        A(operador OR exclusivo a nivel de bits), 1190 *- (operador OR exclusivo de asignación a nivel de bits), 1169 . 1191 |. 1190 | » (operador OR inclusivo de asignación a nivel de bits), 1169 . 1191 | | (operador OR lógico), 124, 125. 205 . 1190 | | (OR lógico), tabla de verdad de operadores, 125 * \ 0 ', 3 6 0 '\ n ', 3 6 0 5 , 166

        Números 0 , apuntador, 959 0 X. 755 O x . 755 12 horas, formato de reloj. 408 24 horas, formato de reloj, 408

        A elemento. 1242. 1247 abierto. 811 a b o r t . 790 . 796 . 1060 . 1076 abortar el programa. 784 abreviado, operador de asignación. a.

        99

        \ a . 24

        abreviar expresiones de asignación,

        \n (nueva línea), secuencia de «scape, 24 \ r , retomo de carro, 24 \ t . tabulador, 24 . 159

        abreviaturas similares en inglés, 8 abrir origen, 884

        98

        http://alexyniorlls.blogspot.com 1338 of 1380.

        1282

        índice

        un archivo en modo de entrada, 814 un archivo en modo de salida, 814 un archivo que no existe, 815 abstracción, 40,611 de datos. 4 . 469. 502,356 abstracto, tipo de dalo (ADT). 411 , 413 , 502 , 504 acceso a los datos de la llamada, 211 a los datos miembro y funciones miembro de clases que no sean • t a t i o , 500

        a los miembros de un objeto a través de cada tipo de manipulador (manejador) de objetos, 419 a los miembros de una dase. 418 a los miembros de una estructura. 418,1002

        a los miembros de una unión. 1081 a los miembros mediante manejador, 418

        a miembros private de una dase, 424 a una variable global. 217 al miembro, operador (.), 407 comprobado. 854 directo. 946 instantáneo, aplicadón de. 824 instantáneo, procesamiento de, 834 inválido al almacenamiento. 1076 predeterminado es p u b l i c . 1001 predeterminado para miembros de una s t r u c t es p u b l i c . 426 privilegios de. 331, 335 secuencia!. archivo de. 809. 811, 812, 816,823 violadón de, 54, 362, 1093 acceso a miembros, espccificador de. 411 . 486 espccificador p u b l i c . 411 acceso aleatorio. archivo de. 809. 824. 825. 831. 834 icrador de. 1100, 1101, 1106, 1109, 1117, 1119, 1138, 1144, 1150, 1156, 1162. 1165, 1167, 1168 operadores de ¡terador de, 1102 acción, 3 . 77 . 79 . 82. 227 , 502 acción/decisión, modelo de programación. 77 . 78 a c c u m u l a t * . 1104, 1172 . 1174 Acerca de los objetos. 4 . 21 , 405 a c t i o n . atributo. 897 . 898 . 1262 activación, 301 barra de, 303 actividad, 74 , 301 activo de software. 42 , 417 actor, 139 actualizar registros ya establecidos. 823 un registro, 848 acumulador, 387 , 388 Ada, 13

        adaptador, 1128 de contenedor. 1094. 1101, de fundón. 1172

        1128

        a d j a c a n t _ d i f f a r a n c a , 1 104,

        1166 a d j a c a n t _ f i n d . 1104 , 1168

        administración dinámica de memoria, 495 de objetos. 509 administrador de pantallas, programa, 679 "administrativa”, sección de la computadora, 6 ADOO (análisis y disefto orientados a objetos), 4 2 ,4 3 advertencia. 24 aerolínea, sistema de reservación, 3 1 1 ,8 2 4

        agotamiento de memoria. 202 agregar una nueva cuenta a un archivo, 835 al más pequeño de diversos enteros. 165

        alcance, 106, 416 , 1071 , 1186 conflicto, 1187 de archivo. 195, 418 . 497 . 732. 1083 de fundón. 195.418 de fundón, variable, 418 de un idcntificador. 192. 194 de una constante simbólica o macro. 1057

        ejemplo. 1% global. 437, 1189 iicance de clases. 195. 416 . 418 variable está oculta. 418 alerta, secuencia de escape ( %a ' ), 24 . 1024 alfabetización de cadenas. 367 algebraica, expresión, 32 < a l g o r i t h a > . 182, lili algoritmo, 54 , 72 , 77 , 78 , 83 , 89 , 943 . 1092. 1103, 1133 de búsqueda. 1148 de evaluadón. 996 de secuencia mutante, 1104 de una pasada, 1100 genérico. 1103 matemático, 1144 numérico. 1 KM. 1172 para repartir cartas. 355 algoritmos c o p y b a c k v a r d . m arg a. u n i q u e y r e v e r s e . 1152

        déla STL. 719 de ordenamiento y búsqueda básica de la Biblioteca estándar. 1148 e q u e l. « ii» m a tc h y l e x i c o g r a p h i c a l _ c o m p a r a . 1126 £ 111. £ ill_ n , g e n é r a te y g e n e r a t e _ n , 1134

        i n p l a c a m a r g a , u n ig u e _ e o p y y r e v e r s e c o p y . 1155 l o w e r b o u n d .u p p e r b o u n d y e q u s l r a n g a . 1160

        matemáticos de la Biblioteca estándar. 1144 m in y n t x . 1165 r e m o r e , ra m o v e i£ . re sto v e _c o p y y r e s # o v e _ c o p y _ i £ , 1139 r e p la c e , r e p le c e _ ¿ £ , r e p la c e _ c o p y y r e p l a c e _ c o p y _ i £ , 1142

        separados dd contenedor. 1103 ■ vrap . i t e r s v r a p y avap

        r e n g a s . 1150

        alias, 213 , 323 , 325 , 870 para d nombre dd objeto, 445 para un tipo. 1096 alineación, 1003 de almacenamiento, 1003 'felmacén”. sección de la computadora, 6 almacenamiento asignado en forma dinámica. 449 . 450 , 565 , 569 , 578 secundario. 17 secundario, dispositivo de. 15, 809 secundario, unidad de. 6 a l t , atributo, 1246 alterar el flujo de control. 122 ALU, 5 ambigüedad, problema, 1201 , 1204 American National Standards Committcc on Computers and Information Processing (X3 ). 9 amistad no simétrica, 486 no transitiva. 486 otorgada, no tomada. 486 análisis, 42 de datos, programa, 279, 282 lase de. 374 orientado a objetos, fase, 138 y disefto orientado a objetos (ADOO), 42, 43 y disefto orientados a objetos (ADOO), proceso, 42 anchura altura, proporción. 1246 de campo. 256, 749, 752 de rango de números aleatorio, 188 de un campo de bits. 1017 establecer, 752 establecida implícitamente en 0.752 ANI) aplicar, 1010 lógico . 800 de encabezado definido por el programador. 181, 423 de encabezado encerrado entre comillas, 423 de implemcntadón. 507 den bytes. 811 de texto. 834 en disco, 9 % fuente, 1072 objeto precompilado. 507 sccuendal, 813, 817 archivos de código objeto. 699 de encabezado, xxxviii

        argumento, 171 de función, 172 más a la derecha. 215 para una macro. 1056 predeterminado. 215, 216 . 217. 430 predeterminado de función. 433 argumentos coerción de. 179 en el orden correcto. 175 predeterminados con constructores, 430

        predeterminados para una función, 216

        que se pasan a constructores de objetos miembro. 479 *rgv [ ). 1070 aritmética, 17 de apuntadores. 331. 341. 342. 343. 345 . 1108 de apuntadores en un arreglo de caracteres. 342 de apuntadores es dependiente de la computadora. 342 de enteros, 547 de punto flotante. 547 aritmético cálculo. 3 1 desbordamiento, 781 error de desbordamiento, 800 error de desbordamiento negativo. 800

        operador. 31 operador de asignación. 98 . 99

        promedio. 32. 278 ARPA. 18 ARPAnct, 18, 19 urreglo con un solo subíndice. 329. 330 . 338 de apuntadores a funciones. 358, 395

        de cadenas, 349 de cadenas palo, 349 de caracteres, 267, 347. 361 , 554, 867

        de caracteres como una cadena. 268

        de m por n. 289 lista inicializadora. 258 dinámico. 1078 multidimensional, 290 nombre, 34 . 345 su nombre como un apuntador constante al inicio del arreglo. 334 . 344 . 345 tamailo de. 272 tipoC. 1094 Ancgio, 253 , 254 , 334 , 504 , 505 ,

        t « a p o r a l« s d a X n ta ra a t,

        «Srectorio. 913 área indefinida en memoria, arge. 1070

        1003

        946

        asignación. 504 comprobación de límites. 266 límites de, 266, 267

        http://alexyniorlls.blogspot.com 1340 of 1380.

        1284

        índice

        Arreglo, dase, 557 con operadores sobrecargados. 557 definiciones fundones miembro y funciones £ri«nd. 558 programa de prueba, 561 "arreglo inteligente”, 267 , 1105 arreglos como objetos hechos y derechos. 256

        comparación, 504 con múltiples subíndices, 289,292 cmrada/salida, 504 función para ordenar, 719 notadón. 345 operador de subíndice sobrecargado. 799 autoasignación, 491 , 566 , 578 autodocumcntación. 27 automática clase de almacenamiento. 193. 253. 272

        destruida en forma. 1% variable, 960 automático arreglo local. 270 arreglo. 258 cajero. 824 inicialización de arreglo. 270 objeto. 784 . 792

        objeto local. 436 variable local. 193. 196.214 automóvil. 168 avance de página ( ' \ f '). 1021 . 1024

        avanzar por una lista. 958

        B B. 8 Habhagc, Charles, 13 back. 1105 , lili, 1130 beck in g « rt« r. 1154, 1156 bad, función miembro. 766 bad_alloc, excepción, 793 . 794 , 796 , 800 . 945 . 1112 bad_cast. excepción. 800 bad «xcaption. 800 b»d -.typ«id. excepción, 800 badbit, 744 , 766 . 815 balanceado, árbol, 977 boticario, sistema, 824 bandera. 86 . 990 haraja de cartas. 349 , 350 taiujar. 350 cartas. 1048 algoritmo para. 1006 torra de título, 1239 barras, gráficas de. 165. 262 base 2 , sistema numérico. 1008 tose 8 . sistema numérico, 755 tose 10, sistema numérico, 173, 755 buse 16. sistema numérico. 755 tose de datos, 8 1 1 protegida mediante contraseña. 917 buse e. 173 tase especificada para un flujo, 760 BASIC, 11. 943 , 987.999 baaio_f i t r a u . plantilla. 742 . 812

        basic_ifB traam , plantilla. 742 , 812

        baBÍo_ioB. plantilla. 742 bBsio_ioBtraaa. plantilla. 741 . 812

        bBBÍc_ÍBtrB«ia, plantilla, 741 , 812

        bBBÍc_ÍBtringBtra«JX clase, 870 , 871 b«aio_of Btraaa^ plantilla. 742 . 812

        b a s ic _ 0 8 tr«ajB. plantilla. 812 baB Íc_.O B trin gstraaia clase, 870 . 871

        b a s ic . a t r in g . 851

        BCPI., 8 b a g in . 1095 . 1098. 1108 , 1109

        iterador. 869 Bell, laboratorios, 9

        http://alexyniorlls.blogspot.com 1341 of 1380.

        índice

        1285

        Bibliografía, 21 Biblioteca estándar. 170 algoritmo de, 182 archivo de encabe/ado, 181. 1054 archivo de encabezado de contenedor, 1096 clase contenedora, 1094 dase de adaptador p r io r it y gu au*. 1132 dase de adaptador atack. 1129 clase « tr in a . 485 , 588 dase ▼•ctor. 592

        de plantillas (STL), 54 . 182, 503. 6 %. 719 . 1092 de plantillas con Borland C++, 1176 de plantillas. Guía del programador. 1175. 1234 de plantillas. Página de inicio de referencia en línea, 1175. 1235 fundones de manipulatión de elementos de la plantilla de dase ▼•ctor. 1109 jerarquía de exoepdones. 800

        plantilla de dase de adaptador gu»u*, 1131

        plantilla de dase d*gu«, 1118 plantilla de dase 11 «t. 1113 plantilla de dase map. 1126 plantilla de clase n u l t i u p . 1124 plantilla de dase bul t i « « t . 1120 plantilla de dase M t. 1123 plantilla de dase ▼•ctor, 1106 biblioteca de utilerías generales < c a td lib > . 1026, 1060 , 1073 , 1078 bibliotecas, 16 dedases, 15. 113, 171. 420 . 450 .

        bit, 809 , 1001 de error, 748 de estado. 744. 766

        1248

        B it« c o r a

        archivo de encabezado de la clase, 458,515

        archivo de implcmenladón de la dase. 516 bitand. palabra reservada de operador, 1190 b ito r , palabra reservada de operador. 1190 bits, manipulación de. 809 , 1007 "bits y bytcs”, nivel de. 1007 , 182. 1096 b it« « t, 1094, 1168 , 1169, 1170 Bloc de notas, editor de texto. 1237

        bloque. 80 . 81 . 92 . 176.

        193. 195.

        branch negativo, 991 branch zcro. instrucción. 991 , 994 b raak

        instrucción, 117, 119. 122, 167. 1079

        instruedón para salir de una estructura C o r . 122 Buena práctica de programación.

        alcance de. 195 anidado. 133. 195 de datos. 1036 de memoria. 1036. 1079. 1117 está activo, 193 externo. 195 interior. 195 terminó de ejecutarse. 193 b o d y , demento, 1239 , 1240 Bohm. C.. 73 . 132 Booch. Grady. 43 b o o l,

        tipo de datos. 76 valor C a l a * . 76 valor tru«. 76 b o o l a l p h * . manipulador de flujos, tipo del UML, 226 atributo. 1254 Borland C++. 15. 220 . 1073,

        B o o la a n , b o rd ar,

        1176 B o to n

        archivo de encabezado de la clase,

        búfer está lleno. 742 se llena, 768 se vacía, 742 uso de, 768 burbuja método oon llamada por referencia. 336

        método de ordenamiento. 309. 336. 355

        método de ordenamiento utilizando apuntadores a fundones, 355 buscar. 505 . 943 . 1148 cadenas y caracteres en un objeto a trin g . 862

        en bloques de memoria. 1036 en cadenas. 362. 1026 ai un arreglo. 283 en una lista enlazada, 947 , 999 búsqueda binaria, 283. 285, 286 binaria en un arreglo ordenado. 286 de cadenas, fundón atreapn. 1033 de cadenas, fundón atrehr. 1032 de cadenas, fundón atrpbrk .1034 de cadenas, fundón atrrchr, 1034 de cadenas, fundón «trapa. 1035 de cadenas, fundón a tra tr, 1036 en listas, rendimiento. 999 funciones de la biblioteca de manejo de cadenas. 1031 lineal de un arreglo. 283. 284. 285 b u t t o n . valor de atributo ( t y p a ) .

        653

        archivo de implcmenladón de la dase. 653 BotonElevador archivo de encabezado de la clase. 457 . 524.654 archivo de implcmenladón de la dase. 525 definiciones de fundones miembro de la clase, 655 B o to n P ia o

        archivo de encabezado de la clase. 458 . 526.656 archivo de implcmenladón de la dase. 526 defínidones de fundones miembro de la clase. 656

        10.

        20

        196

        763

        649

        privadas. 16 bidireccional. iterador. 1100, 1101 . 1106 , 1113, 1119, 1122 , 1124 , 1153 . 1154 , 1156, 1167 binaria función. 1166.1172 función de comparadón. 1167 función predicado. 1116. 1138. 1147. 1150. 1154. 1158. 1159. 1162. 1168 objeto de fundón, 11 7 2 ,1173 binario. 162 dígito. 809 entero. 162 número. 1020 operador, 29, 31, 126 operador ♦, 3 1 operador aritmético, 93 operador de resolución de alcance (o de ámbito) (i i), 217, 416 . 497 . 1187. 1200. 1204 sistema numérico. 1029 b i n a r y _ a « a r c h . 1148, 1150

        (interrupción de linca), elemento,

        b r

        898

        Byron, l.ord, 13 byte. 1007 bytc, desplazamiento, 825 c

        .C. extensión de. 15 C. 8 clásico, 9 código heredado. 469 . 1054. 1056. 1060. 1066,1078 lenguaje de programación. 1237 tradicional. 9 Cf, lenguaje de programación, 12 c a t r . función miembro de la clase

        http://alexyniorlls.blogspot.com 1342 of 1380.

        a t r in g . 868

        índice

        1286

        C++, 7 , 8, 20 , 886 , 888 Cómo proRnunar en C++, 4 compilador, IS, 1232 ejecutable. 890 entorno. 16 entorno de desarrollo, 16 entorno de programación, 170 lenguaje, 20 mejoras a C, 4 preproccsador. 15. 22 recurso profesional. 1232 caché. 882 cadena. 347 , 360 de caracteres. 23 de caracteres interna. 578 de consulta. 882.896 es un apuntador constante. 361 literal, 28, 267, 268 , 360,361 longitud, 369 que se va a dividir en tokens, 369 tipo de datos. 504 vacía. 855. 861

        cantidad en dólares. 112 capacidad de F7 S de bajo nivel. 739 de un objeto string. 859 capacity. 1108 capt ion. elemento. 1255 carácter. 360 . 809 . 1001 de control. 1024 de escape. 23 de relleno. 408. 749. 752, 755 , 757, 758.759

        c a d a n a c o n s u l t a . c p p , 896

        cadenas basadas en apuntadores. 360 como objetos hechos y derechos, 256,360

        entrada y salida, 998 manipulación de, 171. 993 procesamiento de, 320 calcular d valor de 8 . 166 la suma de los elementos de un arreglo, 261 los ingresos de un vendedor. 158 cálculo, 6 . 31 . 73 matemático, 171 monetario. 112 Cálculo de factorial con una función recursiva, 200 cálculos matemáticos. 13 c a l l o c . función, 1078 campana. 24 C am p an *

        archivo de encabezado de la clase, 453.519

        archivo de implementación de la dase. 519 campo, 810 campo de bits. 1007, 1017 , 1019 como miembro de una estructura,

        delimitador, 362. 368 especial. 27, 360. 1249 representadón numérica. 116 caracteres cadena, 256 , 267 conjunto de. 68 . 119. 367. 809 manipuladón de, 171 manipuladón de cadenas, 1020 presentación de, 182 representados como códigos numéricos. 367 secuencia de. 823 cargador, 16 cargar. 15. 17 C A R R IT O , cookic, 929 carrito de compras, aplicación. 909 . 921

        casa, etiqueta, 113, 117, 118, 195 casi contenedor, 1094 casilla de verificación. 1263 casino. 182. 188 caso(s) basc(s), 199, 204 . 206 caso-uso, 139, 146, 374 diagrama. 139 diagrama para el sistema del elevador, 139 . archivo de encabezado, 181, 1060 catalogar. 450 catch. bloque (o manejador), 783 , 787 . 792 , 793 catch ( . . . ) . 801 c atch (sx csp tio n •). 801 categorías de ileradores. jerarquía de, 1100

        1017

        manipulación, 1020 campo justificado. 759 campos de bits pora ahorrar espado, 1020 utilizados para almacenar un mazo de cartas. 1017 campos más extensos que los valores que se van a imprimir. 759 canalización ( | X890 , 1067

        , archivo de encabezado. 181, 331 . 1020 CD ROM. 4 o s il, 172 celda de encabezado. 1256 CHRN, 19 ceros a la derecha del punto decimal. 93 . 172, 756 ceros y unos, 809 c s rr (error estándar sin búfer). 17. 740 , 741.811 cerrar un flujo. 1073 csrxarassion.cpp, 935

        < cf lo a t> ,

        archivo de encabezado,

        181 889

        xgi, .cgi. extensión de archivo. 890 CG1

        Interfaz común de puerta de enlace. 885 . 1260 protocolo. 886 secuencia de comandos, 885. 889 . 890 . 895. 906 . 1262 o g i - b i n . directorio, 889 , 890 . 916 ciclo, 81. 83 . 88 anidado dentro de otro ciclo. 95 controlado por centinela, 988 de ejecución de instrucciones. 390 de retardo, 107 infinito. 20 . 82. 92, 107. 163 científico. 762 cifrado, 877 , 879 cifrador. 877 cilindro, 689 C ilin d r o

        archivo de encabezado de la clase, 690

        archivo de implementación de la clase. 691 clase que hereda de la clase C i r c u í o 4 y redefinc a la función miembro o b t a n a r A r a a . 639

        cima, 87 c i n (flujo estándar de entrada). 17. 28 , 740 , 741 , 811 . 8 1 5 .8 9 0 c i n . c l a a r . 766 c i n . a o f . 745 , 766 c i n . g a t . 116. 746 c i n . g a t l i n a . 362 c i n . t i a . 768

        circular lista doblemente enlazada. 960 lista simplemente enlazada. 959 círculo, 1252 opaco con una flecha adjunta. 227 C ir c u lo

        clase que hereda de la dase P u n t o . 667 . 688 clase, contiene una coordenada ,t-y y un radio. 619 dase, programa de prueba. 621 C i r c u l o 3 , clase que hereda de la dase P u n t o 2 . 627 C i r c u l o 4 , clase que hereda de la dase P u n t o 3 pero no utiliza datos p r o t a c t e d . 634 C i r c u i o s , clase que hereda de la dase P u n t o 4 , 645 claridad. 3 . 20 . 28. 265 dase. 4 , 10, 41 , 133. 253,1055 abstracta, 663 , 680 . 681. 682 . 6% A r r a g l o , 557

        http://alexyniorlls.blogspot.com 1343 of 1380.

        1287

        índice

        auiorrcfcrcncial, 944 , 945 base directa. 610 base indirecta, 612 b i t s a t y la Criba de Eratóstcnes, 1170 C a a p l a j o . 601

        contenedora, 427. 485 . 505. 564 . 719 , 730,1094 de almacenamiento. 192, 194. 1071 de almacenamiento, especificador. 12

        de excepción. 800 definición. 411 Empleado. 700 genérica. 723 H o r a , definición, 411 Internada. 604 ntís derivada. 1210 N u m a r © R a c i o n a l . 607 P o l i n o m i o . 608

        propietaria. 649 proxy, 420. 506 . 508 ■ t r i n g , 569

        clase base. 610 , 611 . 613 . 650 . 654 . 713

        accesibilidad de miembros en clase derivada, 649 apuntador a un objeto de clase derivada. 699 apuntador de (o tipo de referencia). 695 . 700.945 c a t c h . 800

        oonstructor de, 629,642 constructor predeterminado de, 629 E m p in a d o , 700

        excepción, 800 (unción miembro redefinida en una dase derivada. 636 miembro p r i v a t a de. 614 referencia. 678, 695.945 dase derivada, 610 , 611 ,613 , 648 , 6 5 1 .7 0 0 c a t c h . 800

        destructor de. 699 dases desarrollo. 556 de excepciones derivadas de la dase base común. 793 matemáticas. 547 c l a a a . 170 . 222 . 405 , 411 . 720 . 810 c l a s a N o d o . 944

        clave. 877 , 1119 de búsqueda. 284. 285, 1119 de registro. 811. 848 única. 1119. 1122. 1126 clave/valor, par, 1124. 1126 c l a a r . función miembro. 766 , 1096 diente, 507 , 9 1 3 ,9 1 6 de una dase. 412, 417. 420 . 440 de una cola. 505 nivel. 883. 938 dicntc/scrvidor, computación, 7

        c l i a n t a a . t x t . 916

        archivo de encabezado, 181 g (error estándar con búfer). 740 . 741,811

        < c lia it s > , c lo

        c l o a a , 816 < c a a th > .

        archivo de encabezado.

        172, 179.181 COBOL. 13. 1237

        código activo, método del. 3 . 1094 diente. 680 de caracteres. 367 de operadón. 387.990 explicación de, xxxviii. 48.509 heredado. 4 . 330. 1060. 1066. 1078 heredado de C. 1056 objeto. 15. 16. 420 optimizado. 997 para procesar errores. 782 personalizado. 173 portable. 10 código fuente, 420 . 649 archivo de, 420 de una clase. 420 formato. 1237 coeficiente, 608 c o l . elemento, 1257 cola. 505 . 943 . 944 . 946 . 959 . 965 con dos partes finales, 1117 crece infinitamente. 983 de impresión. 965 en una red de computadoras, 965 objeto, 983 C o l » , definición de plantilla de dase, 966 colaboración, 225 , 372 colas, uso de, 965 colecciones, clases de. 505 colgado. 877 c o l g r o u p . elemento, 1257 c o i s , atributo, 1263 c o l « p a n , atributo, 1257 columna. 289 encabezado de. 256 subíndice de. 289 c o a (dominio de nivel superior), 884 coma, operador (,), 106, 205 combinar estructuras de control de dos maneras. 127 comentario. 995 comentario (//), 22, 28 , 1239 comentario de una sola línea, 22 comillas. 23 . 24 comilia sencilla (* Xcarácter, 360 comillas vacías. 825 cómo debe construirse el sistema,

        c o m p a r o . 855

        compartir las recursos de una computadora, 6 compilación de instrucción i f / g o t o en simulador de compilador, 991 error. 24 error de, 24 fase de, 24 proceso para un programa de Simple, 993 unidad de. 1189 compilada en forma condicional, instrucción de salida. 1058 compilador. 8 . 16. 24 . 92 . 960 . 998 genera instrucción de SML. 991 opción de. 21 optimización de, 1075 que puede realizar optimizaciones. 113. 194,470 compilar. 8 . 15. 420 . 943 . 1072 un programa oon varios archivos fuente, 1071 c o m p l , palabra reservada de operador, 1190 complejidad exponencial. 205 C o m p la jo

        dase, 465. 601 dase, definiciones de fundones miembro. 602 completo, diagrama de clases del simulador de elevador que incorpora la herencia, 652 complemento, operador de (-). 1008

        complemento a uno, 1008 , 1014 componente. 41 . 42, 170 . 450 comportamiento, 40 , 41 , 139, 405 , 4 ! 1. 503 composición. 143. 417 . 478 . 509 , 511 . 610 . 611 . 613 . 648 . 964 símbolo, 143 c o m p r a r . c p p . 929 c o m p r a r . c g i . 928

        comprobación de límites, 266 comprobación de tipos. 720 , 1056. 1057

        comprobar en el sentido matemático.

        139

        comp.lang.c,

        comparación entre contenido Web dinámico y estático. 885 . 888 comparaciones en un ordenamiento de burbuja. 278 comparar bloques de memoria. 1036 cadenas. 362.365 ¡teñidores, 1102 objetos »t r i n a , 855 uniones, 1081

        1233

        http://alexyniorlls.blogspot.com 1344 of 1380.

        128

        índice

        1288

        computación conversacional. 29 distribuida. 7 interactiva. 29 personal. 7 computadora. 4 cliente. 7,909 personal, 4 programa de. 5 programador de. 5 simulador de. 390 computadoras red de. 7.965 trabajo en red, 7 compularizado, diccionario. 849 cómputo, 4 concatenación. 29 de cadenas. 365 concatenar, 854 cadenas, 579 dos objetos de lista enlazada. 981 concepto, 503 concreta, dase, 681 condición. 34 . 76, 78 . 121, 123. 228 compleja, 124 de continuación de rielo. 103. 105, 108. 120.121 d: continuación de ciclo falla, 206 de guardia. 76. 77 . 78. 83. 108. 117. 121. 227.229 excepcional. 118 simple. 124. 125 condicional compilación. 1054. 1057 directiva del prcproccsador. 1057 expresión. 78 . 79.787 operador (? i). 78.79 conexión de red, 739 configuración de formato original. 765 confundir operadores de igualdad (-») y de asignación (-), 36 . 127 Conjunto de llamadas recursivas al método r i b o n a c e i . 205 c o n j u n t o K n t a r o s , clase. 545 conmutativa, operación. 551 conservar memoria. 193 Consorcio World Widc Web (W3C), 20 c o n a t , 210 . 213 . 273 . 275 . 470 ,

        554,1055

        apuntador. 556 calificador de tipo aplicado a un parámetro de arreglo. 275 calificador. 3 2 9 .1184 con parámetros de funciones. 330

        i n t * c o n a t . 335

        miembro de una clase. 509 objeto que debe inicializarse, 260

        objeto. 260 . 469.473 objetos y funciones miembro, 473

        referencia. 410 variable. 478 variables, deben inicializarse, 260 versión de o p a r a t o r [ 1 , 567 c o n a t _ c a a t . operador. 1184 . 1197 c o n s t _ i t a r « t o r , 869 , 1095 . 1096 . 1097. 1098 . 1101, HOZ 1108 . I 12Z 1124 . 1126 con at

        r a f a r a n c a . 1097

        o o n a t _ r a v a r a a _ it a r a t o r ,

        870 . 1096 . 1097. 1101 . 1109 constante, 172, 989 carácter, 360 con nombre. 259 de cadena. 360 de punto flotante sin sufijo, 1075 simbólica, 1054. 1055. 1056. 1057. 1060

        simbólica NDBBOG. 1060 simbólica PI. 1056 simbólica predefinida. 1060 construcción de un compilador, 939 "construcción en bloques". 41 constructor. 41 Z 430 . 453 con un solo argumento. 568. 577. 119Z 1193. 1196 de conversión. 568 . 577. 579. 1194 de copia. 450. 564 . 565. 567 . 1095. 1097

        de objeto global. 436 en una u n i ó n . 1081 llamada a, 430 llamado en manera recursiva, 565 predeterminado. 431 , 484 , 563, 565, 585 , 629 . 728 , 1095 sobrecargado. 430 Constructor con argumentos predetenni nados. 433 constructores de copia en parámetros que se pasan por valor. 579 no pueden ser v irtu a l. 699 Constructores con un solo argumento y conversiones implícitas, 1192 Constructores y destructores, orden de llamadas. 647 construya su propio compilador. 943 . 986

        c h a r *,332

        función miembro. 469 función miembro en un objeto c o a s t , 473

        función miembro en un objeto que no es c o n a t . 473

        consumo de memoria. 696 o o n t a c t o . h t K l . 1244 , 1249 contador. 83 . 88 . 95 . 159. 193 basado en oero, 106 de ciclo, 102 de instrucciones, 993

        contar aumentando en uno, 86 contenedor. 54 . 18Z 869 . 943 . I09 Z 1094 . 1133 de primera clase. 1096. 1098, 1101, 1109, 1112 de secuencia. 1094. 1101. 1105. 1112. 1116 sccuencial. 1094 contenido dinámico, 11 contenido Web dinámico. 885 . 888 CONTKMT LEN G TH . variable de entomo, 904 C o n t a n t - t y p a . encabezado. 893 , 905

        corteo, ciclo. 104 continuación de ciclo, prueba.

        167

        c o n t in u a

        instrucción. 122. 167.168 instrucción para terminar una sola iteración de una estructura for. 123

        control central, 19 del programa, 72 controlador. 138, 143 controlar la impresión de los ceros a la izquierda y puntos decimales pura valores d o u b l a . 756 converger en el caso base, 206 conversión ascendente. 1210 de cadenas, función a t o f . 1027 de cadenas, función a t o i . 1027 de cadenas, función a t o l . 1028 de cadenas, función para. 1026 de cadenas, función a t r t o d . 1029 de cadenas, función s t r t o l . 1030 de cadenas, función s t r t o u l . 1030 de tipo. 343 descendente. 671 entre un tipo integrado y una clase. 579

        explícita, 92

        implícita. 9 Z 578 . 1192, 1194. 1197. 1206

        implícita definida por el compilador entre tipos integrados. 579 knplícita incorrecta 1192 conversiones entre tipos integrados, 568

        por especificación de tipos. 568 conversiones implícitas con constructores de un solo argumento, 1192 por medio de los constructores de conversión. 1194 convertir aun nivel superior. 1206 de un tipo de datos mayor a un tipo de datos menor. 180 entre clases y tipos integrados, 426

        http://alexyniorlls.blogspot.com 1345 of 1380.

        1289

        índice

        letras minúsculas. 181 objetos s t r i n g en cadenas estilo C y arreglos de caracteres, 867 tipos, 344 una cadena en mayúsculas, 331

        974 C ra a Y D a a tru y a .

        convertir entre tipos, 568 tipos definidos por el usuario y tipos integrados, 568 c o n v i a r t a A M a y u a c u l a . 331

        cookie. 52 . 909 . 910,921

        definición la

        dase. 436 definiciones de funciones miembro de la clase.

        C ra a Y D a a tru y a ,

        copia de cadenas. 347 de cadenas mediante notación de arreglos y notación de apuntadores. 347 de miembros, 565 del argumento. 330 predeterminada a nivel de miembro. 565 , 1097 copiar cadenas. 347 . 363 copiar una cadena itilizando notación de apuntadores. 347

        utilizando notación de arreglos. 347 c o p y . 868 , 1104, lili c o p y b a c k w a r d . 1104 . 1152 corchete (U). 227 , 255 oorrección. 17 corrector ortográfico, 1051 corto circuito, evaluación. 126 c o a . 172

        1144 .

        1169 i f . 1104 . 1144 . 1147 ( ,7 8 4

        archivo de encabezado. 1076 < c a t d i o > , archivo de encabezado, < c a ig n a l> .

        181

        archivo de encabezado, 181. 181 895 . 904 . 1026. 1073 . 1078

        < c a td lib > ,

        < c e t r i n g > , 362

        archivo de encabezado. 181. 580 Ctrl, tecla. 116 Ctrl+C, 1075 -d, 116, 815 -z, 116, 754 . 815 < c t Í J M > , archivo de encabezado, 181 , 188,889 < c t y p a . h > , archivo de encabezado. 181 cuadrado. 162, 1252 c u a d r a d o , función. 180 cuadrados de varios enteros, 988 cuadro, 67 de contrasella, 1263 de sistema, 139 de texto, 1262 cuáles objetos participan en interacciones, 372 cuándo ocurren las interacciones. < c a tr in g > ,

        411

        de una fundón. 23. 24 cuestiones de seguridad relacionadas con la Interfaz común de puerta de enlace. 937 cursor. 24 c h a r , 27 , 116, 180, 867 , 1007 c h a r *, 361 c r i a r • devuelto por d a t a , 895 c h a r ••, 1029 c h a c k b o x . valor de atributo ( t y p a ) . 898

        atributo. Chino, 503 chip de silicio. 3 chachad,

        D dado con seis lados, 183 dados, juego, 188 dar formato. 749 d a t a , función miembro de la clase s t r i n g . 895

        __DAT*__, constante simbólica predefinida. 1060 dato miembro estático que da seguimiento al número de objetos de una dase. 498 datos. 5 con formato, procesamiento de archivos. 809 de encuesta, programa de análisis. 279 , 282 de entrada. 17 de salida, 17 en crudo. 823 en crudo, procesamiento de. 809 escritura de, 9 miembro. 41 . 406 , 411,416 miembro normalmente p r i v a t a .

        372

        412

        cubetas, ordenamiento, 317 c u b o P o r R a f a r a ñ e i * . 326 ,

        327 c u b o P o r V a l o r , 325

        Cuenta bancaria, programa. 835

        cuenta de ahorros,

        110

        c u a n ta A h o rro a . • cro e,

        extensión,

        1263

        15

        clase. 5 4 5

        validadón, 426 Datos protegidos de la clase base pueden utilizarse desde una dase derivada, 629 DBMS (sistema de administración de tases de datos), 811 d a c , manipulador de flujos, 750 , 755 . 760 DEC PDP-11, 9

        http://alexyniorlls.blogspot.com 1346 of 1380.

        índice

        1290

        DKC PDP-7, computadora, 9 decimal

        base 10, sistema numérico. 755 . 1029, 1030 dígito. 809 número. 166. 760 , 1020 pumo, 89, 93 . 112, 743,756 pumo en un número de punto flotante, 172 decisión, 3, 76 , 77 , 133 lógica, 4 ruta, 229 símbolo. 76 declaración, 27. 72 externa. 1004 declaraciones de parámetros. 175 declarar una función miembro s t a t i o como c o n s t . 502 ima referencia, 459 decoración de nombres, 219 decrementar un apuntador. 341 una variable de control. 102 decrcmento, operador de, 99 , 581 dedicada, línea de comunicaciones, 18 d « f « u lt.

        caso,

        113, 117, 118, 119.

        185 • d « £ i n « , 1057, 1060

        s t r i n g . 866

        de las funciones miembro f i a d de la clase s t r i n g . 862 de las palabras reservadas de operadores, 1191 de los operadores . * y -> •. 1199 de s e t _ n e w _ h a n d l e r . 797 de un constructor e x p l i c i t . 1195 de un dato miembro a u t s b l e , 1198

        del operador c o n e t _ c e e t , del operador

        1184

        r e i n t e r p r e t _ c e e t . 1186

        dd uso de n s m e s p s c e . 1187 Departamento de defensa de Estados Unidos (DOD), 13 dependiente de la máquina, 7 , 323 , 3 4 2 ,5 0 3

        depuración, 13. 20 herramienta de, 1060 depurador, 1055 depurar, 186, 1239 ayuda para. 1058 1118

        contenedor de secuencia. 1092, 1101, 1105. MU. 1113. 1116. 1117, 1128, 1129

        • d e f in e ,

        1055

        I d e f i n e d . 1058

        d e q u e u e . 965

        d e f i n e d . 1058

        definición, 102 de función. 174, 176. 195 de función como un prototipo de (unción. 175 definido por el usuario i» parame*rizado, manipulador de flujos, 754 tipo. 41 . 191. 406.568 d e it e l9 d e ite l.e e » . 4

        elemento, 1249 e l e t e [ ] (desasignación dinámica de arreglos), 497 e l e t e . 495 . 509 . 566 . 798 . 800 .

        d e l,

        d

        de las funciones erase y repises, 865 de las funciones i n e e r t de la dase

        archivo de encabezado. 182. 1096.

        • d e f i n a F I 3 . 1 4 1 5 9 , 1055

        d

        724 ,

        726

        D eque

        • d « f i n « NDEBUO. 1060

        directiva del prcproccsador, 424 ,

        de la función e u b s t r , 858 de la herencia múltiple, 1201 de la plantilla de clase F i l e ,

        1078

        operador. 699 . 945 delimitador. 895 con el valor predeterminado ' \n 746

        predeterminado, 748 Demostración de la asignación y concatenación de objetos «trino, 853 de la entrada proveniente de un objeto i e t r i n g s t r e a m . 873

        operación, 505 derivar una dase a partir de otra. 417 desarrollo de programas, herramienta. 76 . 98 de software orientado a componentes. 504 rápido de aplicaciones (RAD), 12, 450

        desbobinado de pila. 783 , 784 , 790 . 792

        Desbotonado de pila. 791 desbobinar la pila de llamadas a funciones, 791 desbordamiento, 781 , 1076 error, 503 descartar lo constante. 1185 descifrador, 877 descriptivas, palabras y frases en la declaración de un problema. 225

        desenlazar un flujo de entrada de un flujo de salida. 768 desigualdad, 1190 operador (I •), 556

        palabra reservada de operador. 1190 desplazamiento. 698 . 825 a la derecha, operador (>>). 547. 741 . 1008. 1015. 1048 ala derecha (>>). 1008 a la derecha con extensión de signo. operador de asignación. 1016 a la izquierda, operador («X 547, 741 , 1008. 1014. 1015. 1048 a la izquierda, operador de asignación, 1016 desde el inicio de un archivo, 819 en uno. error. 86. 105, 106. 255 para un apuntador, 344 desplazar a la derecha un valor con signo es dependiente del equipo, 1016 un rango de números, 184 desreferenciamiento de apuntador. operador, (•) 408 desreferenciar operador (•), 323 un apuntador, 323, 326.331 un apuntador a 0 , 323 un iterador, 1098. 1099. 1102 un iterador colocado fuera de su contenedor. 1099 un iterador coast. 1099 Destrucción de nombres para permitir una vinculación segura de tipos. 221 destrucción de nombres, 219 destructor, 416 , 435 . 453 . 1095 no recibe parámetros ni devuelve valor, 416 , 435 sobrecarga. 435 destructores no pueden sobrecargarse, 416 destruir objeto, 509 ai forma dinámica. 303 detalles de implancntación ocultos, 406

        detenerse en SML. 996 devolver un resultado. 177 un resultado entero, 175 un valor, 23 Devolver una referencia a un dato miembro p r i v a t * , 446 diagnósticos que ayudan a la corrección de un programa. 181

        diagonal (/), 227 , 1247 dagrama de actividad que modela la lógica del elevador correspondiente a la presión de los botones del piso. 230

        de actividades más simple. 130 de clases completo para la simulación del elevador, 144

        http://alexyniorlls.blogspot.com 1347 of 1380.

        1291

        índice

        de es»ado, 227 de estados, 227, 229, 296,374 de estados para la dase E l e v a d o r , 228

        de estados para las clases B o to n P is o y B o t o n * l a v a d o r . 228

        de objetos. 145.300 de objetos de edificio vado. 145 de secuencia. 300, 301. 303 . 372. 374 . 451.459 de secuencia pora el prooeso de planificación. 302 de secuencia que modela los pasos que repite el edificio durante la simulación, 300 dagnma de actividad. 73 . 74 . 76 . 78, 82, 108, 130. 229. 23a 296, 374

        estructura. 121 estructura de secuencia. 73 C o r , estructura. 108 i f . estructura. 77 i £ / e l s e . estructura. 78 nritch, estructura. 118 w h i l e , estructura, 82 diagrama de clases, xxxviii. 47 . 141. 225 , 226 , 296 , 374 . 451 , 453 , d o / w h 11* .

        457

        mostrando atributos. 226 que incluye atributos y operadones, 298 . 452 diagrama de colaboración. 372 para cargar y descargar pasajeros. 373

        diálogo, 29 clamante, 67. 74. 76. 143. 167

        dámetro. 76 . 77 diana, 229 dibujar una figura. 673 diccionario, 849 d i £ f e r e n c « _ t y p e , 1097

        digitalizar imágenes, 5 dígito. 27 . 360 drección (a) de una estructura, 1002 de búsqueda. 819 tfc memoria. 320.743 de un campo de bits. 1020 IP, 889 operador , 1172

        dividir en tokens una oradón para formar palabras separadas, 984 entre cero, 17. 88 , 1075 una cadena en tokens. 362,368 y conquistar. 170, 173 división. 5 . 31 . 3 2 .9 3 de enteros. 31.92 entre cero es indefinida. 503 DNS (servidor de nombres de dominio). 884 búsqueda. 884 do/while, estructura de repetición, 120, 121. 133 doble palabra, límite, 1003 subíndice, arreglo, representadón de una bajara. 350 subíndice, arreglo con. 289. 290 . 292 . 293, 295 . 312 . 349.943 subíndice, manipulaciones de arreglos con. 293 subíndice en arreglos, 601 “doble inidalización" de objetos miembro. 485 doblemente enlazada, lista, 960 , 1094 . 1113 documentar un programa. 22 dominio de nivel superior (TLD), 884

        DOO (diserto orientado a objetos). 296 , 405.451 dos a uno. relación, 142 dos niveles de mejoramiento. 89 dos puntos(«X 195. 297.479. 1079. 1201

        cfreccionabic. unidad de almacenamiento, 1020 directorio del sistema de archivos. 943 virtual. 886 Dirigir un apuntador de clase derivada a un objeto de clase base, 671

        dos valores más grandes, 159 DOS. 1066. 1075 double. 111, 172, 179, 1075 duplicada, llave. 1119 , 1124 duplicado eliminadón de. 943 , 977 , 984 objeto de clase base. 1206 valor de nodo, 969

        d y n a m i o _ c a s t , 800

        operador. 713 E/S de alto nivd. 739 de disco, complcdón. 781 EBCDIC. 367 ecuación de linca recta. 33 edición, 15 fase de, 17 E d if ic io

        archivo de encabezado de la clase. 456,511

        archivo de implementadón de la dase. 512 editar un archivo, 15 e d ito r. 15, 16

        editores de texto, 360 . 816 . 1237 educación asistida por computadora (CAI). 245 efecto secundario. 720 ejecución condicional de actividades. 301 de directiva dd preprocesador. 1054 ejecución secuencial. 73 ejecutar un programa, 15. 16, 17 ejemplo práctico clase re cha, 582 dase String. 569 Ejemplos Acceso a los datos y funciones miembro de un objeto a través de cada tipo de manipulador del objeto. 419 Algoritmos copy btekmrd. M rgt. unigue y reverse. 1152

        Algoritmos de búsqueda básica y ordenamiento de la Biblioteca estándar, 1148 Algoritmos aqual. eiseatch ylaxicographical compare. 1136 Algoritmos matemáticos de la Biblioteca estándar. 1144 Algoritmos min y a u . 1165 Algoritmos svap. i te r awap y rwap rangee, 1150 Análisis de una encuesta, programa. 279

        Arbol, definidón de la plantilla de clase. 971 Arreglo, definiciones de fundones miembro y friend de la clase. 558

        Arreglo, programa de prueba de laclase. 561 Arreglo de apuntadores a fundones.

        http://alexyniorlls.blogspot.com 1348 of 1380.

        358

        1292

        índice

        Arreglos de caracteres procesados como cadenas. 268 Asignación predeterminada de miembros. 449 asociaciones entre clases en un diagrama de clases. 142 • u t o p t r . objeto que administra la memoria asignada en forma dinámica. 798 Biblioteca estándar, clase de adaptador p r i o r i t y _ q u a u a . 1132

        Biblioteca estándar, clase de adaptador a t a c k . 1129 Biblioteca estándar, clase « t r i n o .

        Búsqueda binaria de un arreglo ordenado. 286 Búsqueda lineal de un arreglo, 284 Calcular la suma de los dementos de un arreglo. 261 Cálculo de factoriales con una ftindón recursiva. 200 Cálculos de interés compuesto con f o r . 11 1

        Campan*, archivo de encabezado de la dase, 453.519 C a m p a n a , archivo de implcmentación de la clase, 519 Campos de bits utilizados para almacenar un mazo de cartas.

        588

        1017

        Biblioteca estándar, dase T a c t o r . 592

        Biblioteca estándar, funciones de manipuladón de dementos de la plantilla de clase Tactor. 1109 Biblioteca estándar, plantilla de dase degua. 1118 Biblioteca estándar, plantilla de clase l i « t . 1113 Biblioteca estándar, plantilla de dase ■ a p . 1126

        Biblioteca estándar, plantilla de dase ■ r u l t i a a p . 1124

        Biblioteca estándar, plantilla de dase ■ u l t i M t . 1 120

        Biblioteca estándar, plantilla de dase H t . 1123

        Biblioteca estándar, plantilla de dase v * c t o r . 1106

        Biblioteca estándar, plantillas de clase de adaptador g u a u a . 1131 B i t á c o r a , archivo de encabezado de la clase. 458.515 B i t á c o r a , archivo de implcmentación de la clase. 516 B o t o n . archivo de encabezado de la clase, 653 B o t o n , archivo de implcmentación de la clase, 653 B o t o n X l a r a d o r . archivo de encabezado de la clase, 457 , 524. 654

        C C

        o b t a n a r A r a a . 639 c i r c u l o , dase que contiene una

        coordenada x-y y un radio, 619 C i r c u l o , clase que hereda de la clase P u n t o , 667,688 C i r c u l o , programa de prueba para

        la clase. 621 c i r c u l o 3 . dase que hereda de la dase P u n t o 2 . 627 C i r c u í o 4 . dase que hereda de la clase P u n t o 3 pero no usa datos p r o t a c t a d . 634 c i r c u í o 5 . clase que hereda de la clase P u n t o * . 645

        Clase b i t a a t y la Criba de Fratástenes, 1170 C o l a , definidón de la plantilla de clase. 966 Colocar imágenes en archivos de XHTML, 1245 Comparación de objetos «trinar,

        archivo de implcmentación de la clase, 525 B o t o n X l a r a d o r . definiciones de funciones miembro de la dase, 655

        archivo de encabezado de la clase, 458 , 526,

        B o to n P ia o ,

        656

        archivo de implcmentación de la clase. 526 B o t o n P i a o . definiciones de funciones miembro de la dase.

        B o to n P ia o .

        656

        instrucción para salir de una estructura f o r , 122

        813

        Creadón de una estructura, configuradón de sus miembros e impresión de la estructura, 408 Oración y recorrido de un árbol binario. 974 C r a a Y D a s t r u y a . definición de la dase, 436 C r a a Y D a s t r u y a . defrnidones de fundones miembro de la dase. 437

        Cuenta bancaria, programa, 835 dato miembro «tatic para rastrear d número de objetos de una dase. 498 . 501 de alcance. 196 de manejo de excepciones que lanza excepdones al intentar dividir entre cero. 785 de herenda, 612,613 Definidoncs de fundón sobrecargada. 219 Demostración de in p la c a s a r g a , u n ig u a c o p y y

        rarar««_copy. 1155 Demostradón de la asignadón y concatcnadón de objetos • t r i n g , 853

        855 601

        Demostración de la entrada proveniente de un objeto

        definiciones de fundones miembro de la dase.

        Demostradón de la fundón

        C o m p la j o .

        definidón de la clase.

        C o m p la j o .

        B o to n K l o r a d o r ,

        b raak ,

        archivo de encabezado de la clase, 690 i l i n d r o , archivo de implcmcntadón de la clase. 691 i l i n d r o , dase que hereda de la dase C i r c u l o * y redefine a la función miembro

        c ilin d r o ,

        Cbntrolar la impresión de ceros a la derecha y puntos decimales para números d o u b l a , 756 Conversión de una cadena a mayúsculas. 331 Convertir objetos « t r i n a en cadenas estilo C y arreglos de caracteres. 867 Copia de cadenas mediante la notadón de arreglos y de apuntadores, 347 Craps, simuladón, 188 Qeadón de un archivo del lado servidor para almacenar datos del usuario. 917 Oración de un archivo secuendal,

        602

        Conjunto de llamadas recursivas al método F i b o n a c c i , 205 c o n a t . calificador de tipo aplicado a un parámetro de arreglo, 275 Constructor con argumentos predeterminados. 433 Constructores con un solo argumento y conversiones implícitas, 1192 c o n t a c t o . h t m l . 1244. 1249 c o n t i n u a , instrucción para terminar una sola iteradón de una estructura f o r . 123

        i a t r i n g s t r a a n . 873 a u b a t r . 858

        Demostradón de la herencia múltiple, 1201 Demostradón de la plantilla de dase P i l a . 724 , 726 Demostración de las funciones • r a a a y r a p l a c a . 865 Demostración de las fundones f 1 1 . f ill_ n .g a n a r a t a y g « B a r a t a n de la Biblioteca estándar. 1134 Demostradón de las fundones i n a a r t de la dase s t r i n g , 866

        http://alexyniorlls.blogspot.com 1349 of 1380.

        índice

        1293

        Demosradón de las fundones miembro f ind de la clase string. 862 Demostración de las fundones rinov*. rtiaov* if. remove copyy ranov* copy if de la Biblioteca estándar. 1139 Demostradón de las fundones r aplaca. r«placa if. r aplaca, copy y raplac«_copy_if. 1142 Demostradón de las palabras reservadas de los operadores. 1191

        Demostradón de los operadores . • y ->*. 1199 Demostradón de lomar, bound. uppar bound y • gual ranga. 1160 Demostradón de aat_nav_handl«r. 797 Demostradón de un constructor a x p lic it. 1195 Demostradón de un dato miembro mutable. 1198 Demostradón del operador conit cait, 1184 Pemosradón del operador raintarpr«t_caat. 1186 Demostradón del uso de namaapaca. 1187 Desbobinado de pila. 791 Destrucdón de nombres para permitir la vinculadón segura de tipos. 221 Devolver una referencia a un dato miembro private, 446 diagrama caso-uso para el sistema del elevador. 139 Diagrama de actividad que modela la lógica del elevador correspondiente a la presión de los botones. 230 diagrama de clases completo del simulador del elevador que incorpora la herencia, 652 diagrama de clases completo para la simulación del elevador, 144 Diagrama de clases mostrando los atributos. 226 Diagrama de clases que incluye atributos y operaciones. 298, 452 Diagrama de colaboración para cargar y descargar pasajeros. 373

        diagrama de estados para la clase Elevador. 228 diagrama de estados para las clases BotonPiao y Botona lavador, 228 diagrama de objetos de edificio vacío. 145

        Diagrama de secuencia para el proceso de planificación. 302 Diagrama de secuencia que modela los pasos que repite el edificio durante la simulación. 300 Dirigir un apuntador de clase derivada a un objeto de clase base. 671 do/whila, estructura, 121 Doble subíndice, manipulaciones de arreglos con, 293 Documento de XHTML para leer la información de contacto del usuario. 916 Documento de XHTML que contiene un formulario para publicar datos en el servidor. 910 FVSsin formato mediante las funciones miembro raad, ffcount y writa. 749 Edificio, archivo de encabezado de la clase. 456.511 Edificio, archivo de implemcntación de la clase. 512 Elementos de encabezado hl a h6, 1241

        El «vador. archivo de encabezado déla clase. 461.528 Elevador, archivo de implemcntación de la clase. 530 Elevador, simulación. 511 Empleado, archivo de encabezado de la clase. 701 Bnplaado, archivo de implemcntación de la dase, 701 Bnpleado. definición de la dase con un dato miembro estático pora rastrear el número de objetos Empleado en memoria. 498 Bnplaado. definición de la dase mostrando la composidón. 481 Emplaado. definiciones de funciones miembro de la clase, 499

        bipleado. programa controlador pira la jerarquía de la clase, 711 bapleadoAaalariado. archivo de encabezado de la clase. 703 BaplaadoAaalariado. archivo de implementadón de la dase. 704

        BnplaadoBaaaMaa Comisión, archivo de encabezado de la dase, 709 btplaadoBaaaMaa Comisión. archivo de implementadón de la dase. 710 EmpleadoPorComision. archivo de encabezado de la clase. 707 ttiplaadoFoxComision. archivo ik implemcntación de la dase, 708 EmplaadoPorEoras, archivo de encabezado de la clase, 705

        EmplsadoPorHoras, archivo de implementadón de la dase, 705 ancabazado.html, 1241 Encuesta a estudiantes, programa. 265

        Enteros grandes. 607 Escala y cambio de enteros producidos por 1 ♦ r a n d

        ( ) % 6.

        183

        Escritura de una cookie, 911 Evaluación de los estados de error. 767

        racha, definidón de la clase. 479 racha, definidón de la dase con operadores de incremento sobrecargados. 582 racha, definidones de fundones miembro de la clase, 480 racha, definidones de fundones miembro y funciones f riand de la clase. 583 racha, programa de prueba para la clase. 586 rlaga. fundón miembro de ios_base, 765 Formulario que incluye botones de opdón y listas desplegabas, 1266 Formulario simple con campos ocultos y un cuadro de texto, 1260 f o z m u l a r i o . h t m l . 1260 f o x m u l a r i o 2 . h t m l . 1263 f o z m u l a r i o 3 . h t m l , 1266

        función c u a d r a d o definida por el programador, 174 función m á x im o definida por el programador. 177 Fundones establecer y obtener para manipular los dalos p r i v a t a de un objeto. 443 Fundones pora manejo de caracteres i s d i g i t . i s a l p h a . is a ln u m e i a x d i f f i t , 1021

        Fundones para manejo de caracteres ia lo w a r . i « u p p a r. to lo w a r

        y t o u p p a r . 1023 Fundones para manejo de caracteres is a p a c a . ia c n t r l. ia p u n c t. i s p r i n t e i s g r a p h . 1025

        Fundones que no toman argumentos, 208 Generar valores para colocarlos en los elementos de un arreglo. 259

        gat. put y aof. fundones miembro. 745 Hora, definidón de la clase. 411 HTML/XHTML. caracteres especiales. 1274 Xaiagan.html. 1245 Xmplaaoantacioa. definidón de la clase, 506

        http://alexyniorlls.blogspot.com 1350 of 1380.

        1294

        índice

        Implememarión de una clase proxy, 508

        In te rf •», definición de la clase. 507

        Impresión de una cadena, carácter por carácter, mediante c! uso de un apuntador no constante a un dato constante. 332 Impresión de varias líneas mediante una sola instrucción con cout. 25

        Impresión en una línea mediante instrucciones separadas con cout, 25 Imprimir características de objetos string. 859 Imprimir el valor de una unión en ambos tipos de datos miembro. 1082

        Imprimir la dirección almacenada en una variable ehar *, 743 Imprimir un entero con espariamicnto interno y signo positivo. 758 Imprimir un entero sin signo en bits. 1009

        Inicializarión de arreglos multidimensionales. 290 inicializarión de arreglos s ta tie e inicializarión automática de arreglos. 270 Inicializarión de un arreglo con una declaración. 257 Inirializador de miembros utilizado pura inicializar una constante de un tipo de datos integrado. 475 Inirializadores de objetos miembro. 483

        Inicializar en cero los elementos de un arreglo y su impresión, 256 Inicializar una referencia. 213 Inicializar y utilizar correctamente una variable constante, 260

        xnlia*. función para calcular el volumen de un cubo, 210 Insertar caracteres especiales en XHTML. 1249 Intento de llamar a una función heredada en forma múltiple mediante el polimorfismo. 1206 Intento de modificar datos a través de un apuntador no constante a un dato congante, 333 Intento de modificar un apuntador constante a datos no constantes. 334 Intento de modificar un apuntador congante a un dato constante. 335

        Intento incorrecto de inicializar una congantc de un tipo de dato integrado mediante una asignación. 476

        Xnt«r£*z, definiciones de funciones miembro de la dase. 507

        Introducción de datos tipo caracteres utilizando la función miembro g z tl i u de cin. 747 Introducir una cadena utilizando cin con extracción de flujos, en comparación con la entrada utilizando cin.gzt, 746 Investigación de crédito, programa. 819

        heradores de flujos de entrada y de salida. 1098 Jerarquía de herencia para Mi «mbroDcLaConunidad universitaria. 613 Jugificarión a la izquierda y a la derecha con los manipuladores de flujos la f t y rig h t. 757 Las funciones friand pueden tener acceso a miembros privados de la clase. 486 Las funciones no amigas/no miembro no tienen acceso a miembros privados, 488 Leer cookies de la computadora diente. 914 Leer e imprimir un archivo secuencia!. 817 Leer la entrada de QUZRY STRINO. 896 Leer un archivo de acceso aleatorio inicializar una referencia local ocasiona un error de sintaxis. 214 No se puede acceder a los datos privados de la clase desde una clase derivada. 629 NodoArbol. definición de la plantilla de clase, 970 ModoList*. definición de la plantilla de clase, 947 Números complejos, 603 Números de ribonacei generados con una función recursiva, 202 Objeto de función binaria. 1173 objetos const y funciones miembro const. 473 operadores a nivel de bits AND, OR inclusivo. OR exclusivo y complemento. 1011 Operadores de apuntadores * y *, 323

        Operadores de desplazamiento a nivd de bits. 1014 Operadores de igualdad y relaciónales. 36 Operadores sobrecargados de inserción y extracción de flujos, 552

        Ordenamiento burbuja mediante las llamadas por referencia. 336 Ordenar un arreglo mediante el método de burbuja. 277 Riso de argumentos por valor y por referencia. 212 Paso de arreglos y elementos individuales de arreglos a funciones. 273 fóso por referencia con un argumento de apuntador utilizado para elevar al cubo el valor de una variable. 327 Paso por valor utilizado para elevar al cubo el valor de una variable. 326

        p«rson*. archivo de encabezado déla dase, 454 . 538

        http://alexyniorlls.blogspot.com 1351 of 1380.

        índice

        1295

        archivo de implementadón de la clase. 539 P i l a , definición de la plantilla de clase con un objeto L i s t a compuesto. 964 P i l a , definición de la plantilla de clase, 961 P i l a , programa de prueba. 962 P i s o , archivo de encabezado de la clase, 459.535 P i a o . archivo de implementadón de la dase, 536 R>rtal interactivo para crear una página Web protegida por contraseña. 906 Recisión de los valores de punto flotante. 751 IVeincrementar y posincrementar. P erso n e,

        100

        Primera sccucnda de comandos CGI, 889 p r i n c i p a l , h t m l . 1238

        Rograma de ordenamiento de propósito múltiple que utiliza apuntadores a fundones. 355 Rograma de procesamiento de colas, 967 Rograma para cerrar sesión en el ejempb dd carrito de compras. 935

        Rograma pora imprimir histogramas. 262 Rograma para imprimir texto. 22

        Rograma que muestra una página de inido de sesión. 922 Romedio de clases, problema oon repetición controlada por centinela. 89 Romedio de clases, programa con repetidón controlada por contador. 84 P r u s b a C i r c u l o 4 demuestra la fundonalidad de la dase C i r c u l o i , 636

        archivo de encabezado de la clase. 455. 522 F u e r t e , archivo de implementadón de la clase. 522 P u n t o , archivo de implementadón de la clase. 686 P u n t o , dase que representa un par de coordenadas x-y. 616,665 P u n t o , programa de prueba para la dase, 617 P u n t o 2 . dase que representa a un par de coordenadas r-y como datos p r o t e c t e d . 625 P u n t o 3 . dase que utiliza fundones miembro para manipular a sus datos p r i n t * . 632 P u n t o 4 , dase base que contiene un constructor y un destructor, 643

        P u ert e.

        P u n to -C i r e u l o - C i l i n d r o .

        programa de prueba de la jerarquía, 640 Recuperar variables de entomo me­ diante la fundón g a t a n v . 893 Referencia a elementos de un arreglo mediante el nombre de arreglo y apuntadores. 345 R e l o j . archivo de encabezado de la dase. 454.514 R e l o j , archivo de implementadón de la clase, 514 Repetidón controlada mediante contador con la estructura f o r .

        clase con fundones miembro c o n s t . 4 7 1 T i a m p o , dase que contiene un constructor con argumentos predeterminados. 431 T i e m p o , definidón de la dase con fundones establecer y obtener. T ie m p o ,

        440

        representación de una dase en UML. 142 secuenria de comandos CGI que permite a los usuarios comprar un libro. 929 secuencia de comandos CGI que permite a los usuarios ver d contenido de sus carritos de compra, 931 Señales definidas en el encabezado

        definidón de la dase modificada para permitir llamadas a fundones miembro en cascada. 491 T i e m p o , definidón de la clase. 421 T i e m p o , definidones de fundones miembro de la clase. 421 T i e m p o , definidones de fundones miembro de la clase, incluyendo a un constructor que toma argumentos. 431 T i e m p o , definidones de fundones miembro de la clase, induyendo funciones miembro c o n s t , 471 T i e m p o , definiciones de fundones miembro de la clase, induyendo fundones establecer y obtener.

        < c e i g n e l > , 1076 u t . operaciones de la Biblioteca

        T ie m p o ,

        104

        estándar. 1157 Simuladón para barajar y repartir cartas de alto rendimiento. 1005 s i x e o £ , operador utilizado para determinar los tamaños de los tipos de datos estándar. 340 e i x e o £ . operador, cuando se aplica al nombre de un arreglo devuelve d número de bytcs en d arreglo. 339

        Street y itm cx t. 365 stremp y itm cnp, 366 ■trepy y xtrncpy. 364 ■treepn. función para buscar cadenas. 1033 s t r i n g . definición de la dase oon sobrecarga de operadores. 569 s t r i n g . definidones de fundones miembro y f r i e n d de la clase. 571

        programa de prueba para la clase. 574

        T ie m p o ,

        441

        implementadón de tipo de datos abstracto como una clase. 413

        Tiro de dados, programa usando un arreglo en vez de « v r i t c h , 263 Tro de un dado de seis lados 6000 veces. 184 Uso de argumentos de la línea de comandos. 1070 Uso de clases base virtuales, 1208 Uso de g e t con un formulario de XHTML. 899 Uso de g o t o . 1079 Uso de imágenes como andas de vínculos. 1247 Uso de la fundón miembro £ i l l y del manipulador de flujos e e t f i l l para cambiar d carácter de relleno en los campos que sean más extensos que los valores que van a imprimirse, 759

        s t r in g .

        ■ t r i a n . 370 ■ t r t o k . 368

        suma, programa de. 26 Sumatoria mediante f o r , 109 S w i t c b , estructura para evaluar múltiples calificaciones. 114 Tabla compleja de XHTML. 1257 Tabla de XHTML. 1255 t e b l e l . h t m l . 1255 t e b l e 2 . h t m l , 1258 t h i s , apuntador utilizado en forma

        implícita y cxplídta para tener acceso a los miembros de un objeto, 490

        Uso de la función s w e p para intercambiar dos objetos s t r i n g . 858

        Uso de las fundones de la Biblioteca estándar para realizar d algoritmo heapsort, 1163 Uso de las funciones e x i t y e t e x i t . 1074

        Uso de las funciones miembro g e t . p u t y e o £ , 745 Uso de listas de uigumentos de longitud variable. 1068 Uso de plantillas de fundón. 721 Uso de p o s t con un formulario de XHTML, 901

        http://alexyniorlls.blogspot.com 1352 of 1380.

        índice

        1296

        Uso de un aerador para mostrar un objeto « t r i n e , 869 Uso de una plantilla de función, 223 Uso de una u n i ó n anónima, 1083 Uso del manejo de seflales, 1076 Uso del manipulador de flujos u p p e r c a g a . 763

        valores de multiplicidad. 143 VWores de punto decimal mostrados en formato predeterminado, dentfflco y fijo. 762 v s n d s d o r . definición de la clase 427

        definiciones de funciones miembro de la dase,

        V sn d sd o r,

        428

        Vincular a otras páginas Web, 1242 \incular a una dirección de correo electrónico, 1244 vinculos.html. 1242 Volver a lanzar una excepción, 788 width. función miembro de la clase ios bas« .7 5 3 "elaborar clases valiosas", 42 El paseo del caballo. 313 métodos de fuerza bruta. 315 prueba del paseo cerrado, 316 elaboración de clases valiosas, 417 demento anidado, 1239 cero. 253 de probabilidad. 182 de un arreglo, 253 más grande de una colección, 601 particionador. 1167 vacío. 1247. 1248 E l « v « d o r . archivo de encabezado dt la clase. 4 6 1 .5 2 8 E l e v a d o r , archivo de implcmcntación de la clase, 530 E le v a d o r ,

        simulación, 405 ,

        511

        elevar a unu potencia. 151. 173 ffslif, 1058 eliminar la memoria asignada en forma dinámica. 502 un elemento de un árbol binario. 977 w registro de un archivo. 835 elipses ( ...) en un prototipo de función, 1067 , 1068 « l s s . 77,81 « a s e s , 15

        editor de texto. 1237 e-inail (correo dectrónico). 18, 1245 c-mail, ancla, 1245 “emburque". sección de la computadora, 5 empaquetamiento de código en forma de una función, 173

        empleado a destajo,

        166

        B s p ls a d o

        archivo de encabezado de la clase, 701

        archivo de implcmcntación de la clase. 701 dase. 479 . 485 definidón de la clase que muestra la composición, 481 definidones de fundones miembro de la clase, 499 definidones de fundones miembro de la clase, induyendo un constructor con una lista de inidalizadores de miembros, 482 programa controlador de la jerarquía de la clase, 711 ta p ls a d o A s a la r is d o

        archivo de encabezado de la clase, 703

        archivo de implementadón de la clase. 704 B ^ la a d o B a s a X a s C o a tL s io n

        archivo de encabezado de dase, 709 archivo de implementadón de la clase, 710 E S p la a d o P o r C c a a i s io n

        archivo de encabezado de la clase, 707

        archivo de implementadón de la clase, 708 ta p la a d o P o r H o r a s

        archivo de encabezado de la clase 705

        archivo de implementadón de la clase, 705 «anpresa de ventas por correo, 165 « ■ p t y . 1095 , 1130, 1131 , 1132 función miembro de la clase s t r i n g . 591

        encabezado, 913 , 1239 , 1240 de fundón, 190, 338 de tabla, elemento de, 1256 elemento de. 1240 http. 888 secdón de, 1239 « n c a b s z a d o . h t j s l , 1241

        encadenamiento, 29 encapsulamiento. 417 . 448 . 485 cncapsular, 4 1 encriptado. 163 encuesta. 264 . 266 . 278 a estudiantes. 278 a estudiantes, programa de análisis. 265 • n d . 1096 , 1098, 1099 . 1109 ,

        1168

        comando de Simple. 987.990 ¡lerador. 1103 • s n d i f . directiva del prcprocesador, 424 , 1058

        « ndl. 2 9 ,9 3 enlazado externo. 1073 interno, 1073 enlazadur (vea también vinculadar), 16

        enlace. 17 enlazar. 16. 1073 un flujo de salida a un flujo de entrada. 768 en línea, cursos de C++ para recibir créditos. 1232 en memoria E/S, 870 formato. 871 « n q u s u s , 965

        operadón. 505 ensamblador, 8 entero. 23 . 27 . 162 non, 164 par. 164 a n t s r o P o t s n c i s . . 243

        enteros aleatorios en el rango de 1 a 6.183 con prefijo de 0 (octal), 760 oon prefijos Ox o OX(hexadedmal), 760

        entorno (ambiente), 171 de desarrollo de programas. 15 de programadón. 171 que hace la llamada. 815 e n t o r n o . c p p . 893

        entrada de una cadena utilizando c i n con extracción de flujos, en comparadón a la desde el teclado. 91 estándar. 28. 890 . 1066 utilizando c i n . g s t . 746 cntrada/salida (E/S), 171,739 archivo de encabezado de flujo < io s t r s « a > . 22

        con formato, 740,823 de objetos. 841 fondones de biblioteca. 181 operadones de, 74 sendllas. estructura de control. 75. 77 . 129 Entrada y salida, iteradores óc flujos de. 1098 entrame, código, 418 Entrar, tecla, 28 . 117, 119 a n u a . palabra reservada, 190 enumeración. 190. 1055 constante. 191. 1057 enviar mensaje usando una referencia, 457 alida a cadenaen memoria. 182,870 E O F , 745 . 748 , 1020 m o t , función miembro, 745 , 766 , 767

        http://alexyniorlls.blogspot.com 1353 of 1380.

        1297

        índice

        •o f b it, 766 •« n al. 1104 . II36 . 1138 «2u tl_ r tn g i, 1122 . 1160 •qu«l_to. 1172 •ras* . 1096 . 1112 fandón miembro de la dase ■trina. 865 error, 17 de enlosador, 1186 de formato. 766 de sintaxis, 24 detectado en un constructor. 792 en tiempo de compilación. 24 en tiempo de ejecurión. 17 fatal. 17. 88. 323.392 lógico. 36. 85 . 88 sincrónico. 781 Error cortuin de programación, 10 •■ rror, directiva del preprocesador. 1058 escala. 261 Escala y cambio de números enteros producidos por 1 ♦ rand () % 6 . 183 cscalablc, 261 escalar. 184. 272 . 336 escapar del código restante en el ciclo. 123

        del resto de una estructura «vitch. 122

        escribir datos en forma aleatoria en un archivo de acceso aleatorio. 829

        •s c rib ir c o o k ia .c g i. 910 « se rib irc o o k i e . cpp. 911 cspaciamicnto interno, 758 vertical. 76.104 espacio en blanco. 76 . 165. 744. 745. 746. 749 . 1059 no puede asignarse, 1079 vacío. 825 espacio (x ' X27 carácter. 38 . 76. 119. 268. 1021. 1024. 1054 espacios de nombres. 1187 de nombres predefinidos, 1189 para rellenar. 759 espacio-tiempo, concesión, 834 especializución de plantilla de función. 719 especificación de enlazado. 1084 de excepción. 789 de excepción vacía. 790 específico, 680 espiral, 202

        establecer el valor de un dato miembro p r i v a t a , 426 estación de trabajo, 7 estado. 40 . 227 consistente, 415 , 430. 431,440 de acción. 74. 130 de error de un flujo. 744, 766.767 de formato. 749, 765 de formato, manipuladores de flujo, 755

        final. 74. 129 inicial. 74 . 129. 227 símbolo de estado de acción. 74 estados de la clase E l e v a d o r , 296 estándar algoritmo. 1103 bibliotecas de clases. 504 clases de excepciones. 800 conversión. 1186 flujo de entrada ( c i n X 740 jerarquía « x c « p t i o n , 801 objeto de flujo de entrada. 811 objeto de salida ( o o u t ) , 23 . 740, 811

        (amafio del tipo de datos. 340 estática, clase de almacenamiento. 193 . 195 estático, contenido Web, 885 estilo C arreglo basado en apuntador, 1134 asignación dinámica de memoria. 1078

        cadena. 867 cadenas c h a r *, 867 estructura. 253 . 320 . 334 . 406 .

        1001 ,

        1055

        autorrcferencial. 407 . 1002 de ciclo, 74.81 de control anidada. 94 . 131, 1080 de datos lineal. 946. 969 de secuencia. 73 de secuencia, diagrama de actividad. 73

        de selección. 73.76 de selección múltiple. 74 . 113 definición de, 406 . 407 , 1001. 1002, 1017

        dinámica de datos. 253, 320,943 etiqueta, 407 f o r anidada, 292 f o r externa. 292 funcional de un programa. 24 i f /«l •• anidada. 79.80 miembro de. 1001 nombre de. 1001.1002 operador de miembro de (. X1081 sus miembros tienen acceso p r i v » t « en forma predeterminada. 1001 tipo de. 407 . 1001, 1003 estructura de control. 72 . 73 . 75 . 77 . 78, 429 , 1080

        anidada. 75 apilar. 75 . 129 estructuras de datos. 54 . 253. 943 . 1092 se pasan comúnmente por valor. 410

        Estructuras de control anidadas: problema de resultados de examen. 96 “es un”, 1201, 1203 etiqueta. 195 de acción. 228 especificada en una inarucción g o t o . 1079

        etiquetas en una estructura s w

        itc h ,

        195

        evaluación de expresiones, 960.981 de izquierda a derecha, 32,33 evaluar bits de estado después de una operación de E/S. 744 carácter. 181 estados de error, 767 una expresión postfijo. 983 evento. 227 evitar fuga de memoria. 800 que el objeto de una clase se asigne a otro. 567 que los archivos de encabezado se incluyan más de una vez, 424 que los objetos de una clase se copien. 567 examinar cuidadosamente cualquier intento de modificar datos. 439

        los datos. 415 excepción, 780 de punto flotante. 1075 que no aparece en la especificación de excepciones. 790 E x c a p o io n D iv id ir E n t r « C « r o ,

        787

        excepciones polimórficas, procesamiento. 793 < « x c « p t i o n > . 182 . 787 . 790 . 800 a x c a p t i o n , 800

        dase base estándar. 787 . « x « . 889 . 890 . 892 • x i t . 784 , 796

        función. 436 . 815. 1073. 1074 constante. 1073 E X I T S U C C E S S . constante. 1073 E X IT _ F A IL O R E . • x p . 173

        expandir una macro. 1056 • x p i r « a . atributo. 910 • x p lic it .

        constructor, 1194, 1195 palabra reservada, 1194. 11%

        http://alexyniorlls.blogspot.com 1354 of 1380.

        índice

        1298

        "explosión’’ exponencial de llamadas, 205

        cxponcndación, 34 , 110 exponerte. 608 expresión. 76 , 78, 92 , 106. 172 controladora. 117 de acción. 74 . 77 . 78 . 83. 108. 117. 121

        de conversión. 1057 integral constante. 119 extender el lenguaje básico de programación, 504 extensibilidad. 680 . 1103 de C+ + ,555 de la STL, 1095 extensión de nombre de archivo. 15 signo. 1008 Extensiones multipropósito de correo Internet (MIME), 888 •x ta rn «c*. 1084 palabra reservada. 192. 194, 1072 extracción de flujos, operador >> (“obtener de"). 26. 28 . 38 . 222 , 547 , 552 . 564 . 742 , 744 . 841 extraer características comunes, 650

        F r. sufijo de punto flotarte, 1075 fabs, 173 factor de escala. 184. 188 factorial. 163, 165. 199. 200 . 202 £• 1 1 . función miembro, 766 744 . 748 , 766 , 815 fa ls a . 34, 74 , 76 , 77 , 78 , 81 , 206 , 763

        FAQs, 1232 fase. 87 Pacha dase. 466 . 479. 582 definidón de la clase con operadores de incremento sobrecargados. 582

        definidones de fundones miembro de la clase. 480 definidones de fundones miembro y funciones friand de la clase. 583

        programa de prueba para la clase, 586

        fecha en que se compiló el archivo fuerte. 1060 F1FO. 965 , 1094. 1117 , 1130 figura de un árbol. 999 figuras, jerarquía de clases de. 613 , 614,661

        fila de espera. 505 filas. 289

        _PIL*_, constante simbólica predefinida, 1060 f ila , valor de atributo (typa), 898 f l l l . 1104 . 1134 función miembro, 757 , 759 f ill_ n . 1104 . 1134 fin “de la entrada de datos". 86 de línea. 29 deaain. 24 de un flujo. 819 de una cadena. 944 de una secuenda, 1150 fin de archivo. 116, 117. 361 , 766 , 816

        combinadón de teclas. 816, 1066 indicador de, 815, 816, 1070 marcador. 8 11 fiad. 1103 . 1104. 1119 . 1122. 1148 función miembro de la dase •tria* . 862, 863.864 find aach. 1104 fin d a n d , 1104 find f i r s t not of. función miembro de la clase atrin g , 864

        f in d _ flra t_ o f. 1104 fiad, f ira t_ e f . función miembro de la clase atrin g , 864 . 901 fin d _ if. 1104 , 1148 £ind_l*«t_of, función miembro de la clase strin g . 864 firma. 179 . 219 . 581.582 de una fundón, 179 f ir a t. 1122 . 1124 f ixad. 93 f lags. función miembro. 764 . 765 función miembro de ioa baaa. 765

        flecha. 67 . 74 de transidón, 74 . 76 . 78 . 82,83 operador de selección de miembros ( - » . 407. 408.418 flo a t. 92 . 180, 1075 ,archivo de encabezado. 181 f loor. 173. 242 flujo base, 750 dase de. 812 de bytes. 739 de caracteres. 23 de control. 39 . 82 de control de una llamada a una fundón v irtu a l. 697 de control en la estructura if/a ln a . 78 de datos, 6 de entrada, 744 . 746

        de entrada, iterador de, 1098 de entrada, objeto (ein), 26 . 28 de error estándar con búfer, 740 de salida, lili de trabajo, 73 flujos de F/S, jerarquía de clases, 812 entrada. 741.744 entrada/salida, 22 error en operadón, 766 estándar, biblioteca. 740 salida, 741 f a o d . función. 173 f a t f l a g s . tipo tic datos. 764 fondo de una pila. 960 fo r

        diagrama de actividad de la estructura, 108 qemplo de estructura de repetición. 108

        estructura de repetición. 104, 105. 106. 108. 133 f o r _ a a c h , 1144 , 1147 fo r»

        elemento. 1261 demento de XIITMI. ( . . .< /fo r » > l. 897

        forma jerárquica de administración. 171

        formato científico. 762 de moneda. 182 de número de punto flotante en formato científico. 762

        de punto fijo. 93 de salida de número de punto flotante. 761 estándar. 408 fijo. 762 Formulo de intercambio de gráficos (GIF), 1245 formular algoritmos. 83 . 86 formulario. 897 , 1237 . 1259 FORTRAN (FORmula TRANslator), lenguaje de programación, 13, 1237

        forzar un punto decimal. 93 . 743 un signo positivo. 758 Foundation Classcs. 14 fracción. 607 frase verbo!. 296 . 299 . 371 . 374 frases verbales pora cada clase en el simulador. 297 £raa. función. 1078 f r ia n d

        de una clase derivada. 1203 función. 485. 549, 550. 557, 568, 613 . 649 , 719.731

        http://alexyniorlls.blogspot.com 1355 of 1380.

        1299

        índice

        funciones para mejorar el rendimiento. 485 fro n t. 1105 . lili. 1130 fro n t_ in s a rta r. 1154 < fs tr« u > . archivo de encabezado. 181, 742 . 812 . 814 . 834 . 835 , archivo de encabezado. 181 fuera de alcance. 198 fuera de rango elemento. 564,580 subíndice de arreglo. 781 fuerza bruta cómputo. 166 total. 166 fuga de memoria. 54 . 798. 800. 869. 945. 1093

        de recursos. 783. 793 función, 10, 17, 23 . 41 , 133, 171, 173 . 178. 406 de acceso. 426,427 de ayuda, 427 de comparación, objeto. 1119.

        para manejo de memoria Mmsat, 1041

        personalizada. 174 predicado. 427 , 952. 1116. 1138. 1141. 1144. 1147. 1150. 1154. 1158. 1159. 1162.1167 privada. 297 pública. 297 que haoe la llamada. 171, 175 que no recibe argumentos, 208 que se llama a sí misma. 198 ra la * . 1075 sobrecargada, 219 . 720.722 sobrecargada, definición de. 219

        virtual, 663 v irtu a l pura. 681. 695 . 700 funcionalÍ7ar, 5 un programa. 173, 207 funciones oomo bloques de construcción. 173 con listas de parámetros vacías. 208 de memoria de la biblioteca para manejo de cadenas. 1037 deben ser pequeñas. 176 friand no son funciones miembro.

        1124

        486

        de comparación lasa. objeto, 1119,

        friand pueden tener acceso a los miembros p riv ata de una dase. 486 miembro, llamadas a menudo concisas. 417 miembro, llamadas pura objetos oonat.470 miembro de una dase. 416 miembro en cascada, llamadas a,

        1132

        de ordenamiento. 719 de terminación definida por el programador. 790 definida por el programador. 174. 177.192

        estandarizada. 173 exponencial. 173 generadora, 1134 global. 425.731 llamada, 170 atyor definida por el programador.

        494

        miembro normalmente public, 412

        miembro que no toman argumentos.

        177

        miembro. 41. 406 . 411 . 412,416 miembro, llamada a, 547 miembro de acceso. 426 miembro definida en una definición de dase, 416 miembro en cascada, llamada a. 491. 492

        miembro ¿nl. archivo de encabezado. 116. 181 IP. 19 isalnum. 1020. 1021 isalp h a. 1020, 1021 is c n t r l . 1021. 1024 i« d l0 it, 1020, 1021, 1023 isEapty. función predicado. 427 is F u ll. función predicado. 427 isfrraph. función. 1021 , 1024 islo v a r. función. 331 . 1020 , 1023 ISO. 3 . 9 . 504 1SP (proveedor de servicios de Internet), 1262

        http://alexyniorlls.blogspot.com 1358 of 1380.

        1302

        índice

        i s p rin t, función, 1021 , 1024 i apune t, función. 1021 , 1024 iaspncn. función. 1021 , 1024 is trn a a , dase, 741 , 742 , 818 , 824 , 831 , 834 , 841 , 871 . 1205 , 1206 ia tra a a , función miembro ignora. 554 iatra* M _ itarato r. 1098 . 1099 istrin g etraam . clase. 870 , 872 .

        decraps. 188. 192 de póquer, programa, 385 de probabilidad, 188 jugar, 182 justificación a la derecha. 113, 352. 755. 757 a la izquierda. 77 . 113. 352. 757 . 758

        a la izquierda y a la derecha con los manipuladores de flujos ln£t y rig h t. 757

        873

        iauppar. función, 1020 , 1023 1SV (distribuidor independiente de software). 699 is x d ig it, función, 1020, 1021 itar_aw«p, 1104, 1150 iteración. 83 . 206 dd ciclo. 83 iterador, 505 , 682 , 719 , 869 , 870 al siguiente elemento de un contenedor. 1098 dase de. 485 . 682 de avance, 1100. 1106. 1144. 1150. 1151. 1152. 1154.1167 de avance, operaaón. 1102 de entrada, 1100. 1102. 1138. 1139, 1144, 1147, 1154, 1158, 1159, 1168

        de flujo de salida, 1098 de salida. 1100. 1102, 1135. 1144. 1156. 1159. 1166. 1167 objeto. 505 operación de. 1102 que apunta al primer elemento más allá del fin del contenedor. 1098 typadaf. 1101 < ita ra to r> . 1154 . 1156 archivo de encabezado. 182 ita r a t o r . 54 . 1092 . 1095, 1096 . 1097. 1098 . 1101 . 1122

        J Jacobson. Ivar, 43 Jacopini. G.73 , 132 Japonés. 503 Java. II, 14 jefe. 171 jerarquía de clases. 681. 699 . 9 % de datos. 809 . 810 de figuras. 680 de herencia pora Hia*broDal»aCo*sunidad universitaria. 613 de herenda. 674,682 de las clases de excepciones. 800 de promoción para los tipos de datos integrados. 180 juego de “adivina el número". 246 de canas. 350

        K Ketueny. John, 11 Kcmighan y Ritchic C, 9 kiknnetraje recorrido por los automóviles. 157 Koenig. Andrew. 780 Kurtz, Thomas, 11

        L L

        sufijo de entero. 1075 sufijo de punto flotante, 1075 La tortuga y la liebre. 386 Laboratorio de ciencias de la computación. 18 lado del servidor archivo. 915 . 917,921 manejador de formularios. 882 lado izquierdo de una asignación, 128, 254 . 4 4 5 .5 6 4 lados de un cuadrado. 166 de un triángulo. 163 de un triángulo recto, 163 lanzado, destructor del objeto. 793 kin/amienlo, punto de. 783 lanzar un in t, 787 una excepción, 782 una moneda. 183, 245 latín cerdo. 398 Lee. Meng. 1092 leer datos de un archivo en forma secuencial, 816 l.ccr c imprimir un archivo secuencial. 817 Leer un archivo de acceso aleatorio en forma secuencial. 832 laa rco o k ia . cpp, 914 la£ t. manipulador de flujo. 113, 755 , 757 legibilidad, 22 . 76. 95 . 176, 1239

        langth. función miembro de la dase etrin g . 852 langth_arror, 800 excepción. 8 5 9 ,1 112

        lenguaje de alto nivel. 8 .9 de marcado. 52 . 55, 1237 de programación. 7 de programación por procedimientos, 41.406 ensamblador. 7 híbrido. 9.443 máquina. 7 . 8 , 193,991 máquina, código. 113.960 máquina, programación. 387 natural de una computadora. 7 orientado a objetos. 14 portable, 20 sin tipo. 9 Lenguaje de marcado de hipertexto (HTML), 881 . 1237 lenguaje de programación, 14 archivo de encabezado de la biblioteca estándar, 180 biblioteca estándar. 10. 170 recurso. 21. 1232 recursos en Web. 1230 Lenguaje de restricción de objetos (OCL). 145 1 bbb_•qual. 1172 1«bb< doubl* > ,1 1 2 2 1 « bb< i n t >. 1119 . 1121. 1124 1 bbb, 1172 Int, instrucción en Simple. 987 . 991 , 999 letra. 809 mayúscula (A-Z), 27 . 68 . 181. 331. 1020, 1023 minúscula, 27. 68, 75 . 181. 331 . 1020, 1023 levantarse y arreglarse, algoritmo, 72 laxioographical compare. 1136 , 1138
      • (demento de lista), marca. 1251

        liberar (desasignar) memoria. 495 . 797

        liberar memoria. 945 licencias para clases, 450 límite de crédito en una cuenta de débito. 157 límite de una unidad de almacenamiento. 1019 límite en el tamaño de valores de punto flotante. 181 . archivo de encabezado, 182

        . archivo de encabezado, 181 • lina, directiva del preprocesador. 1059

        LXNZ . constante simbólica

        predefinida,

        http://alexyniorlls.blogspot.com 1359 of 1380.

        1060

        índice

        1303

        linca, 33 base. 1257 con una punta de flecha, 301 con varias instrucciones. 38 de comandos, 1066 de comandos argumento de, 349. 1070

        de comandos, indicador. 1067 de comunicación con el archivo. 814 , 8)6 de texto. 747 en blanco. 28.88 pora pagar en un supermercado. 983 punteada. 74 recta, forma. 32,33 Linux. 884 Hat. 1092, 1097 , 1101, 1105 . 1096 . 1113 , archivo de encabezado, 182

        natural. 173

        logicL error. 800 lógica de negocios, 883 lógica de presentación. 883 logicaland, 1172 logjcal_not, 1172 k>g¡cal_OE. 1172 Logo, lenguaje, 312 lona. 119. 179. 1075 doubi a. 180. 1075 int. 119. 180.201 longitud de Lacadena. 267. 361. 857 de la subeadena. 581 máxima de una cadena. 861 variable, lista con argumentos de. 1068

        lote. 6 Lovelacc, Lady Ada.

        lowar bound.

        lista, 944 . 1128 anidada. 1251 contenedor de secuencia,

        13 1119. 1122. 1160

        Luz archivo de encabezado de la clase, 456.520

        1113

        de argumentos. 171 de clases base. 1201 de parámetros. 175 de sustantivos en el enunciado del problema. 140 desordenada, elemento (ul). 1251

        enlazada, 943 , 945. 946 . 947, 952, 959

        enlazada, plantilla de clase, 999 indizada, 999 inicializadora. 257, 258.361 lista separada por comas. 27, 39 , 106. 171, 175,321 ordenada. 1251. 1252 simplemente enlazada. 959 Lista

        definición de la plantilla de dase. 948

        plantilla de dase. 947 . 961 , 964.965 liata.ht*. 1252

        L istas TI POPI LA >, 964 islas, procesamiento de, 947 itera1, 28 LMS, 387 , 989 localhost. 884 . 889 Localizador uniforme de recursos (URL), 881 ,archivo de encabezado, 182

        localtiiM. función. 888 , 890 Location.encabezado. 905 loa, 173 lofllO. 173 log,n niveles en un árbol binario de búsqueda con n elemento*. 977 logaritmo, 173

        archivo de iraplcmentarión de la dase. 520 Ivalue (“valor izquierdo”), 128. 213 , 254 . 322 , 323 . 445 . 5(4. 568 . 580 , 1102, 1119 Ivalúes como n-alues. 128 llamada a función. 171, 176 anidada. 784 operador (>. 581. 698 pila. 790 sobrecarga, 209, 579 llamadas a destructores en orden inverso al de las llamadas a constructores. 435 llamar funciones por referencia, 325 llave derecha O). 23 . 24.30 izquierda ({). 23.26 llaves (O). 24 . 38, 80 . 81 , 92 , 117 llaves en una estructura do/wbila, 120 M

        Macintosh, 754 , 816 niacro. 180. 720 . 1067. 1068 argumento. 1056 definición. 1059 expansión, 1057 macros definidas en el encabezado

        .

        1067

        magnitud. 758 justificada u la derecha, 755

        aailtot.URL,

        1244

        u i a , 23. 24 . 26 . 30 , 174 . 1073 ■ak*. herramienta. 1073 ■aka_haap. 1162

        ■ a ltad la . 1073 ■ alloe, función, 1078 manejador de excepciones. 780 . 782 de señales. 1076 implícito. 418 manejo de excepciones. 182 de excepciones, ejemplo que lanza excepciones al intentar dividir entre cero. 785 de señales. 1076 de señales, biblioteca de. 1075 manejo de caracteres función de biblioteca para. 1021 funciones is d ia it, isalpha. iialnuxnc ¿axdigit. 1021

        funciones islowar, iauppar, tolowar y touppar, 1023 funciones isapaca. iac n trl. isp u n c t.isp rin t c iagraph. 1025 Manhattan, 168 manipulación de apuntadores. 695.943 de caracteres individuales. 1020 de una lista enlazada, 952 peligrosa de apuntadores, 695 manipulador. 113, 535 . 812 de flujo, 29. 93 . 113. 749. 754 . 758. 818

        de flujo ahowbasa, 761 de flujos £ixad. 756,761 de interrupciones, 362 de objetos. 419.500 en un objeto. 418 . 451. 452. 455

        manipuladores de flujos boolalpha y noboolalpha. 764 mantenimiento de software, 15 ■•manufactura”, sección de la computadora. 5 . archivo de encabezado. 182. 1096. 1126 ■ap. 1094 . 1096. 1101 . 1119. 1124 . 1126

        mapeo de uno a uno. 1094, 1126 de uno a varios. 1094 Máquina analítica. 13 marca de fin, 1239 marcado. 886 “más allá del final”, iterador. máscara. 1010 “más débil", tipo de iterador.

        1147 1100.

        1101

        < u t h . h>. archivo de encabezado.

        http://alexyniorlls.blogspot.com 1360 of 1380.

        181

        1304

        índice

        m a t e m á t ic a s b ib lio te c a d e , 17 2 , 181 fu n ció n d e la b ib lio te c a d e , 111. 1 7 1 , 1 7 2 ,2 3 6

        M th o d -

        fu n c ió n * q r t de l a b ib lio te c a d e. 179 b u l fu n c ió n . 1 165

        1262

        m o d u la r iz a r u n p r o g r a m a . 1 7 3 m ó d u lo . 3 1 . 3 2 en C + + , 170

        ■ a t h o d ■ " p o » t ” , 1262 m é to d o , 4 1 . 4 0 6 , 4 1 1 d e co n stru cció n en b lo q u e s . 10 d e h u n d im ie n to . 2 7 7 http . 8 8 7

        ■ o d u lu s < T > . 1172

        m e z c la r d o s o b je to s d e lis t a s

        m o stra r

        f u n c ió n , 1 1 4 4 ,

        o b jeto , 4 2 0 o p erad o r (H ). 3 1 ,6 7 . 1 6 2 , 183, 188

        e le m e n to s d e d a to s d e tip o in te g ra d o , 7 4 2 un v a lo r d e p u n to flo ta n te , 7 5 6

        o rd e n ad as. 981

        1147

        M F C , 14 fu n c ió n , 1 0 9 5

        m ic r o p r o c e s a d o r, t e c n o lo g ía d e c h ip .

        m ax h eu p . 1162

        18

        m á x im o c o m ú n d iv is o r ( M C D ) , 2 4 5 ,

        M ic r o s o f t M F C (M ic r o s o ft

        248

        F o u n d a tio n C la s s c s ) , 14

        m a x l n n g t h , a tr ib u to , 1 2 6 2

        1 1 7 6 .1 1 9 1 p á g in a in ic ia l. 1234

        n iv el d e p r e c e d e n c ia . 3 2 m a y o r o ig u a l q u e , 3 5

        M ic r o s o f t W in d o w s , 1 1 6 s is te m a s b a s a d o s e n . 7

        m ayo r q u e. 35

        «cd. 2 4 8

        m ie m b ro , 4 0 7

        m e c á n ic a d e l a h e r e n c ia m ú lt ip le , 1205

        co m p o n en te d e u n a c la s e , 4 6 0 u ie m b r o s d e c la s e c o n a c c e s o p r i v e *

        m e d ia , 2 7 8 d o ra d a . 2 0 2

        p re d e te rm in a d o . 1001 d e d a to s d e u n a c la s e . 4 1 6 d e u n a es tru c tu ra . 4 0 7 p r i v e * d e u n a c la s e n o so n a c c e s ib le s fu e ra d e la c la s e .

        m e d ia n a , 2 7 8 , 2 8 2 M s x a u p , f u n c ió n , 1 0 3 7 , 1 0 3 9 B u n c p y . 1038 f u n d ó n . 1037

        415

        f u n c ió n . 1 0 3 7 , 1 0 4 0

        ■ «m o v

        . f u n c ió n , 1 0 3 7 , 1 0 3 8

        1040

        7 9 6 .7 9 8 a sig n a d a en fo rm a d in á m ic a , 5 0 2 , 6 9 9 .7 9 8 a sig n a d a en fo rm a d in á m ic a p a ra un a rr e g lo . 1 078 d in á m ic a , 7 9 7 no a s ig n a d a . 1 078 p r in d p a l, 5 . 17 v ir tu a l. 7 9 4 .7 9 6 .9 4 5 v ir tu a l, siste m a s o p e ra tiv o s. 14 798

        m en o r o ig u a l q u e , 3 5

        m e n o s , s ig n o ( - > q u e in d ic a

        « i n . I 165 « in

        e l a m e n t . 1144. 1147

        ■ i n u * , 1172 M is s i t i o s d a r a d , 884 m is ió n c r it i c a , 7 8 4 B i s u t c h . 1104. 1 1 3 6 . 1138 M T T .2 0 p ro y e c to M a c , 18

        m o d if ic a c io n e s a l c o m p ila d o r d e

        v is ib ilid a d p r iv a d a , 4 5 1

        S im p le . 9 9 8

        m e n s a je . 4 1 . 2 9 6 . 3 0 1. 3 0 3 . 3 7 0 . 5 4 7 d e e rro r, 17 d e re d , lle g a d a d e , 781 e n v ia d o a un o b je to , 411 in d ic a d o r. 7 6 8

        1261

        m u lt ip lic id a d , 1 4 2 , 1 4 3 « u l t i p l i * * < T > , 1172 n u iltip r o c e s a d o r , 6 m u ltip r o g r a m a c ió n , 6 M u llip r o p ó s ito , p r o g r a m a d e o r d e n a m ie n to q u e u tiliz a a p u n ta d o r e s a f u n c io n e s , 3 5 5

        m u lt it a r e a s , 13

        d e re an u d a ció n d e l m a n e jo de e x c e p c io n e s , 7 8 3 d e u n a s im u la c ió n , 138

        “m e n o r t ip o " , 1 8 0

        p ila . 9 9 1

        m u lt ip lic a c ió n . 5 . 3 1 , 3 2 o p erad o res * . / . h d e , 9 3

        tip o t * x t / h t m l . 8 8 8 tip o e * x e / p l * i n . 8 8 8

        m o d e lo , 1 4 1 .3 9 0

        m en o r q u e , 35 o p e ra d o r (< ). 1 097

        M t h o d , atributo. fo x m , 897

        m ú ltip le s a rc h iv o s fu e n te . 4 2 0 arch iv o s fu e n te , p r o g r a m a . 1071, 1072

        s u l t i s s t , 1094. 1096, 1101, 1119,

        m o d e la r , 41 u n a in te ra c c ió n . 3 7 4

        f u n c ió n . 1 0 3 7 , 1 0 4 0

        m e t e r u b ic a c ió n d e m e m o r ia e n la

        ■ x l t i p l s , 243

        d e c o r r e o I n te r n e t), 8 8 8 tip o i a a g t / g i f , 8 8 8

        m ita d d e p a la b r a , 9 9 8 , 1 0 0 3

        a rc h iv o d e e n c a b e z a d o , 182

        u r g * . 1113. 1116. 1152. 1154

        m u llin iv d e s . a p l ic a c ió n . 8 8 2 . 9 3 8

        M I M E ( E x t e n s io n e s m u llí p ro p ó sito

        m e m o r ia . 5 . 1 6 . 1 7 . 2 7 . 3 0 . 1 9 3 . 7 9 4 .

        ,

        1126

        M ic r o s o f t V is u a l C + + . 1 5 . 1 0 7 3 ,

        m a y o r , 177

        MBchr, M»chr.

        m o to r d e b ú s q u e d a . 1 2 4 0 ■ u l t i m a p , c o n te n e d o r a s o c ia t iv o , 1094, 1 0 9 6 , 1101, 1 119. 1124.

        m o d if ic a r d ire c c ió n a lm a c e n a d a en v a ria b le ap u n tad o r, 3 3 4 un ap u n ta d o r c o n sta n te, 3 3 4 m odo, 2 7 8 , 282 d e a c c e s o p re d eterm in a d o p ara la c la s e e s p r i v t s . 424 d e a p ertu ra d e a rc h iv o . 8 1 4 . 816

        1122. 1124 m u ltiu s u a r io . e n to rn o , 9 6 5 M u s s e r . D a v id . 1 0 9 2 s u ts b ls . d ú o m iem b ro . 1 9 2 , 1 1 9 7 . 1198 d e m o stra c ió n . 1198

        N n n iv e le s , a p lic a c ió n d e , 8 8 2 , 9 3 8

        m m a trib u to , 1262 fu nción d e la c la s e e y p * _ i n f o . 714 n s jM s p a c s a n id a d o . 1189 c a lific a d o r. 1 189 g lo b a l. 1189 m iem b ro . 1 187 p ala b ra re s e rv a d a . 1 1 8 7 . 1189 n a v . h e a l , 1247 n a v e g a d o r. 9 0 9 . 9 1 0 b a sad o en te x to . 1246 p e tic ió n , 1260 W eb . 9 1 3 N C S A ( e l C e n tro n a c io n a l p a ra a p lic a c io n e s d e s ú p e r c ó m p u to ), 8 8 6 NDEBUO. 1 0 6 0

        http://alexyniorlls.blogspot.com 1361 of 1380.

        índice

        1305

        nagat«, 1172 .NET. plataforma. 12

        iz q u ie rd o , 9 7 6 m ás a la d e re c h a d e u n su b á rb o l, 9 8 5 p ad re. 9 6 9 ,9 8 4 ra íz . 9 6 9 .9 7 6

        N e ts c a p e . 1 2 3 7 < n «w > , 7 9 3 . 795 n « w , 4 95. 5 09. 56 6 . 9 45. 1078.

        1112 d e v u e lv e 0 si h a y e r ro r e s . 7 9 3 ,7 9 6 f a lla . 7 8 4 . 7 9 2 la n z a b a d a l l o c s i h a y e r ro r e s . 7 9 4 . 795 Dama a l c o n stru cto r. 4 9 6 rm n e ja d o r d e f a lla s . 7 9 5 .7 % n tw

        m iz d e l su b á rb o l d e re c h o . 9 6 9 ra íz d e l su b á rb o l iz q u ie rd o . 9 6 9 N odo d e red , 9 6 5 N o d o A r b o l . d e f in ic ió n d e l a p la n t illa d e d a s e , 9 7 0 N o d o L i s t * . d e f in ic ió n d e p la n t illa de c la s e , 9 4 7 N o m b ra c o m p l e t o d a l

        h t n d l t r . 784

        e q u ip o i , cam p o, 884

        < n « w .h > , 7 9 5 n iv e l d e d a to s. 8 8 2 de in fo rm a c ió n . 8 8 2 .9 3 7 d e sa n g ría .7 8 in ferio r, 8 8 2 in term ed io , 8 8 3 , 9 3 8 su p e rio r, 8 8 3 no c o n a t (u n ció n m ie m b ro . 4 7 4 (unción m ie m b ro en un o b je to no c o n s t . 473 (unción m ie m b ro lla m a d a e n un o b je to c o n a t . 4 7 3 no c o n t ig u a , d is p o s ic ió n d e m e m o r ia de una d eq u e . 1117

        n o m b re de a rc h iv o , 8 1 4 , 8 1 6 , 1059 d e d o m in io . 8 8 4 d e f u n c ió n . 171. 174, 194. 3 5 5 , 1 0 7 2 . 1073 de fu n ció n d e stru id o . 2 2 0 d c b o s t .8 8 6 d e host c o m p le ta m e n te c a lific a d o . 884 de de de de de de de

        n u e v o b lo q u e d e m e m o r ia , 1 0 7 9 n u e v o m a n ip u la d o r d e f lu jo s . 7 5 4 n u la cad en a, 825 in stru c c ió n , 8 1 n u lo ( 0 ) . 3 6 3 . 9 4 4 a p u n ta d o r ( 0 ) . 8 1 5 .9 4 4 . 9 8 5 . 1078 c a rá c te r ( ' \ 0 ' ) , 2 6 7 , 3 3 2 . 3 4 8 , 3 6 0 . 3 6 1 .3 6 3 , 3 6 9 , 7 4 9 .9 4 4 .9 8 3 Nü l l . 3 2 1 . 1 0 2 9 . 1 0 3 1 . 1 0 3 2 < n u m « r ic > , 1104. 1147 n ú m e ro a le a to rio , 186. 2 6 3 c o m p le jo . 4 6 5 . 601 co rre c to d e a rg u m e n to s. 175 d e a rg u m e n to s. 175 d e e le m e n to s en un a r r e g lo . 3 3 9 d e lín e a . 9 8 7 .9 8 9 . 9 9 0 . 1060

        o p e ra c ió n . 2 9 7 un a rc h iv o f u e n te . 1 0 6 0 un a r r e g lo . 2 5 4 . 3 2 5 un a trib u to , 1239 u n a fu n d ó n , 171 u n a v a r ia b le , 3 0 , 192 u n a v a ria b le d e c o n tro l, 102

        d e m e n sa je . 3 7 2 d e p o sic ió n . 2 5 3 de pu nto flo ta n te en fo rm a to c ie n tífic o . 761 de pu nto flo ta n te . 8 6 . 8 9 .9 2 . 9 3 e n te ro . 27 m á g ic o . 261 no n. 167 nú m ero r e a l. 8 9 o c ta l. 7 4 3 .7 6 0 , 1 0 2 0 . 1030 p erfecto . 2 4 4 p rim o , 117 se u d o a le a to r io . 186 te le fó n ic o , p ro g ra m a g e n e ra d o r d e p a la b ra s . 8 4 9

        n ó m in a s , a rc h iv o d e . 811

        a rg u m e n to s. 1 0 6 7 no e s tá n d a r , c o n v e r s ió n . 1 1 8 5

        p ro g ram a d e . 8 s is te m a d e . 8 1 0

        no f a t a l , e r ro r . 1 7 . 1 7 8 . 7 8 4 n o in c r e m e n t a d a , c o p ia d e u n o b je to .

        n o e h o w b e e e . m a n ip u la d o r de

        587

        f lu jo s . 7 5 5 . 761

        n o i n i d a li z a d a . v a r ia b le , 8 5

        n o s h o w p o i n t , m a n ip u la d o r d e

        n o i n i d a li z a d o s . d a t o s , 4 1 0

        f lu jo s . 7 5 6

        n o l i n e a l, b id im e n s io n a l. e s tr u c t u r a

        n o s h o w p o a , m a n ip u la d o r d e f lu jo s ,

        d e d a to s , 9 6 9

        N U M r o R a c i o n a l , c la s e , 6 0 7 n ú m e r o s a le a to r io s , g e n e r a c ió n d e . 1 4 6 ,2 6 3 a le a to rio s , g e n e ra d o r d e , 5 1 6

        3 9 1 ,7 5 6 . 7 5 8

        no m ie m b r o fu nción £ r i * n d . 5 5 4 , 5 5 6 fu nción no f r i c a d . 5 4 9

        n o s k i p w B . m a n ip u la d o r d e f lu jo s .

        d e F i b o & a c c i g e n e ra d o s c o n una fu n ció n re c u r siv a . 2 0 2

        755 N O r ló g ic o ( I ) , 1 2 4 . 1 2 6 . 1 6 6 ,

        no r a m i f i c a b l e , c ó d ig o d e fu n c ió n . 418

        1190 n o t . p a la b r a r e s e r v a d a d e o p e ra d o r ,

        n o m u ta n te . a lg o r it m o d e s e c u e n c ia . 1104

        1190 not

        no p a r a m e t r iz a d o , m a n ip u la d o r d e f lu jo s . 9 3

        a q . p a la b r a r e s e r v a d a d e

        not

        a q u * l_ t o < T > , 1172

        no r e c u p e r a b le , f a l l a . 7 6 6

        n o ta , 7 4 n o ta c ió n c ie n t íf ic a . 9 3 .7 4 3 d c n t íf ic a . v a lo r d e p u m o flo ta n te. 762 d e p u n to fijo . 7 5 6 f ija . 7 4 3

        c o n s tr u c to r , 4 1 2 no s t a t i c . f u n c ió n m ie m b r o . 4 8 9 . 5 0 0 ,5 6 8 n o b o o l a l p h a . m a n ip u la d o r d e

        M u M r o T B lB f o n ic o , c la s e , 6 0 8

        O O b je c tS p a c e S T L T oo l K it. e je m p lo , 1175. 1234

        o p e ra d o r . 1 1 9 0

        n o s e p u e d e d e v o lv e r u n v a lo r d e un

        f lu jo s , 7 6 3

        n u ev a lín e a ( ' \ n ' ) . 2 3 . 2 4 . 2 9 . 3 8 . 360, 7 4 4 . 1024 c a rá c te r. 1 19

        n o m b re / v alo r. p a r. 9 1 3

        no c s p o c it ic a d o r . n ú m e r o d e

        nodo. 94 5 d e su s titu c ió n . 9 8 4 , 9 8 5 h ijo , 9 8 4 h o ja , 9 8 4

        n t h _ B l « m « n t , 1 167

        n o th r o w . 796 n o t h r o w t , 796 n o u p p « r c a s « . m a n ip u la d o r d e f lu jo s . 7 5 6 , 7 6 3

        o b je to . 4 . 9 , 1 4 . 4 0 . 4 1 , 1 3 3 . 4 0 6 a u to m á tic o lo c a l. 4 3 7 d ie n t e , 2 9 6 co m p o n en te, 4 5 6 de e x c e p d ó n . 787 d e f u n d ó n . 1 1 1 9 .1 1 2 4 . 1 1 7 2 . 1175 d e fu n ció n l « s s < i n t > , 1119,

        1121 d e fu n d ó n l « s s < T >. 1 124. 1132 d e fu n d ó n p u ed e e n c a p illa r d a to s. 1175 d e u n a d a s e d e r iv a d a . 6 6 4 . 6 6 8

        http://alexyniorlls.blogspot.com 1362 of 1380.

        índice

        1306

        d e u n a d a s e d e r iv a d a , s e c re a in s ta n c ia d e , 6 4 2 e m is o r, 2 9 6 e stá n d ar d e e rro r . 7 2 6 . 7 2 8 , 961 p i l a < i n t > , 728 P ila < T > , 72 6 , 728 p ila s im p le m c n ta d as c o n a rr e g lo s , 5 0 2 u tiliz a d a s po r lo s c o m p ila d o re s . 981 P is o a rc h iv o d e en c a b e z a d o d e l a d a s e . 4 5 9 . 535 a rch iv o d e im p lc m c n ta d ó n d e la d a s e . 536 p íx c l. 1 2 4 6

        http://alexyniorlls.blogspot.com 1364 of 1380.

        índice

        1306

        p la n t illa , 7 1 9 , 9 4 3 , 9 4 7 , 9 6 0 , 1 0 5 6 a u t o j p t r . 798

        p o a t .c p p , 901

        d a s e . 851 d e f u n d ó n . 2 2 2 .2 2 3 , 7 1 9 ,7 2 0 . 7 2 3 d e fu n d ó n m a x . 2 5 0 d e fu n d ó n « i n . 2 5 0 d e f in id ó n . 2 2 3 ,7 2 0 f u n d ó n , 2 2 3 ,7 2 1 p la n t illa d e c l a s e , 7 1 9 . 7 2 3 . 9 4 7 ,

        p o s tf ijo a lg o ritm o d e e v a lu a r ió n . 9 9 1 . 9 9 6 a lg o ritm o d e e v a lu a r ió n d e e x p re sio n e s, 9 8 2 e v a lu a d o r, 9 9 5 , 9 9 9 e x p re sió n , 9 8 3 ,9 9 6 n o ta d ó n . 981 p o sto rd e n , r e c o r r id o . 9 6 9 , 9 8 4 . 9 8 5

        975

        p o a t O r d a n J t a c o r r id o . 977

        a lc a n c e , 7 2 6

        p o t e n c i a , 151

        • u t o _ p t r , 798

        p o te n c ia , 173

        d e f in id ó n . 7 2 4 e s p e c ia liz a d ó n , 7 1 9 .7 2 3 P i l a , 724. 726

        p c m . fu n c ió n , 3 4 , 1 1 0 . 1 1 3 , 1 7 3 ¡x c c e d e n c ia , 3 2 . 3 4 . 3 9 . 1 0 1 , 1 0 7 , 1 2 6 ,2 0 4 . 3 4 4

        p la n t illa s y f u n c io n e s a m ig a s , 731

        d e o p e ra d o re s. 3 2 , 1 0 2 , 127, 1 016

        y h e r e n c ia 731 p la t a f o r m a s d e h a r d w a r e , 9

        d e o p e ra d o re s, ta b la , 3 9 , 1214 d e l o p era d o r c o n d id o n a l. 7 8 no se m o d ific a po r la so b re c a rg a . 549 ta b la . 3 9

        P ta u g c r, P .J ., 10

        p lu a < T > , 1172 p o i n t a r . 1097 p o lim ó r f ic a , in v o c a c ió n d e f u n c io n e s e n u n a c l a s e d e r iv a d a , 1 2 0 6 p o lim ó r f ic o , a d m in is t r a d o r d e

        p r e c is ió n , 9 3 . 7 4 3 , 7 4 9 , 7 5 1 a ju s t e , 751 d e v a lo re s d e pu nto flo ta n te , 7 5 1 p re d e te rm in a d a, 9 3

        p a n t a lla s , 6 7 9

        p r a c i s i o n , 751 fiin ció n m ie m b ro . 761

        p o lim o r f is m o , 1 1 9 , 4 6 9 , 6 5 0 , 6 6 3 , 6 7 6 , 6 7 9 . 9 9 6 . 1133 com o a lte rn a tiv a a la ló g ic a con a v i t c h . 717 y re fe re n d a s . 6 %

        p r c d c c rc m c n to , 1 0 1 ,5 8 1 o p erad o r. 9 9 p r e d e f in id a , e s tr u c t u r a d e d a to s , 943

        p o lin o m io , 3 5

        p r e d e f in id a s c la s e s . 171 f u n d o n e s . 170

        d e se g u n d o g r a d o . 3 4 . 3 5

        F o l i n o a a i o , c la s e , 6 0 8 P O O ( p r o g r a m a c ió n o r ie n t a d a a o b je to s ) , 4 , 5 , 9 , 2 1 , 4 1 , 4 3 , 133, 173, 3 7 0 ,4 1 2 ,4 6 9 .6 1 0 . 663, 673

        p r e in c re m e n to . 1 0 1 , 5 8 1 . 5 8 6 o p erad o r. 9 9 y p o sin crem en to . 100 p rc o rd e n , r e c o r r id o . 9 6 9

        p o p . 7 2 8 .9 6 0 , 1 1 2 8 . 1130, 1 1 3 2 .

        p r a O r d a n R a c o r r id o , 977

        1133

        p o p b a c k . 1105, 1117, 1128. 1132 pop__f r o n t , 1 1 1 3 , 1 1 1 7 , 1 1 1 9 , 1130

        p r e p r o c e s a d o r, 1 5 , 1 6 , 1 7 8 , 1 0 5 4 d ire c tiv a V d a f i n a . 7 2 0 d ire c tiv a s d e l. 15. 2 2 . 2 6 .4 2 4 p e p r o c e s a r , 15

        p o p h a a p , 1165

        p r e s e n ta c ió n d e u n d o c u m e n to .

        p o t a b il i d a d , 2 0

        1237

        p o r tu b le . 9

        p rav

        p o r t a l , o g i . 906 p o r ta l.c p p .9 0 7 p o & d c crcm c n to . 101,581

        p a r x n u t a t io o . 1167

        p r im e r a r g u m e n to im p líc ito , 4 8 9 p r im e ra p a s a d a d e l c o m p ila d o r d e S im p le , 9 9 0 , 9 9 1 , 9 9 3 , 9 9 6

        o p erad o r. 9 9

        p r im e ro e n e n tr a r, p r im e r o e n s a l i r

        p o s ib ilid a d d e in t e r c a m b io e n tr e

        (U F O ), 5 0 5 ,9 6 5 , 1 0 9 4 , 1 1 1 7 ,

        a r r e g lo s y a p u n t a d o r e s . 3 4 7

        1130

        p o s ic ió n a c t u a l e n u n f lu jo , 8 1 9

        p r im o , 2 4 4 fa c to r iz a d ó n . 1182

        p o s ic io n a m ie n t o r e la t iv o u l a p o s ic ió n a c t u a l e n u n f lu jo , 7 3 1

        p r in c ip a l. 1 1 0 , 1 6 8

        p o s in c r e m e n ta r u n it e r a d o r . 1 1 0 2

        p r i n c i p a l . h t m l . 1238

        p o s in c r e m e n to , 1 0 0 , 1 0 1 . 5 8 1 . 5 8 6 o p erad o r. 9 9

        p r in c ip io d e u n a rc h iv o . 8 1 8 d e un f lu jo , 8 1 9

        p o n , tip o d e p e t ic ió n , 8 8 2 , 9 0 1 , 1 2 6 2

        d el m enor p r iv ile g io . 1 9 3 ,2 7 6 ,3 2 7 . 3 3 0 , 3 3 8 , 3 4 9 ,4 2 0 . 4 6 9 , 4 7 0 . 8 1 8 . 1 0 7 2 , 1 0 7 3 , 1102 p r i n t . c o m a n d o d e S im p le . 9 8 7 , 990 p r i o r i t y _ q u a u a . d a s e de a d a p ta d o r . 1 0 9 4 , 1 0 9 5 , 1 0 9 6 . 1 1 0 1 , 1 1 2 8 , 1132, 1133 p r i v a t a . 411, 412, 4 2 4 , 426 c la s e b a s e . 6 4 8 d ito m ie m b ro . 4 3 9 .4 4 6 fiin ción m ie m b ro . 4 1 2 .4 2 6 h e r e n d a . 6 1 0 .6 1 3 . 6 4 8 ,9 6 1 h e r e n d a co m o a lte rn a tiv a a la c o m p o s id ó n . 6 4 8 m iem b ro s d e u n a c la s e b a s e , 6 1 3 a t a t i c . d a t o m ie m b ro , 4 9 8 p r o b a b ilid a d . 1 8 3 p r o c e d im ie n to . 7 2 pu ro . 4 1 8 p r o c e s a m ie n to de a rc h iv o s, 7 4 0 ,7 4 2 ,8 4 7 de a rc h iv o s, d a s e p a ra , 7 4 3 de c ré d ito s, p r o g r a m a . 8 2 5 d e d a to s c o m c r r ia l. 8 4 7 de p a la b ra s . 3 6 0 , 4 0 0 de tr a n s a e d o n e s . 1124 de tra n s a c c io n e s , p r o g r a m a . 8 3 4 de tr a n s a e d o n e s . s is te m a . 8 2 4 fa se d e , 8 7 por lo te s, 6 P r o c e s a m ie n to d e c o l a s , p r o g r a m a . 967 p r o c e s o d e d is e A o . 3 7 4 p r o d u c tiv id a d . 18 p ro d u c to d e lo s e n te r o s n o n e s , 1 6 5 p ro gram a. 5 d e co n v ersio n es m é tr ic a s . 4 0 2 e stru c tu rad o . 129 te rm in a d ó n . 4 3 7 . 1073 p r o g r a m a c ió n a l a d e fe n s iv a . 106 b a s a d a en o b je to s (O B P ). 4 6 9 estru c tu rad o . 3 . 4 . 5 . 9 . 13. 14. 2 1 . 3 9 . 4 0 . 7 1 . 7 3 . 1 2 3 .4 0 5 .5 0 3 , 1079 e s tru c tu ra d a , re su m en , 128 g e n é ric a . 7 2 3 , 1 0 9 2 , 1 0 9 3 , 1097, 1 1 7 6 . 1235 o rie n ta d a a o b je to s (P O O ), 4 , 5 , 9 , 2 1 , 4 1 , 4 3 , 1 3 3 , 173. 3 7 0 ,4 1 2 , 4 6 9 . 6 1 0 ,6 6 3 . 6 7 3 p o lim ó rfic a . 6 8 0 .6 8 2 , 6 9 8 p r o g r a m a d o r, 5 p ro gram ar en fo rm a e s p e c ífic a . 6 6 3 en fo rm a g e n e ra l, 6 6 3 ,7 1 7 p ro gram as g ra n d e s. 170 in térp retes, 8 p r o m e d ia r c á l c u lo , 8 9

        http://alexyniorlls.blogspot.com 1365 of 1380.

        índice

        1309

        p r o m e d io , 3 2 , 9 2 , 2 7 8 c á lc u lo . 8 3 d e v a rio s e n te ro s , 164 g e n e ra l d e la c la s e , p ro b le m a , 8 6

        p u n ta d e f le c h a , 3 0 7

        R

        p u n to

        R a c io n a l, 4 6 6

        d e e n tra d a . 128 d e s a lid a . 128 flo tan te .7 5 1 ,7 5 6 . 7 6 2

        p r o m e d io d e l a c la s e en un c u e s tio n a rio , 8 3 p ro b lem a. 8 3 , 8 9

        o p erad o r ( . ) , 4 0 7 , 4 0 8 .4 1 8 . 4 9 1 . 6 7 4 .7 9 9

        problem a c o n re p e tic ió n c o n tro la d a po r c e n tin e la , 8 9 p ro gram a co n re p e tic ió n c o n tro la d a po r co n tad o r. 84

        y c o m a ( » 1 2 3 , 3 8 . 8 1 . 1 7 6 ,4 0 7 , 4 3 0 . 1054 y c o m a a l fin a l d e un p ro to tip o d e fu n ció n . 178

        p r o m o c ió n , 9 2 d e e n te ro s , 9 2

        y c o m a p a r a fin a liz a r la d e fin id ó n d e u n a e s tru c tu ra . 1002

        P ro p ie d a d e s d e l s is t e m a , v e n t a n a . p r o p ó s ito d e l p r o g r a m a . 2 2 p r o t « c t « d , 412, 418, 424, 614, 653 d a s e base, 648 (le re n d a , 6 1 0 ,6 1 3 , 6 4 8

        ra íz c u a d r a d a , 1 7 2 , 1 7 3 ,7 5 1 r a m if ic a c ió n in c o n d ic io n a l, 1 0 7 9 g o t o . 1079 in stru c c ió n . 9 9 5

        182, 188 R a n d o tn iz a c ió n d e l p r o g r a m a d e dado s. 186 ran g o . 1147 R a t io n a l S o f tw a r e C o rp o ra tio n , 4 3 ,

        p r o g r a m a d e p ru e b a d e la P u n t o 2 , d a s e q u e r e p r e s e n ta u n p a r d e c o o r d e n a d a s x - y c o m o d a lo s p r o t a c t a d , 625 P u n t o 3 , c l a s e q u e u s a f u n c io n e s m ie m b r o p a r a m a n ip u la r a s u s

        138 r a tó n , 5 r b a g i n . 10 % . 1109 fu n d ó n m ie m b ro d e la d a s e a t r i n g . 870 R D B M S ( s is t e m a d e a d m in is tr a c ió n d e b a s e s d e d a to s r e la c ió n a le s ) . 882

        d a to s p r iv a d o s , 6 3 2 , 6 4 3 p u n t o a C a lid a d . 245 p u n tu a c ió n

        d e fu n d ó n p a ra t i m m e n < c t i a a > . 188

        p ro m ed io d e la c la s e . 165

        r e a liz a r , e tiq u e ta d e a c c ió n , 2 2 9 r a a l l o c . 1078

        p u a h . 7 2 7 . 7 2 8 . 9 6 0 . 1 1 2 8 , 1130, 1131, 1132 p u a h _ b * c k . D O S. 1 1 0 8 , 1 1 1 6 ,

        p ro y e c to , 1073 M a c . 18

        r a a d , 824, 831, 834 fu nción m ie m b ro . 7 4 8

        sig n o d e . 3 6 8

        P ro v e e d o r d e s e r v i c i o s d e In te rn e t (I S P ). 1262

        r e a s ig n a r u n a r e f e r e n c ia . 2 1 4 r e c ib e e l v a lo r d e , 3 6 r e c la m a r d a lm a c e n a m ie n to d in á m ic o , 5 6 6

        1119, 1128, 1 130, 1 132, 1154 p u a h _ f r o n t , 1113, 1116

        p r u e b a , 1 3 ,2 0

        puah

        P r u a b a C i r c u l o d e m u e s t r a la

        h a a p , 1165

        p u t . a p u n ta d o r , 8 1 9

        f u n c io n a lid a d d e l a c l a s e

        d e p o s ic ió n d e a r c h iv o , 8 2 4 , 8 2 9

        C i r c u l o . 621 P r u a b a C i r c u l o * d e m u e s t r a la f u n c io n a lid a d d e l a c l a s e

        p u t , fu n c ió n m ie m b r o . 7 4 3 , 7 4 4 , 745 p u t b a c k . fu n c ió n m ie m b r o . 7 4 8

        C ir c u lo * . 636 p u b l i a 4 1 1 . 4 2 4 . 453

        Q

        d a s e base. 648 co m p o rtam ie n to . 4 1 2 d a to s. 4 1 2

        Q u a d r a la y C o r p o r a tio n , s it io W e b ,

        re c o rr e r e l su b á rb o l d e re c h o , 9 7 6 d sa b á rb o l iz q u ie rd o . 9 7 6 un á rb o l b in a r io , 9 6 9 , 9 7 7 un co n ten ed o r, 9 4 3 r e c o r r id o . 8 6 9 de un á rb o l b in a r io en o rd en d e n iv e le s . 9 7 7 ,9 8 5 h a d a a tr á s . 8 6 9 in o rd en , 9 6 9 ,9 8 6 re c o r r id o s h a c ia d e la n te y h a c ia a trá s, % 0

        1232

        t i n a ó n m iem b ro , 4 1 2 ,4 3 9 h ere n c ia , 6 1 0 ,6 1 3 in terfa z , 4 2 0 , 4 2 5 m iem b ro d e u n a d a s e d e r iv a d a , 6 1 3 a t a t i c , f u n d ó n m iem b ro , 4 9 8 a t a t i c . m ie m b ro d e c la s e , 4 9 7 P u a rta a rch iv o d e e n c a b e z a d o d e la c la se , 4 5 5 , 522 arch iv o d e im p le m e m a d ó n d e la d ase , 522

        c o n s ta n te s im b ó lic a .

        r a n d o a _ a h u f f l a . 1104, 1144

        je r a r q u ía , 6 4 0

        < c a t d l i b > . 183 d e fu n c ió n p a ra s r a n d en < c a t d l i b > . 186

        max,

        d a s e q u e re p resen ta un p a r de co o rd e n ad a s x - y , 6 1 6 ,6 6 5 p ro g ram a d e p ru e b a p a ra l a c la s e . 617

        P ro to c o lo I n te rn e t ( I P ) , 19

        1 0 5 5 , 1 0 6 7 , 1 0 7 2 . 1084 d e fu n ció n , a lc a n c e d e , 195 de fu n ció n o b lig a to r io . 178 d e fu n ció n p a ra r a n d en

        v a lo r d e a trib u to ( t y p a ) . 8 9 8 r a d io d e u n e f r e u lo , 1 6 3

        rand

        h ip e n e x t o ( H T T P ) , 8 8 1 , 8 8 6 p ro to tip o , 1 7 8 d e f u n d ó n . 1 11. 1 7 5 . 17 6 , 17 8 , 17 9 , 19 5 , 2 0 8 ,2 1 1 , 3 2 7 . 4 2 0 . 4 8 5 ,

        r a d i o . 1263

        a rc h iv o d e im p le m e m a d ó n d e la c la s e , 6 8 6

        P u n t o / C ir c u lo / C ilin d r o ,

        P ro to c o lo d e t r a n s f e r e n c ia d e

        A p lic a c io n e s ) , 1 2 , 4 5 0 r a d ia n e s , 1 7 2

        r a n d . fu n c ió n , 1 8 2 , 1 8 3 , 3 1 0

        P u n to

        884

        R A I ) (D e s a r r o llo R á p id o de

        QUKRY 8 T R I N O . v a r ia b le de e n lo m o , 8 9 5 . 9 0 1 < q u a u a > . a r c h iv o d e e n c a b e z a d o , 182, 1096, 1 1 3 1 , 1132 q u a u a . 1094. 1096, 1101, 1128. 1130, 1131, 1132 d a s e . 505 p la n tilla d e c la s e d e a d a p ta d o r. 1131 q u ic k s o r l, 3 9 4 q u in t illa , 3 9 8

        R e c t á n g u l o . 467 r e c t á n g u lo re d o n d ead o . 2 2 7 sím b o lo . 301 r e c u p e r a r s e d e lo s e r r o r e s , 7 6 6 « c u r s iv a b u sc a r en u n a lis ta en fo r m a . 9 8 4 b ú sq u ed a b in a r ia . 2 0 7 ,2 8 3 . 3 1 8 b ú sq u ed a lin e a l, 2 0 7 , 2 8 4 ,3 1 8 d im in a d ó n en una lis ta lig a d a . 2 0 7 e v a lu a c ió n , 2 0 0

        http://alexyniorlls.blogspot.com 1366 of 1380.

        índice

        1310

        fu n c ió n , 1 9 8 ,9 4 7 fu n ció n d e u t ile r ía , 9 7 6 fu n ció n f a c to r ia l, 2 0 7 fu n ció n r i b o a a c c i . 2 0 7 in serció n en u n á rb o l b in a r io , 207 in serció n en u n a lis ta lig a d a . 2 0 7 lla m a d a . 1 9 9 .2 0 4 lla m a d a a fu n c ió n . 9 6 0 m ilt ip lic a c ió n d e d o s e n te ro s . 2 0 7 re so lu c ió n , 2 0 6 su m a d e d o s e n te ro s , 2 0 7 r c e u r s iv a m e n t e v e r if ic a r s i u n a c a d e n a e s u n p a lín d ro m o , 2 0 7 r c e u r s iv a s . T o rre s d e H a n o i. 2 0 7 r c e u r s iv id a d , 1 9 8 , 2 0 6 , 2 4 7 b u sc a r en u n a lis ta e n la z a d a . 207 d eterm in a r s i u n a c a d e n a e s un p a lín d ro m o , 2 0 7 . 3 1 7 e je m p lo s y e je r c ic io s so b re . 206 d e v a r un e n te ro a u n a p o ten cia e n te ra . 2 0 7 im p resió n a l a in v e rsa d e un a rr e g lo , 207 im p re sió n a la in v ersa d e u n a c a d e n a in tro d u cid a d e s d e e l te c la d o . 2 0 7 im p re sió n a la in v e rsa d e u n a lis ta lig a d a . 2 0 7 im p resió n d e un a r r e g lo . 2 0 7 ,3 1 8 in fin ita . 5 6 S O cho re in a s , 2 0 7 ,3 1 8 su m a d e lo s e le m e n to s d e un a rr e g lo . 207 v a lo r m ín im o d e u n a r r e g lo . 2 0 7 r c e u r s iv o c la s if ic a c ió n po r s e le c c ió n . 2 0 7 ,3 1 7 m á x im o co m ú n d iv is o r, 2 0 7 p a s o , 19 9 , 2 0 4 ,3 9 4 q u ic k s o rt, 2 0 7 re co rrid o d e la b e rin to s, 2 0 7 reco rrid o en o rd en d e u n á rb o l b in a rio . 2 0 7 reco rrid o en p reo rd en d e un árb o l b in a rio , 2 0 7 r e c u r s o p r o f e s io n a l, 1 2 3 2 r e c u r s o s d e l a S T L e n I n te r n e t, 1 1 7 5 r e d d e r e d e s . 19 R e d . c u a d r o d e d iá lo g o , 8 8 4

        d e la e n tra d a en un sis te m a D O S, 1 066 d e la e n tra d a pora q u e p ro v e n g a d e un a rc h iv o . 1 066 d e l a s a lid a h a c ia un a rc h iv o . 1066 d e s a lid a , sím b o lo >. 1067 r e d ir ig ir l a s a l i d a d e u n p r o g r a m a a 1067 re d o n d ear n ú m ero s. 173 re d o n d e o , 9 3

        p r o g r a m a s . 171 re d u n d a n te s , p a r é n t e s is , 3 4 , 1 2 4 r e e m p la z a r o p e r a d o r

        c o n » . 127

        r e f e r e n c ia . 3 2 0 , 7 3 9 , 1 0 9 7 a d a lo s c o n sta n te s . 3 3 4 a e n tid a d d e c a rá c te r. 5 6 a un d a to m ie m b ro p r i v a t a . 4 4 5 a un i n t . 2 1 1 a u n o b je to , 4 1 6 a ú n a c o n sta n te , 2 1 3 a u n a v a ria b le a u to m á tic a , 2 1 4 a d e la n ta d a , 9 9 0 a rg u m e n to . 3 2 5 c o n sta n te . 2 1 3 , 5 6 6 d e en tid a d , 1 249 d e b e in id a liz a r s e a l d e c la ra rs e . 4 5 7 in d ire c ta a un v a lo r. 321 p a rám e tro , 2 1 1 ,2 1 3 su s p e n d id a , 2 1 4 R e f e r e n c ia lo c a l n o in ic ia liz a d a

        d el tip o ‘ tie n e u n " (c o m p o s ic ió n ), 611 je rá rq u ic a fu n c ió n jefe/ fu n ció n tra b a ja d o r. 172 r e la c io n a !, o p e ra d o r , 3 4 , 3 5 . 3 6 r e la c ió n a le s , o p e r a d o r e s >. • . y < -, 105, 124 r e b e io n e s de h e re n c ia d e c la s e s re la c io n a d a s co n la E/S. 7 4 2 de h e re n c ia d e la s c la s e s re la c io n a d a s c o n la F /S. 8 1 2 R a lo j re c h iv o d e en c ab eza d o d e la c la s e , 454, 514 rech ivo d e im p le m e n ta c ió n d e la d a s e , 514 r e lle n a r co n c a rá c te r e s p e c ific a d o . 7 4 3 a i u n a e s tr u c tu r a , 1019 r e lle n o . 1 0 1 9

        o c a s io n a u n e r r o r d e s in ta x is ,

        r « s L . in s tr u c c ió n e n S im p le , 9 8 7 , 9 9 0

        214

        re m o c ió n . 9 4 3

        r c f c r c n c ia r d ire c ta m e n te u n v a lo r, 321 lo s e le m e n to s d e u n a r r e g lo . 3 4 5 lo s e le m e n to s d e u n a r r e g lo co n el no m bre d e l m ism o y con a p u n ta d o re s. 3 4 5

        r u o v a . 1104, 1113, 1117, 1138,

        re f e r e n c ia s d eb en in ic ia liz a r s e , 2 1 4 v e rs u s a p u n ta d o re s, 451 y p o lim o rfism o . 6 9 5

        ram o v a

        re f in a m ie n t o p a s o a p a s o , 351

        r e n d im ie n to , 10

        R a f r a s h . en cab ezad o . 905 r a g i a t a r , 192, 193, 194 r e g is t r a r u n a f u n c ió n c o n a t a x i t , 1073 r e g is t r o . 8 1 0 . 8 1 2 , 8 3 4 . 8 4 8 fo rm a to . 8 2 5 r e g la d e a n id a m ie n to , 131 d e n e g o c io s , 8 8 3 d e o r o . 124 h o riz o n ta l. 5 6 . 1 2 5 0 r e g la s

        rc d ir e c c ió n d e en tra d a, s ím b o lo < . 1066 d e en trad a/ salid a en s is te m a s U n ix y D O S. 1066

        la e n t r a d a d e o tro p r o g r a m a .

        re d u c ir e l t ie m p o d e d e s a r r o llo d e lo s

        d e p re c e d e n c ia d e o p e ra d o re s, 3 2 d e p ro m o ció n . 179 pora fo rm a r p ro g ra m a s e stru c tu rad o s. 129 r a in ta r p r a t_ e a a t. d e m o stra c ió n , 1186 o p erad o r. 8 2 5 . 8 2 8 .8 3 2 . 1 1 8 5 . 1186 re in v e n ta r l a r u e d a , 1 0 , 171 r e la c ió n d e u n o a d o s . 142, 143 d e u n o a u n o . 142 d e u n o a v a r io s . 1124 d e l tip o “c o n o c e a ” , 6 4 8 d e l tip o " e s u n ” (h e r e n c ia ). 6 1 1 . 6 4 8 , 679

        1139 ra a to v a

        c o p y . 1104. 1 1 3 8 . 1139

        r a * o v a _ c o p y _ i f , 1104, 1138, 1 1 3 9 . 1141 i f , 1104. 1138, 1139

        r a n d . 10 9 6 , 1109 fiin ción m ie m b ro d e la d a s e a t r i n g , 870 de la b ú sq u e d a . 9 9 9 d el o rd e n a m ie n to y la b ú sq u ed a en á rb o le s b in a r io s , 9 9 9 re p e tic ió n . 7 5 . 1 3 2 , 1 3 3 c o n tro lad a p o r un co n tad o r, 8 3 , 84. 8 6 . 9 4 .9 5 . 102, 103, 2 0 6 c o n tro la d a p o r c e n tin e la . 8 6 , 8 8 ,8 9 . 91 co n tro lad a po r c o n ta d o r m e d ia n te la estru c tu ra £ o r , 104 de la fu n c ió n r a n d . 186 d e fin id a . 83 in d e fin id a , 8 6 te rm in a , 8 1 ,8 2 re p e tic ió n , e s tr u c tu r a d e . 7 3 . 8 1 . 8 8 , 988 d o / w h i l a . 120, 1 2 1 , 133 f o r . 1 0 4 , 1 0 5 . 1 0 6 . 1 0 8 . 133 w h i l a . 8 1 .8 2 . 103, 120. 133 r e p e titiv o , c ó d ig o , 1 7 3 r a p l a c a . 1104, 1141, 1142 fu n d ó n m ie m b ro d e la c la s e a t r i n g , 865 r a p la c a

        cop y

        i f . 1104. 1141,

        1142, 1144 r a p la c a 1144

        http://alexyniorlls.blogspot.com 1367 of 1380.

        c o p y . 1104, 1141, 1142,

        índice

        1311

        r * p l « c « _ i £ . 1104, 1141, 1142

        r o t * t * . 1104, 1167

        s e g u n d a m e jo r a , 8 7 , 8 8 , 9 6 , 3 5 1

        r e p r e s e n ta c ió n d e d ato s, 5 0 3 d e d a to s m iem b ro . 4 4 5 d e u n a c la s e en U M L , 142 g rá fic a d e un á rb o l b in a r io , 9 6 9 in tern a d e un o b je to « t r i n o . 5 6 9

        r o t a t * _ c o p y . 11 0 4 , 1167

        s e g u n d a p a s a d a d e l c o m p ila d o r d e

        re q u e r im ie n to , 2 0 , 4 2 . 138 d e s is te m a . 138

        714

        s e le c c ió n . 7 5 . 1 3 1 . 1 3 2

        R T T I ( in f o r m a c ió n d e tip o s e n

        r u n t Í M _ « r r o r . 800 r u ta h a c ia u n r e c u r s a 8 8 6

        r « s « t , 1 168 \alor d e a trib u to ( t y p « ) . 8 9 8

        r v a l u e ( “ v a lo r d e r e c h o " ) , 1 2 8 , 2 1 3 ,

        5 6 4 , 5 6 8 . 1102

        r e s id u o d e s p u é s d e d iv is ió n d e e n te r o s , 3 1

        s

        r e s o lu c ió n d e á m b ito ( o a lc a n c e ), o p erad o r ( . i ) , 4 0 8 . 4 9 7 . 7 2 6 . 7 3 1 . 1187, 1 1 8 9 . 1 2 0 0 . 1204 d e so b re c a rg a . 7 2 3 re sta . 5 .3 1 . 3 2 re s ta r un ap u n ta d o r d e o tro , 341 un e n te ro d e u n ap u n tad o r. 341 re s ta u r a r e l e s ta d o d e u n f lu jo a “b u en o ". 766 r e s t r ic c ió n , 1 4 4 , 1 4 5 re s u lt a d o de la d iv is ió n e n p u n to flo ta n te . 9 2 d e u n a e x c e p c ió n n o a tra p a d a . 7 8 3 re s u lt a d o s d e e x á m e n e s , p r o b le m a , 96 r e to m o d e c a r r o ( * \ r #) . 2 4 . 1 0 2 1 . 1024

        s a lid a a c c ió n . 2 2 9

        9

        d e e n te ro . 7 4 3 de le tra m a y ú s c u la , 7 4 3 d e tip o d e d a to s e stá n d ar. 7 4 3 de v a lo r d e pu nto flo ta n te , 7 4 3 d e v a ria b le s , c h * r * . 7 4 3 e s tá n d a r, 8 8 9 , 1066

        s e n o , 173

        s c i « n t i f i c . m a n ip u la d o r d e ■ • « r c h . 1104

        c o m p u ta d o r a , 5 S e c c ió n e s p e c i a l : C o n s t r u y a s u p r o p ia c o m p u ta d o r a . 3 8 7 , 9 8 6 ■ • c o n d . 1122 im p íe m e n t a c i ó a 1 1 9 8 s e c u e n c ia . 7 5 . 1 3 0 . 1 3 2 . 1 1 5 0 . 1 1 5 2 , 1154. 1166, 1167

        “re u t iliz a r , r e u t iliz a r , r e u liliz a r ” , 4 2 r « v « r s « . 1 1 0 4 , 1 113, 1152, 1154 c o p y . 1104. 1154, 1155.

        1156 r * v « r a « _ i t * r a t o r . 1096, 1097, 1101, 1109 R ic h a r d s . M a r t in . 8 r i g h t . m a n ip u la d o r d e f lu jo s , 7 5 5 , 757

        n . 1104

        s e ñ a l. 1 0 7 5 d e a ten ció n in te ra c tiv a . 1076 e stá n d ar. 1076 in te ra c tiv a . 1076 pora a tra p a r ev en to s in e sp e ra d o s, 1075 n ú m ero d e , 1075 v a lo r d e . 8 6 s e ñ a le s d e f in id a s e n e l e n c a b e z a d o < C B Í g n a l> , 1076 s e p a r a r l a in te rfa z , d e la

        s e c c ió n “r e c e p t o r a " d e la

        “s e c r e t o s ” , d e t a lle s d e

        r e u t iliz a r , 4 1 7 co m p o n en tes, 15

        trig o n o m é tric o , 173 s e n s ib le a m a y ú s c u l a s y m in ú s c u la s . 27

        d e un c ic lo . 122, 167 d e un p ro g ra m a , 7 9 0 d e u n a estru c tu ra co n m u ch o s n iv e le s d e a n id a c ió n . 1080 d e u n a fu n ció n . 2 4

        re u t iliz a c ió n , 1 3 3 , 1 7 4 , 3 3 8 , 7 2 2 ,

        r e u t iliz a d o . 4 2

        s e n c illo punto d e e n tr a d a , 128 pu nto d e s a lid a . 128

        s a lir . 2 2 8

        saarc h

        723 d e s o f tw a re . 1 0 .2 4 . 4 8 . 1 3 3 . 17 3 . 4 1 7 .6 1 0 . 6 4 8 . 7 1 9 .7 2 0 . 7 2 2 , 7 2 3 . 9 4 3 , 1201

        s « l « c t . e le m e n to d e X H T M L ( f o r » \ 898 s « l « c t « d . a tr ib u to . 1 2 6 6 s e m i ll a . 187 fu n ció n r a n d . 186

        f lu jo s , 7 5 6 . 761

        r c u liliz a b le s , c o m p o n e n te s . 1 4 . 4 5 0

        d o b le , 132 d o b le , estru c tu ra d e , 7 4 ,9 5 . 1 13 sim p le , 132 sim p le , estru c tu ra d e , 113 sim p le , estru c tu ra i f . 7 4 . 7 6 . 8 0

        a c u m u la d a . 2 9 con b ú fe r, 7 4 2 d e c a rá c te r, 7 4 3

        1 7 7 , 1 9 9 ,9 9 8 r e u t iliz a b le . c o m p o n e n te d e s o f t w a r e .

        de m ie m b ro , o p e ra d o r ( . ) . 4 0 7 ,4 1 8 . 4 9 1 .6 7 4 , 7 9 9

        s e le c c io n a r u n a s u b c a d e n a , 5 8 1

        s a c a r a u n n o d o d e la li s t a , 9 5 8

        s a n g r ía , 3 8 , 3 9 , 7 6 , 7 7 , 8 0 , 1 0 4

        r i t u r n . in s tr u c c ió n . 2 4 , 1 7 1 , 1 7 5 .

        r* v «rs*

        t ie m p o d e e je c u c ió n ) , 1 8 2 ,6 6 4 ,

        s e g u r id a d . 4 5 0 . 9 1 4 , 9 1 6 d e tip o s. E/S c o n , 7 3 9 h o yo en la , 9 1 5

        r o m p a n , a tr ib u to ( t r ) , 12 5 7

        R um baugh, Ja m e s. 4 3

        r e s e r v a d a , p a la b r a . 7 5

        S im p le , 9 9 6

        r o w s .a t r ib u t o ( t a x t a r e a ) , 1263

        de de de de

        c o m a n d o s. 1239 co m a n d o s C G I sim p le . 8 8 8 e n te ro s . 164 e n tra d a , 1098

        d e e s c a p e . 2 3 , 2 5 , 159 d e m e n sa je s. 3 7 2 d e n ú m ero s a le a to rio s . 186 d e s a lid a . 1098 tipo d e . 1252

        in ip le m e n ta c ió n . 4 2 0 s e r ie d e

        Fibon*cci, 2 0 2 , 2 0 5

        s e r v ic io , 2 9 7 s e r v id o r , 9 1 7 de a r c h iv o s , 7 de n o m b res d e d o m in io (D N S ). 8 8 4 W eb . 8 8 1 .8 8 6 . 9 0 9 . 1 2 3 8 . 1 2 6 0

        < « * t> , 1 0 9 6 , 1 1 2 0 , 1 1 2 2 a rch iv o d e e n c a b e z a d o , 182 • • t . 1094. 1101, 1119. 1122, 1168 co n ten ed o r a so c ia tiv o . 1122 fu n ció n . 4 2 6 .4 3 9 . 4 4 0 .4 4 3 . 4 4 5 . 485 o p era cio n es d e la B ib lio te c a e s tá n d a r. 1157

        ■ y m * t r i c _ d i f £ « r« n c « , 1 1 5 6 .1 1 5 9

        R it c h ie . D .. 9

        se c k g c l. 8 1 8

        R o g u c W a v c , 14

        s e c k p u t, 8 1 8

        lo s d a t o s p r i v a t * d e u n

        r o le s . 1 4 4

        s « « k g . 818. 834

        o b je to , 4 4 3

        ro m b o , s ím b o lo , 2 2 9

        ■ • • k p , 818, 829

        S e l y g e l , f u n c io n e s p a r a m a n ip u la r

        http://alexyniorlls.blogspot.com 1368 of 1380.

        £ « r « n c « , 1156, 1158

        índice

        1312

        ■ • t _ i n t « r s « o t i o n . 1156, 1159 • • t _ n « w _ h * n d l« r , 784. 796 ■ •t

        naw

        h a n d l e r . 796

        B in . 173

        M t _ t « r m l n a t « , 790

        s in b ú f e r

        M t . u n « x p « c t a d . 790. 800

        flu jo d e e rro r e stá n d ar. 7 4 0 s a lid a . 7 4 2

        a « t _ u n i o n . 1156, 1159 m a n ip u la d o r d e f lu jo s .

        s in é x ito , t e r m in a c ió n , 1 0 7 3

        750

        s in fo rm a to

        S B t - C o o k i B i . e n c a b e z a d o h ttp ,

        ca m p o d e b its . 1 0 1 9 ca m p o d e b its c o n a n c h u ra d e ce ro . 1 019 E/S. 7 3 9 .7 4 0 . 7 4 8 F/S u tiliz a n d o la s fu n cio n es m iem b ro r«ad. gccrnnt y w r i t a , 749 s a lid a , 7 4 3 . 7 4 4

        913 B B t p r a c i s i o n . 9 3 , 112, 751 s c u d o c ó d ig o . 4 2 ,7 2 . 7 6 , 7 7 , 9 4 a lg o ritm o . 8 9 S h a k e s p e a r e . W illia m , 3 9 9 B h o r t . 119. 179 i n t . 119 B h o w b a B B . m a n ip u la d o r d e f lu jo s . a h o w p o i n t . m a n ip u la d o r d e f lu jo .

        s in r e s o lv e r , r e f e r e n c ia . 9 9 1 , 1 0 7 2 s in t ip o p a rám e tro . 7 3 0 p arám etro d e tam a ñ o d e p la n tilla . 730

        9 3 ,7 5 6 B h o w p o B , m a n ip u la d o r d e f lu jo , 3 9 1 ,7 5 6 ,7 5 8 S IO A B R T . 1076

        s in c r o n iz a r o p e r a c ió n d e un

        8Z O PV K . 1076

        i s t r a u i y un o B t r a a a . 768

        S I O I L L , 1076

        s in ó n im o , 3 2 3 , 3 2 5

        SZ G Z N T . 1 0 7 6

        s in t a x is , c o m p r o b a c ió n d e . 9 9 8

        s ig n o d e su m a. 758 d e su m a ( ♦ ) q u e in d ic a v is ib ilid a d p ú b lic a . 451 ju s tific a d o a la iz q u ie rd a . 75 S IG JS B G V . 1 0 7 6

        s n t e t iz a d o r d e v o z , 1 2 4 6 s is t e m a b a s a d o en m en ú s, 3 5 8 d e a d m in istra c ió n d e b a s e s d e d ato s ( D B M S ). 811 d e a d m in istra c ió n d e b a s e s d e d ato s re la c ió n a le s (R D B M S ), 8 8 2 d e pu nto d e v e n ta s. 8 2 4 o p e ra tiv o . 6 . 7 , 9 , 3 6 2 , 8 1 5

        S IO T E R M , 1 0 7 6 s ím b o lo . 8 5 1 d e fu sió n . 8 2 e s p e c ia l. 8 0 9

        s is t e m a s

        s im é tr ic o , c if r a d o d e c l a v e s , 8 7 7

        d e s o ftw a re m a siv o s d e co m a n d o y c o n tro l, 13 es tru c tu ra d o s, a n á lis is y d is e ñ o . 14

        s im ilit u d e s e n tr e d a s e s . 3 7 4 S im p le co m a n d o d e . 9 8 7 in stru c ció n d e . 9 8 7 in térp rete d e . 9 9 9 le n g u a je . 9 8 7 L e n g u a je m á q u in a , 3 8 7 .9 8 9

        s it io W e b , 3 B i s * . 1095. 1108, 1130, 1154,

        S im p le tro n l e n g u a je m á q u in a ( S M L ) . 3 9 6 ,9 4 3 , 9 8 6 .9 8 9 . 9 9 8 S im u la d o r d e , 3 9 7 .9 4 4 . 9 8 9 . 9 9 6 . 998 u b ic a c ió n d e m e m o ria . 9 9 8 S im u la , 1 4 s im u la c ió n . 3 7 2 . 3 9 0 . 5 1 0 d e p aso po r re fe re n c ia . 2 7 3 para b a r a ja r y re p a rtir c a r t a s . 3 5 0 . 3 5 2 , 1 0 0 1 . 1005 para b a r a ja r y re p a rtir c a rta s d e a lto re n d im ie n to . 1005 386

        s in n o m b re , o b je to . 1 0 8 2 s in o p t im iz a r , c ó d ig o , 9 9 7

        7 5 5 ,7 6 1

        S im u la c ió n : L a to r tu g a y l a lie b r e .

        s im u la d o r , x x x v i i, 4 5 , 1 3 8 , 2 2 5 d e so ftw a re . 133 d e v u e lo s . 7 1 7

        1169. 1170 atrib u to ( i n p u t ). 1262 fu n ció n m ie m b ro d e la c la s e B t r i n g . 852 fu n ció n m ie m b ro d e v B c t o r , 5 9 5 B lz B

        t . 338, 225

        S m a llt a lk , 9 SM L , 993 s o b r e c a r g a , 3 0 . 2 1 9 ,4 1 2 .7 1 9 al lla m a r u n a fu n c ió n . 1057 de fu n ció n v i r t u a l . 1133 de fu n c io n e s. 2 1 9 .4 1 2 . 7 3 9 . 1067 de lla m a r po r v a lo r. 4 1 0 de o p e ra d o re s. 3 0 .2 2 2 , 4 1 0 .5 4 7 , 7 3 9 . 1008 de u n a lla m a d a a u n a fu n c ió n . 5 6 7 , 1057 a i tie m p o d e e je c u c ió n . 6 9 6 so b re carg ar ♦. 5 5 0 550 « d d d d

        y » , 222 o p era d o r I u n a rio . 5 5 5 o p era d o r « . 4 1 0 o p e ra d o r b in a rio . 5 5 5 o p e ra d o r « de in s e rc ió n d e flu jo s , 841 d o p era d o r d e su m a (♦ ), 5 4 8 fu n cio n es d e p la n tilla , 7 2 3 o p erad o r ( ) de lla m a d a a fu n d ó n . 5 8 1 ,6 0 1 o p erad o r d e ig u a ld a d . 4 1 0 o p erad o r d e p o sin crem en to . 5 8 7 , 582 o p erad o res b in a r io s . 5 5 5 o p erad o res d e in s e rc ió n d e flu jo y « t r a o c ió n d e f lu jo . 5 5 2 ,5 6 3 . 564, 577, 585. 586 o p erad o res d e p red ecre m en to y p o s d ecrc m e n to . 5 8 2 o p erad o res d e p rd n c r e m e n to y p o sin crem en to . 5 8 2 un o p erad o r co m o u n a f u n d ó n no m ie m b ro , no f r i a n d . 551 un o p era d o r d e a sá g n a d ó n . 5 5 0 una fu n d ó n m ie m b ro . 4 18 una fu n d ó n m ie m b ro c o n a t con u n a v e rs ió n no c o n s t . 4 7 0 s o f tw a r e . 3 . 5 c o n fia b le , 1079 d e n e g o d o s . 13 pera p resen tac ió n d e p á g in a s , 3 6 0 s o lu c ió n it e r a t iv a . 1 9 9 . 2 0 6 B o r t . 1 1 1 3 , 1 1 1 6 , 1 148. 1168 s p a n . a tr ib u to . 1 2 5 7 a p l i c a . 1113. 1116

        B i z « _ t y p « . 1097

        a q r t . f u n c ió n . 1 7 2 , 1 7 3

        s iz B o f . 339. 340. 418. 489. 829.

        a r a n d . 186. 188

        9 4 5 . 10 3 1 , 1057 n o m b re d e a r r e g lo , 3 3 8 o p erad o r. 8 4 9 . 1003 o p erad o r, a l a p lic a rs e a l n o m b re de un a rr e g lo d e v u e lv e el n ú m e ro d e b y te s en e l m ism o , 3 3 9 o p erad o r u tiliz a d o p a r a d e te rm in a r el ta m a ñ o d e lo s tip o s d e d ato s e stá n d ar. 3 4 0 s k i p w a . m a n ip u la d o r d e f lu jo s . 7 5 5

        a r a n d f t Í M ( 0 ) ) . 187

        are. a tr ib u to (i»g). 1 2 4 6 . 1 2 4 7 < B B t r a a B ^ , a r c h iv o d e e n c ab e z a d o , 182, 871 a ta b la

        p a r t i t i o n . 1104.

        1167 s t a b l a a o r t . 1168 < B ta c k > . 1096, 1129 a rc h iv o d e e n c a b e z a d o , 182

        http://alexyniorlls.blogspot.com 1369 of 1380.

        índice

        1313

        d a s e d e a d a p ta d o r, 1 0 9 4 , 1 1 0 1 , 1 1 2 8 , 1 129 s t a r t . m a rc a, 1239

        a t r e a p n . f u n c ió n , 1 0 3 1 , 1 0 3 3

        no m bre u tiliz a d o co m o n x ú u r , 5 6 4 o p erad o r. 1 1 19 o p era d o r J ] , 8 5 4

        _ s t d c __, c o n s ta n te s im b ó lic a p r e d e f in id a , 1 0 6 0

        s t a t i c , 192, \ 9 4 , 2 1 4 , 1073, 1081, 1083

        o p era d o r I ] u tiliz a d o co n o b je to s s t r i n g . 852 o p erad o r d e m a p a . 1126 uso co n un a p u n ta d o r y un d e s p la z a m ie n to , 3 4 5

        < s t r in g > . 588 a rc h iv o d e e n c a b e z a d o , 182, 851

        d ato m ie m b ro . 4 9 8 ,7 3 2 dato m iem b ro p a ra c o n ta b iliz a r el n ú m ero d e o b je to s d e u n a d a s e . 501 e s p c c ific a d o r d e e n la z a d o . 1189 m ic ia liz a d ó n d e a rr e g lo s . 2 7 0 ¡n ic ia liz a d ó n d e a rr e g lo s e in ic ia liz a c ió n d e a rr e g lo s a u to m á tic o s, 2 7 0 m iem b ro , 4 9 7 , 5 0 0 m iem b ro d e d a s e , 5 0 9 m iem b ro s d e d a to s a h o rra n e s p a d o d e a lm a c e n a m ie n to . 4 9 7 o b je to lo c a l. 4 3 6 ,4 3 7 v a ria b le d e c la s e , 4 9 7 v a ria b le lo c a l, 19 6 , 1 9 8 .2 6 9 , 1 136 8 t a t i c _ c a s t < i n t > . 116 s t a t i c _ c a 8 t < í / p o > , 102, 127, 255

        s t r i n g . 4 8 5 . 5 8 8 . 8 9 3 .9 1 0 . 9 2 9 . 1094 a sig n a c ió n d e d ije t o s . 8 5 2 ,8 5 3 c la s e . 4 8 5 .5 0 4 , 5 4 8 . 5 9 1 . 8 5 2 d a s e d e la b ib lio te c a e stá n d ar. 182 co m p a ra c ió n d e o b je to s. 8 5 5 c o n c a te n u d ó n d e o b je to s, 8 5 2 co n stru cto r d e c o p ia d e l a c la s e . 8 5 2 p ro cesam ien to d e f lu jo s , 8 7 0 S t r in g d e f in id ó n d e la d a s e co n so b re c a rg a d e o p e ra d o re s, 5 6 9 d e f in id o n e s d e fu n d o n e s m ie m b ro y fu n cio n es f r i a n d d e la d a s e , 571 p ro g ram a d e p ru e b a p a ra l a d a s e . 574

        s u b s d t , v a lo r d e a tr ib u to (tip o ) , 898 s u b o b je to , 1207 s u b p r o b le m a , 1 9 9 s u b s t r . fu n c ió n m ie m b r o d e la d a se s t r i n g . 591, 857, 858, 901 su b y ac e n te c o n ten ed o r, 1128 estru c tu ra d e d ato s, 1132 s u c a d e n a d e u n o b je to s t r i n g . 8 5 7 su m a, 5, 3 0 , 31 , 32

        s t r in g it c o n s t _ ita r a t o r , 869

        S t a t u s , en cab ezado , 905

        s t r i n g i m p o s . 864

        ■ t d . e s p a c io d e n o m b r e s , 1 1 8 9

        s t r i n g f i n d . fu n c ió n m ie m b r o .

        s t d i s o l a . 2 6 . 28

        v e rific a rió n d e l ra n g o . 5 0 4 s u b ín d ic e s , u so d e . 1 1 1 7

        o p era d o r d e a sig n a c ió n (♦ ■ ). 9 8 S u m a , p ro g ram a, 26 su m a r lo s e le m e n to s d e u n a r r e g lo , 261

        862

        s t d i ic o u t . 23

        s t r i n g i n s s r t . fu n c ió n

        s t d i « « n d l, 29

        m ie m b ro . 8 6 6

        un e n te ro a un ap u n ta d o r, 341 s u m a to r ia m e d ia n te f o r . 1 0 9 s u s u r y , a tr ib u to . 1 2 5 5

        < s td a x c » p t> , 800

        s t r l s n , fu n c ió n , 3 6 3 , 3 6 9 , 3 7 0

        s u p . e le m e n to . 1 2 4 9

        < s t d s x c * p t > , a r c h iv o d e

        s t r n c a t . f u n c ió n . 3 6 3 . 3 6 5

        s u p c r c o m p u ta d o r a , 5

        s t r a c a p , f u n c ió n , 3 6 3 , 3 6 5 , 3 6 6 ,

        s u p e r ín d ic e , 1 2 4 9

        e n c ab e z a d o . 182 < s t d i o . h > , a r c h iv o d e

        367

        e n c a b e z a d o . 181 < s t d l i b . h > , a r c h iv o d e e n c a b e z a d o , 181

        S tr o u s tru p , B ja m c . 9 , 1 4 , 7 1 9 , 7 8 0 ,

        1235

        1232

        s t r s p n . fu n c ió n . 1 0 3 2 . 1 0 3 5

        7 1 9 , 1092 en la p r o g n u n a rió n g e n é ric a . 1 1 7 6 . 1235 fu nción c o n ten ed o ra , 1096 R e fe re n c ia , 1 17 5 , 1 234 S o ftw a re . 1 1 7 6 , 1235 tipo d e c x c e p d ó n . 1112

        s t r s t r , fu n c ió n , 1 0 3 2 , 1 0 3 5 s t r t o d . fu n c ió n . 1 0 2 6 , 1 0 2 9 s t r t o k . fu n c ió n . 3 6 3 . 3 6 8 s t r t o l , fu n c ió n , 1 0 2 7 , 1 0 2 9 , 1 0 3 0

        en e l e n u n d a d o d e un p ro b lem a . 1 6 8 , 2 2 5 ,3 7 4 en una e s p e c ific a c ió n d e sis te m a . 41 s w a p . 3 3 6 . 1095. 1104. 1117, 1150 fu n ció n m ie m b ro d e la c la se s t r i n g . 858 s i r a p _ r a n g a s , 1 104, 1150 s w itc h

        s t r t o u l . f u n c ió n . 1 0 2 7 , 1 0 3 0

        estru c tu ra d e s e lc c d ó n m ú ltip le , 1 1 3 . 1 1 7 . 1 3 2 ,8 4 2

        s t r u c t . p a la b r a r e s e r v a d a , 4 0 6 , 4 0 7 , 8 1 0 . 8 2 5 . 9 4 3 . 1 0 0 1 , 1081

        tu to ria l. 1 1 7 5 ,1 2 3 4 s t r . f u n c ió n m ie m b r o , 8 7 1 , 8 7 2

        s u b . e le m e n t o , 1 2 4 9

        s t r c a t y s t r n c a t . f u n c io n e s . 365

        su b árb o l d e re c h o , 9 7 5 , 9 7 6 ,9 7 7 .9 8 4 iz q u ie rd o . 9 6 9 .9 7 5 , 9 7 6 . 9 7 7 ,9 8 4

        s t r c a t , f u n c ió n . 3 6 3 , 3 6 5 , 1 0 7 2 a t r e s p y a t m e n p . f u n c io n e s . 366 s t r c s i p . f u n c ió n . 3 6 3 , 3 6 5 , 3 6 6 ,

        a t r o a p n . 1033

        s u s ta n tiv o s

        s t r r c h r , f u n c ió n , 1 0 3 1 , 1 0 3 4

        e s tá n d a r), 5 4 , 1 8 2 , 5 0 3 , 6 9 6 ,

        e t r c p y . f u n c ió n . 3 6 3 . 3 6 4

        s u s ta n tiv o , 1 4 , 1 4 0 , 1 4 1 , 2 2 5

        s t r p b r k . f u n c ió n . 1 0 3 2 . 1 0 3 3

        S T L ( B i b l io t e c a d e p la n t illa s

        a t r e p y y a t r n e p y . 364

        lín e a p a ra p a g a r, 9 6 5 s im u la d ó n . 9 8 3

        s t r o n g . d e m e n to , 1242

        S te p a n o v . A le x a n d e r . 1 0 9 2 . 1 1 7 6 .

        3 6 7 , 1072

        su p e rm ercad o

        a t m e p y , f u n c ió n , 3 6 3 , 3 6 4

        s u b c a d e n a . 581 lo n g itu d d e la . 581 s u b ín d ic e . 2 5 4 . 1 2 4 9 a t r a v é s d e u n T a c t o r . 1112 d e f ila . 2 8 9 fu era d e ra n g o , 1112 n o m b re d e l e lem en to d e u n a rr e g lo , 272

        estru c tu ra d e se le c c ió n m ú ltip le , d ia g ra m a d e a c tiv id a d con in stru c c io n e s b r a a k . 118 estm e tu ra p a ra e v a lu a r m ú ltip le s v a lo re s d e c a lific a c io n e s . 114 ló g ic a d e . 1 1 9 .6 8 0 .7 1 4

        T T a b , te c la , 24

        t a b la cu e rp o d e , 1257 d ato s d e . 1257 d e s ím b o lo s , 9 8 9 ,9 9 3 , 9 9 4

        http://alexyniorlls.blogspot.com 1370 of 1380.

        1314

        índice

        d e v a lo re s , 2 8 9 f ila d e , 1 256 la b ia d e v e r d a d , 125 I (N O T ló g ic o ), o p erad o r. 126 U (A N D ló g ic o ), o p erad o r. 125 II (O R ló g ic o ), o p erad o r. 125

        t«bl«. e le m e n t o .

        119.

        v e rtic a l (* ▼ ')• 1 0 2 1 . 1024 ta b u la r , f o r m a to . 2 5 6

        __ t i m e ___. c o n s ta n te s im b ó lic a

        te rm in a r. 17

        trig o n o m é tric a , 173 ta r e a . 6 ta s a d e in teré s. 1 1 0 .1 6 5 d o ra d a , 2 0 2

        tbody ( c u e r p o

        d e t a b la ) , e le m e n t o ,

        1257

        te x to a n á lis is d e . 3 9 9 c o n fo rm a to . 8 2 3 d e su s titu c ió n , 1 0 5 6 , 1059 d e su stitu c ió n p a r a u n a m acro o co n stan te s im b ó lic a . 1057 su s titu c ió n d e , 1056

        tfoot ( p ie

        d e t a b la ) , e le m e n t o ,

        1257

        T C P . 19

        th (c o lu m n a

        T C P /IP . 19 1257

        T h e U n if ie d M o d e lin g L a n g u a g e U s e r G u id e . 4 4

        7 3 9 ,7 4 2 ,8 1 1 . 1 0 6 6

        t h « a d ( e n c a b e z a d o d e t a b la ) ,

        te lé f o n o . 1 6 3

        t«llg, fu n c ió n , 8 1 9 t«llp. fu n c ió n . 8 1 9 t«mpl*Lt«, 7 5 t«aplato. p a la b r a r e s e r v a d a .

        de en cab ezad o de

        t a b la ) , e le m e n t o , 1 2 5 6

        te c la d o . 5 . 6 . 17. 2 8 . 1 1 6 . 1 1 9 . 3 8 8 .

        m arc a. 1256 t h i a , a p u n ta d o r , 4 8 5 , 4 8 9 , 4 9 1 ,

        222.

        720 te m p o r a l o b je to . 5 6 8 o b je to S t r i n g , 5 7 9 u b ic a c ió n , 9 9 2 .9 9 5 v a lo r. 9 2 . 180

        500. 550. 566 u sad o en fo rm a e x p líc ita . 4 8 9 u sa d o en fo rm a im p líc ita y e x p líc ita p a ra ten e r aco eso a lo s m iem b ro s d e u n o b je to . 4 9 0 T h o m p s o n , K cn , 8 th r o w . 785 e x c e p c io n e s d e r iv a d a s d e la s e x c e p c io n e s e stá n d ar. 801 e x c e p c io n e s e s tá n d a r, 801

        te r m in a c ió n c a rá c te r n u lo * \ 0 ' d e u n a c a d e n a . 2 6 7 , 2 6 9 .3 6 1 . 3 6 2 . 3 6 3 .3 6 9 , 4 8 5 .8 6 8 c o n d ició n d e , 2 0 0 , 2 6 6 d e la c a d e n a oon c a rá c te r n u lo . 2 6 8 . 3 4 9 .7 4 3 . 8 6 7 d e la e je c u c ió n . 5 0 5 fa se d e , 87 lla v e d e r e c h a ( ) ) d e la d e fin ic ió n d e u n a c la s e , 4 2 4 lla v e d e r e c h a ( ) ) d e un b lo q u e , 195

        e x c e p c io n e s n o d e r iv a d a s d e la s e x c e p c io n e s e stá n d ar. 801 in s tru c c ió n . 7 8 8 lis t a . 7 8 9 p a ra la n z a r u n a ex p re sió n c o n d ic io n a l. 7 8 7 t h r o v ( ) . e s p e c if ic a c ió n de e x c e p c ió n . 7 9 0

        tiM

        . h > , a r c h iv o d e e n c a b e z a d o . 181 . t , tip o , 8 8 8 . 8 8 9

        T IM E S T A M P

        c o n s ta n te

        s im b ó lic a p r e d e f in id a . 1 0 6 0 71p d e p r u e b a y d e p u r a c i ó n , 1 0

        (7* ) ,

        898, 1263

        t a n g e n t e . 173

        , c l a s e c o n f u n c io n e s

        . 4 1 6 . 4 3 5

        t i m m . 187

        t«rmlnat«, 7 9 0

        ta m a ñ o d e un a r r e g lo , 2 6 8 , 3 3 8 d e un o b je to s t r i n f f . 8 5 9 d e u n a es tru c tu ra , 1 003 d e u n a v a r ia b le . 3 0 . 192 f ijo . 5 0 3

        td.e le m e n t o .

        o rd en d e l siste m a o p e ra tiv o , 1075 p e tició n e n v ia d a a l p ro g ra m a . 1076 p ru e b a . 2 0 6 t e r m in a d o r d e in s tr u c c io n e s ( ; ) , 2 3

        1254

        \t.7 6 ,

        a i q u e s e c o m p iló e l a rc h iv o de c ó d ig o fu e n te , 1060

        ta rc a s d e lim p ie z a . 4 3 5

        la b u la d o r . 3 8 h o rizo n ta l (*\t')> 2 4 . 1 0 2 1 . 1024 p o sició n d e , 2 4 se c u e n c ia d e e s c a p e 159

        m o d e lo d e m a n e jo d e e x c e p c io n e s , 783

        tip o c a lific a d o r d e , 2 7 5 ca m p o . 8 4 2 de de de de de

        d a to s in te g ra d o , 5 0 3 ,5 0 4 d a to s n u m é ric o , lím ite , 182 u n a v a ria b le . 3 0 , 192 v a lo r d e re to m o . 175 v a lo r d e re to m o d e u n a fu n c ió n .

        179 de v a lo r d e re to m o d e una o p e ra c ió n . 2 9 7 de v a lo r d e re to m o d e fin id o co m o v o i d . 175 de v a lo r d e re to m o en un encab ezado d e fu n d ó n . 78 d efin id o po r e l p ro g ra m a d o r. 4 0 6 d el ap u n ta d o r t h i « . 4 8 9 p o ram etriz ad o , 7 3 5 p arám etro d e , 2 2 2 , 2 2 3 , 2 2 4 ,7 2 0 . 724, 730 U po c k d a to s . 5 0 2 b o o l. 76 i a t . 27 " tip o m á s a l t o " . 180 tip o s , in fo r m a c ió n d e . 841 T lp s d e p o t a b il i d a d , 10, 2 0 T ip s d e r e n d im ie n to . 10 t i r a D a d o a , 190 t ir a r d o s d a d o s. 1 8 8 ,1 9 0 .3 1 1 un d a d o , 184 T ir a r d a d o s , p r o g r a m a q u e u t il i z a un a r r e g lo e n v e z d e a w i t c h , 2 6 3 T ir a r u n d a d o d e s e i s la d o s 6 0 0 0 v e c e s , 184 t i t l a . e le m e n t o . 1 2 3 9 de X H T M L ( < t i t l « > . . . < / t it l a > ) , 886 títu lo d e u n d o c u m e n to , 1 2 3 9 T U ) ( d o m in io d e n iv e l s u p e r io r ), 884 to k e n . 3 6 3 , 3 6 8 , 9 9 3 . 9 9 5 t o l o w a r . fu n c ió n . 1 0 2 1 , 1 0 2 3

        ti«.7 6 8

        t o p , 11 2 8 , 1 1 3 0 , 1133

        tie m p o c o m p a rtid o , 6 . 14

        T o rre s d e H a n o i. 2 4 6 . 2 4 7 to ta l. 8 3 , 8 7 , 193

        http://alexyniorlls.blogspot.com 1371 of 1380.

        índice

        1315

        touppar. f u n c ió n , 3 3 1 , 1 0 2 1 , 1 0 2 3 tr ( f ila d e t a b la ) , e le m e n t o . 1 2 5 6 t r a b a ja d o r , 171 por c o m is ió n , 166 t r a b a jo , 6 t r a d u c c ió n , 7

        U so d e a rg u m e n to s en la lín e a d e co m an d o s, 1070 a rr e g lo s en lu g a r d e switch. 2 6 3 c la s e s b a s e virtual. 1208

        tra d u c to r, p r o g r a m a . 8 t r a n s a c c ió n , 8 4 7 K T T P .8 9 2 t r a n s a c c io n e s a rc h iv o d e . 8 4 7 re g istro d e . 8 4 8 t r a n s f e r e n c ia d e c o n tr o l, 7 3 1104, 1144, 1 147

        t r a n s ic ió n . 7 4 , 2 2 7 d e e sta d o . 2 2 8

        u n a rio d e su m a (♦ ) y d e re s ta ( - X o p e ra d o re s, 9 3 o p erad o r. 9 3 . 126, 3 2 2 o p erad o r d e d e c rc m e n to ( — X 9 9 o p erad o r d e in crem en to (♦ ♦ ), 9 9 o p erad o r d e re so lu c ió n d e a lc a n c e ( i i ) , 217 so b re c a rg a d e o p erad o r, 5 4 9 ,5 5 5

        t r a p e z o id e . 6 1 1

        p r c p r o c c s a d o r, 1 0 5 7 , 1 0 6 0

        t r iá n g u lo r e c t o , 1 6 3 , 1 6 6

        unaxp«ct«d. 7 9 0 ,

        T r ip le d e P it á g o r a s . 1 6 6

        U n ic o d e , 8 1 0 . 851

        triplaPorRaf«rancia. 2 5 0 triplaPorValor, 2 5 0 tru«. 7 4 . 7 6 , 7 7 . 7 8 . 7 9 . 8 0 . 1 0 3

        u n id a d a ritm é tic a y ló g ic a (A L U ). 5 cen tra l d e p ro c esa m ien to (C P U ), 6 d e a lm a c e n a m ie n to , 1 0 2 0 d e a lm a c e n a m ie n to , lím ite s . 1 0 1 9 d e d is c o s . 7 3 9 d e m e m o ria . 5 d e p ro c e sa m ie n to . 5 d e s a lid a , 5 ló g ic a , 5

        tru n c a r . 3 1 . 9 2 . 4 8 5 . 8 1 4 p id e f ra c c io n a ria d e un d o u b l a . 179 783. 788. 792

        « p i r a , 783 t u m o o r d in a r io , 158 t u m o y m e d io . 1 5 8 , 1 6 6

        typ«. a tr ib u to , 1 2 5 2 . 1 2 6 2 typa._info, c l a s e . 7 1 4 typadaf e n c o n te n e d o r e s d e p r im e r a c l a s e , 1 0 9 7

        typadaf. 7 4 1 ,

        d e la s fu n c io n e s d e la B ib lio te c a e stá n d ar p a ra r e a liz a r un h e a p so n . 1163 d e la s fu n c io n e s d e p la n tilla s . 721 d e la s fu n c io n e s axit y ataxit. 1074 d e lis ta s c o n a rg u m en to s d e lo n g itu d

        undarflow_«rror, 8 0 0 funda f.d ir e c t iv a d e l

        tr a n s m it ir c o n s e g u r id a d , 1 6 3

        try. b lo q u e .

        d e goto. 1 0 7 9 de la fu n ció n m ie m b ro f i l l y d e l n u n ip u la d o r d e flu jo s satfill p ir a c a m b ia r el c a rá c te r d e re lle n o . 7 5 9 d e la fu n c ió n m p p ara in terc am b ia r d o s o b je to s atring. 8 5 8

        u ñ a r ía , f u n c ió n p r e d ic a d o , 1 1 1 6 , 1141, 1144

        t r a d u c ir . 15

        tranaform,

        e s p e c ific a c ió n . 143 estad o f in a l. 7 4 fle c h a , 7 4 lín e a p u n tea d a . 7 4 n o ta, 7 4 sím b o lo d e fu s ió n , 82

        8 5 1 . 8 7 0 . 1004.

        1096, 1121, 1126

        typ«i& 8 0 0 o p erad o r. 7 1 4

        typanama, 2 2 2 , 7 2 0 . a r c h iv o

        unión.

        1 0 8 0 , 1081 co n stru cto r. 1081 fu n c io n e s no p u ed en s e r v i r t u a l . 1081 s in c o n stru cto r, 1081

        uniqua. 1 1 0 4 . 1 1 1 3 , 1 1 5 2 , 1 1 5 4 uniqu«_copy, 1 1 0 4 , 1 1 5 4 , 1 1 5 6 uniqua copy, 1 1 5 5 U n ix , 7 . 8 , 1 4 . 1 1 6 , 7 5 4 , 8 1 5 , 8 8 4 . 1070. 1073. 1075 lín e a d e c o m a n d o s. 1 0 6 6 , 1067

        de

        en cab ezad o , 182, 714

        u U . s u f ijo d e e n te ro s. 1 0 7 5 u b ic a c ió n d e m e m o r ia . 3 0 , 8 4

        ul e le m e n to , 1251 su fijo d e e n te ro s, 1075 ú ltim o e n e n tr a r, p r im e r o e n s a lir . o rd en , 7 2 3 . 7 2 8 U M L , 4 0 . 42. 4 3 . 73 co n d ició n d e g u a rd ia , 7 6 d ia g ra m a d e a c tiv id a d . 7 3 . 7 4 . 7 6 . 7 8 , 8 2 , 108 d ia g ra m a d e c la s e s , x x x v iii, 4 7 , 4 5 1 d ia m a n te , 7 6 d o cu m e n to d e la s e s p e c ific a c io n e s , 44

        unaignad, 1 8 0 , 1 8 6 , 1 0 7 5 char, 180 int, 1 8 0 , 1 8 6 ,3 3 8 long. 180, 2 0 2 . 1030, 1075 long int, 180, 201 ahort,1 8 0 ahort int. 180 una ignad. e n te r o e n b its , 1 0 0 9 uppar bound. 1 1 1 9 , 1 1 2 2 , 1160

        upparcaaa, m a n ip u la d o r d e

        f lu jo s .

        7 5 6 ,7 6 1 ,7 6 2 U R L ( L o c a liz a d o r u n if o r m e de r e c u r s o s ), 8 8 1 , 8 8 6 U S E N I X C + + . C o n f e r e n c ia . 7 1 9

        uaing, 3 7 ,

        59 in stru c c ió n . 1187 naxaapaca. 1189

        v a ria b le . 1068 de un b ú fe r en l a s a lid a . 7 6 8 de un ite ra d o r p a ra m o stra r un o b je to atring. 8 6 9 d e un o b je to oatringstraax

        800

        a sig n a d o en fo rm a d in á m ic a , 8 7 1 de u n a p la n tilla d e fu n c ió n . 2 2 3 d e u n a unión a n ó n im a , 1083 d e l m a n e jo d e s é lla le s , 1076 d el m an ip u la d o r d e flu jo s upparcaaa. 7 6 3 e x p líc ito d e l a p u n ta d o r this. 4 8 9

        uauariodatoa.txt,9 2 8 u t ile r ía salea. 1 0 7 3 , a r c h iv o d e e n c a b e z a d o . 181

        V va arg. m a c r o . 1 0 6 7 , 1 0 6 8 va. and. m a c r o . 1 0 6 7 . 1 0 6 8 va .list, m a c r o . 1 0 6 7 , 1 0 6 8 va. start. m a c r o , 1 0 6 7 . 1 0 6 8 v a c ia r b ú fe r. 7 6 8 b ú fer d e s a lid a , 2 9 f lu jo , 7 4 9 . 1073

        valarray. m u e ro .

        1094

        v a lid a c ió n , 8 7 1 v a lid a r l a lla m a d a a u n a fu n c ió n , 1 7 8 v a lid e z , c o m p r o b a c ió n d e , 4 4 0 , 4 4 5

        valign, a tr ib u to

        (th X 1257

        v a lo r . 2 9 a b so lu to . 173 " b a s u ra ” . 8 5 c e n tin e la . 8 6 . 8 8 . 116 c o rre c to . 128 d e p ru e b a . 8 6 d e p u n to fijo , 1 13 de un a trib u to , 1239 d e u n a v a ria b le . 3 0 , 192 d ife re n te d e c e r o se tra ta co m o trua. 127

        http://alexyniorlls.blogspot.com 1372 of 1380.

        índice

        1316

        final d e u n a v a ria b le d e c o n tro l, 102, 108

        v id a ú t il , 3 0 0 , 3 0 1

        in d e fin id o , 8 5 in ic ia l d e u n a v a r ia b le d e c o n tro l, 10 2 , 105

        " v ie jo e s t ilo " , a r c h iv o s de

        v íd e o , E /S, 7 4 0 e n c a b e z a d o . 181 v in c u la c ió n d in á m ic a , 6 6 3 ,6 7 4 , 6 9 5 . 6 9 8 e s tá t ic a . 6 7 4 . 6 9 2 . 1204 p o ste rg ad a . 6 9 5 s e g u r a d e tip o s . 2 1 9

        in ic ia l p a ra un a trib u to , 2 2 7 iz q u ie rd o , 128 m ap e ad o , 1 119 p o s id o n a l. 162 p red eterm in a d o e s d e c im a l, 7 6 0

        v in c u la d o r ( v e a ta m b ié n c n la z a d o r ) ,

        v a lo r e s d e la s c a r a s d e la s c a r t a s , 3 5 0

        1072

        d e m u ltip lic id a d , 143 d e pu nto flo ta n te m o strad o s e n form ato p red eterm in a d o , c ie n tífic o y f ijo , 7 6 2

        v ín c u lo s , 1 4 5

        W in d o w s 3 2 -b it A p p lic a tio n

        a c c e s o a m e m o ria . 5 4 , 1093 d e se g m e n ta c ió n . 1075

        v irtu a l

        d e co n v ersió n v is ib le en e l d ep u rad o r, 1055 g lo b a l. 1 9 4 .1 9 5 . 19 6 . 1 9 8 . 2 1 7 , 2 7 2 , 1 0 7 1 , 1 0 7 2 , 1 189 lo c a l. 8 5 . 1 7 3 . 19 3 , 19 4 , 1 9 6 ,3 3 4 , 1 083 n o m b re d e . 9 8 7

        W in d o w s 2 0 0 0 , 8 8 4 P r o g r a m m in g In tc x fa c c ( W in 3 2

        1 0 8 1 , 1 0 9 7 . 1 1 3 3 , 1207 fu n ció n en u n a c la s e b a s e , 7 1 3 h e r e n c ia , 1 208 lla m a d a a fu n c ió n , 6 9 8 lla m a d a a fu n ció n ilu s tra d a , 6 9 7 ta b la d e fu n c io n e s ( M o b l e ) . 6 9 6

        V M S . 1070 v o id . 208 * . 3 4 3 ,1 0 3 7 lis ta d e p a rám etro s. 175 tipo d e v a lo r d e re to rn o . 179

        v o l á t i l * , c a lif ic a d o r , 1 0 7 5 , 1 1 8 4

        V andador d e fin ic ió n d e la c la s e . 4 2 7 d e fin ic io n e s d e fu n c io n e s m iem b ro d e l a c la s e , 4 2 8 v erb o . 2 9 6 . 3 7 4 . 4 0 6

        v o lu m e n d e u n c u b o . 2 1 0 \ b lv c r a la n z a r u n a e x c e p c ió n . 7 8 8 , 8 0 6 M o b le . 6 9 6 . 6 9 8

        v e rb o s , 592

        W irth , N ic k la u s . 13

        w r i t * . 743, 748. 749, 824. 829

        V is u a l C + + . p á g in a d e in ic io . 1 2 3 4

        1105, 1108. 1128. 1129, 1132 p la n t illa d e c la s e . 1 1 0 6

        A P I), 12

        c la s e s b a s e , 1 1 8 4 . 1206. 1208 d e s tru c to r. 6 9 9

        v a r ia b le d e c o n t r o l, 1 0 5 n o m b re d e , 106 VAX V M S . 816

        ed ito r d e te x to , 1237

        W in 3 2 A P I , 12 W in d o w s . 1 1 6

        v io la c ió n d e

        c o n sta n te , 2 5 9 ,2 6 1 co n tad o r, 85

        v ia ja a .h tm l. 906

        W ilta m u th , S c o tt, 12

        v ín c u lo . 1 5 . 16, 9 4 4 . 9 6 9 a l c ó d ig o o b je to d e u n a c la s e . 4 2 0

        v a r ia b le . 2 7 . 4 1 , 1 7 2 . 4 0 6 ap u n tad o r. 7 9 8

        nos

        w id th . 7 5 2 . 7 5 3 a trib u to , 1246, 1254 fo n d ó n m ie m b ro d e la d a s e i o s _ b a s * . 753

        v i n c u l o s . h t m l , 1242 v i n c u l o g 2 . h t m l . 1251

        v a l ú a , a t r ib u t o . 1 2 6 2 v a lu * _ ty p * . 1096. 1097. 1126

        v i. 5

        w h ilc (S a g ra m a d e a c tiv id a d d e la es tru c tu ra . 8 2 e a r u c tu r a d e re p e tic ió n . 8 1 , 8 2 , 103, 120. 133

        a p u n ta d o r. 6 9 8

        w W 3 C ( W o r ld W id c W e b ). 2 0 A n te p ro y e c to . 2 0 h o st, 2 0 R e c o m e n d a c ió n , 2 0 R e c o m e n d ac ió n c a n d id a ta . 2 0 R e c o m e n d ac ió n p ro p u esta . 2 0

        w c h * r_ t. 7 4 0 , 8 5 1 w h a t. f u n c ió n d e la c l a s e a x c a p tio n , 787, 794

        m

        . a p a c h a . o r g , 890

        w w w .ja s c .c o a L 1245 w w w .o m g .o r g . 44 w w w . u n i c o d a . o r g . 851 w w w .w 3 .o r g .

        20

        w w w .w 3 .o r g / a u u r lc u p . 1237 w w w .w 3 .o r g / T R / x t h t r n ll, 1269 www. w3 a c h o o l s . c o a x / x h tm l / d a f a u l t . a a p . 1269 w w w .x h t m l .o r g . 1269

        X X 3 J I 1. c o m ité t é c n ic o . 9 X e r o x . C e n tr o d e in v e s tig a c io n e s d e P a lo A lto ( P A R C ) . 9 X H T M L , 20, 5 2 , 8 8 1 , 8 8 6 , 1237 c a rá c te r e s p e d a l. 1274 co m en ta rio . 1239 d o cu m e n to . 5 6 fo rm u la rio . 8 9 7 .1 2 5 9 lis ta . 5 6 m a rc a , 8 9 0 re co m e n d a d ó n . 1269 ta b la . 5 6 X M L .2 0 x o r. 1 4 4 x o r . p a la b r a r e s e r v a d a d e o p e ra d o r . 1190 x o r _ w q . p a la b ra r e s e r v a d a de o p e ra d o r , 1 1 9 1

        http://alexyniorlls.blogspot.com 1373 of 1380.

        Contrato de Licencia para el Usuario Final del software de Microsoft IMPORTANTE — LEA CUIDADOSAMENTE: Este Contrato de Licencia para el Usuario Final ( “C LUF’) es un acuerdo legal entre usted (ya sea una persona o una entidad individual) y Microsoft Corporation para los pro­ ductos de software Microsoft incluidos en este paquete, que incluye el software de computadora y puede incluir los medios asociados, materiales impresos y documentación “en línea" o electrónica ( “PRODUCTO DE SOFT WARE”). El PRODUCTO DE SOFTWARE también incluye cualquier actualización y suplemento para el PRO­ DUCTO DE SOFTWARE original que le sea proporcionado a usted a través de Microsoft. Al instalar, copiar, descargar, o utilizar de cualquier otra forma el PRODUCTO DE SOFTWARE, usted está de acuerdo en quedar obligado por las cláusulas de este CLUF. Si usted no está de acuerdo con las cláusulas de este CLUF. no insta­ le, copie o utilice de cualquier forma el PRODUCTO DE SOFTWARE. LICENCIA DEL PRODUCTO DF. SOFTWARE El PRODUCTO DE SOFTWARE está protegido por las leyes de derechos de autor y los tratados internaciona­ les de derechos de autor, así com o por leyes y tratados sobre propiedad intelectual. El PRODUCTO DE SOFT WARE es concedido en licencia, no vendido. 1.

        OTORGAMIENTO DE LICENCIA. Este CLUF le otorga a usted los siguientes derechos: 1.1

        Licencia otorgada. Microsoft le otorga a usted como individuo, una licencia personal no exclusi­ va para hacer y utilizar copias del PRODUCTO DE SOFTWARE con el único fin de evaluar y aprender a utilizar el PRODUCTO DE SOFTWARE, según lo que se indique en las publicaciones o documentación que lo acompañen. Puede instalar el software en un número ilimitado de compu­ tadoras. siempre y cuando usted sea el único individuo que utilice el PRODUCTO DE SOFT­ WARE.

        1.2

        Uso académico. Usted debe ser un “Usuario educacional calificado” para poder utilizar el PRO­ DUCTO DE SOFTWARE en la manera que se describe en esta sección. Para determinar si es un Usuario educacional calificado, por favor póngase en contacto con el Centro de información de ventas de Microsoft /One Microsoft Way/Rcdmond, WA 98052-6399 o con la subsidiaria de Mi­ crosoft que dé servicio en su país. Si usted es un Usuario educacional calificado, puede: (i) (ii)

        (A)

        ejercer los derechos otorgados en la sección 1.1, o si su intención es utilizar el PRODUCTO DE SOFTWARE únicamente para fines de instrucción, en relación con una clase o cualquier otro programa educacional, este CLUF le otorga los siguientes modelos de licencia alternativos:

        Por modelo de computadora. Por cada licencia válida que usted haya adquirido para el PRODUCTO DE SOFTWARE, puede instalar una copia individual del mismo en una sola

        http://alexyniorlls.blogspot.com 1374 of 1380.

        Contrato d© Ucencia para el Usuario Final del software de Microsoft

        1318

        computadora pora que pueda utilizarse por un número ilimitado de usuarios finales estu­ diantes en su institución educativa, siempre y cuando dichos usuarios cumplan con todas las demás cláusulas de este CLUF, o (B)

        2.

        3.

        Por modelo de licencia. Si tiene varias licencias para el PRODUCTO DE SOFTWARE, entonces en cualquier momento usted puede tener tantas copias del PRODUCTO DE SOFTWARE en uso como el número de licencias que tenga, siempre y cuando dicho uso se limite a los usuarios finales estudiantes o docentes en su institución educativa y mientras que todos esos usuarios finales cumplan con todas las demás cláusulas de este CLUF. Para los fines de esta subsección, el PRODUCTO DE SOFTWARE está "en uso” en una compu­ tadora cuando se carga en la memoria temporal (es decir, la RAM) o se instala en la memoria permanente (por ejemplo, en disco duro. CD ROM o cualquier otro dispositivo de almace­ namiento) de esa computadora, con la excepción de que una copia instalada en un servidor de red para el único fin de distribuirla en otras computadoras no se encuentre “en uso”. Si el número anticipado de usuarios del PRODUCTO DE SOFTWARE se excede del número de licencias aplicables, entonces usted debe tener un mecanismo o proceso razonable dis­ ponible para asegurar que el número de personas que utilicen el PRODUCTO DE SOFT­ WARE al mismo tiempo no exceda al número de licencias.

        DESCRIPCIÓN DE OTROS DERECHOS Y LIMITACIONES. •

        Limitaciones de ingeniería inversa, descompilación y dcsensamblaje. Usted no podrá realizar in­ geniería inversa, descompilar o desensamblar el PRODUCTO DE SOFTWARE, con excepción y en la medida en que, no obstante esta limitación, dicha actividad esté expresamente permitida por la ley aplicable.



        Separación de los componentes. El PRODUCTO DE SOFTWARE es cedido en licencia como un producto único. Las partes que lo componen no podrán ser separadas para su uso en más de una computadora.



        Renta. Usted no podrá arrendar o ceder en régimen de ‘leasing” el PRODUCTO DE SOFTWARE.



        Transferencia de software. El usuario inicial del PRODUCTO DE SOFTWARE puede realizar una sola transferencia permanente de este CLUF y del PRODUCTO DE SOFTWARE sólo directa­ mente a un usuario final. Esta transferencia debe incluir todo el PRODUCTO DE SOFTWARE (incluyendo todas sus partes componentes, los medios y materiales impresos, cualquier actualiza­ ción. este CLUF y, si aplica, el Certificado de autenticidad). Dicha transferencia no debe realizar­ se mediante la consignación o cualquier otra transferencia indirecta. El receptor de dicha transfe­ rencia única debe estar de acuerdo con todos los términos de este CLUF, incluyendo la obligación de no transferir a otros este CLUF y el PRODUCTO DE SOFTWARE.



        Sin soporte. Microsoft no tendrá ninguna obligación de proporcionar soporte para el PRODUCTO DF. SOFTWARE.



        Resolución. Sin prejuicio de cualesquicr otros derechos. Microsoft puede terminar este CLUF si usted no cumple con los términos y condiciones del mismo. En dicho caso, usted debe destruir todfcts las copias del PRODUCTO DE SOFTWARE y todas sus paites componentes.

        DERECHOS DE AUTOR. Todos los títulos y derechos de propiedad intelectual en y para el PRODUC­ TO DE SOFTWARE (incluyendo pero no limitándose a imágenes, fotografías, figuras animadas, vídeo, audio, música, texto y “applets" incorporados dentro del PRODUCTO DE SOFTWARE), los materiales impresos que lo acompañan y cualesquier otras copias del PRODUCTO DE SOFTWARE, son propiedad de Microsoft o de sus proveedores. Todos los títulos y derechos de propiedad intelectual en y para el con­ tenido al que se pueda tener acceso a través del uso del PRODUCTO DE SOFTWARE es propiedad del respectivo propietario del contenido y puede estar protegido por las leyes de derecho de autor aplicables y cualesquier otras leyes o tratados sobre propiedad intelectual. Este CLUF no le otorga derechos para utilizar dicho contenido. Todos los derecho que no se otorguen expresamente son reservados por Mi­ crosoft.

        http://alexyniorlls.blogspot.com 1375 of 1380.

        Contrato do Ucencia para el Usuario Final del software de Microsoft

        1319

        4.

        COPIA DE SEGURIDAD. Después de instalar una copia del PRODUCTO DE SOFTWARE en confor­ midad con este CLUF. usted puede guardar los medios originales en los que el PRODUCTO DE SOFT­ WARE fue proporcionado por Microsoft únicamente para fines de mantener una copia de seguridad o para ser archivado. Si se requiere del uso de los medios originales para utilizar el PRODUCTO DE SOFTWARE en la COMPUTADORA, usted puede realizar una copia del mismo únicamente para fines de mantener una copia de seguridad o de archivarlo. Con la excepción de lo expresamente provisto en es­ te CLUF, usted no puede de ninguna otra forma realizar copias del PRODUCTO DE SOFTWARE o de los materiales impresos que lo acompañan.

        5.

        DERECHOS RESTRINGIDOS POR EL GOBIERNO DE LOS ESTADOS UNIDOS. El PRODUCTO DE SOFTWARE y la documentación se proporcionan con DERECHOS RESTRINGIDOS. El uso, la du­ plicación o divulgación por el Gobierno están sujetos a las restricciones establecidas en el subpárrafo (cXD(ii) de la cláusula de Derechos sobre datos técnicos y software de computadora en la DFARS 252.227-7013 o los subpárrafos (c)( 1) y (2) de los Derechos restringidos sobre el software comercial de computadora en la 48 CFR 52.227-19, según se aplique. El fabricante es Microsoft Corporation/One M i­ crosoft Way/Redmond. WA 98052-6399.

        6.

        RESTRICCIONES DE EXPORTACIÓN. Usted está de acuerdo en que no exportará o reexportará el PRODUCTO DE SOFTWARE, cualquier parte del mismo o cualquier proceso o servicio que sea el pro­ ducto directo del PRODUCTO DE SOFTWARE (todo lo cual se conoce colectivamente com o los “Com­ ponentes restringidos"), a cualquier país, persona, entidad o usuario final sujeto a las restricciones de exportación de los Estados Unidos. Usted está de acuerdo específicamente en no exportar o reexportar cualquiera de los Componentes restringidos (i) a cualquier país al que los Estados Unidos haya embar­ gado o restringido la exportación de bienes o servicios, que actualmente incluyen pero no se limitan ne­ cesariamente a Cuba, Irán. Iraq. Libia, Corea del Norte, Sudán y Siria, o a cualquier nacional de dichos países, en donde quiera que esté ubicado y que tenga la intención de transmitir o transportar los Compo­ nentes restringidos de vuelta a dicho país; (ii) a cualquier usuario final que usted sepa o tenga motivos de suponer que utilizará los Componentes restringidos en el diseño, desarrollo o producción de armas nucleares, químicas o biológicas; o (¡ii) a cualquier usuario final que se le haya prohibido participar en transacciones de exportación de los Estados Unidos por cualquier agencia federal del gobierno de este mismo país. Usted garantiza y representa que ni la BXA o cualquier otra agencia federal de los Estados Unidos ha suspendido, revocado o denegado sus privilegios de exportación.

        7.

        AVISO ACERCA DEL SOPORTE DE JAVA. EL PRODUCTO DE SOFTWARE PUEDE CONTENER SOPORTE PARA PROGRAMAS ESCRITOS EN JAVA. LA TECNOLOGÍA DE JAVA NO ES A PRUEBA DE ERRORES Y NO ESTÁ DISEÑADA. FABRICADA O CREADA CON LA INTENCIÓN DE UTILIZARSE O REVENDERSE COMO EQUIPO DE CONTROL EN LÍNEA EN ENTORNOS PELIGROSOS QUE REQUIERAN DE UN DESEMPEÑO A PRUEBA DE ERRORES, COMO EN I-A OPERACIÓN DE INSTALACIONES NUCLEARES, INSTRUMENTOS DE NAVEGACIÓN DE AE­ RONAVES O SISTEMAS DE COMUNICACIONES, CONTROL DF. TRÁFICO AÉREO, MÁQUINAS DE SOPORTE DE VIDA DIRECTO O SISTEMAS DE ARMAMENTO. EN LOS QUE UNA FALLA EN LA TECNOLOGÍA DE JAVA PODRÍA PROVOCAR DIRECTAMENTE LA MUERTE, LESIO­ NES PERSONALES O DAÑOS SEVEROS FÍSICOS O AMBIENTALES.

        MISCELÁNEOS Si usted adquirió este producto en los Estados Unidos, este CLUF está regulado por las leyes del estado de Wash­ ington. Si usted adquirió este producto en Canadá, este CLUF está regulado por las leyes de la provincia de Onta­ rio, Canadá. Cada una de las partes aquí mencionadas se somete irrevocablemente a la jurisdicción de las cor­ tes de la provincia de Ontario y está de acuerdo en comenzar cualquier litigio que pueda surgir en base a este contrato, en las cortes localizadas en el Distrito Judicial de York, provincia de Ontario. Si este producto fue adquirido fuera de los Estados Unidos, entonces pueden aplicarse las leyes locales. En caso de que usted tenga dudas en relación con este CLUF, o si desea ponerse en contacto con Micro­ soft por cualquier motivo, por favor póngase en contacto con Microsoft, o escriba a la dirección: Microsoft Sales Information Center/One Microsoft Way/Redmond, WA 98052-6399.

        http://alexyniorlls.blogspot.com 1376 of 1380.

        1320

        Contrato d© Ucencia para el Usuario Final del software de Microsoft

        GARANTÍA LIMITADA Microsoft garantiza que (a) el PRODUCTO DE SOFTWARE podrá ser operado suslancialmcnte de acuerdo a lo indicado por el o los manuales del producto que lo acompañan por un periodo de noventa (90) días a partir de la fecha de su entrega; y (b) que los Servicios de soporte proporcionados por Microsoft deberán llevarse a cabo suslancialmcnte según lo descrito en los materiales escritos aplicables que le sean proporcionados a usted por parte de Microsoft, y los ingenieros de soporte de Microsoft realizarán lodos los esfuerzos comercial mente razonables por resolver cualquier problema. En la medida permitida por la ley aplicable, las garantías implíci­ tas con respecto al PRODUCTO DE SOFTWARE, en caso de haberlas, se limitan a noventa (90) días. Algunos estados/jurisdicciones no permiten limitaciones en la duración de una garantía implícita, por lo que la anterior limitación podría no aplicarse para usted. RECURSOS DEL CUENTE.- La responsabilidad total que Microsoft y sus proveedores tienen y el único recurso que usted tiene, a opción de Microsoft, es (a) devolverle el precio pagado, en caso de haberlo, o (b) re­ parar o sustituir el PRODUCTO DE SOFTWARE que no se ajuste a la Garantía limitada de Microsoft, y que sea devuelto a Microsoft con una copia de su factura. Esta Garantía limitada quedará sin efectos si el mal fun­ cionamiento del PRODUCTO DE SOFTWARE se debe a un accidente, abuso o aplicación indebida del mismo. Cualquier restitución del PRODUCTO DE SOFTWARE estará garantizada por el resto del periodo de garantía original o treinta (30) días, lo que sea mayor. Fuera de los Estados Unidos, ninguno de estos remedios o cual­ quier servicio de soporte para el producto ofrecido por Microsoft estarán disponibles sin un comprobante de compra de una fuente internacional autorizada. INEXISTENCIA DE OTRAS GARANTÍAS. EN LA MÁXIMA EXTENSIÓN PERMITIDA POR LAS LEYES APLICABLES, MICROSOFT Y SUS PROVEEDORES NO RECONOCEN OTRAS GARANTÍAS Y CONDICIONES, EXPRESAS O IMPLÍCITAS, INCLUYENDO SIN LIMITACIÓN ALGUNA. LAS GA­ RANTÍAS O CONDICIONES IMPLÍCITAS DF. COMERCIALIZACIÓN, ADECUACIÓN PARA UN FIN PARTICULAR, TÍTULO E INEXISTENCIA DE VIOLACIÓN. CON RESPECTO AL PRODUCTO DE SOFTWARE Y LA PROVISIÓN DE, O EL NO PROPORCIONAR SERVICIOS DE SOPORTE. ESTA GA­ RANTÍA LIMITADA LE CONFIERE DERECHOS LEGALES ESPECÍFICOS. USTED PUEDE TENER OTROS DERECHOS QUE VARÍAN DE ESTADO/JURISDICCIÓN EN ESTADO/JURISDICCIÓN. LIMITACIÓN DE RESPONSABILIDAD. EN LA MÁXIMA EXTENSIÓN PERMITIDA POR LA LEY. EN NINGÚN CASO MICROSOFT O SUS PROVEEDORES SERÁN RESPONSABLES POR CUALQUIER DAÑO ESPECIAL, INCIDENTAL. INDIRECTO O CONSECUENTE (INCLUYENDO. SIN LIMITACIÓN. PÉRDIDAS DE UTILIDADES. INTERRUPCIÓN DE OPERACIONES. PÉRDIDA DE INFORMACIÓN CO­ MERCIAL U OTROS DAÑOS PECUNIARIOS) QUE SE DERIVEN DEL USO O INCAPACIDAD DE USAR EL PRODUCTO DE SOFTWARE O POR NO PROPORCIONAR SERVICIOS DE SOPORTE. AÚN CUANDO MICROSOFT HAYA SIDO INFORMADO SOBRE LA POSIBILIDAD DE DICHOS DAÑOS. EN CUALQUIER CASO. LA RESPONSABILIDAD MÁXIMA A CARGO DE MICROSOFT CONFORME A LAS ESTIPULACIONES DE ESTE CLUF ESTARÁN UM ITADAS A LA CANTIDAD QUE SEA MAYOR DEL IMPORTE QUE EFECTIVAMENTE USTED HAYA PAGADO POR EL PRODUCTO DE SOFTWARE O DE U.S. $5.00; NO OBSTANTE. SI USTED HA ENTRADO EN UN ACUERDO DE SERVICIOS DE SO­ PORTE DE MICROSOFT, LA RESPONSABILIDAD MÁXIMA A CARGO DE MICROSOFT EN RELA­ CIÓN CON LOS SERVICIOS DE SOPORTE ESTARÁ REGULADA POR LOS TÉRMINOS DE ESE CON­ TRATO. DEBIDO A QUE ALGUNOS ESTADOS/JURISDICCIONES NO PERMITEN LA EXCLUSIÓN O LIMITACIÓN DE RESPONSABILIDAD, LA ANTERIOR LIMITACIÓN PUEDE NO APLICARSE PARA USTED. 0495 Parte número 64358

        http://alexyniorlls.blogspot.com 1377 of 1380.

        Acuerdo para el usuario A l a b r ir e s te p a q u e te u s te d a c e p ta lo s ig u ie n te : N o p u e d e c o p ia r n i re d is trib u ir e l c o n te n id o d e l C D -R O M e n s u to ta lid a d . L a c o p ia y re d is trib u c ió n d e c a d a u n o d e lo s p r o g r a m a s e s tá s u je ta a lo s té rm in o s e s ta b le c id o s p o r lo s re s p e c tiv o s p o s e e d o ­ re s d e lo s d e r e c h o s d e a u to r, e s t o in c lu y e e l p r o g ra m a d e in s ta la c ió n y e l c ó d ig o a n e x o . E l s o ftw a re s e p r o p o r c io n a c o m o e s tá , s in n in g u n a g a r a n tía d e n in g u n a c la s e , ni im p líc ita ni e x ­ p líc ita , in c lu y e n d o ( p e r o sin lim ita rs e ) a la s g a r a n tía s im p líc ita s d e c o m e r c ia liz a c ió n y a d e c u a c ió n a u n p r o p ó s ito p a rtic u la r. N i e l e d ito r n i s u s v e n d e d o r e s o d is trib u id o re s a s u m e n re s p o n s a b ilid a d a lg u ­ n a p o r n in g ú n d a ñ o , s u p u e s to o re a l, d ir e c to o in d ir e c to , q u e s u r ja p o r e l u s o d e e s te s o ftw a re . E s to in c lu y e , sin lim ita rs e , la in te r ru p c ió n d e l s e rv ic io , p é r d id a d e d a to s , p é r d id a d e tie m p o e n c la s e , p é r ­ d id a d e b e n e f ic io s p o r c o n s u lto r ía o c u a lq u ie r o tro d e riv a d o d e l u so d e e s to s p ro g ra m a s . E l u s o d e e s te s o ftw a re e s tá s u je to a lo s té r m in o s d e la L ic e n c ia d e C ó d ig o B in a r io y a la s c o n d ic io n e s d e l C o n ­ tr a to d e lic e n c ia p a r a el u s u a rio fin a l d e l s o f tw a r e d e M ic ro s o ft q u e s e in c lu y e e n la s p á g in a s fin a le s d e e s te lib ro , e l c u a l le p e d im o s le a c u id a d o s a m e n te .

        Cóm o explorar el CD-ROM Si tie n e a c tiv a d a l a c a r a c te r ís tic a d e r e p r o d u c c ió n a u to m á tic a (A u to P la y ), s u c o m p u ta d o r a e je c u ­ ta r á a u to m á tic a m e n te la in te rfa z d e l C D - R O M ; d e o tr a m a n e ra h a g a d o b le c l ic e n e l a r c h iv o

        AUTORUN.EXE Contenido del CD-ROM •

        M ic ro s o ft® V isu a l C ++® I n tro d u c to r y E d itio n .



        T o d o e l c ó d ig o u tiliz a d o e n lo s e je r c ic io s d e l lib ro .



        V ín c u lo s h a c ia lo s s itio s W e b m e n c io n a d o s e n e l lib ro .

        Requerimientos de sistema para ejecutar Microsoft® Visual C++® Introductory Edition •

        P C c o n p r o c e s a d o r tip o P e n tiu m , a 9 0 M H z o s u p e rio r.



        M ic r o s o f t W in d o w s 9 5 o p o s te rio r o M ic ro s o ft W in d o w s N T 4 .0 c o n S e rv ic e p a c k 3 o p o s te rio r ( q u e in c lu y a e l S e r v ic e P a c k 3).



        M ic r o s o f t I n te r n e t E x p lo r e r 4 .0 1 (c o n S e r v ic e P a c k 1 in c lu id o ) o p o s te rio r.



        U n id a d d e C D - R O M .



        M o n ito r V G A (o s u p e rio r ) c o n a lta re s o lu c ió n ; S u p c r V G A re c o m e n d a d o .



        M o u s e d e M ic r o s o f t d is p o s itiv o a p u n ta d o r c o m p a tib le .



        2 5 M B d e R A M p a r a W in d o w s 9 5 o p o s te r io r ( 4 8 M B r e c o m e n d a d o ).



        E s p a c io e n d is c o re q u e rid o p a r a la in s ta la c ió n b á s ic a d e V C + + : 2 6 6 M B típ ic a , 3 7 0 M B m á ­ x im a .



        E s p a c io e n d is c o re q u e rid o p a ra in s ta la r V C + + y S e r v ic e P a c k : 3 4 5 M B {N ota: D a d o q u e el S e r v ic e P a c k re e m p la z a la m a y o ría d e lo s a r c h iv o s , s ó lo s e n e c e s ita n u n p o c o m á s d e 3 0 M B ).



        C o n e x ió n a In te rn e t.

        Usuarios d© Windows 2000 y XP M ic ro s o ft V isu a l C + + 6 .0 I n tro d u c to r y E d itio n p u e d e s e r in s ta la d o e n c u a lq u ie r d e e s ta s v e r s io n e s d e W in d o w s ; p e r o n e c e s ita a c c e d e r a l s is te m a c o n p r iv ile g io s d e “ a d m in is tra d o r" .

        Nota:

        E s te p r o d u c to n o o f re c e s o p o r te p a ra W in d o w s 9 5 .

        http://alexyniorlls.blogspot.com 1378 of 1380.

        , , ■r - r

        C ú w íO i& o a m

        m

        Ü U liflli ¿

        l

        a ií

        I ií I llL

        U n Introducción compkta > am o rta d a a C++, el Distilo orientado a objetos (DOOJ ron UML y b programación Web ron CGI lis ta c u a r to té za ó m d e l lib ro d e te x to sobro O

        ♦ m í» u tiliza d o a n iv e l m u n d ia l, e x p trc a ta s e x tra o rd m a n a s bcrram icntui* d e O *

        y p ro seó la u n e je m p lo p rá c tic o o p c io n a l « A re d d is e ñ o o rie n ta d o a objeto» y la im p k r o c n ta ó ó a co n U M L (L e n g u a je u n ific a d o p a n m odeladoV ; ta m b ié n p r o rr a ta u n a in tro d u c c ió n a] d e s a rro llo d e apticucione» W eb d e n niv ele» 6 0 Introductory Edition • T o d o e l c ó d ig o fu e n te u tiliz a d o e o lo s e j e r c id o s d e l libro

        V i s í t e n o s o -n :

        ®

        w w w . p c a r a o n o d u c a c i o n .n o !

        http://alexyniorlls.blogspot.com 1379 of 1380.

        oom

        a

        Libros, Manuales, Cursos, Revistas, Software, Video Tutoriales, Trucos, Películas, Series, Juegos, Utilidades, y mucho más… Gratis para el Conocimiento Continuo.

        https://www.facebook.com/IngAlexisLlontop

        VISÍTANOS EN NUESTRAS DIFERENTES WEBS PARA DIFERENTES SERVICIOS!

        LIBROS, MANUALES, SOFTWARE SOBRE PROGRAMACIÓN Y OTRAS UTILIDADES AQUÍ: a

        http://alexyniorlls.blogspot.com

        TODA INGENIERÍA EN UNA SOLA COMUNIDAD, LIBROS UNIVERSITARIOS Y DE TODA INGENIERÍA AQUÍ:

        http://fullengineeringbook.blogspot.com

        REVISTAS, PROGRAMAS FULL AQUÍ:

        http://reprofull.blogspot.com

        http://alexyniorlls.blogspot.com 1380 of 1380.