MARC details
000 -CABECERA |
Longitud fija campo de control |
29462ntdaa2200325 ab4500 |
003 - IDENTIFICADOR DEL NÚMERO DE CONTROL |
Identificador del número de control |
UnInEc |
005 - FECHA Y HORA DE LA ÚLTIMA TRANSACCIÓN |
Fecha y hora de la última transacción |
20180802210013.0 |
006 - CÓDIGOS DE INFORMACIÓN DE LONGITUD FIJA - CARACTERÍSTICAS DEL MATERIAL ADICIONAL |
Códigos de información de longitud fija - Características del material adicional |
a||||g ||i| 00| 0 |
008 - CÓDIGOS DE INFORMACIÓN DE LONGITUD FIJA |
Códigos de información de longitud fija |
140501s9999 mx ||||f |||| 00| 0 spa d |
020 ## - NÚMERO INTERNACIONAL NORMALIZADO PARA LIBROS |
Número Internacional Normalizado para Libros (ISBN) |
9786071512123 |
040 ## - FUENTE DE LA CATALOGACIÓN |
Centro catalogador de origen |
CIBESPAM MFL |
041 ## - CÓDIGO DE LENGUA |
Código de lengua del texto;banda sonora o título independiente |
spa. |
082 ## - NÚMERO DE LA CLASIFICACIÓN DECIMAL DEWEY |
Número de clasificación |
005.133 |
Cutter |
J88 |
Dato adicional |
2014 |
100 ## - PUNTO DE ACCESO PRINCIPAL-NOMBRE DE PERSONA |
Nombre de persona |
Joyanes Aguilar, Luis |
245 ## - MENCIÓN DE TÍTULO |
Título |
Programación en C, C++, Java y UML. |
250 ## - MENCIÓN DE EDICIÓN |
Mención de edición |
Segunda Edición |
260 ## - PUBLICACIÓN, DISTRIBUCIÓN, ETC. (PIE DE IMPRENTA) |
Lugar de publicación, distribución, etc. |
México |
Nombre del editor, distribuidor, etc. |
McGraw-Hill |
Fecha de publicación, distribución, etc. |
2014 |
300 ## - DESCRIPCIÓN FÍSICA |
Extensión |
xxix, 767 páginas; |
Otras características físicas |
fig, tablas; |
505 ## - NOTA DE CONTENIDO CON FORMATO |
Nota de contenido con formato |
PRÓLOGO xv<br/>PARTE I<br/>Resolución de problemas con software 1<br/>CAPÍTULO 1<br/>Fundamentos de computadoras y de lenguajes de programación 2<br/>Introducción 2<br/>1.1 Las computadoras en perspectiva 3<br/>Generaciones de computadoras 3<br/>1.2 Las computadoras modernas: una breve taxonomía 5<br/>1.3 Estructura de una computadora 6<br/>1.4 Hardware 7<br/>Unidad central de proceso (CPU) 8<br/>Memoria de la computadora 9<br/>Dispositivos de entrada y salida 12<br/>Dispositivos de almacenamiento secundario 12<br/>Dispositivos de comunicación 13<br/>1.5 Software: conceptos básicos y clasificación 13<br/>Software de sistema 14<br/>Software de aplicaciones 14<br/>1.6 Sistema operativo 15<br/>1.7 El lenguaje de la computadora 17<br/>Representación de la información en las computadoras (códigos de caracteres) 18<br/>Los lenguajes de programación ensambladores y de alto nivel 18<br/>El proceso de programación 20<br/>1.8 Internet y la Web 21<br/>La revolución Web 2.0 22<br/>Social Media 22<br/>Desarrollo de programas web 23<br/>La Web Semántica y la Web 3.0 23<br/>1.9 Cloud computing (computación en la nube) 23<br/>Software como servicio (SaaS) 24<br/>1.10 Movilidad: tecnologías, redes e internet móvil 24<br/>Redes inalámbricas 24<br/>Redes móviles 25<br/>Sistemas operativos móviles 25<br/>Aplicaciones móviles 25<br/>1.11 Geolocalización y realidad aumentada 26<br/>¿Qué es la realidad aumentada? 26<br/>1.12 Internet de las cosas 26<br/>1.13 Big data. Los grandes volúmenes de datos 27<br/>1.14 Lenguajes de programación 27<br/>Traductores de lenguaje: el proceso de traducción de un programa 29<br/>La compilación y sus fases 29<br/>1-15 Evolución de los lenguajes de programación 31<br/>1.16 Paradigmas de programación 32<br/>Lenguajes imperativos (procedimentales) 32<br/>Lenguajes declarativos 32<br/>Lenguajes orientados a objetos 33<br/>Resumen 33<br/>CAPÍTULO 2 Algoritmos, programas y metodología de la programación 34<br/>Introducción 34<br/>2.1 Resolución de problemas con computadoras: fases 34<br/>Análisis del problema 35<br/>Diseño del problema 36<br/>Herramientas gráficas y alfanuméricas 37<br/>Codificación de un programa 39<br/>Compilación y ejecución de un programa 40<br/>Verificación y depuración de un programa 40<br/>Mantenimiento y documentación 42<br/>2.2 Algoritmo: concepto y propiedades 42<br/>Características de los algoritmos 43<br/>2.3 Diseño de algoritmos 44<br/>2.4 Escritura de algoritmos 45<br/>2.5 Representación gráfica de los algoritmos 47<br/>Pseudocódigo 47<br/>Diagramas de flujo 48<br/>Diagramas de Nassi-Schneiderman (N-S) 57<br/>2.6 Metodología de la programación 58<br/>Programación modular 58<br/>Programación estructurada 58<br/>Programación orientada a objetos 60<br/>2.7 Herramientas de programación 61<br/>Editores de texto 61<br/>Programa ejecutable 62<br/>Proceso de compilación/ejecución de un programa 62<br/>Resumen 64<br/>Ejercicios 64<br/>Actividades de aprendizaje 65<br/>Actividades complementarias 66<br/>PARTE II<br/>Programación en C 67<br/>CAPÍTULO 3<br/>El lenguaje C: elementos básicos 68<br/>Introducción 68<br/>3.1 Estructura general de un programa en C 68<br/>Directivas del preprocesador 70<br/>Declaraciones globales 71<br/>Función main () 72<br/>Funciones definidas por el usuario 72<br/>Comentarios 74<br/>3.2 Creación de un programa 75<br/>3.3 El proceso de ejecución de un programa en C 76<br/>3.4 Depuración de un programa en C 79<br/>Errores de sintaxis 79<br/>Errores lógicos 79<br/>Errores de regresión 80<br/>Mensajes de error 80<br/>Errores en tiempo de ejecución 80<br/>3.5 Pruebas 81<br/>3.6 Los elementos de un programa en C 81<br/>Tokens (elementos léxicos de los programas) 82<br/>Identificadores 82<br/>Palabras reservadas 82<br/>Comentarios 83<br/>Signos de puntuación y separadores 83<br/>Archivos de cabecera 83<br/>3.7 Tipos de datos en C 83<br/>Enteros (int) 84<br/>Tipos de coma flotante (float/double) 85<br/>Caracteres (char) 86<br/>3.8 El tipo de dato lógico 87<br/>Escritura de valores lógicos 88<br/>3.9 Constantes 88<br/>Constantes literales 88<br/>Constantes definidas (simbólicas) 91<br/>Constantes enumeradas 91<br/>Constantes declaradas const y volatile 91<br/>3.10 Variables 92<br/>Declaración 93<br/>Inicialización de variables 94<br/>Declaración o definición 95<br/>Duración de una variable 95<br/>Variables locales 95<br/>Variables globales 96<br/>3.11 Entradas y salidas 97<br/>Salida 97<br/>Entrada 99<br/>Salida de cadenas de caracteres 100<br/>Entrada de cadenas de caracteres 100<br/>Resumen 101<br/>Ejercicios 102<br/>CAPÍTULO 4<br/>Operadores y expresiones 103<br/>Introducción 103<br/>Operador de asignación 104<br/>Operadores aritméticos 105<br/>Asociatividad 107<br/>Uso de paréntesis 107<br/>Operadores de incrementación y de incrementación 108<br/>Operadores relacionales 111<br/>Operadores lógicos 112<br/>Asignaciones booleanas (lógicas) 114<br/>Operador condicional? 115<br/>4.8 Operador coma 116<br/>4.9 Operadores especiales: ( ), [ ] 116<br/>El operador ( ) 116<br/>El operador [ ] 116<br/>4.10 Operador sizeof 117<br/>4.11 Conversiones de tipos 118<br/>Conversión implícita 118<br/>Reglas 118<br/>Conversión explicita 118<br/>4.12 Prioridad y asociatividad 119<br/>Resumen 120<br/>Ejercicios 120<br/>Problemas 121<br/>CAPÍTULO 5<br/>Estructuras de selección: sentencias i f y switch 123<br/>Introducción 123<br/>5.1 Estructuras de control 123<br/>5.2 La sentencia i f 124<br/>5.3 Sentencia i f de dos opciones: i f-else 126<br/>5.4 Sentencias i f-else anidadas 129<br/>Sangría en las sentencias i f anidadas 130<br/>Comparación de sentencias i f anidadas y secuencias de sentencias i f 131<br/>5.5 Sentencia de control switch 132<br/>Caso particular de case 136<br/>Uso de sentencias switch en menús 137<br/>5.6 Expresiones condicionales: el operador? 137<br/>5.7 Evaluación en cortocircuito de expresiones lógicas 138<br/>5.8 Puesta a punto de programas 139<br/>Estilo y diseño 139<br/>5.9 Errores frecuentes de programación 140<br/>Resumen 142<br/>Ejercicios 142<br/>Problemas 144<br/>CAPÍTULO 6<br/>Estructuras de control: bucles 145<br/>Introducción 145<br/>6.1 Sentencia while 145<br/>Operadores de incremento y decremento (+ +, —) 148<br/>Terminaciones anormales de un bucle (c/c/o llave) 149<br/>Diseño eficiente de bucles 149<br/>Bucles while con cero iteraciones 150<br/>Bucles controlados por centinelas 150<br/>Bucles controlados por indicadores (banderas) 151<br/>La sentencia break en los bucles 152<br/>Bucles while (true) 153<br/>6.2 Repetición: el bucle for 154<br/>Diferentes usos de bucles for 158<br/>6.3 Precauciones en el uso de for 159<br/>Bucles infinitos 160<br/>Los bucles for vacíos 161<br/>Sentencias nulas en bucles for 161<br/>Sentencias break y continue 162<br/>6.4 Repetición: el bucle do-while 163<br/>Diferencias entre while y do-while 164<br/>6.5 Comparación de bucles while,for y do-while 165<br/>6.6 Diseño de bucles 165<br/>Final de un bucle 166<br/>Bucles for vacíos 167<br/>6.7 Bucles anidados 168<br/>6.8 Enumeraciones 170<br/>Resumen 172<br/>Ejercicios 172<br/>Problemas 174<br/>CAPÍTULO 7<br/>Funciones y recursividad 176<br/>Introducción 176<br/>7.1 Concepto de función 177<br/>7.2 Estructura de una función 178<br/>Nombre de una función 179<br/>Tipo de dato de retorno 180<br/>Resultados de una función 180<br/>Llamada a una función 181<br/>7.3 Prototipos de las funciones 184<br/>Prototipos con un número no especificado de para metros 186<br/>7.4 Parámetros de la función 187<br/>Paso de parámetros por valor 188<br/>Paso de parámetros por referencia 189<br/>Diferencias entre paso de variables por valor y por referencia 189<br/>Parámetros const de una función 191<br/>7.5 Funciones en línea, macros con argumentos 191<br/>Creación de macros con argumentos 193<br/>7.6 Ámbito (alcance) de una variable 194<br/>Ámbito del programa 194<br/>Ámbito del archivo fuente 195<br/>Ámbito de una función 195<br/>Ámbito de bloque 195<br/>Variables locales 196<br/>7.7 Clases de almacenamiento 196<br/>Variables automáticas 196<br/>Variables externas 196<br/>Variables registro 197<br/>Variables estáticas 197<br/>7.8 Concepto y uso de Funciones de biblioteca 198<br/>7.9 Funciones de carácter 199<br/>Comprobación alfabética y de dígitos 199<br/>Funciones de prueba de caracteres especiales 201<br/>7.10 Funciones de conversión de caracteres 201<br/>Funciones numéricas 202<br/>Funciones matemáticas de carácter general 202<br/>Funciones trigonométricas 204<br/>Funciones logarítmicas y exponenciales 204<br/>7.11 Funciones aleatorias 205<br/>Funciones de utilidad 206<br/>7.12 Visibilidad de una función 208<br/>7.13 Compilación separada 208<br/>7.14 Funciones recursivas 210<br/>Recursividad indirecta: funciones mutuamente recursivas 211<br/>Condición de terminación de la recursión 213<br/>7.15 Recursión versus iteración 213<br/>Directrices en la toma de decisión iteración/recursión 214<br/>7.16 Recursión infinita 215<br/>Resume 216<br/>Ejercicios 217<br/>Problemas 219<br/>CAPÍTULO 8<br/>Arreglos (arrays), lista y tablas. Cadenas 221<br/>Introducción<br/>8.1 Arreglos (arrays) 222<br/>Declaración de un arreglo o array 223<br/>Subíndices de un arreglo 223<br/>Almacenamiento en memoria de los arreglos (arrays) 224<br/>El tamaño de los arreglos 225<br/>Verificación del rango del índice de un arreglos 225<br/>8.2 Inicialización de un arreglo (array) 225<br/>8.3 Arreglos multidimensionales 228<br/>Inicialización de arreglos multidimensionales 229<br/>Acceso a los elementos de los arreglo bidimensionales 230<br/>Lectura y escritura de elementos de arreglos bidimensionales 230<br/>Acceso a elementos mediante bucles 231<br/>Arreglo de más de dos dimensiones 232<br/>Proceso de un arreglo de tres dimensiones 233<br/>8.4 Utilización de arreglos como parámetros 234<br/>Precauciones 237<br/>Paso de cadenas como parámetros 238<br/>8.5 Concepto de cadena 238<br/>Declaración de variables de cadena 239<br/>Inicialización de variables de cadena 240<br/>8.6 Lectura de cadenas 241<br/>Función gets ( ) 241<br/>Función get char ( ) 243<br/>Función putchar ( ) 243<br/>Función puts ( ) 244<br/>8.7 La biblioteca string. H 245<br/>Utilización del modificador const con cadenas 245<br/>8.8 Arreglos y cadenas como parámetros de Funciones 245<br/>8.9 Asignación de cadenas 247<br/>Función strncpy ( ) 248<br/>8.10 Longitud y concatenación de cadenas 249<br/>Función strlen ( ) 249<br/>Funciones strcat ( ) y strncat ( ) 249<br/>8.11 Comparación de cadenas 250<br/>Función strcmp ( ) 250<br/>Función strncmp ( ) 251<br/>8.12 Conversión de cadenas a números 251<br/>Función atoi ( ) 251<br/>Función atof ( ) 252<br/>Función atol ( ) 252<br/>Función strtol ( ) y strtoul ( ) 253<br/>Función strtod ( ) 254<br/>Entrada de números y cadenas 255<br/>Resumen 256<br/>Ejercicios 256<br/>Problemas 258<br/>CAPÍTULO 9<br/>Algoritmos de ordenación y búsqueda 260<br/>Introducción 260<br/>9.1 Ordenación 260<br/>9.2 Ordenación por burbuja 261<br/>Algoritmo de la burbuja 262<br/>Codificación del algoritmo de la burbuja 263<br/>Análisis del algoritmo de la burbuja 264<br/>9.3 Ordenación por selección 265<br/>Algoritmo de selección 266<br/>Codificación del algoritmo de selección 266<br/>9.4 Ordenación por inserción 266<br/>Algoritmo de ordenación por inserción 266<br/>Codificación del algoritmo de inserción 267<br/>9.5 Ordenación rápida (quicksort) 267<br/>Algoritmo quicksort 269<br/>Codificación del algoritmo quicksort 270<br/>Análisis del algoritmo quicksort 272<br/>9.6 Búsqueda en listas: búsqueda secuencial y binaria 273<br/>Búsqueda binaria 273<br/>Algoritmo y codificación de la búsqueda binaria 273<br/>Análisis de los algoritmos de búsqueda 275<br/>Resumen 277<br/>Ejercicios 277<br/>Problemas 278<br/>CAPÍTULO 10<br/>Estructuras y uniones 280<br/>Introducción 280<br/>10.1 Estructuras 280<br/>Declaración de una estructura 281<br/>Definición de variables de estructuras 282<br/>Uso de estructuras en asignaciones 283<br/>Inicialización de una declaración de estructuras 283<br/>El tamaño de una estructura 284<br/>10.2 Acceso a estructuras 285<br/>Almacenamiento de información en estructuras 285<br/>Lectura de información de una estructura 286<br/>Recuperación de información de una estructura 287<br/>10.3 Sinónimo de un tipo de datos: typedef 287<br/>10.4 Estructuras anidadas 288<br/>Ejemplo de estructuras anidadas 290<br/>10.5 Arreglos de estructuras 291<br/>10.6 Arreglos como miembros 292<br/>10.7 Utilización de estructuras como parámetros 293<br/>10.8 Uniones 294<br/>10.9 Tamaño de estructuras y uniones 295<br/>Resumen 296<br/>Ejercicios 296<br/>Problemas 297<br/>CAPÍTULO 11<br/>Apuntadores (punteros) 299<br/>Introducción 299<br/>11.1 Direcciones en memoria 300<br/>11.2 Concepto de apuntador (puntero) 301<br/>Declaración de apuntadores 302<br/>Inicialización (iniciación) de apuntadores 303<br/>Indirección de apuntadores 304<br/>Apuntadores y verificación de tipos 305<br/>11.3 Apuntadores NULL y void 306<br/>11.4 Apuntadores a apuntadores 307<br/>11.5 Apuntadores y arreglos 308<br/>Nombres de arreglos como apuntadores 308<br/>Ventajas de los apuntadores 308<br/>11.6 Arreglos (arrays) de apuntadores 309<br/>Inicialización de un arreglo de apuntadores a cadenas 310<br/>11.7 Apuntadores a cadenas 310<br/>Apuntadores versus arreglos 310<br/>11.8 Aritmética de apuntadores 311<br/>Una aplicación de apuntadores: conversión de caracteres 312<br/>11.9 Apuntadores constantes frente a apuntadores a constantes 313<br/>Apuntadores constantes 313<br/>Apuntadores a constantes 314<br/>Apuntadores constantes a constantes 315<br/>11.10 Apuntadores como argumentos de Funciones 316<br/>11.11 Apuntadores a Funciones 317<br/>Inicialización de un apuntador a una función 318<br/>11.12 Apuntadores a estructuras 321<br/>11.13 Asignación dinámica de la memoria 322<br/>Almacén libre (free store) 322<br/>11.14 Función de asignación de memoria malloc ( ) 322<br/>Asignación de memoria de un tamaño desconocido 326<br/>Uso de malloc( ) para arreglos multidimensionales 326<br/>11.15 La función free ( ) 327<br/>11.16 Funciones de asignación de memoria calloc( ) y realloc ( ) 328<br/>Función calloc ( ) 328<br/>Función realloc ( ) 330<br/>11.17 Reglas de funcionamiento de la asignación dinámica 332<br/>Resumen 333<br/>Ejercicios 334<br/>Problemas 335<br/>CAPÍTULO 12<br/>Entradas y salidas por archivos 337<br/>Introducción 337<br/>12.1 Flujos 337<br/>12.2 Apuntador (puntero) FILE 338<br/>12.3 Apertura de un archivo 339<br/>Modos de apertura de un archivo 340<br/>NULL y EOF 341<br/>Cierre de archivos 341<br/>Volcado del buffer. fflush( ) 341<br/>12.4 Funciones de entrada/salida para archivos 342<br/>Funciones putc ( ) y fputc ( ) 342<br/>Funciones getc ( ) y fgetc ( )<br/>Funciones fputs ( ) y fgets ( ) 343 344<br/>Funciones fprintf ( ) y fscanf ( ) 345<br/>Funcion feof ( ) 347<br/>Funcion rewind ( ) 347<br/>12.5 Archivos binarios en C 348<br/>Funcion de salida fwrite ( ) 348<br/>Funcion de lectura f read ( ) 350<br/>12.6 Funciones para acceso aleatorio 351<br/>Funcion f seek ( ) 352<br/>Funcion ftell ( ) 353<br/>Cambio de posicion: fgetpos ( ) y fsetpos( ) 353<br/>12.7 Datos externos al programa con argumentos de main ( ) 355<br/>Resumen 358<br/>Ejercicios 358<br/>Problemas 359<br/>PARTE III<br/>Lenguaje unificado de modelado UML 2.5 361<br/>CAPÍTULO 13<br/>Programación orientada a objetos y UML 2.5 362<br/>Introducción 362<br/>13.1 Programación orientada a objetos 363<br/>Objetos 364<br/>Tipos abstractos de datos: Clases 365<br/>13.2 Modelado e identificación de objetos 367<br/>Estado 367<br/>Comportamiento 367<br/>Identidad 367<br/>13.3 Propiedades fundamentales de la orientación a objetos 368<br/>Abstracción 368<br/>La abstracción en software 368<br/>Encapsulamiento y ocultación de datos 369<br/>Herencia 369<br/>Reutilización o reusabilidad 370<br/>Polimorfismo 371<br/>13.4 Modelado de aplicaciones: UML 372<br/>Lenguaje de modelado 372<br/>13.5 Modelado y modelos 373<br/>13.6 Diagramas de UML 2.5 374<br/>13.7 Bloques de construcción (componentes) de UML 2.5 . 377<br/>Elementos estructurales 377<br/>Elementos de comportamiento 378<br/>Elementos de agrupación 379<br/>Especificaciones de UML 379<br/>Historia de UML 379<br/>Resumen 381<br/>Ejercicios 381<br/>CAPÍTULO 14<br/>Diseño de clases y objetos:<br/>Representaciones graficas en UML 383<br/>Introducción 383<br/>14.1 Diseño y representación gráfica de objetos en UML 384<br/>Representación gráfica en UML 385<br/>Características de los objetos 386<br/>Estado 387<br/>Múltiples instancias de un objeto 388<br/>Evolución de un objeto 389<br/>Comportamiento 389<br/>Identidad 391<br/>Los mensajes 392<br/>Responsabilidad y restricciones 393<br/>Diseño y representación gráfica de clases en UML 394<br/>Representación gráfica de una clase 395<br/>Declaración de una clase 397<br/>Reglas de visibilidad 398<br/>Declaración de objetos de clases 400<br/>Acceso a miembros de la clase: encapsulamiento 401<br/>Declaración de métodos 403<br/>Tipos de métodos 405<br/>Resumen 405<br/>Ejercicios 4U6<br/>CAPÍTULO 15<br/>Relaciones entre clases: delegaciones. asociaciones, agregaciones, herencia 409<br/>Introducción 409<br/>15.1 Relaciones entre clases 409<br/>15.2 Dependencia 410<br/>15.3 Asociación 411<br/>Multiplicidad 413<br/>Restricciones en asociaciones 414<br/>Asociación cualificada 415<br/>Asociaciones reflexivas 415<br/>Diagrama de objetos 415<br/>Clases de asociación 416<br/>Asociaciones ternarias 417<br/>Asociaciones cualificadas 418<br/>Asociaciones reflexivas 419<br/>Restricciones en asociaciones 419<br/>15.4 Agregación 421<br/>Composición 422<br/>15.5 Jerarquía de clases: generalización y especialización 423<br/>Jerarquías de generalización/especialización 425<br/>15.6 Herencia: clases derivadas 427<br/>Herencia simple 428<br/>Herencia múltiple 429<br/>Niveles de herencia 432<br/>Declaración de una clase derivada 432<br/>Consideraciones de diseño 432<br/>15.7 Accesibilidad y visibilidad en la herencia 433<br/>Herencia publica 434<br/>Herencia privada 434<br/>Herencia protegida 434<br/>15.8 Un caso de estudio especial: herencia múltiple 435<br/>Características de la herencia múltiple 437<br/>15.9 Clases abstractas 438<br/>Operaciones abstractas 439<br/>Resumen 441<br/>Ejercicios 441<br/>PARTE IV<br/>Programar en C++ 443<br/>CAPÍTULO 16<br/>De C a C++ 444<br/>Introducción 444<br/>16.1 El primer programa C++ 444<br/>Comentarios en C++ 446<br/>El preprocesador de C++ y el archivo iostream 446<br/>Entrada y salida 446<br/>Archivos de cabecera 447<br/>16.2 Espacios de nombres447<br/>16.3 Tipos de datos nativos448<br/>Tipos de datos básicos/primitivos 448<br/>Tipos de coma flotantes (reales) 449<br/>Constantes literales 450<br/>Tipos apuntadores 450<br/>Declaración de apuntadores 451<br/>Tipos constantes 451<br/>Referencias 452<br/>Nombres de tipos definidos: typedef 452<br/>Tipos enumeración 452<br/>Arrays (arreglos) 452<br/>Tipos carácter 453<br/>Cadenas 453<br/>16.4 Operadores 454<br/>Operadores aritméticos 454<br/>Operadores relacionales y lógicos 455<br/>Operadores de asignación 456<br/>Operadores incremento y decremento 456<br/>Operador condicional 457<br/>Operador sizeof 457<br/>Operador coma 458<br/>16.5 Conversiones de tipos 458<br/>Conversión en expresiones 459<br/>Conversiones en paso de argumentos 459<br/>Conversiones explícitas 459<br/>Operador new 459<br/>16.6 Estructuras de control 461<br/>Secuencia y sentencias compuestas 461<br/>Selección y repetición 462<br/>Sentencia i f 462<br/>Sentencia Switch 463<br/>Sentencia while 463<br/>Sentencia do-while 464<br/>Sentencia for 464<br/>Sentencias break y continue 465<br/>Estructura de break y continue 465<br/>16.7 Funciones 466<br/>Funciones de biblioteca 466<br/>Definición de una función (función definida por el usuario) 467<br/>Argumentos de la función: paso por valor y por referencia 468<br/>La sentencia return 469<br/>La sentencia using y el espacio de nombres std 469<br/>Resumen 470<br/>Ejercicios 471<br/>Problemas 472<br/>CAPÍTULO 17<br/>Clases y objetos.<br/>Sobrecarga de operadores 473<br/>Introducción 473<br/>17.1 Clases y objetos 473<br/>¿Qué son objetos? 474<br/>¿Qué son clases? 474<br/>17.2 Definición de una clase 475<br/>Objetos de clases 479<br/>Acceso a miembros de la clase: encapsulamiento 481<br/>Datos miembros (miembros dato) 483<br/>Funciones miembro 485<br/>Llamadas a Funciones miembro 487<br/>Tipos de Funciones miembro 488<br/>Funciones en Iínea y fuera de línea 489<br/>La palabra reservada línea 490<br/>Nombres de parámetros de Funciones miembro 491<br/>Implementación de clases 491<br/>Archivos de cabecera y de clases 492<br/>17.3 Constructores 493<br/>Constructor por defecto 494<br/>Constructores alternativos 495<br/>Constructores sobrecargados 495<br/>Constructor de copia 496<br/>Inicialización de miembros en constructores 496<br/>17.4 Destructores 493<br/>Clases compuestas 499<br/>17.5 Sobrecarga de Funciones miembro 499<br/>17.6 Funciones amigas 500<br/>17.7 Sobrecarga de operadores 502<br/>17.8 Sobrecarga de operadores unitarios 504<br/>Sobrecargar un operador unitario como función miembro 505<br/>Sobrecarga de un operador unitario como una función amiga 506<br/>17.9 Sobrecarga de operadores binarios 507<br/>Sobrecarga de un operador binario como función miembro 507<br/>Sobrecarga de un operador binario como una función amiga 508<br/>17.10 Conversión de datos y operadores de conversión de tipos 509<br/>17.11 Errores de programación frecuentes 510<br/>Resumen 514<br/>Ejercicios 515<br/>Problemas 518<br/>CAPÍTULO 18<br/>Clases derivadas: herencia y polimorfismo 520<br/>Introducción 520<br/>18.1 Clases derivadas 520<br/>Declaración de una clase derivada 522<br/>Consideraciones de diseño 524<br/>18.2 Tipos de herencia 525<br/>Herencia pública 525<br/>Herencia privada 528<br/>Herencia protegida 528<br/>Operador de resolución de ámbito 529<br/>Constructores-inicializadores en herencia 530<br/>Sintaxis del constructor 531<br/>Sintaxis de la implementación de una función miembro 532<br/>18.3 Destructores 532<br/>18.4 Herencia múltiple 533<br/>Características de la herencia múltiple 535<br/>Dominación (prioridad) 536<br/>Inicialización de la clase base 537<br/>18.5 Ligadura 539<br/>18.6 Funciones virtuales 539<br/>Ligadura dinámica mediante funciones virtuales 540<br/>18.7 Polimorfismo 542<br/>El polimorfismo sin ligadura dinámica 543<br/>El polimorfismo con ligadura dinámica 543<br/>18.8 Uso del polimorfismo 544<br/>18.9 Ligadura dinámica frente a ligadura estática 544<br/>18.10 Ventajas del polimorfismo 545<br/>Resumen 545<br/>Ejercicios 546<br/>CAPÍTULO 19<br/>Genericidad: plantillas (templates) 548<br/>Introducción 548<br/>19.1 Genericidad 548<br/>19.2 Conceptos fundamentales de plantillas en C++ 549<br/>19.3 Plantillas de funciones 551<br/>Fundamentos teóricos 551<br/>Definición de plantilla de funciones 553<br/>Un ejemplo de función plantilla 557<br/>Plantillas de función ordenar y buscar 557<br/>Una aplicación práctica 558<br/>Problemas en las funciones plantilla 559<br/>19.4 Plantillas de clases 559<br/>Definición de una plantilla de clase 560<br/>Instanciación de una plantilla de clases 562<br/>Utilización de una plantilla de clase 562<br/>Argumentos de plantillas 564<br/>19.5 Una plantilla para manejo de pilas de datos 564<br/>Definición de las funciones miembro 565<br/>Utilización de una clase plantilla 565<br/>Instanciación de una clase plantilla con clases 568<br/>Uso de las plantillas de funciones con clases 569<br/>19.6 Modelos de compilación de plantillas 569<br/>Modelo de compilación separada 570<br/>19.7 Plantillas frente a polimorfismo 571<br/>Resumen 572<br/>Ejercicios 573<br/>CAPÍTULO 20<br/>Excepciones 574<br/>Introducción 574<br/>20.1 Condiciones de error en programas 574<br/>¿Por qué considerar las condiciones de error? 575<br/>20.2 El tratamiento de los códigos de error 575<br/>20.3 Manejo de excepciones en C++ 576<br/>20.4 El mecanismo de manejo de excepciones 577<br/>Clases de excepciones 578<br/>Partes de la manipulación de excepciones 578<br/>20.5 El modelo de manejo de excepciones 578<br/>El modelo de manejo de excepciones 579<br/>Diseño de excepciones 580<br/>Bloques try 581<br/>Lanzamiento de excepciones 582<br/>Captura de una excepción: catch 583<br/>20.6 Especificación de excepciones 586<br/>20.7 Excepciones imprevistas 588<br/>20.8 Aplicaciones prácticas de manejo de excepciones 589<br/>Calcular las raíces de una ecuación de segundo grado 589<br/>Control de excepciones en una estructura tipo pila 590<br/>Resumen 591<br/>Ejercicios 592<br/>PARTE V<br/>Programar en Java 595<br/>CAPÍTULO 21<br/>De C/C++ a JAVA 6/7/8 596<br/>Introducción 596<br/>21.1 Historia del lenguaje Java: de Java 1.0 a Java 8 596<br/>21.2 El lenguaje de programación Java 598<br/>Tipos de programas Java 599<br/>21.3 Un programa sencillo en Java 599<br/>21.4 Tipos de datos 601<br/>21.5 Variables, constantes y asignaciones 601<br/>Inicialización de variables 602<br/>Inicialización de una variable en una declaración 602<br/>Asignación múltiple; combinación de asignación con operadores aritméticos 603<br/>Constantes 603<br/>Definición de constantes en un método o en una clase 603<br/>21.6 Operadores y expresiones 604<br/>Operadores aritméticos 604<br/>Operadores relacionales y lógicos 605<br/>Operadores de manipulación de bits 605<br/>Precedencia de operadores 606<br/>21.7 Funciones matemáticas 606<br/>21.8 Cadenas 607<br/>Concatenación de cadenas 607<br/>Las cadenas son inmutables 607<br/>Subcadenas de la clase String 608<br/>Longitud y comparación de cadenas 608<br/>Métodos de la clase String 609<br/>21.9 Códigos de caracteres ASCII y Unicode 611<br/>21.10 Entrada y salida 612<br/>Salida a la consola 612<br/>Salida formateada con printf 612<br/>Entrada 613<br/>21.11 Flujo de control 615<br/>Bloques de sentencias 615<br/>Bucles (Lazos) 618<br/>21.12 Arreglos (arrays) 621<br/>Acceso a los elementos de un arreglo 622<br/>Arreglos y objetos 622<br/>Inicialización de arreglos y arreglos anónimos 623<br/>Arreglos multidimensionales 623<br/>Arreglos irregulares o triangulares 624<br/>21.13 Applets 626<br/>21.14 Creación de un applet 627<br/>Documento HTML para applet 629<br/>21.15 Ciclo de vida de un applet 629<br/>Dibujar imágenes en un applet 631<br/>Clase Graphics 633<br/>Paramétros en un applet 633<br/>Seguridad 634<br/>Resumen 635<br/>Ejercicios 635<br/>Problemas 636<br/>CAPÍTULO 22<br/>Programación orientada a objetos en Java. Clases y objetos 637<br/>Introducción 637<br/>22.1 Clases y objetos 637<br/>¿Qué son objetos? 638<br/>¿Qué son clases? 638<br/>22.2 Declaración de una clase 638<br/>Objetos 640<br/>Visibilidad de los miembros de la clase 640<br/>Métodos de una clase 642<br/>Implementación de las clases 644<br/>Clases publicas 645<br/>22.3 Paquetes 645<br/>Sentencia package 645<br/>import 646<br/>22.4 Constructores 647<br/>Constructor por defecto 648<br/>Constructores sobrecargados 648<br/>22.5 Recoleccion de objetos 649<br/>Método finalize ( ) 650<br/>22.6 Objeto que envía el mensaje: this 651<br/>22.7 Miembros static de una clase 652<br/>Variables static 652<br/>Métodos static 654<br/>22.8 Clase Ob j ect 655<br/>Operador instanceof 656<br/>22.9 Tipos abstractos de datos en Java 656<br/>Implementación del TAD Conjunto 656<br/>Aplicación del tipo abstracto de dato conjunto 658<br/>Resumen 660<br/>Ejercicios 661<br/>Problemas 662<br/>CAPÍTULO 23<br/>Programación orientada a objetos en Java. Herencia y polimorfismo 663<br/>Introducción 663<br/>23.1 Clases derivadas 663<br/>Declaración de una clase derivada 666<br/>Diseño de clases derivadas 667<br/>Sobrecarga de métodos en la clase derivada 668<br/>23.2 Herencia publica 669<br/>23.3 Constructores en herencia 672<br/>Sintaxis 673<br/>Referencia a la clase base: super 674<br/>23.4 Métodos y clases no derivables: atributo final 675<br/>23.5 Conversiones entre objetos de clase base y clase derivada 675<br/>23.6 Métodos abstractos 677<br/>Clases abstractas 678<br/>Ligadura dinámica mediante métodos abstractos 679<br/>23.7 Polimorfismo 681<br/>Uso del polimorfismo 681<br/>Ventajas del polimorfismo 681<br/>23.8Interfaces 682<br/>Implementación de una interface (interfaz) 683<br/>Jerarquía de interface (interfaz) 685<br/>Herencia de clases e implementación de interface 685<br/>Variables interface 685<br/>Resumen 686<br/>Ejercicios 687<br/>Problemas 687<br/>CAPÍTULO 24<br/>Colecciones 689<br/>Introducción 689<br/>24.1 Colecciones en Java 689<br/>Tipos de colecciones 690<br/>24.2 Clases de utilidades: Arrays y Collections 692<br/>Clase Arrays 692<br/>Ordenacion de arrays 692<br/>Clase Collections 695<br/>24.3 Comparación de objetos: Comparable y Comparator 697<br/>Comparable 697<br/>Comparator 697<br/>24.4 Vector y Stack 698<br/>Vector 698<br/>Stack 699<br/>24.5 Iteradores de una colección 700<br/>Enumeration 700<br/>Iterator 701<br/>24.6 Listas 703<br/>ArrayList 703<br/>24.7 Colecciones parametrizadas 705<br/>Declaración de un tipo parametrizado 705<br/>Resumen 706<br/>Ejercicios 706<br/>Problemas 707<br/>CAPÍTULO 25<br/>Multitarea y excepciones.<br/>CAPÍTULO 26<br/>Organización de datos dentro de un archivo en C.<br/>CAPÍTULO 27<br/>Listas, pilas y colas en C<br/>CAPÍTULO 28<br/>Flujos y archivos en C++<br/>CAPÍTULO 29<br/>Listas, pilas y colas en C++<br/>CAPÍTULO 30<br/>Archivos y flujos en Java<br/>CAPÍTULO 31<br/>Listas, pilas y colas en Java. |
520 ## - NOTA DE SUMARIO |
Sumario, etc, |
Qué ha sucedido en el campo de la informática desde la primera edición de Programación en C,C++,Java y UML? Se han desplegado numerosas innovaciones tecnológicas: la web 2.0 se ha consolidado y la programación web se ha constituido como una materia de estudio y desarrollo profesional. En el caso de la programación, han surgido las nuevas e innovadoras versiones del C++11 y Java 7, unidas a la actualización de la versión de C, C11.<br/>Los desarrolladores actuales requieren nuevas técnicas de programación y , sobre todo, el conocimiento y aprendizaje profundo de las tecnologías de programación basadas en los lenguajes de programación clásicos, estructurados y orientados a objetos: C, C++ y Java.<br/>Características de esta obra:<br/>Se ha reducido el número de capítulos de la primera edición manteniendo los contenidos, pero adaptándolos a los nuevos planes de estudios y procesos de aprendizaje.<br/>Se incluyen las versiones actuales de los tres lenguajes de programación: C11,C++ y Java 7, junto con la última versión de UML: UML 2.5.<br/>Se abordan los tres lenguajes de programación, primero independientes, después interrelacionados y luego en paralelo, con el fin de que el profesor decida la secuencia y los lenguajes en forma que mejor se adapten a sus clases.<br/>Se cuenta con un Centro de recursos en línea donde tendrá acceso a material complementario que apoya el aprendizaje de los lenguajes de programación. |
650 ## - PUNTO DE ACCESO ADICIONAL DE MATERIA - TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento inicial |
Programación |
650 ## - PUNTO DE ACCESO ADICIONAL DE MATERIA - TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento inicial |
C++ |
650 ## - PUNTO DE ACCESO ADICIONAL DE MATERIA - TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento inicial |
Java |
650 ## - PUNTO DE ACCESO ADICIONAL DE MATERIA - TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento inicial |
UML |
650 ## - PUNTO DE ACCESO ADICIONAL DE MATERIA - TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento inicial |
Hardware |
650 ## - PUNTO DE ACCESO ADICIONAL DE MATERIA - TÉRMINO DE MATERIA |
Término de materia o nombre geográfico como elemento inicial |
Software |
700 ## - PUNTO DE ACCESO ADICIONAL - NOMBRE DE PERSONA |
Nombre de persona |
Zahonero Martínez, Ignacio |
913 ## - ÁREA Y CARRERA |
Área de Conocimiento |
Información y Comunicación (TIC) |
Carrera |
Carrera de Computación |
Líneas de Investigación Institucionales |
Soluciones computacionales para el sector agroproductivo y de servicios |
942 ## - ENTRADA DE ELEMENTOS AGREGADOS (KOHA) |
Fuente de clasificaión o esquema |
Dewey Decimal Classification |
Koha [por defecto] tipo de item |
Libros |