Programación en C, C++, Java y UML

$643.00

Autor: Luis Joyanes Aguilar
Editorial: McGraw-Hill Interamericana
Edición: 2°
ISBN: 9786071512123
Formato: Libro digital
Año de publicación: 1970

$643.00
Limpiar
SKU: 9781456225452 Categoría:

Descripción

Libro digital para leer en línea o en app móvil

Descripción:
Bienvenido a Programación en C, C++, Java y UML, 2ª edición. ¿Qué ha sucedido en el campo de la
informática y de la computación en general desde 2010, año en que se publicó la primera edición? En el
área de computación se han desplegado y consolidado numerosas innovaciones tecnológicas, hoy ya una
realidad auténtica, tanto social como empresarial y de negocios (Cloud Computing, Big Data, Internet de
las cosas, etc.). Y en el área de programación de computadoras, la Web 2.0 se ha consolidado, la programación
web ha pasado a constituir una materia de estudio y de desarrollo profesional en los últimos
semestres de las carreras de ciencias e ingeniería. Y en el caso particular de los lenguajes de programación
y de la disciplina de programación, espina dorsal de los estudios de ingeniería de sistemas, ingeniería de
telecomunicaciones, ingeniería electrónica…, ciencias, etc., cuando escribimos la primera edición, lo hicimos
utilizando las versiones de C99 y C ANSI, C++98 y Java 5 y la joven versión de Java 6 y hoy día se
han consolidado las nuevas e innovadoras versiones de C++11, Java 7 y Java 8 unidas a la actualización
de la versión de C, C11.

Tabla de contenidos:

Front Matter
   Prólogo
   Introducción
   ¿Qué necesita para utilizar este libro?
   Objetivos
   La evolución de C
   La evolución de C++
   La evolución de Java: Java 2, Java 5, Java 6, Java 7 y, “en camino”, Java 9
   Compiladores y compilación de programas: Entornos de Desarrollo Integrados (IDE) C/C++
   Java
   Entornos integrados de desarrollo
   El libro como herramienta docente
   Características importantes del libro
   ¿Cómo está organizado el libro?
   Parte I Resolución de problemas con programación de computadoras
   Parte II Programación en C
   Parte III Lenguaje unificado de modelado: UML 2.5
   Parte IV Programar en C++
   Parte V. Programar en Java
   Apéndices
   Centro de recursos en línea (en página web del libro: www.mhhe.com/uni/joyanespcju2e)
   Agradecimientos
PARTE I: Resolución de problemas con software
   CAPÍTULO 1: Fundamentos de computadoras y de lenguajes de programación
   Contenido
   Introducción
   1.1: Las computadoras en perspectiva
   Generaciones de computadoras
   1.2: Las computadoras modernas: una breve taxonomía
   Figura 1.1
   1.3: Estructura de una computadora
   Figura 1.2
   1.4: Hardware
   Figura 1.3
   Figura 1.4
   Unidad central de proceso (CPU)
   Figura 1.5
   Memoria de la computadora
   ¿Sabía que..?: Ejecución
   ¿Sabía que..?: En la memoria principal se almacenan:
   Unidades de medida de memoria
   Tabla 1.1: Unidades de medida de almacenamiento.
   Caso práctico (un ejemplo comercial)
   Dispositivos de entrada y salida
   Dispositivos de almacenamiento secundario
   Dispositivos de comunicación
   1.5: Software: conceptos básicos y clasificación
   Figura 1.6
   Software de sistema
   Software de aplicaciones
   1.6: Sistema operativo
   Tabla 1.2: Sistemas operativos más utilizados en educación, consumo y en la empresa.
   Figura 1.7
   1.7: El lenguaje de la computadora
   ¿Sabía que..?
   Representación de la información en las computadoras (códigos de caracteres)
   Los lenguajes de programación ensambladores y de alto nivel
   Tabla 1.3: Códigos de representación de la información.
   Tabla 1.4: Ejemplos de instrucciones en lenguaje ensamblador.
   ¿Sabía que..?: Ensamblador
   ¿Sabía que..?: Compilador
   El proceso de programación
   ¿Sabía que..?: Algoritmo
   1.8: Internet y la Web
   La revolución Web 2.0
   Social Media
   Desarrollo de programas web
   La Web Semántica y la Web 3.0
   1.9: Cloud computing (computación en la nube)
   Software como servicio (SaaS)
   1.10: Movilidad: tecnologías, redes e internet móvil
   Redes inalámbricas
   Redes móviles
   Sistemas operativos móviles
   Aplicaciones móviles
   1.11: Geolocalización y realidad aumentada
   ¿Qué es la realidad aumentada?
   1.12: Internet de las cosas
   1.13: Big data. Los grandes volúmenes de datos
   1.14: Lenguajes de programación
   Figura 1.8
   Traductores de lenguaje: el proceso de traducción de un programa
   Intérpretes
   Figura 1.9
   Figura 1.10
   Compiladores
   Figura 1.11
   La compilación y sus fases
   Figura 1.12
   Figura 1.13
   1.15: Evolución de los lenguajes de programación
   1.16: Paradigmas de programación
   Figura 1.14
   Lenguajes imperativos (procedimentales)
   Lenguajes declarativos
   Lenguajes orientados a objetos
   Resumen
   CAPÍTULO 2: Algoritmos, programas y metodología de la programación
   Contenido
   Introducción
   2.1: Resolución de problemas con computadoras: fases
   ¿Sabía que…?: Características de un algoritmo
   Análisis del problema
   Figura 2.1
   Tabla 2.1: Análisis del problema.
   Diseño del problema
   Herramientas gráficas y alfanuméricas
   Figura 2.2
   Figura 2.3
   Figura 2.4
   Problema 2.1
   Ejemplo 2.1
   Ejemplo 2.2
   Codificación de un programa
   Documentación interna
   Compilación y ejecución de un programa
   Figura 2.5
   Verificación y depuración de un programa
   Mantenimiento y documentación
   2.2: Algoritmo: concepto y propiedades
   Figura 2.6
   Características de los algoritmos
   Ejemplo 2.3
   Ejemplo 2.4
   Ejemplo 2.5
   2.3: Diseño de algoritmos
   Figura 2.7
   Figura 2.8
   2.4: Escritura de algoritmos
   2.5: Representación gráfica de los algoritmos
   Pseudocódigo
   Diagramas de flujo
   Tabla 2.2: Símbolos de diagrama de flujo.
   Figura 2.9
   Figura 2.10
   Ejemplo 2.6
   Ejemplo 2.7
   Ejemplo 2.8
   Ejemplo 2.9
   Ejemplo 2.10
   Diagramas de Nassi-Schneiderman (N-S)
   Figura 2.11
   Figura 2.12
   Ejemplo 2.11
   Ejemplo 2.12
   2.6: Metodología de la programación
   Programación modular
   Programación estructurada
   Datos locales y datos globales
   Técnicas de programación estructurada
   Programación orientada a objetos
   2.7: Herramientas de programación
   Editores de texto
   Programa ejecutable
   Proceso de compilación/ejecución de un programa
   Consola de línea de comandos
   Figura 2.13
   Entorno de desarrollo integrado
   Resumen
   Ejercicios
   Actividades de aprendizaje
   Actividades complementarias
