000 18858nam a2200337 a 4500
003 AR-sfUTN
008 170717b ||||| |||| 00| 0 d
020 _a9702605318
040 _cAR-sfUTN
041 _aspa
080 _a004.438C D368c
_22000
100 1 _aDeitel, Harvey M.
_99828
245 1 0 _aComo programar en C/C++ y Java /
_cHarvey M. Deitel, Paul J. Deitel.
250 _a4ta. [i.e. en inglés, 1ra. en español]
260 _aMéxico:
_bPearson,
_c2004
300 _a1113 p.
336 _2rdacontent
_atexto
_btxt
337 _2rdamedia
_asin mediación
_bn
338 _2rdacarrier
_avolumen
_bnc
500 _aIncluye CD-ROM, nº inv. RE0046.- Todo el código fuente (en inglés) de los ejemplos que aparecen en este libro (y en demás publicaciones de este autor) se encuentra disponible en internet en www.deitel.com (visitado 23/03/07)
505 8 0 _aCONTENIDO 1 Introducción a las computadoras, a Internet y a la World Wide Web 1.1 Introducción 1.2 ¿Qué es una computadora? 1.3 Organización de computadoras 1.4 Evolución de los sistemas operativos 1.5 Computación personal, distribuida y cliente-servidor 1.6 Lenguajes máquina, lenguajes ensambladores y lenguajes de alto nivel 1.7 FORTRAN, COBOL, Pascal y Ada 1.8 Historia de C 1.9 La biblioteca estándar de C 1.10 C++ 1.11 Java 1.12 BASIC, Visual Basic, Visual C++, C# y .NET 1.13 La tendencia clave del software: Tecnología de objetos 1.14 Conceptos básicos de un ambiente típico de programación en C 1.15 Tendencias de hardware 1.16 Historia de Internet 1.17 Historia de la World Wide Web 1.18 Notas generales acerca de C y de este libro 2 Introducción a la programación en C 2.1 Introducción 2.2 Un programa sencillo en C: Impresión de una línea de texto 2.3 Otro programa sencillo en C: Suma de dos enteros 2.4 Conceptos de memoria 2.5 Aritmética en C 2.6 Toma de decisiones: Operadores de igualdad y de relación 3 Desarrollo de programas estructurados en C 3.1 Introducción 3.2 Algoritmos 3.3 Pseudocódigo 3.4 Estructuras de control 3.5 La instrucción de selección if 3.6 La instrucción de selección if 3.7 La instrucción de repetición while 3.8 Formulación de algoritmos: Ejemplo práctico 1 (repetición controlada por contador) 3.9 Formulación de algoritmos mediante mejoramiento arriba-abajo, paso a paso: Ejemplo práctico 2 (repetición controlada por centinela) 3.10 Formulación de algoritmos mediante mejoramiento arriba-abajo, paso a paso: Ejemplo práctico 3 (estructuras de control anidadas) 3.11 Operadores de asignación 3.12 Operadores de incremento y decremento 4 Control de programas en C 4.1 Introducción 4.2 Fundamentos de la repetición 4.3 Repetición controlada por contador 4.4 Instrucción de repetición for 4.5 Instrucción for: Notas y observaciones 4.6 Ejemplos de la utilización de la instrucción for 4.7 Instrucción de selección múltiple, switch 4.8 Instrucción de repetición do while 4.9 Instrucciones break y continue 4.10 Operadores lógicos 4.11 La confusión entre los operadores de igualdad y los de asignación f 4.12 Resumen sobre programación estructurada 5 Funciones en C 5.1 Introducción 5.2 Módulos de programa en C 5.3 Funciones matemáticas de la biblioteca 5.4 Funciones 5.5 Definición de funciones 5.6 Prototipos de funciones 5.7 Encabezados 5.8 Llamada a funciones: Llamada por valor y llamada por referencia 5.9 Generación de números aleatorios 5.10 Ejemplo: Un juego de azar 5.11 Clases de almacenamiento 5.12 Reglas de alcance 5.13 Recursividad 5.14 Ejemplo sobre cómo utilizar la recursividad: Serie de Fibonacci 5.15 Recursividad versus iteración 6 Arreglos en C 6.1 Introducción 6.2 Arreglos 6.3 Declaración de arreglos 6.4 Ejemplos de arreglos 6.5 Cómo pasar arreglos a funciones 6.6 Ordenamiento de arreglos 6.7 Ejemplo práctico: Cálculo de la media, la mediana y la moda a través de arreglos 6.8 Búsqueda en arreglos 6.9 Arreglos con múltiples subíndices 7 Apuntadores en C 7.1 Introducción 7.2 Definición e inicialización de variables de apuntador 7.3 Operadores para apuntadores 7.4 Llamada a funciones por referencia 7.5 Uso del calificador const con apuntadores 7.6 Ordenamiento de burbuja mediante llamadas por referencia 7.7 El operador sizeof 7.8 Expresiones con apuntadores y aritmética de apuntadores 7.9 Relación entre apuntadores y arreglos 7.10 Arreglos de apuntadores 7.11 Ejemplo práctico: Simulación para barajar y repartir cartas 7.12 Apuntadores a funciones 8 Caracteres y cadenas en C 8.1 Introducción 8.2 Fundamentos de cadenas y caracteres 8.3 La biblioteca de manipulación de caracteres 8.4 Funciones de conversión de cadenas 8.5 Funciones de entrada/salida de la biblioteca estándar 8.6 Funciones de manipulación de cadenas de la biblioteca de manipulación de cadenas 8.7 Funciones de comparación de la biblioteca de manipulación de cadenas 8.8 Funciones de búsqueda de la biblioteca de manipulación de cadenas 8.9 Funciones de memoria de la biblioteca de manipulación de cadenas 8.10 Otras funciones de la biblioteca de manipulación de cadenas 9 Entrada/Salida con formato en C 9.1 Introducción 9.2 Flujos 9.3 Formato de salida con print 9.4 Impresión de enteros 9.5 Impresión de números de punto flotante 9.6 Impresión de cadenas y caracteres 9.7 Otros especificadores de conversión 9.8 Impresión con ancho de campos y precisiones 9.9 Uso de banderas en la cadena de control de formato de print 9.10 Impresión de literales y secuencias de escape 9.11 Formato de entrada con scan 10 Estructuras, uniones, manipulaciones de bits y enumeraciones en C 10.1 Introducción 10.2 Definición de estructuras 10.3 Inicialización de estructuras 10.4 Acceso a miembros de estructuras 10.5 Uso de estructuras con funciones 10.6 typedef 10.7 Ejemplo: Simulación de alto rendimiento para barajar y repartir cartas 10.8 Uniones 10.9 Operadores a nivel de bits 10.10 Campos de bits 10.11 Constantes de enumeración 11 Procesamiento de archivos en C 11.1 Introducción 11.2 Jerarquía de datos 11.3 Archivos y flujos 11.4 Creación de un archivo de acceso secuencial 11.5 Lectura de datos desde un archivo de acceso secuencial 11.6 Archivos de acceso aleatorio 11.7 Creación de un archivo de acceso aleatorio 11.8 Escritura aleatoria de datos en un archivo de acceso aleatorio 11.9 Lectura de datos desde un archivo de acceso aleatorio 11.10 Ejemplo práctico: Programa de procesamiento de transacciones 12 Estructuras de datos en C 12.1 Introducción 12.2 Estructuras autorreferenciadas 12.3 Asignación dinámica de memoria 12.4 Listas ligadas 12.5 Pilas 12.6 Colas 12.7 Árboles 13 El preprocesador de C 13.1 Introducción 13.2 La directiva de preprocesador #include 13.3 La directiva de preprocesador #define: Constantes simbólicas 13.4 La directiva de preprocesador #define: Macros 13.5 Compilación condicional 13.6 Las directivas de preprocesador #error y #programa 13.7 Los operadores # y ## 13.8 Números de línea 13.9 Constantes simbólicas predefinidas 13.10 Afirmaciones 14 Otros temas de C 14.1 Introducción 14.2 Cómo redireccionar la entrada/salida en sistemas UNIX y Windows 14.3 Listas de argumentos de longitud variable 14.4 Uso de argumentos en la línea de comandos 14.5 Notas sobre la compilación de programas con múltiples archivos fuente 14.6 Terminación de un programa mediante exit y atexit 14.7 El calificador de tipo volatile 14.8 Sufijos para las constantes enteras y de punto flotante 14.9 Más acerca de los archivos 14.10 Manipulación de señales 14.11 Asignación dinámica de memoria: Las funciones calloc y realloc 14.12 Saltos incondicionales con go to 15 C++ como un "Mejor C" 15.1 Introducción 15.2 C++ 15.3 Un programa sencillo: Suma de dos enteros 15.4 Biblioteca estándar de C++ 15.5 Archivos de encabezados 15.6 Funciones online 15.7 Referencias y parámetros de referencias 15.8 Argumentos predeterminados y listas de parámetros vacías 15.9 Operador de resolución de alcance 15.10 Sobrecarga de funciones 15.11 Plantillas de funciones 16 Clases y abstracción de datos, en C++ 16.1 Introducción 16.2 Implementación del tipo de dato abstracto Hora mediante una clase 16.3 Alcance de una clase y acceso a los miembros de una clase 16.4 Separación de la interfaz y la implementación 16.5 Control de acceso a miembros 16.6 Funciones de acceso y funciones de utilidad 16.7 Inicialización de los objetos de una clase: Constructores 16.8 Uso de argumentos predeterminados con constructores 16.9 Uso de destructores 16.10 Invocación de constructores y destructores 16.11 Uso de datos miembro y funciones miembro 16.12 Una trampa sutil: Retorno de una referencia a un dato miembro privado 16.13 Asignación mediante la copia, predeterminada de miembros 16.14 Reutilización de software 17 Clases en C++: Parte II 17.1 Introducción 17.2 Objetos y funciones miembro const (constantes) 17.3 Composición: Objetos como miembros de clases 17.4 Funciones y clases friend (amigas) 17.5 Uso del apuntador this 17.6 Asignación dinámica de memoria mediante los operadores new y delete 17.7 Clases miembro static (estáticas) 17.8 Abstracción de datos y ocultamiento de información 17.8.1 Ejemplo: Un tipo de dato abstracto Arreglo 17.8.2 Ejemplo: Un tipo de dato abstracto Cadena 17.8.3 Ejemplo: Un tipo de dato abstracto Cola 17.9 Clases contenedoras e iteradores 18 Sobrecarga de operadores en C++ 18.1 Introducción 18.2 Fundamentos de la sobrecarga de operadores 18.3 Restricciones de la sobrecarga de los operadores 18.4 Funciones de operadores como miembros de una clase miembro versus funciones de operadores como funciones amigas (friend) 18.5 Sobrecarga de los operadores de inserción y de extracción de flujo 18.6 Sobrecarga de operadores unarios 18.7 Sobrecarga de operadores binarios 18.8 Ejemplo práctico: Una clase Arreglo 18.9 Conversión entre tipos 19 Herencia en C++ 19.1 Introducción 19.2 Herencia: Clases base y clases derivadas 19.3 Miembros protected 19.4 Conversión de apuntadores de clases base en apuntadores de clases derivadas 19.5 Uso de funciones miembro 19.6 Cómo redefinir los miembros de una clase base en una clase derivada 19.7 Herencia pública, protegida y privada 19.8 Clases base directas e indirectas 19.9 Uso de constructores y destructores en clases derivadas 19.10 Conversión de objetos de clases derivadas a objetos de clases base 19.11 Ingeniería de software con herencia 19.12 Composición versus herencia 19.13 Relaciones usa un y conoce un 19.14 Ejemplo práctico: Punto, Circulo y Cilindro 20 Funciones virtuales y polimorfismo en C++ 20.1 Introducción 20.2 Tipos de campos e instrucciones switch 20.3 Funciones virtuales 20.4 Clases base abstractas y clases concretas 20.5 Polimorfismo 20.6 Nuevas clases y vinculación dinámica 20.7 Destructores virtuales 20.8 Ejemplo práctico: Herencia de interfaz y de implementación 20.9 Polimorfismo, funciones virtuales y vinculación dinámica "tras bambalinas" 21 Entrada/salida de flujo en C++ 21.1 Introducción 21.2 Flujos 21.2.1 Archivos de encabezado de la biblioteca iostream 21.2.2 Clases y objetos para la entrada/salida de flujo 21.3 Salida de flujo 21.3.1 Operador de inserción de flujo 21.3.2 Operadores para la inserción/extracción de flujo en cascada 21.3.3 Salida de variables char 21.3.4 Salida de caracteres por medio de la función miembro put; funciones put en cascada 21.4 Entrada de flujo 21.4.1 Operador de extracción de flujo 21.4.2 Funciones miembro get y getline 21.4.3 Funciones miembro de istream: peek, putback e ignore 21.4.4 E/S con seguridad de tipos 21.5 E/S sin formato por medio de read, gcount y write 21.6 Manipuladores de flujo 21.6.1 Base de un flujo de enteros: dec, oct, hex, y setbase 21.6.2 Precisión de punto flotante (precision, setprecision) 21.6.3 Ancho de campo (setw, width) 21.6.4 Manipuladores definidos por el usuario 21.7 Estados de formato de flujo 21.7.1 Banderas de estado de formato 21.7.2 Ceros a la derecha y puntos decimales 21.7.3 Justificación 21.7.4 Relleno (fill, set fill) 21.7.5 Base de un flujo de enteros 21.7.6 Números de punto flotante; notación científica 21.7.7 Control de mayúsculas/minúsculas 21.7.8 Cómo establecer y restablecer las banderas de formato (flags, setiosflags, resetiosflags) 21.8 Estados de error de flujo 21.9 Unión de un flujo de salida con un flujo de entrada 22 Plantillas en C++ 22.1 Introducción 22.2 Plantillas de clases 22.3 Plantillas de clases y parámetros sin tipo 22.4 Plantillas y herencia 22.5 Plantillas y amigas 22.6 Plantillas y miembros estáticos 23 Manejo de excepciones en C++ 23.1 Introducción 23.2 Cuándo debe utilizarse el manejo de excepciones 23.3 Otras técnicas de manejo de errores 23.4 Fundamentos del manejo de excepciones en C++: try, throw y catch 23.5 Un ejemplo sencillo de manejo de excepciones: La división entre cero 23.6 Cómo arrojar una excepción 23.7 Cómo atrapar una excepción 23.8 Cómo relanzar una excepción 23.9 Especificaciones de las excepciones 23.10 Cómo procesar excepciones inesperadas 23.11 Cómo desenrollar una pila 23.12 Constructores, destructores y manejo de excepciones 23.13 Excepciones y herencia 23.14 Cómo procesar fallas de new 23.15 La clase autoptr y la asignación dinámica de memoria 23.16 Jerarquía de la biblioteca estándar de excepciones 24 Introducción a las aplicaciones y a los applets de Java 24.1 Introducción 24.2 Fundamentos de un entorno típico de Java 24.3 Notas generales acerca de Java y de este libro 24.4 Un programa sencillo: Impresión de una línea de texto 24.5 Otra aplicación en Java: Suma de enteros 24.6 Applets de ejemplo del Java 2 Software Development Kit 24.6.1 El applet Tictactoe 24.6.2 El applet Drawtest 24.6.3 El applet Java2D 24.7 Un applet sencillo en Java: Cómo dibujar una cadena 24.8 Dos ejemplos más de applets: Cómo dibujar cadenas y líneas 24.9 Otro applet de Java: Suma de enteros 25 Más allá de C y C++: Operadores, métodos y arreglos en Java 25.1 Introducción 25.2 Tipos de datos primitivos y palabras reservadas 25.3 Operadores lógicos 25.4 Definiciones de métodos 25.5 Paquetes de la API de Java 25.6 Generación de números aleatorios 25.7 Ejemplo: Un juego de azar 25.8 Métodos de la clase Japplet 25.9 Declaración y asignación de arreglos 25.10 Ejemplos del uso de arreglos 25.11 Referencias y parámetros de referencias 25.12 Arreglos con múltiples subíndices 26 Programación orientada a objetos con Java 26.1 Introducción 26.2 Implementación del tipo de dato abstracto Hora con una clase 26.3 Alcance de una clase 26.4 Creación de paquetes 26.5 Inicialización de los objetos de una clase: Constructores 26.6 Uso de los métodos obtener y establecer 26.7 Uso de la referencia this 26.8 Finalizadores 26.9 Miembros estáticos de una clase 27 Programación orientada a objetos en Java 27.1 Introducción 27.2 Superclases y subclases 27.3 Miembros protected 27.4 Relación entre objetos de superclases y objetos de subclases 27.5 Conversión implícita de un objeto de una subclase en un objeto de una superclase 27.6 Ingeniería de software con herencia 27.7 Composición versus herencia 27.8 Introducción al polimorfismo 27.9 Campos de tipo e instrucciones switch 27.10 Método de vinculación dinámica 27.11 Métodos y clases final 27.12 Superclases abstractas y clases concretas 27.13 Ejemplo de polimorfismo 27.14 Nuevas clases y vinculación dinámica 27.15 Ejemplo práctico: Herencia de interfaz y de implementación 27.16 Ejemplo práctico: Creación y uso de interfaces 27.17 Definiciones de clases internas 27.18 Notas sobre las definiciones de clases internas 27.19 Clases envolventes para tipos primitivos 28 Gráficos en Java y Java2D 28.1 Introducción 28.2 Contextos gráficos y objetos gráficos 28.3 Control del color 28.4 Control de fuentes 28.5 Cómo dibujar líneas, rectángulos y elipses 28.6 Cómo dibujar arcos 28.7 Cómo dibujar polígonos y polilíneas 28.8 La API Java2D 28.9 Figuras en Java2D 29 Componentes de la interfaz gráfica de usuario de Java 29.1 Introducción 29.2 Generalidades de Swing 29.3 JLabel 29.4 Modelo de manejo de eventos 29.5 JTextField y JPasawordField 29.5.1 Cómo funciona el manejo de eventos 29.6 JTextArea 29.7 iButton 29.8 JCheckBox 29.9 JComboBox 29.10 Manejo de eventos del ratón 29.11 Administradores de diseño 29.11.1 FlowLayout 29.11.2 BorderLayout 29.11.3 GridLayout 29.12 Paneles 29.13 Creación de una subclase autocontenida de JPanel 29.14 Ventanas 29.15 Uso de menús con marcos 30 Multimedia en Java: Imágenes, animación y audio 30.1 Introducción 30.2 Cómo cargar, desplegar y escalar imágenes 30.3 Cómo cargar y reproducir clips de audio 30.4 Cómo animar una serie de imágenes 30.5 Tópicos de animación 30.6 Cómo personalizar applets por medio de la etiqueta para de HTML 30.7 Mapas de imágenes 30.8 Recursos en Internet v en la World Wide Web Apéndices A Recursos en Internet y en Web A.1 Recursos para C/C++ A.2 Tutoriales de C++ A.3 Preguntas frecuentes de C/C++ A.4 comp.lang.c++ A.5 Compiladores de C/C++ A.6 Recursos para Java A.7 Productos de Java A.8 FAQs de Java A.9 Tutoriales de Java A.10 Revistas de Java A.11 Applets de Java A.12 Multimedia A.13 Grupos de noticias de Java B Recursos en Internet y en Web para C99 B.1 Recursos para C99 C Tablas de precedencia de operadores D Conjunto de caracteres ASCII E Sistemas de numeración E.1 Introducción E.2 Cómo expresar números binarios en números octales y números hexadecimales E.3 Conversión de números octales y números hexadecimales a números binarios E.4 Conversión de números binarios, octales o hexadecimales a números decimales E.5 Conversión de números decimales a números binarios, octales o hexadecimales E.6 Números binarios negativos: Notación de complemento a dos F Recursos de la biblioteca estándar de C F.1 Recursos para la biblioteca estándar de C
650 _aPROGRAMAS DE COMPUTADORAS
650 _aC/C++
650 _aJAVA
650 _aLENGUAJE DE PROGRAMACION
650 _aLENGUAJE C++
650 _aLENGUAJE JAVA
700 1 _aDeitel, Paul J.
942 _cBK
_2udc
999 _c12305
_d12305