logo paquebote
6 libros encontrados buscando autor: HERBERT SCHILDT

www.paquebote.com > HERBERT SCHILDT

Orden: · Ver: · Tipo:
ISBN:

978-84-415-3993-8

Java 9

Editorial: Anaya Multimedia   Fecha de publicación:    Páginas: 704
Formato: Rústica, 17,5 x 22,5 cm
Precio: 73,50
Añadir a la cesta
Disponible. Normalmente se envía en 3 días.

El diseño de Java, su robustez, el respaldo de la industria y su fácil portabilidad han hecho de Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintas áreas de la industria de la informática. Su gran impacto en el desarrollo web, su protagonismo en el ámbito de las aplicaciones para dispositivos móviles, e incluso su sencillez y dinamismo para crear aplicaciones de escritorio, hacen de Java la plataforma de desarrollo número uno del mundo. Herbert Schildt le presenta esta obra, totalmente actualizada para la plataforma Java Standard Edition 9 (Java SE 9), a través de un enfoque paso a paso repleto de ejemplos, evaluaciones y proyectos. Comienza con los aspectos básicos, como la forma de compilar y ejecutar un programa Java, para después analizar la sintaxis y las construcciones que conforman el núcleo del lenguaje Java. También se describen las funciones más avanzadas, como la programación de subprocesamiento múltiple, los genéricos, las expresiones lambda, Swing, JavaFX, y, naturalmente, la nueva e innovadora función modular de Java SE 9. Por último, incluye una introducción a JShell, la nueva herramienta de programación interactiva de Java. Al finalizar el libro, dispondrá de una sólida base para programar con Java.