PARTE II: Programación en C
   CAPÍTULO 3: El lenguaje C: elementos básicos
   Contenido
   Introducción
   3.1: Estructura general de un programa en C
   Conceptos clave
   Figura 3.1
   ¿Sabía que…?
   Directivas del preprocesador
   Declaraciones globales
   Función main()
   ¿Sabía que…?
   Funciones definidas por el usuario
   Comentarios
   Ejemplo 3.1
   Ejemplo 3.2
   ¿Sabía que…?
   3.2: Creación de un programa
   Figura 3.2
   3.3: El proceso de ejecución de un programa en C
   Figura 3.3
   Figura 3.4
   Figura 3.5
   Etapas del proceso
   3.4: Depuración de un programa en C
   Errores de sintaxis
   Errores lógicos
   Errores de regresión
   Mensajes de error
   Errores en tiempo de ejecución
   3.5: Pruebas
   3.6: Los elementos de un programa en C
   Tokens (elementos léxicos de los programas)
   Identificadores
   Reglas básicas de formación de identificadores
   Palabras reservadas
   Comentarios
   Signos de puntuación y separadores
   Archivos de cabecera
   3.7: Tipos de datos en C
   Tabla 3.1: Tipos de datos simples de C.
   Enteros (int)
   Tabla 3.2: Tipos de datos enteros.
   Declaración de variables
   Tabla 3.3: Constantes enteras en tres bases diferentes.
   Tabla 3.4: Tipos de datos enteros largos.
   Tipos de coma flotante (float/double)
   Tabla 3.5: Tipos de datos en coma flotante (Borland C).
   Ejemplos
   Caracteres (char)
   Tabla 3.6: Caracteres secuencias (códigos) de escape.
   3.8: El tipo de dato logico
   Ejemplo
   ¿Sabía que…?
   Escritura de valores lógicos
   3.9: Constantes
   Constantes literales
   Constantes enteras
   Constantes reales
   Constantes caracteres
   Aritmética con caracteres C
   Constantes de cadena
   Constantes definidas (simbólicas)
   Constantes enumeradas
   Constantes declaradas const y volatile
   Diferencias entre const y #define
   Ventajas de const sobre #define
   Desventaja de const frente a #define
   ¿Sabía que…?
   3.10: Variables
   Declaración
   Ejemplo
   Ejemplo
   Ejemplo 3.3
   Inicialización de variables
   Declaración o definición
   3.11: Duración de una variable
   Variables locales
   Variables globales
   ¿Sabía que…?
   3.12: Entradas y salidas
   Salida
   Ejemplo 3.4
   Entrada
   ¿Sabía que…?
   Ejemplo 3.5
   Salida de cadenas de caracteres
   Ejemplo 3.6
   Entrada de cadenas de caracteres
   Resumen
   Ejercicios
   CAPÍTULO 4: Operadores y expresiones
   Contenido
   Introducción
   4.1: Operadores y expresiones
   Conceptos clave
   Sintaxis
   A tener en cuenta
   4.2: Operador de asignación
   Tabla 4.1: Operadores de asignación de C.
   Tabla 4.2: Equivalencia de operadores de asignación.
   4.3: Operadores aritméticos
   Tabla 4.3: Operadores aritméticos.
   Tabla 4.4: Precedencia de operadores matemáticos básicos.
   Ejemplo 4.1
   Asociatividad
   Tabla 4.5: Prioridad y asociatividad.
   Ejemplo 4.2
   Uso de paréntesis
   Precaución
   4.4: Operadores de incrementación y decrementación
   Tabla 4.6: Operadores de incrementación (++) y decrementación (–).
   ¿Sabía que…?
   Ejemplo 4.3
   Ejecución
   Ejemplo 4.4
   Ejecución
   Ejemplo 4.5
   Ejecución
   4.5: Operadores relacionales
   Tabla 4.7: Operadores relacionales de C.
   Precaución
   Ejemplos
   4.6: Operadores lógicos
   Tabla 4.8: Operadores lógicos.
   Tabla 4.9: Tabla de verdad del operador lógico NOT (!).
   Tabla 4.10: Tabla de verdad del operador lógico AND (&&).
   Tabla 4.11: Tabla de verdad del operador lógico OR (||).
   Ejemplo
   ¿Sabía que…?
   Asignaciones booleanas (lógicas)
   Ejemplo
   Ejemplo 4.6
   Tabla 4.12: Operadores de direcciones.
   4.7: Operador condicional ?:
   Figura 4.1
   ¿Sabía que…?
   4.8: Operador coma
   ¿Sabía que…?
   4.9: Operadores especiales: ( ),[ ]
   El operador ( )
   El operador [ ]
   4.10: Operador sizeof
   Ejemplo 4.7
   Ejemplo 4.8
   4.11: Conversiones de tipos
   Conversión implícita
   Reglas
   Conversión explícita
   4.12: Prioridad y asociatividad
   Tabla 4.13: Prioridad de operadores.
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 5: Estructuras de selección: sentencias if y switch
   Contenido
   Introducción
   5.1: Estructuras de control
   Conceptos clave
   5.2: La sentencia if
   Figura 5.1
   Ejemplo 5.1
   Ejecución
   Ejemplo 5.2
   Ejemplo 5.3
   Ejercicio 5.1
   5.3: Sentencia if de dos opciones: if-else
   Figura 5.2
   Ejemplos
   Formatos
   Ejemplos
   Ejemplo 5.4
   Comentario
   Ejemplo 5.5
   Ejecución
   Comentario
   Ejemplo 5.6
   Ejecución
   Comentario
   5.4: Sentencias if-else anidadas
   Sintaxis:
   Ejemplo 5.7
   Sangría en las sentencias if anidadas
   Formato 1:
   Formato 2:
   Ejemplos
   Ejemplo 5.8
   Comparación de sentencias if anidadas y secuencias de sentencias if
   Ejemplo 5.9
   Análisis
   5.5: Sentencia de control switch
   Sintaxis
   Sintaxis con break
   Ejemplo 5.10
   Ejemplo 5.11
   Ejemplo 5.12
   Ejemplo 5.13
   Precaución
   Ejemplo 5.14
   Caso particular de case
   üso de sentencias switch en menús
   5.6: Expresiones condicionales: el operador ?:
   Sintaxis
   Ejemplos
   Ejemplo 5.15
   5.7: Evaluación en cortocircuito de expresiones lógicas
   Ejemplo 5.16
   Ejemplo 5.17
   Precaución
   5.8: Puesta a punto de programas
   Estilo y diseño
   5.9: Errores frecuentes de programación
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 6: Estructuras de control: bucles
   Contenido
   Introducción
   Conceptos clave
   6.1: Sentencia while
   Figura 6.1
   Sintaxis:
   A recordar
   Ejemplo
   Ejemplo
   Ejecución
   Operadores de incremento y decremento (+ +,–)
   Ejemplo 6.1
   Ejemplo 6.2
   Ejecución
   Terminaciones anormales de un bucle (ciclo o llave)
   Diseño eficiente de bucles
   Bucles while con cero iteraciones
   Bucles controlados por centinelas
   Ejecución
   Bucles controlados por indicadores (banderas)
   Ejemplo 6.3
   A recordar
   Ejemplo 6.4
   La sentencia break en los bucles
   Ejemplo 6.5
   Consejo de programación
   Bucles while (true)
   Ejecución
   6.2: Repetición: el bucle for
   Sintaxis
   Ejemplo 6.6
   Ejemplo 6.7
   Ejemplo 6.8
   Figura 6.2
   Sintaxis
   Ejemplo de formato ascendente:
   Ejemplo de formato descendente:
   Otros intervalos de incremento/decremento
   Ejemplos
   Ejemplo 6.9
   Diferentes usos de bucles for
   6.3: Precauciones en el uso de for
   Bucles infinitos
   Sintaxis
   Ejemplo 6.10
   Los bucles for vacíos
   A recordar
   Sentencias nulas en bucles for
   Ejecución
   Sentencias break y continue
   Ejecución
   Ejecución
   6.4: Repetición: el bucle do-while
   Sintaxis
   Figura 6.3
   Ejemplo 6.11
   Diferencias entre while y do-while
   Sintaxis
   Ejemplo 6.12
   Ejemplo 6.13
   Ejemplo 6.14
   6.5: Comparación de bucles while, for y do-while
   Tabla 6.1: Formatos de los bucles.
   Comparación de tres bucles
   6.6: Diseño de bucles
   Final de un bucle
   Tamaño de la secuencia de entrada
   Preguntar antes de la iteración
   Valor centinela
   Agotamiento de la entrada
   Bucles for vacíos
   Ejemplo 6.15
   Ejecución
   Ejercicio 6.1
   6.7: Bucles anidados
   Ejemplo 6.16
   Ejemplo 6.17
   Ejecución
   Ejercicio 6.2
   6.8: Enumeraciones
   Formato
   Ejemplo 6.18
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 7: Funciones y recursividad
   Contenido
   Introducción
   Conceptos clave
   7.1: Concepto de función
   7.2: Estructura de una función
   Figura 7.1
   Regla de programación
   Ejemplo 7.1
   Nombre de una función
   Tipo de dato de retorno
   Nota de programación
   Resultados de una función
   Consejo
   Precaución
   Llamada a una función
   Nota
   Figura 7.2
   Precaución
   Ejemplo 7.2
   Ejemplo 7.3
   7.3: Prototipos de las funciones
   Nota de programación
   Sintaxis
   Declaración de una función
   Ejemplos
   Prototipos con un número no especificado de parámetros
   Ejercicio 7.1
   7.4: Parámetros de la función
   Paso de parámetros por valor
   Figura 7.3
   Nota
   Paso de parámetros por referencia
   Diferencias entre paso de variables por valor y por referencia
   Nota
   Parámetros const de una función
   Tabla 7.1: Paso de parámetros en C.
   7.5: Funciones en línea, macros con argumentos
   Figura 7.4
   A recordar
   Tabla 7.2: Ventajas y desventajas de macros.
   Creación de macros con argumentos
   Ejercicio 7.2
   7.6: Ámbito (alcance) de una variable
   Ámbito del programa
   Consejo de programación
   Ámbito del archivo fuente
   A recordar
   Ámbito de una función
   Ámbito de bloque
   Variables locales
   7.7: Clases de almacenamiento
   Nota de programación
   Variables externas
   Variables registro
   Variables estáticas
   Ejercicio 7.3
   Ejecución
   7.8: Concepto y uso de funciones de biblioteca
   7.9: Funciones de carácter
   Tabla 7.3: Funciones de caracteres.
   Comprobación alfabética y de dígitos
   Ejemplo 7.4
   Funciones de prueba de caracteres especiales
   Funciones de conversión de caracteres
   Ejemplo 7.5
   7.10: Funciones numéricas
   Funciones matemáticas de carácter general
   Ejemplo 7.6
   Ejecución
   Funciones trigonométricas
   Regla de programación
   Funciones logarítmicas y exponenciales
   Funciones aleatorias
   Ejemplo 7.7
   Ejemplo 7.8
   7.11: Funciones de utilidad
   Ejemplo 7.9
   7.12: Visibilidad de una función
   Figura 7.5
   7.13: Compilación separada
   Figura 7.6
   Consejo de programación
   Ejemplo 7.10
   A recordar
   7.14: Funciones recursivas
   A recordar
   Ejemplo 7.11
   Recursividad indirecta: funciones mutuamente recursivas
   Ejemplo 7.12
   Condición de terminación de la recursión
   7.15: Recursión versus iteración
   Nota de ejecución
   Consejo de programación
   A recordar
   Ejemplo 7.13
   Solución recursiva
   Solución iterativa
   Directrices en la toma de decisión iteración/recursión
   Nota de programación
   7.16: Recursión infinita
   Ejemplo 7.14
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 8: Arreglos (arrays), listas y tablas. Cadenas
   Contenido
   Conceptos clave
   Introducción
   8.1: Arreglos (arrays)1
   Figura 8.1
   Declaración de un arreglo o array
   Figura 8.2
   Precaución
   Subíndices de un arreglo
   Ejemplos
   Almacenamiento en memoria de los arreglos (arrays)
   Figura 8.3
   A recordar
   Precaución
   Figura 8.4
   A recordar
   El tamaño de los arreglos
   Verificación del rango del índice de un arreglo
   Ejemplo 8.1
   8.2: Inicialización de un arreglo (array)
   Precaución
   Ejemplo 8.2
   A recordar
   Ejemplo 8.3
   Ejemplo 8.4
   8.3: Arreglos multidimensionales
   Figura 8.5
   Precaución
   Tabla 8.1: Un arreglo bidimensional.
   Inicialización de arreglos multidimensionales
   Figura 8.6
   Consejo de programación
   Acceso a los elementos de los arreglos bidimensionales
   Lectura y escritura de elementos de arreglos bidimensionales
   Figura 8.7
   Acceso a elementos mediante bucles
   Ejemplo 8.5
   Ejercicio 8.1
   Ejecución
   Arreglo de más de dos dimensiones
   Figura 8.8
   Proceso de un arreglo de tres dimensiones
   Ejercicio 8.2
   8.4: Utilización de arreglos como parámetros
   Figura 8.9
   Ejemplo 8.6
   Ejecución
   Ejemplo 8.7
   Precauciones
   Consejo de programación
   Ejemplo 8.8
   Paso de cadenas como parámetros
   8.5: Concepto de cadena
   Figura 8.10
   A recordar
   Ejemplos
   A recordar
   Declaración de variables de cadena
   Nota de programación
   Inicialización de variables de cadena
   Ejemplo 8.9
   Ejecución
   8.6: Lectura de cadenas
   Función gets( )
   Ejemplo 8.10
   Ejecución
   Precaución
   Ejemplo 8.11
   Regla
   Función getchar( )
   Ejemplo 8.12
   Nota
   Función putchar( )
   Ejercicio 8.3
   Ejecución
   Función puts( )
   Ejercicio 8.4
   Ejecución
   8.7: La biblioteca string.h
   Tabla 8.2: Funciones de cadena de
   Utilización del modificador const con cadenas
   8.8: Arreglos y cadenas como parámetros de funciones
   Ejercicio 8.5
   8.9: Asignación de cadenas
   Ejemplo 8.13
   Función strncpy( )
   Ejemplo 8.14
   Consejo de programación
   8.10: Longitud y concatenación de cadenas
   Función strlen( )
   Ejemplo 8.15
   Ejecución
   Funciones strcat( ) y strncat( )
   Ejemplo 8.16
   Ejemplo 8.17
   8.11: Comparación de cadenas
   Función strcmp( )
   Ejemplo 8.18
   Función strncmp( )
   Ejemplo 8.19
   8.12: Conversión de cadenas a números
   Función atoi( )
   A recordar
   Ejemplo 8.20
   Función atof( )
   Ejemplo 8.21
   Función atol( )
   Ejemplo 8.22
   Función strtol( ) y strtoul( )
   A recordar
   Función strtod( )
   Ejecución
   A recordar
   Entrada de números y cadenas
   Ejemplo 8.23
   Precaución
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 9: Algoritmos de ordenación y búsqueda
   Contenido
   Conceptos clave
   Introducción
   9.1: Ordenación
   A recordar
   9.2: Ordenación por burbuja
   Algoritmo de la burbuja
   Codificación del algoritmo de la burbuja
   Análisis del algoritmo de la burbuja
   9.3: Ordenación por selección
   Algoritmo de selección
   Codificación del algoritmo de selección
   9.4: Ordenación por inserción
   Figura 9.1
   Algoritmo de ordenación por inserción
   Codificación del algoritmo de inserción
   9.5: Ordenación rápida (quicksort)
   A recordar
   Ejemplo 9.1
   A recordar
   Algoritmo quicksort
   Ejemplo 9.2
   Figura 9.2
   Codificación del algoritmo quicksort
   Análisis del algoritmo quicksort
   Tabla 9.1: Comparación de la complejidad en los métodos de ordenación.
   Consejo de programación
   9.6: Búsqueda en listas: búsqueda secuencial y binaria
   Búsqueda binaria
   Ejemplo 9.3
   Algoritmo y codificación de la búsqueda binaria
   Figura 9.3
   Ejemplo 9.4
   Análisis de los algoritmos de búsqueda
   Complejidad de la búsqueda secuencial
   Análisis de la búsqueda binaria
   Comparación de la búsqueda binaria y secuencial
   Tabla 9.2: Comparación de las búsquedas binaria y secuencial.
   A recordar
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 10: Estructuras y uniones
   Contenido
   Conceptos clave
   Introducción
   10.1: Estructuras
   A recordar
   Figura 10.1
   Declaración de una estructura
   Ejemplo
   Definición de variables de estructuras
   Otros ejemplos de definición/declaración
   Uso de estructuras en asignaciones
   Inicialización de una declaración de estructuras
   El tamaño de una estructura
   Ejemplo 10.1
   Ejecución
   10.2: Acceso a estructuras
   Almacenamiento de información en estructuras
   Acceso a una estructura de datos mediante el operador punto
   Acceso a una estructura de datos mediante el operador apuntador
   Consejo de programación
   Lectura de información de una estructura
   Recuperación de información de una estructura
   10.3: Sinónimo de un tipo de datos: typedef
   Ejemplo
   Sintaxis
   Ejemplo
   Ejemplo
   A recordar
   10.4: Estructuras anidadas
   Figura 10.2
   Ejemplo de estructuras anidadas
   A recordar
   10.5: Arreglos de estructuras
   10.6: Arreglos como miembros
   Ejemplo 10.2
   10.7: Utilización de estructuras como parámetros
   Ejemplo 10.3
   A recordar
   10.8: Uniones
   10.9: Tamaño de estructuras y uniones
   Resumen
   Ejercicios
   Problemas
   CAPÍTULOS 11: Apuntadores (punteros)
   Contenido
   Conceptos clave
   Introducción
   11.1: Direcciones en memoria
   Ejemplo 11.1
   Ejemplo 11.2
   Ejecución
   11.2: Concepto de apuntador (puntero)1
   A recordar
   Ejemplo 11.3
   Ejecución
   Declaración de apuntadores
   A recordar
   Inicialización2 (iniciación) de apuntadores
   A recordar
   Figura 11.1
   Precaución
   Indirección de apuntadores
   Figura 11.2
   Figura 11.3
   Tabla 11.1: Operadores de apuntadores.
   A recordar
   Apuntadores y verificación de tipos
   Precaución
   11.3: Apuntadores null y void
   Precaución
   11.4: Apuntadores a apuntadores
   Figura 11.4
   Ejemplo 11.4
   11.5: Apuntadores y arreglos
   Nombres de arreglos como apuntadores
   Ventajas de los apuntadores
   Figura 11.5
   11.6: Arreglos (arrays)de apuntadores
   Figura 11.6
   Inicialización de un arreglo de apuntadores a cadenas
   11.7: Apuntadores a cadenas
   Apuntadores versus arreglos
   Figura 11.7
   A recordar
   11.8: Aritmética de apuntadores
   A recordar
   Ejemplo 11.5
   Una aplicación de apuntadores: conversión de caracteres
   11.9: Apuntadores constantes frente a apuntadores a constantes
   Apuntadores constantes
   Figura 11.8
   Apuntadores a constantes
   A recordar
   Apuntadores constantes a constantes
   Consejo de programación
   Ejemplo 11.6
   Regla de programación
   11.10: Apuntadores como argumentos de funciones
   A recordar
   11.11: Apuntadores a funciones
   A recordar
   Figura 11.9
   Ejemplo 11.7
   Inicialización de un apuntador a una función
   Ejemplo 11.8
   Ejemplo 11.9
   11.12: Apuntadores a estructuras
   Ejemplo 11.10
   11.13: Asignación dinámica de la memoria
   Precaución
   Almacén libre (free store)
   Figura 11.10
   11.14: Función de asignación de memoria malloc( )
   A recordar
   Figura 11.11
   Ejemplo 11.11
   Precaución
   A recordar
   Ejemplo 11.12
   Asignación de memoria de un tamaño desconocido
   Uso de malloc( ) para arreglos multidimensionales
   Ejemplo 11.13
   11.15: La función free( )
   Sintaxis de llamada a free( )
   Ejemplo 11.14
   11.16: Funciones de asignación de memoria calloc( ) y realloc( )
   Función calloc()
   Sintaxis de llamada a calloc( )
   Función realloc( )
   Ejemplo 11.15
   Ejemplo 11.16
   Sintaxis de llamada a realloc( )
   11.17: Reglas de funcionamiento de la asignación dinámica
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 12: Entradas y salidas por archivos
   Contenido
   Introducción
   12.1: Flujos
   Conceptos clave
   12.2: Apuntador (puntero) file
   A recordar
   Ejemplo 12.1
   A recordar
   12.3: Apertura de un archivo
   Ejemplo 12.2
   Ejemplo 12.3
   Ejemplo 12.4
   Modos de apertura de un archivo
   Ejemplo 12.5
   NULL y EOF
   Ejemplo 12.6
   Cierre de archivos
   Ejemplo 12.7
   Volcado del buffer fflush( )
   A recordar
   12.4: Funciones de entrada/salida para archivos
   Funciones putc( ) y fputc( )
   Ejercicio 12.1
   Funciones getc( ) y fgetc( )
   Ejercicio 12.2
   Funciones fputs( ) y fgets( )
   Ejemplo 12.8
   Ejercicio 12.3
   Funciones fprintf( ) y fscanf( )
   Ejercicio 12.4
   Función feof( )
   Ejemplo 12.9
   Función rewind( )
   Ejemplo 12.10
   12.5: Archivos binarios en c
   Ejemplo 12.11 “
   Función de salida fwrite( )
   Ejemplo 12.12
   Ejercicio 12.5
   A recordar
   Función de lectura fread( )
   Ejemplo 12.13
   Ejercicio 12.6
   12.6: Funciones para acceso aleatorio
   Función fseek( )
   Ejemplo 12.14
   Función ftell( )
   Ejemplo 12.15
   Cambio de posición: fgetpos( ) y fsetpos( )
   Ejercicio 12.7
   12.7: Datos externos al programa con argumentos de main( )
   Ejemplo 12.16
   Ejercicio 12.8
   Resumen
   Ejercicios
   Problemas
