La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmique et Programmation A. Alikacem. Méthodologie de construction de programmes.

Présentations similaires


Présentation au sujet: "Algorithmique et Programmation A. Alikacem. Méthodologie de construction de programmes."— Transcription de la présentation:

1 Algorithmique et Programmation A. Alikacem

2 Méthodologie de construction de programmes

3 Problème Concevoir un algorithme permettant de calculer les valeurs minimum et maximum, ainsi que lécart-type dune série de notes. Lutilisateur doit spécifier le nombre de notes à saisir et leur moyenne (connue davance), puis doit entrer les différentes notes en question, et afficher les différentes valeurs statistiques souhaitées. Une fois conçu, implanter un programme C.

4 Pré-Analyse Problème 1.Reconnaissance du problème 2.Au besoin, décomposition du problème en sous-problèmes 3.Formulation du problème (spécification, contraintes, etc.) i.Résolution des ambiguïtés ii.Spécification des différents objectifs iii.Préciser les données en jeu À la fin de cette étape, les objectifs devraient être clairement identifiés, ainsi que la nature des données qui seront manipulées. Toute information pouvant être utile pour la phase suivante doit être mentionnée

5 Pré-Analyse Objectif: Étant donnés une liste de notes et leurs moyennes, calculer lécart-type ainsi que les notes minimum et maximum. Les données en questions correspondent à des entiers ou des réels? les notes et la moyenne, ainsi que les différentes résultats correspondent à des nombres réels. Au fait, comment on calcul lécart-type?

6 Analyse et Conception 4.Pour chaque sous-problème identifié dans la tache 2.: i.Identification des besoins: en donner des noms appropriés, des types appropriés et une brève description de leur emploi ii.Identification des tâches et des relations entre elles À ce niveau, on doit avoir les différents commentaires de spécification de chaque bloc qui sont conçus, ainsi que les différents étapes correspondant au corps du bloc. 5.Reprendre les différentes étapes identifiées en 4.ii, et les décrire par des actions élémentaires et/ou des appels à dautres blocs À la fin de cette étape, tous les blocs ont été conçus. Ces dernières doivent contenir: i.Des commentaires de spécifications ii.Des assertions iii.Idéalement, des commentaires généraux

7 Objectif Algorithme Stat nnotes Affichage de différents résultats moyenne Besoins

8 Bloc Principal (B1): Calcul de différentes statistiques { Objectif:Saisir des notes et une moyenne et afficher des stats } { Méthode:Utiliser la formule de calcul de lécart-type } { Besoins:un entier n, des nombres réels, notes, correspondant aux notes ainsi quun nombre réel, moyenne, correspondant à la moyenne } { Connu:NOTE_MIN = 0, NOTE_MAX = 100 } { Entrée: Aucune } { Sortie: Aucune } { Résultats:Afficher les différentes statistiques souhaitées } { Hypothèses: n >= 2, notes et moyenne [NOTE_MIN.. NOTE_MAX] } Début { Saisie de la variable n, nombre de notes à saisir } { Saisie de la moyenne } { Initialisation des différentes variables temporaires qui contiendront les résultats } { Saisie et Traitement des différentes notes } { Calcul de lécart-type } { Affichage des résultats } { A: Les différentes statistiques ont été calculées et affichées } Fin Début danalyse

9 Bloc Principal (B1): Calcul de différentes statistiques { Commentaires de spécification} Début { Saisie de la variable n, nombre de notes à saisir } Afficher "Entrez le nombre de notes à saisir " Demander n { A: n >= 2 } { Saisie de la moyenne } Afficher "Entrez la moyenne " Demander moyenne { A: moyenne [NOTE_MIN.. NOTE_MAX] } { Initialisation des différentes variables temporaires qui contiendront les résultats } Min NOTE_MAX{ Min contiendra la valeur minimum } Max NOTE_MIN{ Max contiendra la valeur maximum } Somme 0{ Somme permet de calculer la somme utilisée dans le calcul de lécart type } … Conception de lalgorithme

