1. Libros
  2. Algoritmia - De las bases a la programación orientada a objetos en Java (con ejercicios y correcciones)

Algoritmia De las bases a la programación orientada a objetos en Java (con ejercicios y correcciones)

  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Disponible. Expedido en 24 horas
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año
  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Consulta inmediata
  • Versión online digital, no descargable
  • Acceso ilimitado 24/7, durante 10 años
  • Acceso ilimitado 24/7, durante 10 años
  • Todos los libros online de ENI
  • Más de 5 novedades todos los meses
  • Novedades disponibles el mismo día de su publicación
  • Acceso 100% online

Presentación

Todos los lenguajes de programación tienen sus propias particularidades, pero cuando un programador crea un nuevo programa, la primera etapa es siempre la misma: pensar en el encadenamiento de las distintas acciones que la máquina tiene que realizar. El objetivo de este libro es enseñarle a comprender y crear los algoritmos que permiten el funcionamiento de un programa..

Para ello, después de una introducción general a la algoritmia, aprenderá las bases de la programación utilizando pseudocódigo: variables, condicionales, bucles, tablas, procesos y funciones.

A continuación, presentamos los conceptos de la programación orientada a objetos (la de la mayoría de los lenguajes actuales), que utilizan la algoritmia y cómo programar orientado a objetos con Java. Así, aprenderá a crear clases y sus instancias, asociaciones entre ellas, a usar la noción de herencia, de clases abstractas y de interfaces. Será capaz de tratar las excepciones y de seguir los bugs de sus aplicaciones.

Con el objetivo de comprender mejor el funcionamiento de la programación, en el último capítulo se trata la organización de la memoria.

Para ayudarle a practicar y alcanzar el dominio de la algoritmia y de Java, se proponen ejercicios con sus correcciones en pseudocódigo, así como sus implementaciones en Java.

La mayoría de los algoritmos de este libro están implementados en Java y las fuentes, que se pueden utilizar directamente, están disponibles para descarga en www.ediciones-eni.com.



¡Nuevo! Rondas de preguntas disponibles con la versión online.

¡Ronda de preguntas
incluida en
la versión online !
  • Ponga a prueba sus conocimientos al final de cada capítulo
  • Evalúe sus competencias

