Programación en C, C++, Java y UML. (Record no. 1174)

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
Holdings
Suprimido Perdido Fuente de clasificación o esquema Estropeado No para préstamo Localización permanente Localización actual Fecha adquisición Fuente de adquisición Coste, precio normal de compra Préstamos totales Clasificación completa Código de barras Fecha última consulta Fecha último préstamo Número de copia Fecha del precio de reemplazo Tipo de item de Koha Renovaciones totales
    Dewey Decimal Classification     CIBESPAM-MFL CIBESPAM-MFL 10/31/2016 Compra 59.34 71 005.133 / J88 001848 01/18/2023 01/18/2023 Ej: 1 10/31/2016 Libros  
    Dewey Decimal Classification     CIBESPAM-MFL CIBESPAM-MFL 10/31/2016 Compra 59.34 45 005.133 / J88 001849 02/09/2024 02/09/2024 Ej: 2 10/31/2016 Libros 2