1. Livres et vidéos
  2. Algorithmique - Des bases à la programmation orientée objet en Java (avec exercices et corrigés) (Nouvelle édition)

Algorithmique Des bases à la programmation orientée objet en Java (avec exercices et corrigés) (Nouvelle édition)

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Tous les langages de programmation ont leurs spécificités mais lorsqu'un développeur crée un nouveau programme, la première étape est toujours la même : réfléchir à l'enchaînement des différentes actions à réaliser par la machine. L'objectif de ce livre est de vous apprendre à comprendre et concevoir les algorithmes permettant le fonctionnement d'un programme.

Pour cela, après une introduction générale sur l'algorithmique, vous apprenez les bases de la programmation en utilisant du pseudo-code : variables, conditionnelles, boucles, tableaux, procédures et fonctions.

Ensuite, ce livre présente les concepts de la programmation orientée objet, utilisée par la plupart des langages actuels, en utilisant l'algorithmique mais également comment programmer en orienté objet avec Java. Ainsi, vous apprenez à créer des classes et des instances de celles-ci, à créer des associations entre elles, à utiliser la notion d'héritage, de classes abstraites et d'interfaces. Vous serez capable de traiter des exceptions et de traquer les bugs de vos applications.

Enfin, le dernier chapitre du livre est consacré à l'organisation de la mémoire afin de mieux comprendre le fonctionnement de la programmation.

Afin de vous aider à mettre en pratique et à développer votre maîtrise de l'algorithmique et de Java, des exercices sont proposés avec leurs corrections en pseudo-code ainsi que leurs implémentations en Java.

La plupart des algorithmes de ce livre sont implémentés en Java et les sources, directement utilisables, sont disponibles en téléchargement sur le site www.editions-eni.fr.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.



Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