PARTE III: Lenguaje unificado de modelado UML 2.5
   CAPĺTULO 13: Programación orientada a objetos y UML 2.5
   Contenido
   Introducción
   Conceptos clave
   13.1: Programación orientada a objetos
   Consejo de programación
   Consejo de programación
   Figura 13.1
   Objeto
   Envío de un mensaje a un objeto
   Objetos
   Tipos abstractos de datos: Clases
   Instancias
   Métodos
   A recordar
   Ejemplos
   Consejo de programación
   Figura 13.2
   13.2: Modelado e identificación de objetos
   Estado
   Comportamiento
   Identidad
   Figura 13.3
   13.3: Propiedades fundamentales de la orientación a objetos
   Abstracción
   La abstracción en software
   Encapsulamiento y ocultación de datos
   Herencia
   Figura 13.4
   Figura 13.5
   Reutilización o reusabilidad
   Reutilización de código
   Reescritura de código reusable
   Polimorfismo
   Lenguajes de programación orientada a objetos
   13.4: Modelado de aplicaciones: UML
   Lenguaje de modelado
   13.5: Modelado y modelos
   Categorías de modelado
   13.6: Diagramas de UML 2.5
   Figura 13.6
   Diagramas de clase
   Diagramas de componentes
   Diagramas de estructura compuesta
   Diagramas de despliegue
   Diagramas de paquetes
   Diagramas de objetos
   Diagramas de actividad
   Diagramas de comunicación
   Diagramas de descripción de la interacción
   Diagramas de secuencia
   Diagramas de máquinas de estados
   Diagramas de tiempo
   Diagramas de casos de uso
   A recordar
   Desarrollo de software orientado a objetos con UML
   13.7: Bloques de construcción (componentes) de UML 2.5
   Elementos estructurales
   Clase
   Interfaz
   Colaboración
   Caso de uso
   Componente
   Nodo
   Elementos de comportamiento
   Interacción
   Máquina de estado
   Elementos de agrupación
   Paquete
   Elementos de notación (notas)
   Nota
   13.8: Especificaciones de UML
   13.9: Historia de UML
   Línea de tiempo (cronología, timeline)
   Resumen
   Ejercicios
   CAPĺTULO 14: Diseño de clases y objetos: representaciones gráficas en UML
   Contenido
   Introducción
   Conceptos clave
   14.1: Diseño y representación gráfica de objetos en UML
   Nota
   Figura 14.1
   Ejemplos de objetos
   Representación gráfica en UML
   Figura 14.2
   Figura 14.3
   Figura 14.4
   Características de los objetos
   A recordar
   Estado
   A recordar
   Nombre de objetos
   Figura 14.5
   Figura 14.6
   Ejemplos de objetos
   Múltiples instancias de un objeto
   Figura 14.8
   Nota
   Figura 14.7
   Evolución de un objeto
   Figura 14.9
   A recordar
   Comportamiento
   Figura 14.10
   Sintaxis operaciones
   A recordar
   Figura 14.11
   Ejemplo
   Figura 14.12
   Definición
   Regla
   Identidad
   Figura 14.13
   Figura 14.14
   Los mensajes
   Figura 14.15
   Figura 14.16
   Figura 14.17
   Figura 14.18
   Tipos de mensajes
   Ejemplo
   Responsabilidad y restricciones
   14.2: Diseño y representación gráfica de clases en UML
   A recordar
   Regla
   A recordar
   Representación gráfica de una clase
   Figura 14.19
   Ejemplos
   Figura 14.20
   Figura 14.21
   Figura 14.22
   Números complejos
   Figura 14.23
   Aparato de televisión
   Figura 14.24
   Estructuras de datos
   Declaración de una clase
   Figura 14.25
   Especificación de una clase
   Formato
   Reglas de visibilidad
   Figura 14.26
   Ejemplo
   Notas de ejecución
   Ejemplo
   Nota
   14.3: Declaración de objetos de clases
   Formato
   Ejemplo
   Sintaxis
   Las dos etapas citadas anteriormente son:
   Acceso a miembros de la clase: encapsulamiento
   Figura 14.27
   Tabla 14.1: Visibilidad.
   A recordar
   A recordar
   Nota
   Declaración de métodos
   Notación y asignación de valores a los miembros
   Formato:
   Código Java
   Tipos de métodos
   Resumen
   Ejercicios
   CAPĺTULO 15: Relaciones entre clases: delegaciones, asociaciones, agregaciones, herencia
   Contenido
   Introducción
   Conceptos clave
   15.1: Relaciones entre clases
   Figura 15.1
   Tabla 15.1: Relaciones de clases.
   15.2: Dependencia
   Figura 15.2
   15.3: Asociación
   Figura 15.3
   Figura 15.4
   Figura 15.5
   Figura 15.6
   Regla
   Figura 15.7
   Figura 15.8
   Figura 15.9
   Figura 15.10
   Multiplicidad
   Figura 15.11
   Tabla 15.2: Multiplicidad en asociaciones.
   Ejemplo 15.1
   Restricciones en asociaciones
   Ejemplo 15.2
   Figura 15.12
   Figura 15.13
   Asociación cualificada
   Asociaciones reflexivas
   Figura 15.14
   Diagrama de objetos
   Figura 15.15
   Enlaces
   Figura 15.16
   Clases de asociación
   Figura 15.17
   A recordar
   Ejemplo 15.3
   Figura 15.18
   Criterios de diseño
   Ejercicio 15.1
   Análisis
   Figura 15.19
   Asociaciones ternarias
   Ejercicio 15.2
   Asociaciones cualificadas
   Ejemplo 15.4
   Figura 15.21
   Figura 15.22
   Asociaciones reflexivas
   Ejemplo 15.5
   Figura 15.23
   Figura 15.24
   Restricciones en asociaciones
   Figura 15.25
   Figura 15.26
   Ejemplo 15.6
   Figuras 15.27
   Ejemplo 15.7
   Figura 15.28
   Ejemplo 15.8
   Enlaces
   Figura 15.29
   15.4: Agregación
   Figura 15.30
   Figura 15.31
   Ejemplo 15.9
   Figura 15.32
   Restricciones en las agregaciones
   Figura 15.33
   Composición
   Figura 15.34
   Ejemplo 15.10
   Figura 15.35
   Ejemplo 15.11
   15.5: Jerarquía de clases: generalización y especialización
   Figura 15.36
   Figura 15.37
   Figura 15.38
   Figura 15.39
   Regla
   Jerarquías de generalización/especialización
   Figura 15.40
   Figura 15.41
   Figura 15.42
   Figura 15.43
   A recordar
   Síntesis de generalización/Especialización [Muller 97]
   15.6: Herencia: clases derivadas
   Figura 15.44
   Herencia simple
   Figura 15.45
   Herencia múltiple
   Figura 15.46
   Regla
   Niveles de herencia
   Figura 15.47
   Ejemplo 15.12
   Figura 15.48
   Figura 15.49
   Regla
   Ejemplo 15.13
   Ejemplo 15.14
   Declaración de una clase derivada
   Consideraciones de diseño
   15.7: Accesibilidad y visibilidad en la herencia
   Norma
   Tabla 15.3: Acceso a variables y funciones según tipo de herencia.
   Herencia pública
   Formato
   Herencia privada
   Herencia protegida
   Tabla 15.4: Tipos de herencia y accesos que permiten.
   Ejercicio 15.3
   15.8: Un caso de estudio especial: herencia múltiple
   Figura 15.50
   Regla
   Regla
   Ejemplo 15.15
   Características de la herencia múltiple
   Ambigüedades
   Ejemplo 15.16
   Precaución
   Regla
   Ejemplo 15.17
   Nota
   15.9: Clases abstractas
   Ejercicio 15.4
   Figura 15.51
   Ejercicio 15.5
   Figura 15.52
   Operaciones abstractas
   Figura 15.53
   Resumen
   Ejercicios