Índice

  • Introducción a la algoritmia
    • 1. Introducción
    • 2. Los algoritmos fuera del dominio de la informática
    • 3. Los objetivos de la algoritmia
      • 3.1 El diseño
      • 3.2 La complejidad
      • 3.3 La posibilidad de cálculo
      • 3.4 La corrección
    • 4. Las representaciones posibles para un algoritmo informático
      • 4.1 Diagramas de flujo
      • 4.2 El pseudo-código
  • El pseudocódigo
    • 1. La estructura del algoritmo
    • 2. Los comentarios
    • 3. La declaración de variables
      • 3.1 ¿ Qué es una variable ?
      • 3.2 Los tipos
      • 3.3 La declaración de una variable
    • 4. La asignación de un valor
    • 5. La declaración de una constante
    • 6. Las operaciones
      • 6.1 Las operaciones aritméticas
        • 6.1.1 Las cuatro operaciones aritméticas más comunes
        • 6.1.2 La división entera y su resto
        • 6.1.3 Los operadores de asignación combinados con un operador aritmético
        • 6.1.4 La suma y la resta
        • 6.1.5 La prioridad de ejecución de los cálculos
      • 6.2 Los operadores de comparación
        • 6.2.1 La igualdad
        • 6.2.2 La diferencia
        • 6.2.3 Mayor que y menor que
      • 6.3 Los operadores booleanos
        • 6.3.1 El operador y
        • 6.3.2 El operador o
        • 6.3.3 El operador no
    • 7. La consola
      • 7.1 La escritura de mensajes de usuario
      • 7.2 La entrada de valores por el usuario
    • 8. La generación de números aleatorios
    • 9. Herramientas para escribir pseudocódigo y Java
      • 9.1 Usar Notepad++ para escribir pseudocódigo
      • 9.2 Los entornos de desarrollo integrado
    • 10. Ejercicios
      • 10.1 Valores de las variables
      • 10.2 ¿ Qué se muestra ?
      • 10.3 ¿ Qué hace ?
      • 10.4 Velocidad media
    • 11. Solución a los ejercicios
      • 11.1 Valores de las variables
      • 11.2 ¿ Qué se muestra ?
      • 11.3 ¿ Qué hace ?
      • 11.4 Velocidad media
  • Los condicionales
    • 1. Presentación
    • 2. La estructura de control Si (forma simple)
    • 3. La estructura de control Si (forma doble)
    • 4. Estructuras de control anidadas
    • 5. La estructura de control Según
    • 6. El operador ternario ? :
    • 7. Ejercicios
      • 7.1 El tiempo
      • 7.2 El tiempo versión 2
      • 7.3 El nombre del mes
      • 7.4 El tiempo de cocción
      • 7.5 La nómina
    • 8. Solución de los ejercicios
      • 8.1 El tiempo
      • 8.2 El tiempo versión 2
      • 8.3 El nombre del mes
      • 8.4 El tiempo de cocción
      • 8.5 La nómina
  • Los bucles
    • 1. Presentación
    • 2. La estructura de control Para
    • 3. La estructura de control MientrasQue
    • 4. La estructura de control Repetir
    • 5. La elección del bucle más adecuado
    • 6. Los bucles anidados
    • 7. Ejercicios
      • 7.1 La nota media (versión 1)
      • 7.2 La nota media (versión 2)
      • 7.3 La nota media (versión 3)
      • 7.4 Adivine en qué número estoy pensando
      • 7.5 Ahora tengo que encontrarlo yo
      • 7.6 ¿ Qué hace este algoritmo ?
      • 7.7 Visualización de citas de películas (versión 1)
      • 7.8 Visualización de citas de películas (versión 2)
      • 7.9 Escribir un múltiplo de tres
      • 7.10 Arte ASCII 1
      • 7.11 Arte ASCII 2
    • 8. Soluciones de los ejercicios
      • 8.1 La nota media (versión 1)
      • 8.2 La nota media (versión 2)
      • 8.3 La nota media (versión 3)
      • 8.4 Adivine en qué número estoy pensando
      • 8.5 Ahora tengo que encontrarlo yo
      • 8.6 ¿ Que hace este algoritmo ?
      • 8.7 Visualización de citas de películas (versión 1)
      • 8.8 Visualización de citas de películas (versión 2)
      • 8.9 Escribir un múltiplo de tres
      • 8.10 Arte ASCII 1
      • 8.11 ASCII Art 2
  • Las tablas
    • 1. Presentación
    • 2. La declaración de una tabla
    • 3. El uso de una tabla
    • 4. Recorrer una tabla
    • 5. Las tablas: un tipo de referencia
    • 6. Las tablas multidimensionales
    • 7. Ejercicios
      • 7.1 Despegue inmediato
      • 7.2 Número de ocurrencias
      • 7.3 Nota media (versión 4)
      • 7.4 Máquina de votar
      • 7.5 Palíndromo
      • 7.6 ¿ Qué hace ?
      • 7.7 Matriz
      • 7.8 Micro guerra de barcos
      • 7.9 Tres en raya
    • 8. Solución de los ejercicios
      • 8.1 Despegue inmediato
      • 8.2 Número de ocurrencias
      • 8.3 Nota media (versión 4)
      • 8.4 Máquina de votar
      • 8.5 Palíndromo
      • 8.6 ¿ Qué hace ?
      • 8.7 Matriz
      • 8.8 Micro guerra de barcos
      • 8.9 Tres en raya
  • Los procedimientos y funciones
    • 1. Presentación
    • 2. La declaración de un subalgoritmo
      • 2.1 Declaración de un procedimiento
      • 2.2 Declaración de una función
    • 3. La llamada a un subalgoritmo
      • 3.1 La llamada a un procedimiento
      • 3.2 La llamada a una función
    • 4. La transmisión de información entre un subalgoritmo y el algoritmo llamador
      • 4.1 Las constantes globales
      • 4.2 El paso de argumentos
        • 4.2.1 El paso de argumentos de tipos por valor
        • 4.2.2 El paso de argumentos de tipos por referencia
      • 4.3 El retorno de una función
    • 5. La recursividad
    • 6. Ejercicios
      • 6.1 Es el mayor
      • 6.2 Micro guerra de barcos (versión 2)
      • 6.3 Una tabla y funciones
      • 6.4 El juego del rebaño de ovejas
      • 6.5 Taller de arte ASCII
    • 7. Soluciones a los ejercicios
      • 7.1 Es el mayor
      • 7.2 Micro guerra de barcos (version 2)
      • 7.3 Una tabla y funciones
      • 7.4 El juego del rebaño de ovejas
      • 7.5 Taller de arte ASCII
  • La programación orientada a objetos
    • 1. Presentación
      • 1.1 ¿ Qué es la programación orientada a objetos ?
      • 1.2 El interés de la programación orientada a objetos
    • 2. Las nociones de clase e instancia
    • 3. La declaración de una clase
    • 4. Los atributos de instancia
    • 5. Las constantes
    • 6. Los métodos de instancia
      • 6.1 La declaración de un método de instancia
      • 6.2 Los métodos Getters y Setters
      • 6.3 La sobrecarga de métodos
    • 7. La creación de una instancia
      • 7.1 La declaración y la instanciación de una variable de tipo de clase
      • 7.2 Las tablas de instancias
    • 8. Los constructores
      • 8.1 El constructor por defecto
      • 8.2 Los constructores
      • 8.3 La sobrecarga de constructores
    • 9. Los atributos de clase
    • 10. Los métodos de clase
      • 10.1 La declaración de un método de clase
      • 10.2 La llamada a un método de clase
      • 10.3 Resumen de los métodos de clase respecto a los métodos de instancia
    • 11. Las instancias: un tipo por referencia
    • 12. Ejercicios
      • 12.1 Los dados
      • 12.2 Los clientes
      • 12.3 Micro guerra de barcos (versión 3)
      • 12.4 Micro guerra de barcos (versión 4)
    • 13. Soluciones a los ejercicios
      • 13.1 Los dados
      • 13.2 Los clientes
      • 13.3 Micro guerra de barcos (versión 3)
      • 13.4 Micro guerra de barcos (versión 4)
  • Las relaciones entre las clases
    • 1. Presentación
    • 2. El uso de una clase por otra clase
    • 3. Las asociaciones
    • 4. La herencia
      • 4.1 La noción de herencia
      • 4.2 La declaración de la herencia
      • 4.3 Los constructores y la herencia
        • 4.3.1 El constructor por defecto
        • 4.3.2 Definir un constructor
      • 4.4 La sustitución de métodos
      • 4.5 El transtipado
        • 4.5.1 El transtipado ascendente
        • 4.5.2 El transtipado descendente
        • 4.5.3 El transtipado y los métodos sustituidos
    • 5. La creación de instancias por método de clase en Java
      • 5.1 La encapsulación de los constructores
      • 5.2 Un nombre diferente para los creadores de instancia
      • 5.3 El retorno de un subtipo
    • 6. Ejercicios
      • 6.1 La guerra de dados
      • 6.2 Los clientes (versión 2)
    • 7. Soluciones de los ejercicios
      • 7.1 La guerra de dados
      • 7.2 Los clientes (versión 2)
  • Los elementos abstractos
    • 1. Las clases abstractas
    • 2. Los métodos abstractas
      • 2.1 La declaración de métodos abstractos
      • 2.2 La implementación de un método abstracto
      • 2.3 La llamada a los métodos abstractos
    • 3. Las interfaces
      • 3.1 La declaración de una interfaz
      • 3.2 La implementación de una interfaz
      • 3.3 El transtipado y las interfaces
      • 3.4 Los métodos por defecto en Java
    • 4. Ejercicios
      • 4.1 El alquiler de bicis
        • 4.1.1 Las clases y sus atributos
        • 4.1.2 Los métodos
        • 4.1.3 Las normas
      • 4.2 Velocidad media versión plurilingüe
    • 5. Soluciones a los ejercicios
      • 5.1 El alquiler de ciclos
        • 5.1.1 Las clases y sus atributos
        • 5.1.2 Los métodos
        • 5.1.3 El código
      • 5.2 Velocidad media versión plurilingüe
  • Los errores y las excepciones
    • 1. Presentación
    • 2. Los errores detectados durante la compilación
    • 3. Los errores detectados durante la ejecución
      • 3.1 Los errores irrecuperables
        • 3.1.1 La saturación de la pila de llamadas a métodos
        • 3.1.2 La saturación de la memoria
        • 3.1.3 Soluciones
      • 3.2 Las excepciones en algoritmia
      • 3.3 Las excepciones en Java
        • 3.3.1 Cuando se genera una excepción
        • 3.3.2 Categorías de excepciones
        • 3.3.3 La propagación de una excepción
        • 3.3.4 El tratamiento de una excepción
        • 3.3.5 Los tratamientos a realizar en todos los casos
      • 3.4 Las excepciones personalizadas en Java
    • 4. Ejercicios
      • 4.1 El cálculo de la raíz cuadrada
      • 4.2 La calculadora en Java
        • 4.2.1 Creación de una clase DesbordaCapacidadExcepcion
        • 4.2.2 Creación de la clase de utilidad Operacion
        • 4.2.3 Creación de la calculadora
    • 5. Soluciones a los ejercicios
      • 5.1 El cálculo de la raíz cuadrada
      • 5.2 La calculadora en Java
        • 5.2.1 Creación de una clase DesbordaCapacidadExcepcion
        • 5.2.2 Creación de la clase de utilidad Operacion
        • 5.2.3 Creación de la calculadora
  • La memoria
    • 1. Presentación
    • 2. Las bases
      • 2.1 Los números enteros
        • 2.1.1 Las bases utilizadas en informática
        • 2.1.2 Notación
        • 2.1.3 La conversión de una base a la base diez
        • 2.1.4 La conversión de la base diez a otra base
      • 2.2 Los números reales
        • 2.2.1 La conversión de una base a la base diez
        • 2.2.2 La conversión de la base diez a otra base
    • 3. Los números enteros
      • 3.1 Los bytes
        • 3.1.1 Los bits y los bytes
        • 3.1.2 Los múltiplos
      • 3.2 Los enteros naturales
      • 3.3 Los enteros relativos
    • 4. Los números reales
      • 4.1 La forma normalizada
      • 4.2 La norma IEEE-754
        • 4.2.1 La codificación del signo
        • 4.2.2 La codificación del exponente
        • 4.2.3 La codificación de la mantisa
        • 4.2.4 Todo en conjunto
        • 4.2.5 Los valores particulares
    • 5. Los caracteres
      • 5.1 El código ASCII
      • 5.2 Las páginas nacionales o ASCII extendido
      • 5.3 Unicode
        • 5.3.1 UTF-32
        • 5.3.2 UTF-16
        • 5.3.3 UTF-8
      • 5.4 Las operaciones con caracteres
        • 5.4.1 El incremento y el decremento
        • 5.4.2 El cambio de tipo
        • 5.4.3 La suma y la resta
        • 5.4.4 La comparación
    • 6. Las diferentes zonas de memoria
      • 6.1 El stack
      • 6.2 El Heap
      • 6.3 Las instancias y las tablas
        • 6.3.1 Las instancias
        • 6.3.2 Las instancias y la herencia
        • 6.3.3 Las tablas
        • 6.3.4 Las operaciones con las instancias y las tablas
      • 6.4 El paso de argumentos
        • 6.4.1 El paso de argumentos de tipos por valor
        • 6.4.2 El paso de argumentos de tipos por referencia
      • 6.5 El retorno de una función
        • 6.5.1 El retorno de un tipo por valor
        • 6.5.2 El retorno de un tipo por referencia
      • 6.6 El recolector de basura
    • 7. Ejercicios
      • 7.1 Conversión de una base a otra
        • 7.1.1 Convertir los siguientes valores a base 10
        • 7.1.2 Convertir los siguientes valores a base 2 y a base 16
        • 7.1.3 Convertir los siguientes valores a base 16
        • 7.1.4 Convertir los siguientes valores a base 2
        • 7.1.5 Convertir los siguientes valores a base 10
        • 7.1.6 Convertir los siguientes valores a base 2
      • 7.2 Algoritmo de conversión
      • 7.3 Codificación de valores en byte, short y int
        • 7.3.1 ¿ Cómo se codifican los siguientes valores en byte ?
        • 7.3.2 ¿ Cómo se codifican los siguientes valores en short ?
        • 7.3.3 ¿ Cómo se codifican los siguientes valores en int ?
      • 7.4 Codificación de valores en float
        • 7.4.1 ¿ Qué valores se han codificado por los siguientes bytes ?
        • 7.4.2 ¿ Cómo se han codificado los siguientes valores en float ?
      • 7.5 Unicode
    • 8. Corrección de los ejercicios
      • 8.1 Conversión de una base en otra
        • 8.1.1 Convertir los siguientes valores a base 10
        • 8.1.2 Convertir los siguientes valores a base 2 y a base 16
        • 8.1.3 Convertir los siguientes valores a base 16
        • 8.1.4 Convertir los siguientes valores a base 2
        • 8.1.5 Convertir los siguientes valores a base 10
        • 8.1.6 Convertir los siguientes valores a base 2
      • 8.2 Algoritmo de conversión
      • 8.3 Codificación de valores en byte, short y int
        • 8.3.1 ¿ Cómo se codifican los siguientes valores en byte ?
        • 8.3.2 ¿ Cómo se codifican los siguientes valores en short ?
        • 8.3.3 ¿ Cómo se codifican los siguientes valores en int ?
      • 8.4 Codificación de valores en float
        • 8.4.1 ¿ Qué valores han codificado por los bytes siguientes ?
        • 8.4.2 ¿ Cómo se han codificado los siguientes valores en float ?
      • 8.5 Unicode
        • 8.5.1 UTF-8
        • 8.5.2 UTF-32
        • 8.5.3 UTF-16
    • índice

Autor

Hervé BOISGONTIERMás información

Hervé BOISGONTIER ha trabajado para las Universidades de Orsay y de Estrasburgo en el desarrollo de aplicaciones en distintos lenguajes de programación y en proyectos de tratamiento de imágenes y de realidad virtual. Siendo hoy formador de distintos lenguajes de programación, propone al lector un libro realmente eficaz y cargado con toda su pedagogía para aprender la algoritmia con el lenguaje Java.

Características

  • Número de páginas 429 páginas
  • Publicación noviembre 2020
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-409-02882-3
    • EAN: 9782409028823
    • Ref. ENI: RITJALG
  • Publicación noviembre 2020
    • HTML
    • ISBN: 978-2-409-02883-0
    • EAN: 9782409028830
    • Ref. ENI: LNRITJALG

Descargas

Al completar este formulario, acepta recibir información y comunicaciones comerciales sobre nuestros productos y servicios. Puede darse de baja de nuestra newsletter en cualquier momento. Si desea conocer más información acerca de nuestra política de protección de datos, pulse aquí.
  • Descargar los ejemplos del libro (135 Ko)