10 { Saisie et Traitement des différentes notes } Répéter i [ 1.. n ] Début { Saisir une note } Afficher "Entrez la ", i, "ème note : " Demander Note { A : note [NOTE_MIN.. NOTE_MAX] } Calcul du carré de (note - moy) (Bloc B2) { A : Carré contient le résultat de ( note – moy ) 2 } Somme Somme + Carré{ Cumul des notes } Si ( Note > Max ) Alors{ Mise à jour de la valeur maximum } Début Max Note Fin Si ( Note < Min ) Alors{ Mise à jour de la valeur minimum } Début Min Note Fin … Conception de lalgorithme

11 { Calcul de la variance } Variance Somme / ( n – 1 ) { Calcul de lécart-type } Calcul de la racine carré de la variance (Bloc B3) { A : EcarType contient la racine carré de la variance, soit lécart type } { Affichage des résultats } Afficher " La valeur minimum est : ", Min Afficher " La valeur maximum est : ", Max Afficher " Lécart type est : ", EcarType { A: Les différentes statistiques ont été calculées et affichées } Fin Conception de lalgorithme

12 Implantation 6.En utilisant un langage de programmation approprié, traduire chaque bloc conçu dans la phase précédente (mis à part le bloc principal, il nest pas nécessaire de traduire et de reproduire les différents commentaires de spécification). À ce niveau, certains choix dimplantation peuvent être fait. De plus: i.Transformer les entrées du bloc en paramètres de fonction. ii.Si le bloc admet plusieurs sorties, il est alors nécessaire dajouter des paramètres à la fonction qui correspondront à des pointeurs. iii.Si le bloc admet des pré-conditions, ajouter un paramètre, codeErr, à la fonction associée permettant de traiter le cas où les pré-conditions ne sont pas vérifiées au moment de lexécution de la fonction. iv.Toutes les variables manipulées doivent être déclarées, au début de la fonction, avec un type approprié et un commentaire précisant son rôle dans la fonction. v.Ré-écrire tous les commentaires de type Assertion dans la fonction. vi.Créer un fichier.h dans lequel on met le prototype de chaque fonction définie ainsi que son interface: ce dernier est composé des pré-conditions, post-conditions et de la valeur retournée. À ce niveau, on doit avoir avoir: i.Un fichier Principal.c contenant la traduction du bloc principal en fonction main(), avec tous les commentaires de spécification et les commentaires généraux. Aussi, ne pas oublier dinclure le fichier Interface.h (#include « Interface.h"). ii.Un fichier Interface.h contenant les différents prototypes de fonctions accompagnés par leur interface. iii.Un fichier Fonctions.c contenant la définition des différentes fonctions en jeu.

13 Tests et Vérification 7.Grâce à un main bidon, il est possible de tester chaque fonction dune manière individuelle. Encore une fois, le choix des données à tester doit être judicieux. Et à chaque fois, on vérifie que la post-condition de la fonction traitée est bien vérifiée. 8.Une fois les fonctions individuelles testées, on peut alors compiler et faire lédition de lien de tout notre programme, établir un jeu dessai adéquat (cas désirables et cas indésirables) et tester le tout. 9.Lors des tests, sil y a des problèmes (bogues) qui sont détectés, il faut alors revenir à une étape précédente de notre méthodologie pour identifier clairement la source du problème et la corriger. Plus on le recul en arrière est grand, plus les bogues seront coûteux. Lorsque tout a été vérifié correctement, on est censé avoir en main 2 dossiers: i.Une documentation du problème et de sa résolution, à travers tous les algorithmes qui sont très bien documentés. ii.Une implantation en C de la solution du problème: dans ce cas, le code nest pas aussi documenté que les algorithmes, mais on garde lessentiel (commentaires généraux, Interface des fonctions, etc.). De cette manière, la partie codée en C constitue le programme informatique, et la partie algorithmique correspond à sa documentation détaillée.

14 En résumé! La méthodologie de développement se compose de 4 grandes phases: I.Analyse et conception des blocs algorithmiques. II.Codification des blocs (en C). III.Test et vérification du programme réalisé. IV.Correction, au besoin, du programme.


Télécharger ppt "Algorithmique et Programmation A. Alikacem. Méthodologie de construction de programmes."

Présentations similaires


Annonces Google