PARTE IV: Programar en C++
   CAPÍTULO 16: De Ca C++
   Contenido
   Introducción
   Conceptos clave
   16.1: El primer programa C++
   Comentarios en C++
   El preprocesador de C++ y el archivo iostream
   Entrada y salida
   Tabla 16.1
   Ejemplo 16.1
   Regla
   Archivos de cabecera
   Regla
   16.2: Espacios de nombres
   Regla 1
   Ejemplo 16.2
   16.3: Tipos de datos nativos
   Tipos de datos básicos/primitivos
   Tabla 16.2: Tipos aritméticos en C++.
   Tabla 16.3: Tipos integrales.
   Tabla 16.4: Tipos con signo.
   Tipos de coma flotantes (reales)
   Constantes literales
   Tipos apuntadores
   Ejemplo 16.3
   Declaración de apuntadores
   Ejemplo 16.4
   Tipos constantes
   Referencias
   Ejemplo 16.5
   Nombres de tipos definidos: typedef
   Tipos enumeración
   Arrays (arreglos)
   Sintaxis
   Ejemplo 16.6
   A recordar
   Tipos carácter
   Cadenas
   Sintaxis
   Ejemplo 16.7
   16.4: Operadores
   Operadores aritméticos
   Tabla 16.5: Operadores aritméticos.
   Operadores relacionales y lógicos
   Tabla 16.6: Operadores relacionales y lógicos.
   Tabla 16.7: Operador lógico OR (||).
   Tabla 16.8: Operador lógico AND (&&).
   Ejemplo 16.8
   Operadores de asignación
   Tabla 16.9: Operadores de asignación.
   Operadores incremento y decremento
   Tabla 16.10: Operadores de incremento y decremento.
   Ejemplo 16.9
   Operador condicional
   Ejemplo 16.10
   Operador sizeof
   Operador coma
   Ejemplo 16.11
   16.5: Conversiones de tipos
   Tabla 16.11: Reglas de conversión y algunos problemas potenciales.
   Conversión en expresiones
   A recordar
   Ejemplo 16.12
   Conversiones en paso de argumentos
   Conversiones explícitas
   Ejemplo 16.13
   Operador new
   Sintaxis completa del operador new
   Ejemplo 16.14
   Precaución
   Operador delete
   Ejemplo 16.15
   Precaución
   Ejemplo 16.16
   16.6: Estructuras de control
   Secuencia y sentencias compuestas
   Selección y repetición
   Sentencia if
   Ejemplo 16.17
   Sentencia Switch
   Regla
   Sentencia while
   Sintaxis
   Sentencia do-while
   Ejemplo 16.18
   Sentencia for
   Sintaxis
   Ejemplo 16.19
   Ejemplo 16.20
   Sentencias break y continue
   Estructura de break y continue
   16.7: Funciones
   Funciones de biblioteca
   Ejemplo 16.21
   Definición de una función (función definida por el usuario)
   Sintaxis
   Ejemplo 16.22
   Regla
   Argumentos de la función: paso por valor y por referencia
   Paso por valor
   Paso por referencia
   Ejemplo 16.23
   La sentencia return
   Ejemplo 16.24
   La sentencia using y el espacio de nombres std
   Directiva #include
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 17: Clases y objetos. Sobrecarga de operadores
   Contenido
   Conceptos clave
   Introducción
   17.1: Clases y objetos
   ¿Qué son objetos?
   ¿Qué son clases?
   Figura 17.1
   17.2: Definición de una clase
   Sintaxis
   Regla práctica
   Tabla 17.1: Secciones pública y privada de una clase.
   Nota
   Figura 17.2
   Ejemplo 17.1
   Reglas prácticas en la declaración de una clase
   ¿Control de acceso a los miembros: público o privado?
   Ejemplo 17.2
   Ejemplo 17.3
   Las funciones son públicas y los datos privados
   Nota
   Ejemplo 17.4
   Ejemplo 17.5
   Objetos de clases
   Formato
   A recordar
   Ejemplo
   Acceso a miembros de la clase: encapsulamiento
   Figura 17.3
   Formato
   Tabla 17.2: Visibilidad.
   A recordar
   A recordar
   Nota
   Datos miembros (miembros dato)
   Ejemplo 17.6
   Ejemplo 17.7
   Definición de una función miembro fuera de la clase
   Ejemplo 17.8
   Funciones miembro
   Figura 17.4
   Ejemplo 17.9
   Ejemplo 17.10
   Ejercicio 17.1
   Llamadas a funciones miembro
   Ejemplo 17.11
   Regla
   Mensajes
   Ejercicio 17.2
   Tipos de funciones miembro
   Funciones en línea y fuera de línea
   Ejercicio 17.3
   Ejecución del programa
   La palabra reservada inline
   Nombres de parámetros de funciones miembro
   Regla
   Consejo
   Implementación de clases
   Archivos de cabecera y de clases
   Figura 17.5
   Opciones de compilación
   Ejemplo
   Ejemplo
   17.3: Constructores
   Reglas
   Ejemplo 17.12
   Caso particular
   Constructor por defecto
   Ejemplo 17.13
   Regla
   Precaución
   Constructores alternativos
   Ejemplo
   Ejemplo
   Ejemplo 17.14
   Constructores sobrecargados
   Ejemplo 17.15
   Constructor de copia
   Ejemplo 17.16
   Regla
   Ejemplo
   Inicialización de miembros en constructores
   Ejemplo 17.17
   Ejercicio 17.4
   17.4: Destructores
   Ejemplo 17.18
   Regla
   Ejemplo 17.19
   Clases compuestas
   17.5: Sobrecarga de funciones miembro
   Requisitos para la sobrecarga
   17.6: Funciones amigas
   Ejemplo 17.20
   Ejercicio 17.5
   Nota
   Ejemplo 17.21
   17.7: Sobrecarga de operadores
   Tabla 17.3: Operadores que se pueden sobrecargar.
   Formato
   Reglas
   Ejemplo 17.22
   17.8: Sobrecarga de operadores unitarios
   Sobrecargar un operador unitario como función miembro
   Sobrecarga de un operador unitario como una función amiga
   17.9: Sobrecarga de operadores binarios
   Sobrecarga de un operador binario como función miembro
   Sobrecarga de un operador binario como una función amiga
   17.10: Conversión de datos y operadores de conversión de tipos
   Conversión entre tipos básicos
   Conversión entre objetos y tipos básicos
   17.11: Errores de programación frecuentes
   Ejemplo 17.23
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 18: Clases derivadas: herencia y polimorfismo
   Contenido
   Introducción
   Conceptos clave
   18.1: Clases derivadas
   Figura 18.1
   Regla
   Ejemplo 18.1
   Ejemplo 18.2
   Declaración de una clase derivada
   Ejercicio 18.1
   Consideraciones de diseño
   18.2: Tipos de herencia
   Norma
   Herencia pública
   Tabla 18.1: Acceso a variables y funciones según tipo de herencia.
   Formato
   Ejemplo 18.3
   Figura 18.2
   Regla
   Herencia privada
   Herencia protegida
   Tabla 18.2: Tipos de herencia y accesos que permiten.
   Ejemplo 18.4
   Operador de resolución de ámbito
   Constructores-inicializadores en herencia
   Regla
   Ejemplo 18.5
   Ejemplo 18.6
   Sintaxis del constructor
   Ejemplo 18.7
   Sintaxis de la implementación de una función miembro
   18.3: Destructores
   Ejemplo 18.8
   18.4: Herencia múltiple
   Figura 18.3
   Regla
   Ejemplos
   Ejemplo
   Regla
   Ejemplo 18.9
   Características de la herencia múltiple
   Ambigüedades
   Ejemplo 18.10
   Precaución
   Regla
   Ejemplo 18.11
   Dominación (prioridad)
   Ejemplo 18.12
   Regla
   Inicialización de la clase base
   Precaución
   Regla
   Ejemplo 18.13
   18.5: Ligadura
   18.6: Funciones virtuales
   Ligadura dinámica mediante funciones virtuales
   Un apuntador (puntero) a una clase derivada es también un puntero a la clase base
   A recordar
   18.7: Polimorfismo
   El polimorfismo sin ligadura dinámica
   El polimorfismo con ligadura dinámica
   Figura 18.4
   18.8: Uso del polimorfismo
   18.9: Ligadura dinámica frente a ligadura estática
   18.10: Ventajas del polimorfismo
   Resumen
   Ejercicios
   CAPĺTULO 19: Genericidad: plantillas (templates)
   Contenido
   Introducción
   Conceptos clave
   19.1: Genericidad
   19.2: Conceptos fundamentales de plantillas en C++
   Ejemplo 19.1
   Terminología
   19.3: Plantillas de funciones
   Fundamentos teóricos
   Figura 19.1
   Definición de plantilla de funciones
   Sintaxis:
   Reglas prácticas
   Ejemplo 19.2
   Ejemplo 19.3
   Ejemplo 19.4
   Plantilla de función class (typename)
   Ejemplo 19.5
   Un ejemplo de función plantilla
   Plantillas de función ordenar y buscar
   Una aplicación práctica
   Precaución
   Problemas en las funciones plantilla
   19.4: Plantillas de clases
   Definición de una plantilla de clase
   Sintaxis:
   Ejemplo 19.6
   Instanciación de una plantilla de clases
   Figura 19.2
   Utilización de una plantilla de clase
   Declaración de la plantilla Pila
   Implementación de la pila
   Instanciación de la plantilla de clases
   Nota
   Argumentos de plantillas
   19.5: Una plantilla para manejo de pilas de datos
   Figura 19.3
   Definición de las funciones miembro
   Utilización de una clase plantilla
   Instanciación de una clase plantilla con clases
   Uso de las plantillas de funciones con clases
   19.6: Modelos de compilación de plantillas4
   Modelo de compilación de inclusión
   Ejemplo 19.7
   Modelo de compilación separada
   Ejemplo 19.8
   Nota
   19.7: Plantillas frente a polimorfismo
   Resumen
   Ejercicios
   CAPÍTULO 20: Excepciones
   Contenido
   Introducción
   Conceptos clave
   20.1: Condiciones de error en programas
   ¿Por qué considerar las condiciones de error?
   20.2: El tratamiento de los códigos de error
   20.3: Manejo de excepciones en C++
   Precaución
   Inconvenientes
   20.4: El mecanismo de manejo de excepciones
   Clases de excepciones
   Partes de la manipulación de excepciones
   20.5: El modelo de manejo de excepciones
   El modelo de manejo de excepciones
   Figura 20.1
   Ejemplo 20.1
   Diseño de excepciones
   Bloques try
   Normas
   Precaución
   Ejemplo 20.2
   Lanzamiento de excepciones
   Ejemplo 20.3
   Captura de una excepción: catch
   Formatos
   Funcionamiento
   Ejemplo 20.4
   Ejemplo 20.5
   20.6: Especificación de excepciones
   Especificación de excepciones vacía
   Ejemplo
   Regla
   Ejemplo 20.6
   Ejemplo 20.7
   20.7: Excepciones imprevistas
   Normas de especificación de excepciones
   20.8: Aplicaciones prácticas de manejo de excepciones
   Calcular las raíces de una ecuación de segundo grado
   Aplicación 20.1
   Control de excepciones en una estructura tipo pila
   Figura 20.2
   Resumen
   Ejercicios