• Agradecimientos. Sobre el autor. Sobre el editor técnico. Introducción. La evolución de Java. Java SE 9. Organización del libro. Convenciones. No se necesita experiencia de programación. Requisitos de software. Código fuente. 1. Conceptos de Java. Los orígenes de Java. Cómo Java afectó a Internet. La magia de Java: el código de bytes. Vida después de los applets. Términos principales de Java. Programación orientada a objetos. Obtener el kit de desarrollo de Java. El primer programa. Solucionar errores sintácticos. Otro sencillo programa. Otro tipo de datos. Dos instrucciones de control. Crear bloques de código. Puntos y coma y ubicación. Técnicas de sangrado. Palabras clave de Java. Identificadores en Java. Las bibliotecas de clases de Java. Evaluación de conocimientos. 2. Tipos de datos y operadores. Importancia de los tipos de datos. Tipos primitivos de Java. El tipo boolean. Literales. Variables. Ámbito y duración de variables. Operadores. Operadores aritméticos. Operadores relacionales y lógicos. Operadores lógicos de cortocircuito. El operador de asignación. Asignaciones abreviadas. Conversión de tipos en asignaciones. Convertir tipos incompatibles. Precedencia de operadores. Expresiones. Evaluación de conocimientos. 3. Instrucciones de control. Introducir caracteres desde el teclado. La instrucción if. Instrucciones if anidadas. La cadena if-else-if. La instrucción switch. Instrucciones switch anidadas. El bucle for. Variantes del bucle for. Componentes vacíos. Bucles sin cuerpo. Declarar variables de control de bucle dentro del bucle for. El bucle for mejorado. El bucle while. El bucle do-while. Utilizar break para salir de un bucle. Usar break como goto. Utilizar continue. Bucles anidados. Evaluación de conocimientos. 4. Clases, objetos y métodos. Clases: aspectos esenciales. Crear objetos. Variables de referencia y asignación. Métodos. Añadir un método a la clase Vehicle. Devolver valores desde un método. Devolver un valor. Utilizar parámetros. Añadir un método con parámetros a Vehicle. Constructores. Constructores con parámetros. Añadir un constructor a la clase Vehicle. Revisión del operador new. Recolección de basura y uso de finalizadores. El método finalize(). La palabra clave this. Evaluación de conocimientos. 5. Otros tipos de datos y operadores. Matrices. Matrices multidimensionales. Matrices irregulares. Sintaxis alternativa para declarar matrices. Asignar referencias de matriz. Usar el miembro length. El bucle for de estilo for-each. Cadenas. Utilizar argumentos de línea de comandos. Los operadores de orden de bits. El operador ?. Evaluación de conocimientos. 6. Análisis detallado de métodos y clases. Controlar el acceso a los miembros de una clase. Pasar objetos a métodos. Devolver objetos. Sobrecargar métodos. Sobrecargar constructores. Recursión. Comprender static. Clases anidadas e internas. Argumentos de longitud variable: varargs. Evaluación de conocimientos. 7. Herencia. Aspectos básicos de la herencia. Acceso a miembros y herencia. Constructores y herencia. Utilizar super para invocar constructores de superclase. Utilizar super para acceder a miembros de una superclase. Crear una jerarquía multinivel. Cuándo se ejecutan los constructores. Referencias de superclase y objetos de subclase. Reemplazar métodos. Los métodos reemplazados admiten polimorfismo. Por qué reemplazar métodos. Utilizar clases abstractas. Utilizar final. La clase Object. Evaluación de conocimientos. 8. Paquetes e interfaces. Paquetes. Paquetes y acceso a miembros. Miembros protegidos. Importar paquetes. La biblioteca de clases de Java se incluye en paquetes. Interfaces. Implementar interfaces. Utilizar referencias de interfaz. Variables en interfaces. Ampliar interfaces. Métodos de interfaz predeterminados. Usar métodos estáticos en una interfaz. Métodos private de interfaz. Consideraciones finales sobre paquetes e interfaces. Evaluación de conocimientos. 9. Controlar excepciones. La jerarquía de excepciones. Fundamentos del control de excepciones. Consecuencias de una excepción sin capturar. Utilizar varias instrucciones catch. Capturar excepciones de subclases. Anidar bloques try. Generar una excepción. Análisis de Throwable. Utilizar finally. Utilizar throws. Tres nuevas funciones de excepciones. Excepciones integradas de Java. Crear subclases de excepción. Evaluación de conocimientos. 10. Utilizar E/S. E/S de Java se basa en flujos. Flujos de bytes y de caracteres. Clases de flujo de bytes. Clases de flujo de caracteres. Flujos predefinidos. Utilizar los flujos de bytes. Leer y escribir archivos con flujos de bytes. Cerrar automáticamente un archivo. Leer y escribir datos binarios. Archivos de acceso aleatorio. Utilizar los flujos basados en caracteres de Java. E/S de archivos con flujos de caracteres. Utilizar envoltorios de tipos de Java para convertir cadenas numéricas. Evaluación de conocimientos. 11. Programación de subprocesamiento múltiple. Aspectos básicos del subprocesamiento múltiple. La clase Thread y la interfaz Runnable. Crear un subproceso. Crear varios subprocesos. Determinar el final de un subproceso. Prioridades de subprocesos. Sincronización. Utilizar métodos sincronizados. La instrucción synchronized. Comunicar subprocesos con notify(), wait() y notifyAll(). Suspender, reanudar y detener subprocesos. Evaluación de conocimientos. 12. Enumeraciones, autoboxing, importación estática y anotaciones. Enumeraciones. Las enumeraciones de Java son tipos de clases. Los métodos values() y valueOf(). Constructores, métodos, variables de instancia y enumeraciones. Las enumeraciones heredan enum. Autoboxing. Envoltorios de tipos. Aspectos básicos de autoboxing. Autoboxing y métodos. Autoboxing/Unboxing en expresiones. Importación estática. Anotaciones (metadatos). Evaluación de conocimientos. 13. Genéricos. Aspectos básicos de los genéricos. Un sencillo ejemplo de genéricos. Tipos vinculados. Usar argumentos comodín. Comodines vinculados. Métodos genéricos. Constructores genéricos. Interfaces genéricas. Tipos sin procesar y código de legado. Inferencia de tipos con el operador de rombo. Supresión. Errores de ambigüedad. Restricciones genéricas. Ampliar su estudio de los genéricos. Evaluación de conocimientos. 14. Expresiones lambda y referencias de método. Expresiones lambda: Introducción. Bloques de expresiones lambda. Interfaces funcionales genéricas. Expresiones lambda y captura de variables. Generar una excepción desde una expresión lambda. Referencias de método. Referencias de constructor. Interfaces funcionales predefinidas. Evaluación de conocimientos. 15. Módulos. Fundamentos de los módulos. java. base y los módulos de plataforma. Código de legado y el módulo sin nombre. Exportar un módulo específico. Usar requires transitive. Usar servicios. Otras funciones de los módulos. Siga estudiando los módulos. Evaluación de conocimientos. 16. Swing: Introducción. Los orígenes y la filosofía de diseño de Swing. Componentes y contenedores. Administradores de diseño. Un sencillo programa Swing. Manejo de eventos de Swing. Utilizar JButton. Trabajar con JTextField. Crear un componente JCheckBox. Trabajar con JList. Utilizar clases internas anónimas para procesar eventos. Crear un applet de Swing. Evaluación de conocimientos. 17. Presentación de JavaFX. Conceptos básicos de JavaFX. Estructura de una aplicación JavaFX. Compilar y ejecutar un programa de JavaFX. El subproceso de la aplicación. Un sencillo control JavaFX: Label. Utilizar botones y eventos. Otros tres controles de JavaFX. Presentación de efectos y transformaciones. A continuación. Evaluación de conocimientos. Apéndice A. Respuestas. Apéndice B. Utilizar comentarios de documentación de Java. Etiquetas javadoc. Formato general de un comentario de documentación. Qué muestra javadoc. Un ejemplo de comentarios de documentación. Apéndice C. Introducción a Java Web Start. ¿Qué es Java Web Start?. Cuatro claves de Java Web Start. Experimentar con Java Web Start utilizando el sistema de archivos local. Ejecutar una aplicación de Java Web Start con javaws. Usar Java Web Start con un applet. Apéndice D. Introducción a JShell. Fundamentos de JShell. Listar, editar y volver a ejecutar código. Añadir un método. Crear una clase. Usar una interfaz. Evaluar expresiones y utilizar variables integradas. Importar paquetes. Excepciones. Otros comandos de JShell. Explorar JShell más a fondo. Apéndice E. Más palabras clave de Java. Los modificadores transient y volatile. Instanceof. Strictfp. Assert. Métodos nativos. Otra forma de this. Índice alfabético


