1. Livres et vidéos
  2. Algorithmique - Raisonner pour concevoir (3e édition)

Algorithmique Raisonner pour concevoir (3e édition)

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 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
  • 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

Présentation

Ce livre sur l'algorithmique est destiné à toute personne qui s'intéresse au développement d'applications informatiques et qui souhaite s'initier ou retrouver les bases fondamentales de la programmation. Il ne s'agit pas ici de programmer avec un langage ou un autre, mais bien de raisonner sur un problème pour concevoir une solution abstraite. Ce travail de réflexion et de conception prépare le stade ultime de l'implémentation et du cycle de vie du programme concret.

Le lecteur ne trouvera pas dans ce livre un recueil d'algorithmes qu'il devrait ensuite adapter pour résoudre des problèmes, mais au contraire une introduction originale et efficace à l'algorithmique pour apprendre à analyser un problème.

Le livre est divisé en deux parties. Dans la première partie sont détaillées les notions d'algorithmique de base et la méthode de construction raisonnée d'un algorithme impératif : l'auteur y précise notamment la distinction entre la spécification et la réalisation d'un algorithme et montre que l'algorithmique proprement dite s'arrête là où commence la programmation. Dans la deuxième partie, l'auteur propose cette fois des solutions à des problèmes plus élaborés dans divers domaines du calcul automatique, comme la simulation de phénomènes aléatoires ou le cryptage des données.

Toutes les activités proposées restent élémentaires avec le souci constant de privilégier le raisonnement qui conduit à l'élaboration des algorithmes.