PARTE V: Programar en Java
   CAPÍTULO 21: De C/C++ a Java 6/7/8
   Contenido
   Introducción
   Conceptos clave
   21.1: Historia del lenguaje Java: de Java 1.0 a Java 8
   Tabla 21.1: Versiones de Java.*
   21.2: El lenguaje de programación Java
   Sitio web de referencia
   Tipos de programas Java
   21.3: Un programa sencillo en Java
   Figura 21.1
   Nota
   Sintaxis
   A recordar
   21.4: Tipos de datos
   21.5: Variables, constantes y asignaciones
   Tabla 21.2: Tipos primitivos.*
   Sintaxis
   Ejemplo
   Inicialización de variables
   Sintaxis
   Ejemplo
   Errores típicos
   Inicialización de una variable en una declaración
   Sintaxis
   Ejemplo
   Asignación multiple; combinación de asignación con operadores aritméticos
   Ejemplo:
   Constantes
   Regla
   Ejemplo
   Ejemplo
   Definición de constantes en un método o en una clase
   Ejemplo
   21.6: Operadores y expresiones
   Operadores aritméticos
   Ejemplo
   Operadores relacionales y lógicos
   Operadores de manipulación de bits
   Ejemplo
   Precedencia de operadores
   21.7: Funciones matemáticas
   Ejemplo
   Tabla 21.3: Métodos matemáticos.
   21.8: Cadenas
   Concatenación de cadenas
   Ejemplo
   Las cadenas son inmutables
   Subcadenas de la clase String
   Figura 21.2
   Ejemplo
   Longitud y comparación de cadenas
   Ejemplo
   Sintaxis
   Ejemplo
   Sintaxis
   Precaución
   Ejemplo
   Métodos de la clase String
   Ejemplo
   Ejemplo
   Ejemplo
   21.9: Códigos de caracteres ASCII y Unicode
   A recordar
   21.10: Entrada y salida
   Salida a la consola
   Sintaxis
   Ejemplo
   Ejemplo
   A recordar
   Salida formateada con printf
   Ejemplo
   Entrada
   Sintaxis de entrada de teclado utilizando Scanner
   Sintaxis
   Ejemplo
   21.11: Flujo de control
   Bloques de sentencias
   Sintaxis de bloque de sentencias
   Ejemplo
   Ejemplo
   Sentencias condicionales
   Sintaxis sentencia if
   Sintaxis sentencia if-else
   Ejemplo
   Sentencias if-else multicamino
   Sintaxis
   Ejemplo
   Sentencia switch
   Sintaxis
   Ejemplo
   Precaución
   Bucles (Lazos)
   Sentencia while
   Sintaxis
   Ejemplo
   Sentencia do-while
   Sintaxis
   Ejemplo
   Sentencia for
   Sintaxis
   Ejemplo
   Regla
   Sentencias break y continue
   Sintaxis
   Ejemplo
   Ejemplo
   Nota
   Ejemplo de continue
   Método exit( )
   Ejemplo
   El bucle “for each”
   Sintaxis mejorada del bucle for
   Ejemplo
   Nota
   21.2: Arreglos (arrays)
   Regla
   Sintaxis
   Ejemplos
   Ejemplo
   Regla
   Acceso a los elementos de un arreglo
   Ejemplo
   Arreglos y objetos
   Advertencia
   Inicialización de arreglos y arreglos anónimos
   Arreglos multidimensionales
   Sintaxis
   Ejemplos
   Arreglos irregulares o triangulares
   Ejemplo
   Ejemplo
   Listas de arreglos (ArrayList)
   Ejemplo
   Bucle for each
   Sintaxis
   Ejemplo
   Regla
   Ejemplo
   Ejemplo
   21.13: Applets
   Recomendación
   21.4: Creación de un applet
   Figura 21.3
   Ejemplo 21.1
   Figura 21.4
   Ejemplo 21.2: Muestra la cadena “Hoy es el día de la Tierra” en un applet.
   Figura 21.5
   Documento HTML para applet
   21.5: Ciclo de vida de un applet
   void init ( )
   void start ( )
   void stop ( )
   void destroy ( )
   Figura 21.6
   Ejemplo 21.3
   Dibujar imágenes en un applet
   Figura 21.7
   void paint (Graphics g)
   void resize (int ancho, int alto)
   void repaint ( )
   Ejemplo 21.4
   Clase Graphics
   Parámetros en un applet
   Seguridad
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 22: Programación orientada a objetos en Java. Clases y objetos
   Contenido
   Introducción
   Conceptos clave
   22.1: Clases y objetos
   ¿Qué son objetos?
   ¿Qué son clases?
   22.2: Declaración de una clase
   Formato
   Ejemplo 22.1
   Ejemplo 22.2
   Objetos
   Formato para definir una referencia
   Formato para crear un objeto
   A recordar
   Visibilidad de los miembros de la clase
   Formato
   Figura 22.1
   Ejemplo 22.3
   Tabla 22.1: Visibilidad, “x” indica que el acceso está permitido.
   A recordar
   Métodos de una clase
   Figura 22.2
   Ejemplo 22.4
   Ejercicio 22.1
   Implementación de las clases
   Clases públicas
   Advertencia
   22.3: Paquetes
   Sentencia package
   Formato
   import
   Formato
   Nota
   Ejemplo 22.5
   22.4: Constructores
   Reglas
   Ejemplo 22.6
   Constructor por defecto
   Regla
   Ejemplo 22.7
   Precaución
   Constructores sobrecargados
   Regla
   Ejemplo 22.8
   22.5: Recolección de objetos
   Método finalize( )
   Regla
   Ejercicio 22.2
   22.6: Objeto que envía el mensaje: this
   22.7: Miembros static de una clase
   Variables static
   Ejercicio 22.3
   Métodos static
   Ejemplo 22.9
   22.8: Clase Object
   equals ( )
   toString ( )
   Operador instanceof
   A recordar
   22.9: Tipos abstractos de datos en Java
   Implementación del TAD Conjunto
   Aplicación del tipo abstracto de dato Conjunto
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 23: Programación orientada a objetos en Java. Herencia y polimorfismo
   Contenido
   Introducción
   Conceptos clave
   23.1: Clases derivadas
   Figura 23.1
   Regla
   Ejemplo 23.1
   Ejemplo 23.2
   Declaración de una clase derivada
   Ejercicio 23.1
   Diseño de clases derivadas
   Sobrecarga de métodos en la clase derivada
   Ejemplo 23.3
   Ejecución
   23.2: Herencia pública
   Tabla 23.1: Acceso a variables y métodos según visibilidad.
   Formato
   Ejercicio 23.2
   Ejecución
   Regla
   23.3: Constructores en herencia
   Regla
   Ejemplo 23.4
   Ejecución
   Sintaxis
   Sintaxis
   Ejemplo 23.5
   Referencia a la clase base: super
   Regla
   Ejemplo 23.6
   23.4: Métodos y clases no derivables: atributo final
   23.5: Conversiones entre objetos de clase base y clase derivada
   Figura 23.2
   Ejercicio 23.3
   Ejecución
   23.6: Métodos abstractos
   Clases abstractas
   Ejemplo 23.7
   Normas de las clases abstractas
   Ligadura dinámica mediante métodos abstractos
   Norma
   Ejercicio 23.4
   Ejecución
   23.7: Polimorfismo
   Uso del polimorfismo
   Ventajas del polimorfismo
   23.8: Interfaces
   Sintaxis
   Regla
   Ejemplo 23.8
   Implementación de una interface (interfaz)
   Ejercicio 23.5
   Múltiples interfaces
   Sintaxis
   Regla
   Jerarquía de interface (interfaz)
   Sintaxis
   Herencia de clases e implementación de interface
   Regla
   Variables interface
   Ejemplo 23.9
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 24: Colecciones
   Contenido
   Introducción
   24.1: Colecciones en Java
   Conceptos clave
   Ejemplo 24.1
   Norma
   Tipos de colecciones
   Figura 24.1
   24.2: Clases de utilidades: Arrays y Collections
   Clase Arrays
   Ordenación de arrays
   Norma
   Ejemplo 24.2
   Ejecución
   Búsqueda de una clave
   Asignación de un elemento
   Ejemplo 24.3
   Clase Collections
   Ordenación y búsqueda
   Máximo y mínimo
   Sincronización
   Conversión a solo lectura
   Utilidades
   Ejemplo 24.4
   Ejecución
   24.3: Comparación de objetos: Comparable y Comparator
   Comparable
   Nota
   Comparator
   Norma
   24.4: Vector y Stack
   Vector
   Stack
   Ejemplo 24.5
   24.5: Iteradores de una colección
   Enumeration
   Ejemplo 24.6
   Ejecución
   Iterator
   Norma
   Ejemplo 24.7
   24.6: Listas
   Figura 24.2
   ArrayList
   Ejemplo 24.8
   24.7: Colecciones parametrizadas
   Declaración de un tipo parametrizado
   Sintaxis
   Resumen
   Ejercicios
   Problemas
   CAPÍTULO 25: Multitarea y excepciones
   Contenido
   Conceptos clave
   Introducción
   25.1: Manejo de excepciones en Java
   Precaución
   25.2: Mecanismo del manejo de excepciones
   El modelo de manejo de excepciones
   Figura 25.1
   Ejemplo 25.1
   Diseño de excepciones
   Bloques try
   Normas
   Precaución
   Ejemplo 25.2
   Lanzamiento de excepciones
   Ejemplo 25.3
   Captura de una excepción: catch
   Formato
   Precaución
   Funcionamiento
   Ejemplo 25.4
   Cláusula finally
   Ejemplo 25.5
   25.3: Clases de excepciones definidas en Java
   RuntimeException
   Excepciones comprobadas
   Precaución
   Métodos que informan de la excepción
   Ejemplo 25.6
   Nota
   25.4: Nuevas clases de excepciones
   25.5: Especificación de excepciones
   Ejemplo
   Regla
   Regla
   Ejemplo
   Ejercicio 25.1
   25.6: Multitarea
   Utilización de la multitarea
   25.7: Creación de hilos
   Ejemplo 25.7
   A recordar
   Ejemplo 25.8
   Criterios a seguir para elegir cómo crear un hilo
   25.8: Estados de un hilo, ciclo de vida de un hilo
   Figura 25.2
   Ejemplo 25.9
   25.9: Prioridad entre hilos
   25.10: Hilos daemon
   25.11: Sincronización
   Ejemplo 25.10
   Resumen
   Ejercicios