ISBN:

978-84-415-3625-8

Java 8

Editorial: Anaya Multimedia   Fecha de publicación:    Páginas: 672
Formato: Rústica, 17,5 x 22,5 cm.
Precio: 70,00
Añadir a la cesta
Disponible. Normalmente se envía en 3 días.

RESEÑA JAVA 8 (TÍTULO ESPECIAL, ORACLE PRESS)
El diseño de Java, su robustez, el respaldo de la industria y su fácil portabilidad han hecho de Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintos ámbitos de la industria de la informática. Su gran impacto en el desarrollo web, su protagonismo en el ámbito de las aplicaciones para dispositivos móviles, e incluso su sencillez y dinamismo para crear aplicaciones de escritorio, hacen de Java la plataforma de desarrollo número uno del mundo.
Herbert Schildt le presenta esta obra a través de un enfoque paso a paso repleto de ejemplos, evaluaciones y proyectos. Comienza con los aspectos básicos, como la forma de compilar y ejecutar un programa Java, para después analizar el núcleo del lenguaje Java. También se describen las funciones más avanzadas y novedosas de Java 8, como la programación de subprocesamiento múltiple, los genéricos, Swing, las expresiones lambda y los métodos de interfaz predeterminado. La obra concluye con una introducción a JavaFX. Al finalizar el libro, dispondrá de una sólida base para programar con Java.
Diseñe, compile y ejecute programas de Java con ayuda de este curso práctico, donde encontrará:
* Conceptos fundamentales presentados al comienzo de cada capítulo.
* Preguntas al experto, con información útil y complementaria sobre los aspectos más relevantes.
* Ejercicios prácticos con los que podrá aplicar todo lo aprendido.
* Evaluación de conocimientos al final de cada capítulo para poner a prueba su aprendizaje.
* Ejemplos de código con comentarios que ilustran las técnicas de programación utilizadas.


ISBN:

978-84-415-3067-6

Java 7

Editorial: Anaya Multimedia   Fecha de publicación:    Páginas: 624
Formato: Rústica, 18 x 23 cm.
Precio: 58,60
Añadir a la cesta
Disponible. Normalmente se envía en 3 días.