Table des matières

  • Introduction à l’algorithmique
    • 1. Introduction
    • 2. Les algorithmes hors du domaine de l’informatique
    • 3. Les objectifs de l’algorithmique
      • 3.1 La conception
      • 3.2 La complexité
      • 3.3 La calculabilité
      • 3.4 La correction
    • 4. Les représentations possibles pour un algorithme informatique
      • 4.1 Les logigrammes
      • 4.2 Le pseudo-code
  • Le pseudo-code
    • 1. La structure de l’algorithme
    • 2. Les commentaires
    • 3. La déclaration de variables
      • 3.1 Qu'est-ce qu'une variable ?
      • 3.2 Les types
      • 3.3 La déclaration d'une variable
    • 4. L'affectation d'une valeur
    • 5. La déclaration d'une constante
    • 6. Les opérations
      • 6.1 Les opérations arithmétiques
        • 6.1.1 Les quatre opérations arithmétiques usuelles
        • 6.1.2 La division entière et son reste
        • 6.1.3 Les opérateurs d'affectation combinés à un opérateur arithmétique
        • 6.1.4 L'incrémentation et la décrémentation
        • 6.1.5 La priorité d'exécution des calculs
      • 6.2 Les opérateurs de comparaison
        • 6.2.1 L'égalité
        • 6.2.2 La différence
        • 6.2.3 La supériorité et l'infériorité
      • 6.3 Les opérateurs booléens
        • 6.3.1 L'opérateur et
        • 6.3.2 L'opérateur ou
        • 6.3.3 L'opérateur non
    • 7. La console
      • 7.1 L’écriture de messages à l’utilisateur
      • 7.2 La saisie de valeur par l'utilisateur
    • 8. La génération de nombres aléatoires
    • 9. Les outils pour écrire du pseudo-code et du Java
      • 9.1 L’utilisation de Notepad++ pour écrire du pseudo-code
      • 9.2 Les environnements de développement intégré
    • 10. Exercices
      • 10.1 Valeurs des variables
      • 10.2 Quels affichages ?
      • 10.3 Il fait quoi ?
      • 10.4 Vitesse moyenne
    • 11. Solutions des exercices
      • 11.1 Valeurs des variables
      • 11.2 Quels affichages ?
      • 11.3 Il fait quoi ?
      • 11.4 Vitesse moyenne
  • Les conditionnelles
    • 1. Présentation
    • 2. La structure de contrôle Si (forme simple)
    • 3. La structure de contrôle Si (forme double)
    • 4. L'imbrication des structures de contrôle
    • 5. La structure de contrôle Selon
    • 6. L’opérateur ternaire ? :
    • 7. Exercices
      • 7.1 La météo
      • 7.2 La météo version 2
      • 7.3 Le nom du mois
      • 7.4 Le temps de cuisson
      • 7.5 Le bulletin de paie
    • 8. Solutions des exercices
      • 8.1 La météo
      • 8.2 La météo version 2
      • 8.3 Le nom du mois
      • 8.4 Le temps de cuisson
      • 8.5 Le bulletin de paie
  • Les boucles
    • 1. Présentation
    • 2. La structure de contrôle Pour
    • 3. La structure de contrôle TantQue
    • 4. La structure de contrôle Répéter
    • 5. Le choix de la boucle la plus adaptée
    • 6. Les boucles imbriquées
    • 7. Exercices
      • 7.1 La moyenne de notes (version 1)
      • 7.2 La moyenne de notes (version 2)
      • 7.3 La moyenne de notes (version 3)
      • 7.4 Devinez à quel nombre je pense
      • 7.5 À moi de trouver
      • 7.6 Que fait cet algorithme ?
      • 7.7 Affichage de répliques de films (version 1)
      • 7.8 Affichage de répliques de films (version 2)
      • 7.9 Saisie d’un multiple de trois
      • 7.10 ASCII Art !
      • 7.11 ASCII Art 2
    • 8. Solutions des exercices
      • 8.1 La moyenne de notes (version 1)
      • 8.2 La moyenne de notes (version 2)
      • 8.3 La moyenne de notes (version 3)
      • 8.4 Devinez à quel nombre je pense
      • 8.5 À moi de trouver
      • 8.6 Que fait cet algorithme ?
      • 8.7 Affichage de répliques de films (version 1)
      • 8.8 Affichage de répliques de films (version 2)
      • 8.9 Saisie d’un multiple de trois
      • 8.10 ASCII Art !
      • 8.11 ASCII Art 2
  • Les tableaux
    • 1. Présentation
    • 2. La déclaration d’un tableau
    • 3. L’utilisation d’un tableau
    • 4. Le parcours d’un tableau
    • 5. Les tableaux : un type référence
    • 6. Les tableaux multidimensionnels
    • 7. Exercices
      • 7.1 Décollage immédiat
      • 7.2 Nombres d'occurrences
      • 7.3 Moyenne de notes (version 4 )
      • 7.4 Machine à voter
      • 7.5 Palindrome
      • 7.6 Que fait-il donc ?
      • 7.7 Matrix
      • 7.8 Micro bataille navale
      • 7.9 Morpion
    • 8. Solutions des exercices
      • 8.1 Décollage immédiat
      • 8.2 Nombres d'occurrences
      • 8.3 Moyenne de notes (version 4)
      • 8.4 Machine à voter
      • 8.5 Palindrome
      • 8.6 Que fait-il donc ?
      • 8.7 Matrix
      • 8.8 Micro bataille navale
      • 8.9 Morpion
  • Les procédures et fonctions
    • 1. Présentation
    • 2. La déclaration d'un sous-algorithme
      • 2.1 Déclaration d'une procédure
      • 2.2 Déclaration d'une fonction
    • 3. L'appel à un sous-algorithme
      • 3.1 L'appel à une procédure
      • 3.2 L'appel à une fonction
    • 4. La transmission d'informations entre un sous-algorithme et l'algorithme appelant
      • 4.1 Les constantes globales
      • 4.2 Le passage de paramètres
        • 4.2.1 Le passage en paramètres des types valeur
        • 4.2.2 Le passage en paramètre des types référence
      • 4.3 Le retour d'une fonction
    • 5. La récursivité
    • 6. Exercices
      • 6.1 C'est le plus grand
      • 6.2 Micro bataille navale (version 2)
      • 6.3 Un tableau et des fonctions
      • 6.4 Le jeu du saute-mouton
      • 6.5 ASCII Art Studio
    • 7. Solutions des exercices
      • 7.1 C'est le plus grand
      • 7.2 Micro bataille navale (version 2)
      • 7.3 Un tableau et des fonctions
      • 7.4 Le jeu du saute-mouton
      • 7.5 ASCII Art Studio
  • La programmation orientée objet
    • 1. Présentation
      • 1.1 Qu'est-ce que la programmation orientée objet ?
      • 1.2 L'intérêt de la programmation orientée objet
    • 2. Les notions de classe et d'instance
    • 3. La déclaration d'une classe
    • 4. Les attributs d’instance
    • 5. Les constantes
    • 6. Les méthodes d'instance
      • 6.1 La déclaration d'une méthode d'instance
      • 6.2 Les méthodes Getters et Setters
      • 6.3 La surcharge de méthodes
    • 7. La création d’une instance
      • 7.1 La déclaration et l'instanciation d'une variable de type classe
      • 7.2 Les tableaux d'instances
    • 8. Les constructeurs
      • 8.1 Le constructeur par défaut
      • 8.2 Les constructeurs
      • 8.3 La surcharge de constructeurs
    • 9. Les attributs de classe
    • 10. Les méthodes de classe
      • 10.1 La déclaration d'une méthode de classe
      • 10.2 L’appel à une méthode de classe
      • 10.3 Récapitulatif des méthodes de classe par rapport aux méthodes d'instance
    • 11. Les instances : un type référence
    • 12. Exercices
      • 12.1 Les dés
      • 12.2 Les clients
      • 12.3 Micro bataille navale (version 3)
      • 12.4 Micro bataille navale (version 4)
    • 13. Solutions des exercices
      • 13.1 Les dés
      • 13.2 Les clients
      • 13.3 Micro bataille navale (version 3)
      • 13.4 Micro bataille navale (version 4)
  • Les relations entre les classes
    • 1. Présentation
    • 2. L'utilisation d'une classe par une autre
    • 3. Les associations
    • 4. L’héritage
      • 4.1 La notion d'héritage
      • 4.2 La déclaration de l'héritage
      • 4.3 Les constructeurs et l'héritage
        • 4.3.1 Le constructeur par défaut
        • 4.3.2 Définir un constructeur
      • 4.4 La substitution de méthodes
      • 4.5 Le transtypage
        • 4.5.1 Le transtypage ascendant
        • 4.5.2 Le transtypage descendant
        • 4.5.3 Le transtypage et les méthodes substituées
    • 5. La création d’instances par méthode de classe en Java
      • 5.1 L'encapsulation des constructeurs
      • 5.2 Un nommage différent pour les créateurs d'instance
      • 5.3 Le renvoi d'un sous-type
    • 6. Exercices
      • 6.1 La bataille de dés
      • 6.2 Les clients (version 2)
    • 7. Solutions des exercices
      • 7.1 La bataille de dés
      • 7.2 Les clients (version 2)
  • Les éléments abstraits
    • 1. Les classes abstraites
    • 2. Les méthodes abstraites
      • 2.1 La déclaration de méthodes abstraites
      • 2.2 L'implémentation d'une méthode abstraite
      • 2.3 L'appel à des méthodes abstraites
    • 3. Les interfaces
      • 3.1 La déclaration d'une interface
      • 3.2 L'implémentation d'une interface
      • 3.3 Le transtypage et les interfaces
      • 3.4 Les méthodes par défaut en Java
    • 4. Exercices
      • 4.1 La location de cycles
        • 4.1.1 Les classes et leurs attributs
        • 4.1.2 Les méthodes
        • 4.1.3 Le code
      • 4.2 Vitesse moyenne version multilingue
    • 5. Solutions des exercices
      • 5.1 La location de cycles
        • 5.1.1 Les classes et leurs attributs
        • 5.1.2 Les méthodes
        • 5.1.3 Le code
      • 5.2 Vitesse moyenne version multilingue
  • Les erreurs et les exceptions
    • 1. Présentation
    • 2. Les erreurs détectées à la compilation
    • 3. Les erreurs détectées à l'exécution
      • 3.1 Les erreurs irrécupérables
        • 3.1.1 La saturation de la pile des appels de méthodes
        • 3.1.2 La saturation de la mémoire
        • 3.1.3 Solutions
      • 3.2 Les exceptions en algorithmique
      • 3.3 Les exceptions en Java
        • 3.3.1 La levée d'une exception
        • 3.3.2 Les catégories d'exceptions
        • 3.3.3 La propagation d'une exception
        • 3.3.4 Le traitement d'une exception
        • 3.3.5 Les traitements à effectuer dans tous les cas
      • 3.4 Les exceptions personnalisées en Java
    • 4. Exercices
      • 4.1 Le calcul de la racine carrée
      • 4.2 La calculatrice en Java
        • 4.2.1 Création d’une classe DepassementCapaciteException
        • 4.2.2 Création de la classe utilitaire Operation
        • 4.2.3 Création de la calculatrice
    • 5. Solutions des exercices
      • 5.1 Le calcul de la racine carrée
      • 5.2 La calculatrice en Java
        • 5.2.1 Création d’une classe DepassementCapaciteException
        • 5.2.2 Création de la classe utilitaire Operation
        • 5.2.3 Création de la calculatrice
  • La mémoire
    • 1. Présentation
    • 2. Les bases
      • 2.1 Les nombres entiers
        • 2.1.1 Les bases utilisées en informatique
        • 2.1.2 Notation
        • 2.1.3 La conversion d'une base vers la base dix
        • 2.1.4 La conversion de la base dix vers une autre base
      • 2.2 Les nombres réels
        • 2.2.1 La conversion d'une base vers la base dix
        • 2.2.2 La conversion de la base dix vers une autre base
    • 3. Les nombres entiers
      • 3.1 Les octets
        • 3.1.1 Les bits et les octets
        • 3.1.2 Les multiples
      • 3.2 Les entiers naturels
      • 3.3 Les entiers relatifs
    • 4. Les nombres réels
      • 4.1 La forme normalisée
      • 4.2 La norme IEEE-754
        • 4.2.1 Le codage du signe
        • 4.2.2 Le codage de l'exposant
        • 4.2.3 Le codage de la mantisse
        • 4.2.4 L'assemblage
        • 4.2.5 Les valeurs particulières
    • 5. Les caractères
      • 5.1 Le code ASCII
      • 5.2 Les pages nationales ou ASCII étendu
      • 5.3 L'Unicode
        • 5.3.1 L'UTF-32
        • 5.3.2 L'UTF-16
        • 5.3.3 L'UTF-8
      • 5.4 Les opérations sur les caractères
        • 5.4.1 L'incrémentation et la décrémentation
        • 5.4.2 Le changement de type
        • 5.4.3 L'addition et la soustraction
        • 5.4.4 La comparaison
    • 6. Les différentes zones mémoire
      • 6.1 La pile
      • 6.2 Le tas
      • 6.3 Les instances et les tableaux
        • 6.3.1 Les instances
        • 6.3.2 Les instances et l'héritage
        • 6.3.3 Les tableaux
        • 6.3.4 Les opérations sur les instances et les tableaux
      • 6.4 Le passage des paramètres
        • 6.4.1 Le passage en paramètre de types valeur
        • 6.4.2 Le passage en paramètre de types référence
      • 6.5 Le retour d'une fonction
        • 6.5.1 Le retour d'un type valeur
        • 6.5.2 Le retour d'un type référence
      • 6.6 Le ramasse-miettes
    • 7. Exercices
      • 7.1 Conversion d'une base à une autre
        • 7.1.1 Convertir les valeurs suivantes en base 10
        • 7.1.2 Convertir les valeurs suivantes en base 2 et en base 16
        • 7.1.3 Convertir les valeurs suivantes en base 16
        • 7.1.4 Convertir les valeurs suivantes en base 2
        • 7.1.5 Convertir les valeurs suivantes en base 10
        • 7.1.6 Convertir les valeurs suivantes en base 2
      • 7.2 Algorithme de conversion
      • 7.3 Codage de valeurs en byte, short et int
        • 7.3.1 Comment sont codées les valeurs suivantes en byte ?
        • 7.3.2 Comment sont codées les valeurs suivantes en short ?
        • 7.3.3 Comment sont codées les valeurs suivantes en int ?
      • 7.4 Codage de valeurs en float
        • 7.4.1 Quelles valeurs sont codées par les octets suivants ?
        • 7.4.2 Comment sont codées les valeurs suivantes en float ?
      • 7.5 Unicode
    • 8. Correction des exercices
      • 8.1 Conversion d'une base à une autre
        • 8.1.1 Convertir les valeurs suivantes en base 10
        • 8.1.2 Convertir les valeurs suivantes en base 2 et en base 16
        • 8.1.3 Convertir les valeurs suivantes en base 16
        • 8.1.4 Convertir les valeurs suivantes en base 2
        • 8.1.5 Convertir les valeurs suivantes en base 10
        • 8.1.6 Convertir les valeurs suivantes en base 2
      • 8.2 Algorithme de conversion
      • 8.3 Codage de valeurs en byte, short et int
        • 8.3.1 Comment sont codées les valeurs suivantes en byte ?
        • 8.3.2 Comment sont codées les valeurs suivantes en short ?
        • 8.3.3 Comment sont codées les valeurs suivantes en int ?
      • 8.4 Codage de valeurs en float
        • 8.4.1 Quelles valeurs sont codées par octets suivants ?
        • 8.4.2 Comment sont codées les valeurs suivantes en float ?
      • 8.5 Unicode
        • 8.5.1 UTF-8
        • 8.5.2 UTF-32
        • 8.5.3 UTF-16
        • Index

Auteur

Hervé BOISGONTIEREn savoir plus

Hervé BOISGONTIER a travaillé pour les Universités d'Orsay et de Strasbourg sur le développement d'applications dans différents langages de programmation et sur des projets de traitement d'images et de réalité virtuelle. Aujourd'hui formateur sur différents langages de programmation, il propose au lecteur un livre réellement efficace et empreint de toute sa pédagogie pour apprendre l'algorithmique avec le langage Java.

Caractéristiques

  • Niveau Initié à Confirmé
  • Nombre de pages 400 pages
  • Parution juin 2019
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-01949-4
    • EAN : 9782409019494
    • Ref. ENI : RIJALG
  • Niveau Initié à Confirmé
  • Parution juin 2019
    • HTML
    • ISBN : 978-2-409-01950-0
    • EAN : 9782409019500
    • Ref. ENI : LNRIJALG

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (133 Ko)