Back Matter
   APÉNDICE A: Estructura de un programa en Java y C/C++. Entornos de desarrollo integrados (Java 7, Java 8 y C++11)
   A.1: Estructura general de un programa en C/C++ y Java
   A.2: Proceso de programación en Java
   Máquina virtual Java (JVM)
   Figura A.1
   Figura A.2
   Prácticas de programación
   Kit de desarrollo Java: JDK y JDK8
   Tabla A.1: Versiones de Java Development Kits (JDK).
   Direcciones de Oracle
   Tabla A.2: Productos de Java de Oracle.
   A.3: Entornos de desarrollo integrados (Java, C y C++)
   Herramientas de desarrollo
   NetBeans
   Eclipse
   BlueJ
   Otros entornos de desarrollo
   A.4: Compilación sin entornos de desarrollo: Java y C/C++
   Compiladores de Java
   Compiladores de C++ (versión C++11 y futura C++14)
   APÉNDICE B: Representación de la información en las computadoras
   Representación de textos
   Representación de valores numéricos
   Representación de enteros
   Tabla B.1: Tipos enteros reales, en C++.
   Representación de números reales
   Ejemplos
   Ejemplos
   Representación de caracteres
   Representación de imágenes
   Tabla B.2: Mapas de bits.
   Tabla B.3: Mapas de vectores.
   Representación de sonidos
   APÉNDICE C: Códigos ASCII y UNICODE
   C.1: Código ASCII
   Tabla C.1: Código ASCII de la computadora personal PC.
   C.2: Código Unicode
   Referencias web
   Bibliografía
   APÉNDICE D: Palabras reservadas de Java 5 a 8, C y C++11
   D.1: Java
   Tabla D.1: Palabras clave (keywords) de Java.
   Palabras reservadas de Java con significado especial
   Tabla D.2: Palabras reservadas especiales.
   Palabras reservadas (keywords) de C/C++
   Tabla D.3: Palabras reservadas de C y C++.
   Palabras nuevas de C++11
   APÉNDICE E: Prioridad de operadores C/C++ y Java
   Índice analítico

Información adicional

Alquilar o comprar libro de texto electrónico

perpetual

Valoraciones

No hay valoraciones aún.

Solo los usuarios registrados que hayan comprado este producto pueden hacer una valoración.

Características del libro digital


Acceso instantáneo

Compra y lee tu libro inmediatamente


Leer sin conexión

Acceda a su libro de texto electrónico en cualquier momento y en cualquier lugar


Herramientas de estudio

Herramientas de estudio integradas como el subrayado y más


Leer en voz alta

Escuche y siga la lectura