Java es uno de los lenguajes que ha revolucionado la esencia de la programación por su gran impacto en el desarrollo Web. Para convertirse en programador Web profesional o desarrollador de Android, necesita el dominio de Java. En definitiva, la programación con Java es la base de gran parte de la informática moderna actual. Herbert Schildt le presenta esta obra a través de un enfoque paso a paso repleto de ejemplos, evaluaciones y proyectos. Comenzando con los aspectos básicos, como la forma de compilar y ejecutar un programa Java, para después analizar las palabras clave, sintaxis y construcciones que constituyen el núcleo del lenguaje Java. También se describen algunas de las funciones más avanzadas de Java, como la programación de subprocesamiento múltiple y los genéricos. La obra concluye con una introducción a Swing. Al finalizar el libro, dispondrá de una sólida base para programar con Java. Diseñe, compile y ejecute programas de Java con ayuda de este curso práctico.
ÍNDICEAgradecimientos. Sobre el autor. Sobre el editor técnico. Introducción. La evolución de Java. Organización del libro. Convenciones. No se necesita experiencia de programación. Requisitos de software. Código fuente. 1. Conceptos de Java. Los orígenes de Java. La relación de Java con C y C++. La relación de Java con C#. La contribución de Java a Internet. Applet de Java. Seguridad. Portabilidad. La magia de Java: el código de bytes. Términos principales de Java. Programación orientada a objetos. Encapsulación. Polimorfismo. Herencia. Obtener el kit de desarrollo de Java. El primer programa. Introducir el programa. Compilar el programa. El primer programa de ejemplo línea por línea. Solucionar errores sintácticos. Otro sencillo programa. Otro tipo de datos. Dos instrucciones de control. La instrucción if. El bucle for. Crear bloques de código. Puntos y coma, y ubicación. Técnicas de sangrado. Palabras clave de Java. Identificadores en Java. Las bibliotecas de clases de Java. Evaluación de conocimientos. 2. Tipos de datos y operadores. Importancia de los tipos de datos. Tipos primitivos de Java. Enteros. Tipos de coma flotante. Caracteres. El tipo boolean. Literales. Literales hexadecimales, octales y binarios. Secuencias de escape de caracteres. Literales de cadena. Variables. Inicializar una variable. Inicialización dinámica. Ámbito y duración de variables. Operadores. Operadores aritméticos. Incremento y decremento. Operadores relacionales y lógicos. Operadores lógicos de cortocircuito. El operador de asignación. Asignaciones abreviadas. Conversión de tipos en asignaciones. Convertir tipos incompatibles. Precedencia de operadores. Expresiones. Conversión de tipos en expresiones. Espaciado y paréntesis. Evaluación de conocimientos. 3. Instrucciones de control. Introducir caracteres desde el teclado. La instrucción if. Instrucciones if anidadas. La cadena if-else-if. La instrucción switch. Instrucciones switch anidadas. El bucle for. Variantes del bucle for. Componentes vacíos. El bucle infinito. Bucles sin cuerpo. Declarar variables de control de bucle dentro del bucle for. El bucle for mejorado. El bucle while. El bucle do-while. Utilizar break para salir de un bucle. Usar break como goto. Utilizar continue. Bucles anidados. Evaluación de conocimientos. 4. Clases, objetos y métodos. Clases: aspectos esenciales. Formato general de una clase. Definir una clase. Crear objetos. Variables de referencia y asignación. Métodos. Añadir un método a la clase Vehicle. Devolver valores desde un método. Devolver un valor. Utilizar parámetros. Añadir un método con parámetros a Vehicle. Constructores. Constructores con parámetros. Añadir un constructor a la clase Vehicle. Revisión del operador new. Recolectar elementos sin usar y finalizadores. El método finalize(). La palabra clave this. Evaluación de conocimientos. 5. Otros tipos de datos y operadores. Matrices. Matrices de una dimensión. Matrices multidimensionales. Matrices de dos dimensiones. Matrices irregulares. Matrices de tres o más dimensiones. Inicializar matrices multidimensionales. Sintaxis alternativa para declarar matrices. Asignar referencias de matriz. Usar el miembro length. El bucle for de estilo for-each. Iterar por matrices multidimensionales. Aplicar el bucle for mejorado. Cadenas. Crear cadenas. Trabajar con cadenas. Matrices de cadenas. Las cadenas son inmutables. Utilizar una cadena para controlar una instrucción switch. Utilizar argumentos de línea de comandos. Los operadores de orden de bits. Los operadores AND, OR, XOR y NOT de orden de bits. Los operadores de desplazamiento. Asignaciones abreviadas de orden de bits. El operador ?. Evaluación de conocimientos. 6. Análisis detallado de métodos y clases. Controlar el acceso a los miembros de una clase. Modificadores de acceso de Java. Pasar objetos a métodos. Cómo pasar argumentos. Devolver objetos. Sobrecargar métodos. Sobrecargar constructores. Recursión. Comprender static. Bloques estáticos. Clases anidadas e internas. Argumentos de longitud variable: varargs. Fundamentos de varargs. Sobrecargar métodos varargs. Varargs y la ambigüedad. Evaluación de conocimientos. 7. Herencia. Aspectos básicos de la herencia. Acceso a miembros y herencia. Constructores y herencia. Utilizar super para invocar constructores de superclase. Utilizar super para acceder a miembros de una superclase. Crear una jerarquía multinivel. Cuándo invocar constructores. Referencias de superclase y objetos de subclase. Reemplazar métodos. Los métodos reemplazados admiten polimorfismo. Por qué reemplazar métodos. Aplicar reemplazo de métodos a TwoDShape. Utilizar clases abstractas. Utilizar final. Evitar reemplazos con final. Evitar la herencia con final. Utilizar final con miembros de datos. La clase Object. Evaluación de conocimientos. 8. Paquetes e interfaces. Paquetes. Definir un paquete. Buscar paquetes y CLASSPATH. Breve ejemplo de paquete. Paquetes y acceso a miembros. Ejemplo de acceso a paquetes. Miembros protegidos. Importar paquetes. La biblioteca de clases de Java se incluye en paquetes. Interfaces. Implementar interfaces. Utilizar referencias de interfaz. Variables en interfaces. Ampliar interfaces. Evaluación de conocimientos. 9. Controlar excepciones. La jerarquía de excepciones. Fundamentos del control de excepciones. Utilizar try y catch. Ejemplo de excepción. Consecuencias de una excepción sin capturar. Excepciones para controlar errores con elegancia. Utilizar varias instrucciones catch. Capturar excepciones de subclases. Anidar bloques try. Generar una excepción. Volver a generar una excepción. Análisis de Throwable. Utilizar finally. Utilizar throws. Nuevas funciones de excepciones de JDK 7. Excepciones integradas de Java. Crear subclases de excepción. Evaluación de conocimientos. 10. Utilizar E/S. E/S de Java se basa en flujos. Flujos de bytes y de caracteres. Clases de flujo de bytes. Clases de flujo de caracteres. Flujos predefinidos. Utilizar los flujos de bytes. Leer entradas de consola. Escribir salida en la consola. Leer y escribir archivos con flujos de bytes. Entradas desde un archivo. Escribir en un archivo. Cerrar automáticamente un archivo. Leer y escribir datos binarios. Archivos de acceso aleatorio. Utilizarlos flujos basados en caracteres de Java. Entrada de consola con flujos de caracteres. Salida de consola con flujos de caracteres. E/S de archivos con flujos de caracteres. Utilizar FileWriter. Utilizar FileReader. Utilizar envoltorios de tipos de Java para convertir cadenas numéricas. Evaluación de conocimientos. 11. Programación de subprocesamiento múltiple. Aspectos básicos del subprocesamiento múltiple. La clase Thread y la interfaz Runnable. Crear un subproceso. Pequeñas mejoras. Crear varios subprocesos. Determinar el final de un subproceso. Prioridades de subprocesos. Sincronización. Utilizar métodos sincronizados. La instrucción synchronized. Comunicar subprocesos con notify(), wait() y notifyAll(). Ejemplo de uso de wait() y notify(). Suspender, reanudar y detener subprocesos. Evaluación de conocimientos. 12. Enumeraciones, autoboxing, importación estática y anotaciones. Enumeraciones. Aspectos básicos de las enumeraciones. Las enumeraciones de Java son tipos de clases. Los métodos values() y valueOf(). Constructores, métodos, variables de instancia y enumeraciones. Dos restricciones importantes. Las enumeraciones heredan enum. Autoboxing. Envoltorios de tipos. Aspectos básicos de autoboxing. Autoboxing y métodos. Autoboxing/Unboxing en expresiones. Una advertencia. Importación estática. Anotaciones (metadatos). Evaluación de conocimientos. 13. Genéricos. Aspectos básicos de los genéricos. Un sencillo ejemplo de genéricos. Los genéricos sólo funcionan con objetos. Los tipos genéricos difieren en función de sus argumentos de tipo. Una clase genérica con dos parámetros de tipo. Formato general de una clase genérica. Tipos vinculados. Usar argumentos comodín. Comodines vinculados. Métodos genéricos. Constructores genéricos. Interfaces genéricas. Tipos sin procesar y código de legado. Inferencia de tipos con el operador de rombo. Supresión. Errores de ambigüedad. Restricciones genéricas. No se pueden crear instancias de parámetros de tipo. Restricciones en miembros estáticos. Restricciones genéricas de matrices. Restricción de excepciones genéricas. Ampliar su estudio de los genéricos. Evaluación de conocimientos. 14. Applet, eventos y otros temas. Aspectos básicos de los applet. Organización y elementos esenciales de los applet. Arquitectura de los applet. Estructura completa de un applet. Inicializar y finalizar applet. Solicitar una nueva operación de dibujo. El método update(). Utilizar la ventana de estado. Pasar parámetros a applet. La clase Applet. Procesar eventos. El modelo de delegación de eventos. Eventos. Orígenes de eventos. Escuchadores de eventos. Clases de evento. Interfaces de escuchador de eventos. Utilizar el modelo de delegación de eventos. Procesar eventos de ratón y de movimiento de ratón. Un sencillo applet de eventos de ratón. Otras palabras clave de Java. Los modificadores transient y volatile. instanceof. strictfp. assert. Métodos nativos. Evaluación de conocimientos. 15. Swing: Introducción. Los orígenes y la filosofía de diseño de Swing. Componentes y contenedores. Componentes. Contenedores. Los paneles de contenedores de nivel superior. Administradores de diseño. Un sencillo programa Swing. Análisis del primer ejemplo de Swing. Utilizar JButton. Trabajar con JTextField. Crear un componente JCheckBox. Trabajar con JList. Utilizar clases internas anónimas para procesar eventos. Crear un applet de Swing. A continuación. Evaluación de conocimientos. Apéndices. Apéndice A. Respuestas. Apéndice B. Utilizar comentarios de documentación de Java. Etiquetas javadoc. Formato general de un comentario de documentación. Qué muestra javadoc. Un ejemplo de comentarios de documentación. Índice alfabético.


