• Aide
  • Eurêkoi Eurêkoi

Livre

Bases en algorithmique et en programmation : cours et 120 exercices corrigés

Résumé

Une présentation des notions de base en algorithmique-programmation accompagnée de nombreux exemples, utilisant une partie du langage OCaml, et de 120 exercices corrigés et commentés. L'analyse d'un problème, la formalisation, la conception, le développement et la vérification sont abordés.


  • Éditeur(s)
  • Date
    • DL 2021
  • Notes
    • La couv. porte en plus : "L1"
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (447 p.) : ill. ; 24 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-340-04776-1
  • Indice
  • Quatrième de couverture
    • Bases en algorithmique et en programmation

      Cours et 120 exercices corrigés

      Ce livre présente les notions de base en algorithmique-programmation. Son originalité réside en particulier dans sa progression, qui aborde successivement les notions de valeur et de type, de fonction, de conditionnelle, de fonction récursive, de liste, d'instruction itérative et de tableau.

      Ces notions sont mises en oeuvre dans de nombreux algorithmes, complétés par 120 exercices commentés et corrigés permettant d'acquérir un savoir-faire de base dans les activités liées à l'algorithmique- programmation : analyse d'un problème, formalisation, conception, développement et vérification.

      Pour l'expérimentation des notions et l'écriture des algorithmes, le langage utilisé est une partie du langage OCaml, choisie pour sa proximité avec les concepts mis en oeuvre dans de nombreux autres langages de programmation.

      Ce livre est destiné à toute personne désireuse de concevoir et de développer des algorithmes. Aucun prérequis n'est nécessaire : l'ouvrage s'adresse donc à tout étudiant de 1er année (licence, DUT, BTS, classe préparatoire), voire de première ou de terminale, ainsi qu'à toute personne intéressée par les concepts fondamentaux de l'algorithmique-programmation et à leur mise en oeuvre.


  • Tables des matières
      • Bases en algorithmique et en programmation

      • Cours et 120 exercices corrigés

      • Pascal Lienhardt

      • Samuel Peltier

      • Agnès Arnould

      • Laurent Fuchs

      • ellipse

      • I Notions élémentaires15
      • 1 Types, variables, expressions 17
      • 1.1 Notions essentielles18
      • 1.1.1 Types et comparaisons de valeurs18
      • 1.1.2 Types de base19
      • 1.1.3 Types construits24
      • 1.1.4 Expressions28
      • 1.1.5 Variables non mutables30
      • 1.2 Conventions d'écriture34
      • 1.2.1 Espaces35
      • 1.2.2 Identificateurs35
      • 1.2.3 Valeurs36
      • 1.2.4 Variables36
      • 1.2.5 Indentations37
      • 1.3 Compléments37
      • 1.3.1 Remarques générales37
      • 1.3.2 Types numériques41
      • 1.4 Exercices44
      • 1.5 Corrigés48
      • 2 Fonctions 55
      • 2.1 Notions essentielles56
      • 2.1.1 Définition de fonction56
      • 2.1.2 Appel de fonction59
      • 2.1.3 Conception et vérification de fonction61
      • 2.1.4 Fonctions prédéfinies63
      • 2.2 Conventions d'écriture64
      • 2.3 Compléments66
      • 2.3.1 Détection des erreurs66
      • 2.3.2 Déclaration de variable us déclaration de fonction en OCaml69
      • 2.4 Exercices70
      • 2.5 Corrigés74
      • 3 Conditionnelle 85
      • 3.1 Notions essentielles86
      • 3.1.1 Expression conditionnelle86
      • 3.1.2 Conditionnelles imbriquées90
      • 3.1.3 Contrôle du domaine de définition d'une fonction ....92
      • 3.2 Conventions d'écriture94
      • 3.3 Compléments95
      • 3.4 Exercices96
      • 3.5 Corrigés100
      • II Récursivité111
      • 4 Composition de fonctions 113
      • 4.1 Notions essentielles114
      • 4.1.1 Définition de fonctions composées114
      • 4.1.2 Exécution de fonctions composées116
      • 4.1.3 Utilité de la composition de fonctions120
      • 4.2 Compléments121
      • 4.2.1 Pile d'exécution121
      • 4.2.2 Conception et vérification122
      • 4.2.3 Contrôle des domaines d'une fonction125
      • 4.3 Exercices129
      • 4.4 Corrigés135
      • 5 Fonctions récursives 149
      • 5.1 Notions essentielles150
      • 5.1.1 Définition150
      • 5.1.2 Exécution151
      • 5.1.3 Terminaison153
      • 5.1.4 Complexité156
      • 5.1.5 Forme générale158
      • 5.1.6 Tests159
      • 5.2 Conventions d'écriture160
      • 5.3 Compléments160
      • 5.3.1 Récursivité simple vs récursivité générale160
      • 5.3.2 Récursivité terminale162
      • 5.3.3 Conception164
      • 5.4 Exercices168
      • 5.5 Corrigés173
      • 6 Listes 189
      • 6.1 Notions essentielles191
      • 6.1.1 Définition191
      • 6.1.2 Opérations de base193
      • 6.1.3 Manipulation de listes : algorithmes de base198
      • 6.2 Conventions d'écriture203
      • 6.3 Compléments206
      • 6.3.1 Une structure linéaire récursive206
      • 6.3.2 Conception208
      • 6.4 Exercices211
      • 6.5 Corrigés217
      • III Itérativité239
      • 7 Variables mutables, affectation 241
      • 7.1 Notions essentielles243
      • 7.1.1 Variables mutables : définition243
      • 7.1.2 Affectation246
      • 7.1.3 Paramètres mutables247
      • 7.1.4 Bloc248
      • 7.1.5 Entrées - sorties251
      • 7.2 Conventions d'écriture253
      • 7.2.1 Déclarations de variables253
      • 7.2.2 Parenthésage254
      • 7.2.3 Bloc255
      • 7.2.4 if then else255
      • 7.3 Exercices256
      • 7.4 Corrigés265
      • 8 Instructions itératives 281
      • 8.1 Notions essentielles282
      • 8.1.1 Boucle for282
      • 8.1.2 Boucle while286
      • 8.1.3 Conception291
      • 8.1.4 Tests293
      • 8.1.5 Une opération courante : la saisie contrôlée295
      • 8.2 Conventions d'écriture295
      • 8.2.1 for us while295
      • 8.2.2 Alignement296
      • 8.2.3 Composition de fonctions vs fonction « longue »296
      • 8.2.4 Parenthèses296
      • 8.2.5 Variables locales297
      • 8.3 Compléments297
      • 8.3.1 for, while et récursif terminal297
      • 8.3.2 Imbrication de boucles300
      • 8.4 Exercices302
      • 8.5 Corrigés308
      • 9 Tableaux 325
      • 9.1 Notions essentielles325
      • 9.1.1 Définition et opérations de base325
      • 9.1.2 Manipulation de tableaux : algorithmes de base328
      • 9.2 Compléments332
      • 9.2.1 Tableaux bi-dimensionnels332
      • 9.2.2 Initialisation d'un tableau338
      • 9.2.3 Listes vs tableaux340
      • 9.3 Exercices341
      • 9.4 Corrigés346
      • IV Annexes361
      • 10 Compléments 363
      • 10.1 Graphique363
      • 10.1.1 Bibliothèque graphies363
      • 10.1.2 Transformation géométrique entre différents espaces365
      • 10.1.3 Exemple du tracé d'une courbe368
      • 10.1.4 Exemple du calcul d'une approximation de n370
      • 10.2 Exercice : simulation du jeu de bataille372
      • 10.3 Exercice : jeu de serpent384
      • 11 Aspects « techniques » 403
      • 11.1 Fonctions utilitaires403
      • 11.1.1 Signatures des fonctions utilitaires403
      • 11.1.2 Codes des fonctions utilitaires406
      • 11.2 Interprétation412
      • 11.2.1 Utilisation d'un interpréteur ocaml en ligne412
      • 11.2.2 Utilisation d'un interpréteur ocaml « local »418
      • 11.3 Installation de OCaml419
      • 11.3.1 Pour Linux Ubuntu 20.04419
      • 11.3.2 Pour Windows423
      • 11.3.3 Pour macOS427
      • 11.3.4 Environnements de développement442

  • Origine de la notice:
    • BPI
  • Disponible - 681.21(07) BAS

    Niveau 3 - Informatique