Titre : | Algorithmique et développement Python : Cours et exemples d'applications |
Auteurs : | Abderrahmane Fadil, Auteur |
Type de document : | Monographie imprimée |
Editeur : | Paris : Ellipses, 2021 |
Collection : | Références sciences, ISSN 2260-8044 |
ISBN/ISSN/EAN : | 978-2-340-06112-5 |
Format : | 1 vol. (226 p.) / couv. ill. en coul / 24 cm |
Langues: | Français |
Résumé : |
Ce livre s'adresse aux : étudiants en BTS, IUT et licence dans des filières scientifiques ; étudiants en écoles de commerce ; étudiants en cycle préparatoire des écoles d'ingénieurs ; personnes en formation continue dans le domaine de développement informatique ; personnes en auto-formation. Il a pour objectif de présenter les bases de l'algorithmique permettant à un public d'étudiants de mieux structurer et programmer des algorithmes de traitement dans différents secteurs d'activité. La programmation des algorithmes est mise en oeuvre via le langage Python. Le choix de Python est motivé par les facilités d'apprentissage et de mise en oeuvre. Ce langage est libre et il fait partie de la tête des classements dans le monde des langages de programmation les plus utilisés. Ce livre est composé de six chapitres et contient de nombreux exemples d'applications : représentation des données et algèbre de Boole ; algorithmes - les bases ; traitements répétitifs ; structures de données listes et tableaux ; tri et fouille de données ; procédures, fonctions et récursivité. |
Sommaire : |
Chapitre I. Représentation des données et algèbre de Boole .......... 11 1 Généralités sur les algorithmes . 11 1.1 Introduction . 11 1.2 Définition 1 .. 11 1.3 Exemples 11 1.4 Définition 2 12 1.5 Ecriture syntaxique . 13 1.6 Remarques 14 1.7 Les instructions fondamentales ... 14 2 Algorithmes et programmation informatique . 14 2.1 Rappels et définitions .. 15 2.2 Processus d’exécution d’un algorithme . 16 2.3 Utilisation des langages de programmation .. 19 3 Représentation des données ...... 20 3.1 Les systèmes de numérotation .... 20 3.2 Décomposition d’un nombre .. 22 3.3 Conversion du binaire à l’octal 23 3.4 La conversion du binaire à l’hexadécimal 23 3.5 Conversion du système décimal au système de base b .. 24 3.6 Utilité des changements de bases . 24 4 Algèbre de Boole 25 4.1 Définitions 25 4.2 Propriétés 26 4.3 Théorèmes de MORGAN .. 26 4.4 Portes logiques 27 5 Fonctions booléennes 28 5.1 Forme disjonctive normale . 28 5.2 Forme conjonctive normale . 29 6 Exercices . 30 6.1 Systèmes de numérotation . 30 6.2 Exercices 1ère forme et 2ème forme canonique 30 6.3 Constatations puis modélisation ... 31 6.4 Simplification algébrique ... 31 7 Correction des exercices 31 7.1 Systèmes de numérotation 31 7.2 Exercices 1ère forme et 2ème forme canonique .. 32 7.3 Constatations puis modélisation . 34 7.4 Simplification algébrique ... 34 7.5 Exercice libre 34 Chapitre II. Algorithmes : les bases 35 1 Ecriture d’un algorithme 35 1.1 Définitions et rappels .. 35 1.2 Approche ascendante ... 35 1.3 Approche descendante 38 2 Structure algorithmique . 39 2.1 Rappel 39 2.2 Modèle d’écriture . 40 3 Bloc de déclarations .. 41 3.1 Les variables . 41 3.2 Les constantes . 51 4 Bloc d’instructions . 52 4.1 L’affectation 52 4.2 Les affectations multiples simultanées. 53 4.3 Les entrées / sorties 54 4.4 Les tests et structures de contrôles conditionnelles 56 4.5 Les disjonctions de cas ‘Sinon, Si’ .. 58 4.6 Exemple d’un système de chauffage automatique 60 4.7 Exemple . 61 5 Les algorigrammes . 62 5.1 Définition . 62 5.2 Avantages et contextes d’utilisation des algorigrammes . 62 5.3 Objets graphiques 63 5.4 Exemples . 63 Chapitre III. Traitements répétitifs. 67 1 La répétition . 67 1.1 Contexte 67 1.2 L’itération . 68 1.3 Conditions de répétition . 68 2 Type de répétition 69 2.1 Les boucles 69 2.2 Exemples 70 3 La boucle ‘Pour’ 71 3.1 Sens incrémental . 71 3.2 Sens décrémental 74 3.3 Syntaxe de la boucle ‘Pour’ sous Python . 77 4 La boucle ‘Tant Que’ 79 4.1 Syntaxe algorithmique de la boucle ‘Tant Que’ 79 4.2 Syntaxe de la boucle ‘Tant Que’ sous Python . 79 5 Exemple 80 6 Algorigrammes des boucles répétitives . 81 6.1 Algorigramme de la boucle ‘Pour’ .. 81 6.2 Algorigramme de la boucle ‘Tant Que’ ... 82 7 Exemples sous Python 83 7.1 Manipulation des nombres complexes 83 7.2 Intégration numérique utilisant la méthode des rectangles 84 7.3 Nombres parfaits .. 85 7.4 Fonctions trigonométriques .. 88 7.5 Résolution d’une équation de second degré . 90 7.6 Fonction exponentielle ... 94 Chapitre IV. Structures de données listes et tableaux . 97 1 Tableaux et listes en algorithmique . 97 1.1 Exemple 1 . 97 1.2 Exemple 2 97 1.3 Les tableaux en algorithmique ... 98 1.4 Les listes en algorithmique .. 99 2 Les tableaux sous Python 104 2.1 Les modules 104 2.2 Les tableaux avec le module numpy 106 3 Tableaux unidimensionnels 106 3.1 Création d’un tableau 106 3.2 Utilisation d’une portion d’un tableau en absolu ou en copie 109 3.3 Création d’un tableau de réels dans l’espace linéaire . 111 4 Tableaux multidimensionnels 112 4.1 Représentation matricielle . 112 4.2 Représentation linéaire 113 4.3 Le nombre d’éléments d’un tableau . 113 4.4 La taille d’un tableau . 114 4.5 Création d’un tableau avec zeros() ou avec ones() 114 4.6 Complément initialisation d’un tableau et/ou une matrice. 116 4.7 Les matrices par la méthode mat() de numpy . 116 4.8 Conversion d’un tableau en matrice . 118 4.9 Quelques opérations et fonctions matricielles 118 4.10 Script de résolution d’un système d’équations linéaires 121 4.11 Valeurs et vecteurs propres .. 123 5 Exemples supplémentaires avec algorithmes et scripts Python . 124 5.1 Exemple 1 124 5.2 Exemple 2 125 5.3 Exemple 3 126 6 Exercices de recherche dans un tableau . 128 6.1 Recherche séquentielle dans un tableau non trié 128 6.2 Recherche exhaustive version 2 130 6.3 Recherche exhaustive version 3 132 6.4 Existence d’un élément dans un tableau de données 135 7 Vérification mot palindrome en tant que liste de caractères 138 7.1 Script palindrome 138 7.2 Test mot palindrome . 138 Chapitre V. Tri et fouille de données 139 1 Tri et fouille de données. 139 1.1 Tri des données 139 1.2 Fouille de données 139 2 Méthodes de tri 140 2.1 Tri par échange. 140 2.2 Tri à bulles 144 3 Fouille de données 147 3.1 Recherche séquentielle dans un tableau trié 148 3.2 Recherche dichotomique dans un tableau trié . 151 Chapitre VI. Procédures, fonctions et récursivité 157 1 Procédures et fonctions .. 157 1.1 Introduction . 157 1.2 Algorithme appelant et algorithme appelé 158 2 Procédures 159 2.1 Définition 159 2.2 Exemple de fusion de deux tableaux . 159 2.3 Syntaxe algorithmique d’une procédure .. 159 2.4 Etapes d’exécution d’une procédure . 160 2.5 Procédure de fusion de deux tableaux triés 161 2.6 Syntaxe d’écriture d’une procédure sous Python 165 2.7 Script Python de la procédure de fusion de deux tableaux 165 2.8 Cas de deux tableaux non triés . 167 3 Fonctions 168 3.1 Définition . 168 3.2 Exemple de calcul des coefficients d’un polynôme 168 3.3 Syntaxe algorithmique d’une fonction 169 3.4 Etapes d’exécution d’une fonction . 169 3.5 Fonctions de calcul des coefficients d’un polynôme . 170 3.6 Syntaxe d’écriture d’une fonction sous Python 174 3.7 Script Python de calcul des coefficients polynômiaux.. 175 3.8 Produit, somme et transposée de matrices 177 4 Récursivité 184 4.1 Principe de la récursivité . 184 4.2 Avantage de la récursivité 185 4.3 Mise en œuvre de la récursivité . 185 4.4 Procédures et fonctions récursives 186 5 Autres exemples 193 5.1 Mots palindromes 194 5.2 Suite mystère 196 5.3 Série des inverses carrés 198 5.4 Fonction de couplage de Cantor 201 5.5 Suite de Syracuse 203 5.6 Liste des nombres premiers . 207 5.7 Les nombres parfaits 213 5.8 Série alternée 216 5.9 La puissance k-ième d’une matrice carrée 220 Bibliographie . 223 Index 225 |
Disponibilité (3)
Cote | Support | Localisation | Statut |
---|---|---|---|
INF/790 | Livre | bibliothèque sciences exactes | Consultable |
INF/790 | Livre | bibliothèque sciences exactes | Empruntable |
INF/790 | Livre | bibliothèque sciences exactes | Empruntable |