ISBN:

84-415-1865-3

Java 2 v5.0

Editorial: Anaya Multimedia   Fecha de publicación:    Páginas: 1152
Formato: Cartonado, 17,00 x 24,00 cm.
Precio: 71,00
Lo lamentamos, pero este libro no está ya disponible.

Java ha estado siempre orientado a satisfacer las necesidades tecnológicas más punteras. Como lenguaje independiente de la plataforma, ha facilitado enormemente la labor de miles de desarrolladores web, posibilitando la creación de programas que se ejecutan eficazmente con independencia del sistema operativo. La edición de la plataforma estándar de Java 2, versión 5.0 cuenta con mejoras tan significativas que la convierten en la actualización más amplia a la que hemos asistido.
Tanto si es un principiante como un programador con experiencia, en este manual único encontrará respuestas a todas sus dudas sobre Java, así como innumerables aplicaciones de muestra y cientos de ejemplos. Hallará una cobertura exhaustiva del lenguaje y sus bibliotecas más importantes y de tecnologías consolidadas como Java Beans o Java Swing. En poco tiempo será además capaz de obtener el máximo partido de las nuevas y potentes características de Java 2 v5.0, como los genéricos, autoboxing, enumeraciones o metadatos, descritas mediante explicaciones detalladas y de fácil comprensión.


ISBN:

970104598X

ARTE DE PROGRAMAR JAVA,EL

Editorial: McGraw Hill   Fecha de publicación:   
Formato: Rústica
Precio: 38,50
Lo lamentamos, pero este libro no está ya disponible.




[1-6]  

Si no ha encontrado el libro que busca, pinche en nuestro servicio de Pedido Directo y pídanoslo.

Volver a Página Principal

Otras novedades


© Paquebote 1998-2022 Todas las secciones | Ayuda | Aviso Legal