logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
utilisateurs:hypathie:tutos:algo-la-presentation-d-une-procedure [29/11/2014 08:38]
Hypathie créée
— (Version actuelle)
Ligne 1: Ligne 1:
-====== ALGO : La présentation d'une procédure====== 
  
-  * Objet : Ce que doit contenir la **présentation** d'une procédure 
-  * Niveau requis :  {{tag>​débutant avisé}} 
-  * Commentaires : //Contexte d'​utilisation du sujet du tuto. //  
- 
- 
-===== Introduction : la méthode de présentation d'une procédure===== 
-La **méthode d'​approche du problème se décompose en six étapes** ; le résultat obtenu, de l'​analyse du problème, c'est la procédure. ​ 
- 
-Imaginons un client, un jury, n'​importe qui cherche une solution générale, codable en n'​importe quel langage de programmation,​ car ce qu'on a comme programme pour une application informatique,​ n'est pas super. Par ce qu'on est un super concepteur, on a une idée de comment faire quelque chose, ou comment faire mieux quelque chose. Mais on est pas tout seul. Il faut être compris par les autres, et aussi permettre à son idée d'​être choisie. Plus elle sera claire, parlante pour ceux des autres branches, électroniciens,​ clients, etc, etc, mieux cela voudra. ​ 
- 
-Pour ce faire, il faut savoir exposé ce qu'est le problème à résoudre AVANT de donner la solution qui permet de le résoudre. 
- 
-Prenons pour exemple, une procédure qui compte les voyelles d'un mot comporte trois étapes. 
- 
-Il s'agit distinguer l'​exposé de la procédure de la procédure elle-même. 
-  
-====Méthode de définition du problème d'une solution==== 
- 
-Les six étapes pour présenter une procédure : 
- 
-  - poser le problème (la moulinette);​ 
-  - définition de la nature (type) des données ; 
-  - le jeu d'​essai ; 
-  - définition de l'​interface (ce que fait dans cette procédure en termes algorithmiques) ; 
-  - définition en termes algorithmique du programme de test ; 
-  - la procédure 
-<note tip> 
-  * Les cinq première étape de la méthode d'​approche définit ce qu'il faut faire (le quoi ?) ; 
-  * La sixième étape définit comment on le fait (le comment). 
-</​note>​ 
- 
-====Le compte rendu d'une procédure==== 
-Les trois étapes du compte rendu: 
- 
-  - Le jeu d'​essai ; 
-  - le programme de validation de la procédure ; 
-  - le programme de la procédure 
- 
-===== Rédiger une procédure qui compte les voyelles d'un mot.===== 
-On cherchera à exprimer la résolution en meta-langage d'une procédure qui permet de retourner le nombre de voyelles contenu dans une phrase.\\ ​ 
- 
-On partira du principe que cette phrase est arrêtée par un point. 
- 
-===1) Un schéma de ce qu'il faut faire avec cette procédure=== 
- 
-<​code>​ 
- 
-Entrée ​      ​| ​                         | Sortie ​   ​ 
-phrase ----> | procédure compte voyelle |----> nombre de voyelles 
-</​code>​ 
- 
- 
-===2) Définition des données : le structure de données=== 
-On définit les types.\\ 
- 
-  * Phrase : 
-On crée un type phrase pour le type "​chaîne de caractère"​ 
- 
-<code c> 
-chaine = tableau[N] de caractères 
-</​code>​ 
-''​chaine''​ : nom de ce nouveau type\\ 
-''​tableau''​ : mot clé 
-''​[N]''​ : taille du tableau ou indice maximal 
-''​de caractères''​ : nature ou type 
- 
-===3) Jeu d'​essai === 
- 
-Il permet de penser aux cas limites pour définir plus en détail ce qu'il faut faire avec cette procédure.\\ ​ 
-En tant que débutant, on pose que la condition d'​arrêt est donnée. C'​est-à-dire on n'​envisagera pas le cas où l'​utilisateur oublie le point à sa phrase. 
- 
-<​code>​ 
-  | phrase ​   |  nombre de voyelles ​ | 
-1 |"​oiseau." ​ |   ​5 ​                 |  ​ 
-2 | "​." ​      ​| ​  ​0 ​                 | 
-3 |"​kwskwz." ​ |   ​0 ​                 | 
-4 |"​oie." ​    ​| ​  ​3 ​                 | 
- 
-</​code>​ 
- 
-1) L'​utilisateur rentre un mot.\\ ​ 
-2) Et si l'​utilisateur ne rentre que la condition d'​arrêt,​ est-ce que doit contenir la procédure pour que le programme fonctionne ?\\ 
-3) l'​utilisateur est polonais ; pas de voyelle à son mot LOL  \\  
-4) Il choisit un mot contenant que des voyelles 
- 
-===4) définition de l'​interface === 
-Quand le problème se compliquera,​ il pourra y avoir plusieurs interfaces.\\ ​ 
-Il s'agit là de réécrire ce qu'on a définit précédemment en termes algorithmiques. 
- 
-Voilà comment le formalisme exige que soit déterminé l'​interface de la procédure :\\ 
- 
-<​code>​ 
-procédure CompteVoyelle(entrée phrase : chaine , sortie nbrVoyelle : entier) 
- 
-// CompteVoyelle : Cette procédure permet de compter les voyelles d'une phrase. 
-// phrase : c'est la phrase analysée 
-// nbrVoyelle : nombre de voyelles (a e i o u) d'une phrase 
- 
- 
-</​code>​ 
-<note tip> 
-**__Explications__**\\ 
- 
-Il s'agit de définir les paramètres formelles (imaginaires ) de la procédure en entrée et en sortie, ces paramètres prendront d'​autre noms lorsque la procédure sera utilisée dans le programme de la procédure.\\ 
- 
-''​procédure CompteVoyelle(entrée phrase : chaine , sortie nbrVoyelle : entier''​ 
- 
-''​CompteVoyelle''​ : nom de la procédure ; la syntaxe du nom sera repris **à l'​identique** dans l'​algorithme final pour **l'​appel** (utilisation) de la procédure.\\ 
- 
-''​phrase''​ : nom de la variable d'​entrée,​ dans cette "​notice",​ **dans cette "​notice**"​\\ ​ 
-''​chaine''​ : nom du type créé (un tableau nommé chaine) : __ré-utilisé (c'est une fonction) par le programme de test de la procédure__.\\ ​ 
- 
-''​nbrVoyelle''​ : nom de la variable de sortie, **dans cette "​notice"​**\\ 
-''​entier''​ : type de la variable chaine (elle est d'un type existant). 
-</​note>​ 
- 
-===5) Le programme (en langage algorithmique) d'​essai === 
-Là encore on définit le QUOI((ce qu'il faut faire)), et pas encore le COMMENT((comment cette procédure fonctionne)).\\ ​ 
- 
-<code c> 
-CONSTANTES 
- 
-N = 43 // taille maximum d'une phrase 
-STOP = '​.'​ // Caractère terminateur 
- 
-TYPE 
-chaine = tableau[N] de caractère 
-    
-VARIABLES 
-Texte : chaine // texte à analyser 
-nbV : entier // nombre de voyelles du texte 
- 
-PROCÉDURE ​ 
-CompteVoyelle 
-/*On colle là ce qu'on a rédigé précédemment,​ "la notice"​ de la procédure*/​ 
- 
-  début 
-       ​écrire ("​Donnez votre texte."​) 
-       lire (Texte) 
-       ​comptevoyelle(texte , nbV) 
-  fin 
- 
-</​code>​ 
- 
-On voit que ce programme de test utilise la notice de la procédure **CompteVoyelle** est utilise le type ''​chaine''​ avec des variables nommées différemment. (Chacun est maître chez soi !). 
- 
-C'est le programme que le concepteur lit pour lui-même est vérifié que sa procédure fonctionne. 
- 
-===6) Le code de la procédure === 
- 
-C'est le programme de la procédure.\\ 
-On rédige cette fois en termes algorithmiques ce que définissait la notice de la procédure à l'​étape n°4, en langage imaginaire. ​ 
-C'est ce programme que le codeur en C ; C# ; C++ ... lira et traduira dans le langage de programmation qui est le sien. 
- 
-<code c> 
-INTERFACE 
-procédure CompteVoyelle(entrée phrase : chaine , sortie nbrVoyelle : entier) 
- 
-// CompteVoyelle : Cette procédure permet de compter les voyelles d'une phrase. 
-// phrase : c'est la phrase analysée 
-// nbrVoyelle : nombre de voyelles (a e i o u) d'une phrase 
- 
-VARIABLES 
- 
-i : entier 
- 
-  début 
-        
-       i := 1 // indice de parcours 
-       ​nbVoyelle := 0 // nombre de voyelle cherché dans la phrase 
-        
-       ​TQ ​ phrase[i] <> STOP  faire 
-            ​ 
-            // Traiter un caractère 
-            ​ 
-              SI ((phrase[1] = '​a'​) OU (phrase[1] = '​e'​) OU (phrase[1] = '​i'​) OU (phrase[1] = '​o'​) 
-                  OU (phrase[1] = '​u'​) OU (phrase[1] = '​y'​)) 
-                
-                 ALORS 
-                 ​nbVoyelle := nbVoyelle + 1 
-                  
-               FINSI 
-          ​ 
-          i := i + 1 
-          ​ 
-       ​FinTQ ​   
- 
-</​code>​ 
- 
-=====Conclusion : Archiver une procédure===== 
- 
-Une procédure est un outil qui doit être archivé, documenté pour que d'​autre s'en serve sans ce poser de question ; ils l'​utiliseront comme une recette de cuisine. 
- 
- 
-  - Le jeu d'​essai ; 
-  - le programme de validation de la procédure ; 
-  - le programme de la procédure 
utilisateurs/hypathie/tutos/algo-la-presentation-d-une-procedure.1417246682.txt.gz · Dernière modification: 29/11/2014 08:38 par Hypathie

Pied de page des forums

Propulsé par FluxBB