Como programar en C/C++ y Java /

Deitel, Harvey M.

Como programar en C/C++ y Java / Harvey M. Deitel, Paul J. Deitel. - 4ta. [i.e. en inglés, 1ra. en español] - México: Pearson, 2004 - 1113 p.

Incluye 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)

CONTENIDO
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

9702605318


PROGRAMAS DE COMPUTADORAS
C/C++
JAVA
LENGUAJE DE PROGRAMACION
LENGUAJE C++
LENGUAJE JAVA

004.438C D368c