Dans cette nouvelle édition du livre, l'auteur ajoute encore plus d'exercices avec leur solution détaillée et commentée, 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

  • Qu'est-ce que l'algorithmique ?
    • 1. Qu'est-ce que l'algorithmique ?
    • 2. Structure du livre
    • 3. Public visé
    • 4. Conventions adoptées
    • 5. Préface à la troisième édition
  • Programmes directs
    • 1. Introduction
    • 2. Premiers exemples
    • 3. Définition informelle d'un algorithme
    • 4. Spécifications
    • 5. Premiers algorithmes
    • 6. Exercices résolus
    • 7. Exercices
    • 8. Notes bibliographiques
    • 9. Résumé
    • 10. Bibliographie
  • L'alternative
    • 1. Introduction
    • 2. Définition de l'alternative
    • 3. Exercices résolus
    • 4. Exercices
    • 5. Résumé
  • Structures élémentaires
    • 1. Introduction
    • 2. Les chaînes de caractères
      • 2.1 Les caractères
      • 2.2 Les chaînes de caractères
      • 2.3 Exercices d'application sur les chaînes de caractères
    • 3. Le tableau
      • 3.1 Les tableaux simples
      • 3.2 Tableaux composés
      • 3.3 Deux fonctions utiles sur les tableaux
        • 3.3.1 La fonction appartient
        • 3.3.2 La fonction sous_tableau
      • 3.4 Exercices d'application sur les tableaux
    • 4. Définir un nouveau type de données
      • 4.1 Définir un type de données
      • 4.2 Discussion sur les invariants
      • 4.3 Exercices d'application sur les types de données
    • 5. Notes bibliographiques
    • 6. Résumé
    • 7. Bibliographie
  • Itération
    • 1. Introduction
    • 2. Premiers exemples de construction d'itérations
      • 2.1 La table de multiplication
        • 2.1.1 Le problème
        • 2.1.2 Construction de l'itération
        • 2.1.3 Une autre version
      • 2.2 Itérer dans un tableau
        • 2.2.1 Rang de la composante minimum d'un tableau
        • 2.2.2 Rechercher dans un tableau trié
        • 2.2.3 Recherche par dichotomie
        • 2.2.4 Extensions
    • 3. Explorer un tableau
      • 3.1 Rechercher une identité : le problème
      • 3.2 L'algorithme à écrire : chercher_identité
      • 3.3 Utilisation : effacer tous les clients d'identité donnée
      • 3.4 Définition de chercher_identité
      • 3.5 Vieillir les clients
      • 3.6 Exercices
    • 4. Algorithme ou programme ?
      • 4.1 Un exemple édifiant
        • 4.1.1 Quelques maladresses : les notations
        • 4.1.2 Quand les fautes font oublier les maladresses
      • 4.2 Une solution au problème de la moyenne
      • 4.3 Compléter l'exercice : les spécifications qui manquent
      • 4.4 Compléter l'exercice : remplir le tableau
    • 5. Exercices d'application
    • 6. Notes bibliographiques
    • 7. Résumé
    • 8. Bibliographie
  • Récursivité
    • 1. Introduction
    • 2. Introduction à la récursivité : les chaînes de caractères
      • 2.1 Présentation de la récursivité
      • 2.2 Quelques exemples de spécifications récursives
      • 2.3 Exercices résolus
      • 2.4 Exercices
    • 3. Les nombres et la récursivité
      • 3.1 Arithmétique
      • 3.2 Factorielle et autres exercices usés
      • 3.3 Fractions
      • 3.4 Fonction réelle
    • 4. Nombres et chaînes de caractères : édition d'un entier
    • 5. Problèmes
      • 5.1 Recherche par dichotomie dans un tableau trié
      • 5.2 Palindromes
      • 5.3 Le drapeau de Dijkstra
    • 6. Résumé
  • Récursivité ou itération ?
    • 1. Introduction
    • 2. Retour sur la récursivité
      • 2.1 Premier exemple
      • 2.2 Deuxième exemple
      • 2.3 Troisième exemple
    • 3. Récursivité ou itération ?
    • 4. Exercices
    • 5. Résumé
  • Trier
    • 1. Introduction
    • 2. Spécifier un algorithme de tri
      • 2.1 Présentation du problème du tri
      • 2.2 Étude de la postcondition du tri
    • 3. Quelques algorithmes simples
      • 3.1 Tri par permutations : introduction
      • 3.2 Tri par permutations
      • 3.3 Tri « à bulle » (bubble sort)
      • 3.4 D'autres tris par permutations
    • 4. Fusionner deux tableaux triés
      • 4.1 Définition d'un vecteur
        • 4.1.1 Définition des prédicats
        • 4.1.2 Primitives de placement dans le vecteur
        • 4.1.3 Accès aux composantes du vecteur
        • 4.1.4 Exemples
      • 4.2 Fusion de deux vecteurs triés
        • 4.2.1 Spécification de l'algorithme de fusion
        • 4.2.2 Analyse de la fusion
    • 5. Exercices
      • 5.1 Tri par insertion dichotomique
      • 5.2 Un tri topologique
      • 5.3 Compléter les spécifications
    • 6. Notes bibliographiques
    • 7. Résumé
    • 8. Bibliographie
  • Édition d'un nombre
    • 1. Introduction
    • 2. Édition d'un entier dans une base quelconque
      • 2.1 Nombre de chiffres d'un entier
      • 2.2 Résolution du problème d'édition
      • 2.3 Résolution du problème réciproque
    • 3. Conversion des adresses Internet
      • 3.1 Conversion d’un entier en adresse « Internet Protocol »
        • 3.1.1 Introduction
        • 3.1.2 Conversion d’une adresse IPv4 en un entier
        • 3.1.3 Conversion d’une adresse entière en une adresse IPv4
      • 3.2 Exercice
    • 4. Conversion d’un nombre entier en chiffre romain
    • 5. Vérification des identifiants d'entreprises
    • 6. Vérification des identifiants de livres
    • 7. Résumé
    • 8. Bibliographie
  • Introduction aux fichiers
    • 1. Introduction
    • 2. Notions élémentaires
      • 2.1 Fichiers et articles
      • 2.2 Organisation et accès aux fichiers
      • 2.3 Association d'un fichier physique à un programme
    • 3. Organisation séquentielle
      • 3.1 Introduction
      • 3.2 Traitement d'un fichier séquentiel en lecture
      • 3.3 Parcours d'un fichier séquentiel
      • 3.4 Traitement en écriture d’un fichier séquentiel
      • 3.5 Mise à jour d'un fichier à organisation séquentielle
    • 4. L'organisation directe et l'accès sélectif
      • 4.1 Correspondance à l'aide d'une table d'accès
      • 4.2 Correspondance à l'aide d'une fonction de répartition
    • 5. Problèmes
      • 5.1 Statistiques d'import/export
      • 5.2 Exploiter un questionnaire d'attitude
      • 5.3 Exploiter les réponses à une enquête d'utilité publique
      • 5.4 Rechercher les anagrammes dans un dictionnaire
    • 6. Notes bibliographiques
    • 7. Résumé
    • 8. Bibliographie
  • Simuler
    • 1. Introduction
    • 2. Générer des nombres pseudo-aléatoires
      • 2.1 Quelques générateurs
        • 2.1.1 Le 147-générateur
        • 2.1.2 Générateurs de Hamming
      • 2.2 Tester une suite de nombres pseudo-aléatoires
        • 2.2.1 Test de l'histogramme
    • 3. Jeux de hasard
      • 3.1 Simuler une roulette
      • 3.2 Simuler un dé
    • 4. Simulation de processus dynamiques
      • 4.1 Propagation d'une rumeur
      • 4.2 Course poursuite
    • 5. Simulation statistique de phénomènes déterministes
      • 5.1 Calculer p
      • 5.2 Évaluer une intégrale définie
    • 6. Simulation de phénomènes aléatoires
      • 6.1 À la chasse aux mouches
      • 6.2 Propagation d'une rumeur
      • 6.3 Fiabilité des systèmes
      • 6.4 Dispersion des valeurs des composants d'un circuit électronique
    • 7. Notes bibliographiques
    • 8. Résumé
    • 9. Bibliographie
  • Crypter
    • 1. Introduction
    • 2. Intégrité
      • 2.1 Présentation
      • 2.2 Comparer deux empreintes
      • 2.3 Condenser le contenu d'un fichier
    • 3. Confidentialité
      • 3.1 Principes mathématiques de la confidentialité
      • 3.2 Cryptographie à clé secrète
      • 3.3 Cryptographie à clé symétrique
      • 3.4 Codage élémentaire : XOR
      • 3.5 Codage de Vernam
      • 3.6 Codage élémentaire à substitution mono-alphabétique simple
      • 3.7 La méthode de Vigenère
    • 4. Notes bibliographiques
    • 5. Conclusion
    • 6. Bibliographie
    • Index

Auteur

Christophe HAROEn savoir plus

Ingénieur et docteur en informatique, Christophe HARO a enseigné l'informatique à l'université et en école d'ingénieurs pendant 22 ans, puis le génie logiciel, le développement d'applications informatiques et les architectures logicielles en BTS Informatique de Gestion pendant 10 ans.

Retrouvez l'interview de Christophe HARO : "Le mot de l'auteur", à propos de son livre Zend Framework et PHP.

Caractéristiques

  • Niveau Confirmé à Initié
  • Nombre de pages 585 pages
  • Parution mai 2020
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-02441-2
    • EAN : 9782409024412
    • Ref. ENI : DP3ALG
  • Niveau Initié à Confirmé
  • Parution avril 2020
    • HTML
    • ISBN : 978-2-409-02442-9
    • EAN : 9782409024429
    • Ref. ENI : LNDP3ALG

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 (4964 Ko))