agence nationale pour la formation professionnelles des adultes DWWM Algorith
agence nationale pour la formation professionnelles des adultes DWWM Algorithmique Formation Développeur Web et Web Mobile Module : 03 Développer la partie front-end d’une application web Séquence : 03 Développer une interface utilisateur web dynamique Séance : 01 Ecrire un algorithmique Libellé réduit : Sc_Algo Type de document : Ressource Auteur : DB Version : 2 Date de mise à jour : 15/03/2019 agence nationale pour la formation professionnelles des adultes Cours d’algorithmie afpa © Auteur Nom région Formation Date Mise à jour DB GRN 164 DWWM 15/03/2019 Cours Algorithmie.docx Sommaire 1 définition _____________________________________________________________________ 1 1.1 Généralités ______________________________________________________________________ 1 1.2 Les notions liées aux algorithmes ____________________________________________________ 1 2 Le Pseudo-Langage _____________________________________________________________ 2 2.1 Introduction _____________________________________________________________________ 2 2.2 Les commentaires _________________________________________________________________ 2 2.3 Les variables _____________________________________________________________________ 2 2.3.1 Définition _______________________________________________________________________________ 2 2.3.2 La déclaration ___________________________________________________________________________ 3 2.3.3 L’affectation ____________________________________________________________________________ 3 2.4 Les instructions de saisie et d’affichage _______________________________________________ 3 2.4.1 La saisie ________________________________________________________________________________ 3 2.4.2 l’affichage ______________________________________________________________________________ 4 2.5 Expression _______________________________________________________________________ 4 2.6 Les constantes ___________________________________________________________________ 4 2.7 La séquence _____________________________________________________________________ 5 2.8 La sélection ______________________________________________________________________ 5 2.8.1 La construction SI-ALORS-SINON (dite alternative) ______________________________________________ 5 2.8.2 La construction SELON (choix multiple) _______________________________________________________ 7 2.9 Itération ________________________________________________________________________ 8 2.9.1 La construction TANTQUE-FAIRE ____________________________________________________________ 8 2.9.2 La construction REPETER-TANTQUE __________________________________________________________ 9 2.9.3 La construction POUR_FAIRE _______________________________________________________________ 9 2.10 Exemples _______________________________________________________________________ 10 2.10.1 Exemple 1 : commenté ________________________________________________________________ 10 2.10.2 Exemple 2 : à réaliser selon l’énoncé fourni ________________________________________________ 11 2.11 Référence à d’autres algorithmes ___________________________________________________ 11 3 Autres représentations _________________________________________________________ 12 3.1 l’organigramme _________________________________________________________________ 12 3.1.1 Symboles principaux _____________________________________________________________________ 12 3.2 Représentation des constructions de base ____________________________________________ 14 3.2.1 Sélection ______________________________________________________________________________ 14 3.2.2 Itération _______________________________________________________________________________ 14 3.3 Les graphes de nassi-schneidermann ________________________________________________ 14 3.3.1 Sélection ______________________________________________________________________________ 14 3.3.2 Itération _______________________________________________________________________________ 14 3.4 Les arbres algorithmiques _________________________________________________________ 15 3.4.1 Séquence ______________________________________________________________________________ 15 3.4.2 Sélection ______________________________________________________________________________ 15 3.4.3 Itération _______________________________________________________________________________ 15 4 La modularité_________________________________________________________________ 16 4.1 Concepts généraux _______________________________________________________________ 16 4.2 Le passage des arguments _________________________________________________________ 20 4.2.1 Le passage par valeur ____________________________________________________________________ 20 Cours d’algorithmie afpa © Auteur Nom région Formation Date Mise à jour DB GRN 164 DWWM 15/03/2019 Cours Algorithmie.docx 4.2.2 Le passage par adresse ___________________________________________________________________ 20 4.2.3 Le passage par référence _________________________________________________________________ 21 4.3 La visibilité d’une variable _________________________________________________________ 21 4.4 Passage par argument ou variables globales ??? _______________________________________ 22 4.5 Récursivité des modules __________________________________________________________ 23 4.6 Avantages de la modularité ________________________________________________________ 23 5 Les structures de données _______________________________________________________ 25 5.1 Introduction ____________________________________________________________________ 25 5.2 Les types de base ________________________________________________________________ 25 5.2.1 Les données scalaires ____________________________________________________________________ 25 5.3 Les tableaux ____________________________________________________________________ 26 5.3.1 Les agrégats, enregistrements ou structures __________________________________________________ 27 5.4 Les structures dynamiques_________________________________________________________ 27 5.4.1 Les piles _______________________________________________________________________________ 27 5.4.2 Les files _______________________________________________________________________________ 28 5.4.3 Les structures chainées ___________________________________________________________________ 29 5.5 CONCLUSION : __________________________________________________________________ 32 6 Les fichiers ___________________________________________________________________ 33 6.1 Généralités _____________________________________________________________________ 33 6.1.1 Déclaration ____________________________________________________________________________ 34 6.1.2 Ouverture _____________________________________________________________________________ 34 6.1.3 Fermeture _____________________________________________________________________________ 35 6.2 Les fichiers séquentiels ___________________________________________________________ 35 6.2.1 En lecture _____________________________________________________________________________ 35 6.2.2 En écriture ou en ajout ___________________________________________________________________ 35 6.3 Les fichiers à accès direct ou relatif __________________________________________________ 36 6.3.1 En lecture et écriture ____________________________________________________________________ 36 6.3.2 En déplacement ________________________________________________________________________ 36 6.4 Les fichiers séquentiels indexés _____________________________________________________ 36 6.4.1 Déplacement ___________________________________________________________________________ 37 6.4.2 Lecture et Ecriture ______________________________________________________________________ 37 6.4.3 suppression ____________________________________________________________________________ 37 Cours d’algorithmique afpa © Auteur Nom région Formation Date Mise à jour Page 1 / 42 DB GRN 164 DWWM 15/03/2019 Cours Algorithmie.docx 1 DEFINITION Un algorithme décrit une succession d’opérations qui, si elles sont correctement exécutées par l’ordinateur, produiront le résultat déterminé ou le processus désiré. L’algorithme est aussi appelé parfois le procédé de traitements. Il faut noter qu’un algorithme n’est pas une solution unique : pour réaliser une même activité, plusieurs algorithmes sont possibles. 1.1 GENERALITES La notion d’algorithme n’est pas spécifique à l’informatique. Certains algorithmes décrivent toutes sortes de tâches quotidiennes. Ainsi les différents exemples analysés dans un chapitre suivant (appel téléphonique, gestion d’un carnet d’adresses, préparation d’une tasse de café) sont des algorithmes. En règle générale, l’entité qui exécute une tâche est appelée processeur. Un processeur peut être une personne, un ordinateur ou tout autre dispositif électronique ou mécanique. Un processeur obéit aux actions (les exécute) que l’algorithme lui décrit. L’exécution d’un algorithme implique l’exécution de chacune de ses étapes constitutives. Le schéma ci-dessous permet de résumer la situation de l’algorithmie dans le processus de la programmation d’une tâche quelconque. 1.2 LES NOTIONS LIEES AUX ALGORITHMES Différentes notions sont étroitement liées aux algorithmes. On trouve entre autres : La puissance : c’est la capacité d’un algorithme à traiter des problèmes plus ou moins complexes. La dimension : c’est la taille prise par un algorithme (théoriquement incompressible) pour exécuter le processus. La précision : c’est la fidélité et l’exactitude offertes par l’algorithme dans sa réalisation pour atteindre les objectifs prévus. La rapidité : c’est la capacité d’un algorithme à fournir un résultat dans un minimum de temps. L’identité : c’est le rôle intrinsèque rempli par l’algorithme (composant indépendant). ENONCE DU PROBLEME ANALYSE ALGORITHMIE PROGRAMME EXECUTION DU PROGRAMME PAR UNE MACHINE RESULTATS Cours d’algorithmique afpa © Auteur Nom région Formation Date Mise à jour Page 2 / 42 DB GRN 164 DWWM 15/03/2019 Cours Algorithmie.docx 2 LE PSEUDO-LANGAGE 2.1 INTRODUCTION Le pseudo-langage ou pseudo-code remplit une fonction importante dans la conception de programme. Il permet de présenter l’étude d’un module de programme avec des instructions évoluées utilisant des phrases en langage quasi-naturel en évitant ainsi l’énumération de détails. Le pseudo-langage fournit une base structurée à l’écriture de programme puisque l’adhésion à des constructions formelles renforce la structure. Il est une passerelle entre les données de l’analyse et les détails du codage. Il offre une possibilité supplémentaire de documentation de l’application développée. Un algorithme développé en pseudo-code est un ensemble d’instructions qui doit être exécuté pour remplir une activité. Il est exprimé en un langage quasi naturel et non dans un langage de programmation. 2.2 LES COMMENTAIRES Il est possible de placer des lignes de commentaires dans le pseudo-code. Suivant les ouvrages, on trouve principalement 3 types de commentaires : ceux débutant par # et se finissant par # ceux débutant par { et se finissant par } ceux dérivant des langages informatiques /* … */ pour un bloc de commentaire ou // pour une ligne ou fin de ligne 2.3 LES VARIABLES Un algorithme est en général prévu pour être codé puis exécuté par une machine informatique. Pour stocker des valeurs ou des résultats de calcul, on utilise des variables et on fait des opérations algébriques, relationnelles, ... pour les manipuler. 2.3.1 Définition Une variable informatique (différent d’une variable mathématique) est un objet qui peut prendre une valeur. Cette valeur peut évoluer au cours de l’exécution de l’algorithme. Une variable porte un nom ou identificateur. Le type de la variable détermine l’ensemble des valeurs que peut prendre cette variable. L’identificateur d’une variable doit être auto-informant. L’utilisation de soulignés permet de composer des identificateurs formés de plusieurs mots. Exemples : nbre_articles, delta, result_hors_taxe Une autre écriture de plus en plus utilisée est la notation en « CamelCase » qui consiste à mettre en majuscule la première lettre de chaque mot (sans compter le 1er mot pour les variables). Cours d’algorithmique afpa © Auteur Nom région Formation Date Mise à jour Page 3 / 42 DB GRN 164 DWWM 15/03/2019 Cours Algorithmie.docx Exemples : nbreArticles, delta, resultHorsTaxe Les variables sont assimilables à des boîtes aux lettres de programmes : elles possèdent un nom, contiennent une valeur, et représentent une adresse. Les variables sont typées en fonction du genre de contenu qu’elles représentent : entier, réel, caractère, chaîne (de caractères), booléen, monétaire... 2.3.2 La déclaration La déclaration des variables se fait avant le traitement. La syntaxe est la suivante : variables <liste d’identificateurs> : type Exemples : variables val, unNombre : entier nom, prenom : chaîne Exemple de PSEUDO-CODE : # CALCUL DU MONTANT TTC A PARTIR DU MONTANT HT # variables montantHT, montantTTC, tva : réel lire(montantHT) tva ← 18.6 montantTTC ← montantHT + (montantHT x tva)/100 La valeur d’une variable évolue en cours de traitement. 2.3.3 L’affectation L’instruction « prixTTC ← quantite *(prixHT +( prixArticleHT * tva) / 100) » modifie la valeur de la variable prixTTC. Cette modification de la valeur s’appelle l’affectation. L’ancienne valeur prise par prixTTC est écrasée par cette affectation. Plusieurs symboles sont utilisables pour exprimer une affectation. On trouve : PI ← 3.14 PI := 3.14 PI = 3.14 Remarque : l’incrémentation d’une variable s’écrit : X ← X +1 (on ajoute 1 à la valeur de X et le résultat est réaffecté à X). 2.4 LES INSTRUCTIONS DE SAISIE ET D’AFFICHAGE 2.4.1 La saisie Cours d’algorithmique afpa © Auteur Nom région Formation Date Mise à jour Page 4 / 42 DB GRN 164 DWWM 15/03/2019 Cours Algorithmie.docx Il est intéressant de demander à l’utilisateur de rentrer des valeurs au clavier qui seront placées dans des variables. Les mots clés utilisés sont « saisir, entrer, lire ». Ils seront utilisés sous forme de « fonction uploads/Litterature/ cours-algorithmie.pdf
Documents similaires










-
52
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 31, 2022
- Catégorie Literature / Litté...
- Langue French
- Taille du fichier 1.2564MB