Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
4_domaines_specialises:informatique:ecrire_du_pseudocode [2021/11/09 17:31] – Fusion avec la page "4_domaines_specialises/informatique/ecrire_du_pseudocode2". jejust | 4_domaines_specialises:informatique:ecrire_du_pseudocode [2022/07/12 15:08] (Version actuelle) – [Comment écrire des algorithmes en pseudocode?] Formulation améliorée dbitouze | ||
---|---|---|---|
Ligne 23: | Ligne 23: | ||
Aucune de ces solutions n'est parfaite et universelle. | Aucune de ces solutions n'est parfaite et universelle. | ||
Pour choisir entre elles, demandez-vous: | Pour choisir entre elles, demandez-vous: | ||
- | * quel style de sortie préférez-vous? | + | * quel style de sortie |
- | * dans quelle mesure avez-vous besoin d' | + | * dans quelle mesure avez-vous besoin d' |
- | * avez-vous besoin que les algorithmes flottent comme des figures ou des tableaux? | + | * si vous avezvous |
</ | </ | ||
Ligne 35: | Ligne 35: | ||
et diverses structures itératives et conditionnelles. Ces primitives peuvent facilement être redéfinies pour produire | et diverses structures itératives et conditionnelles. Ces primitives peuvent facilement être redéfinies pour produire | ||
une sortie différente. Cependant, il n'y a pas de support pour ajouter de nouvelles primitives. | une sortie différente. Cependant, il n'y a pas de support pour ajouter de nouvelles primitives. | ||
- | La mise en forme du pseudocode | + | |
- | l' | + | La mise en forme du pseudocode |
+ | l' | ||
pour numéroter les algorithmes de manière séquentielle, | pour numéroter les algorithmes de manière séquentielle, | ||
[[3_composition: | [[3_composition: | ||
et produire « Liste des algorithmes » en début de document. | et produire « Liste des algorithmes » en début de document. | ||
+ | |||
+ | Voici un exemple d' | ||
+ | |||
+ | <code latex> | ||
+ | \documentclass{article} | ||
+ | \usepackage{algorithm, | ||
+ | |||
+ | \begin{document} | ||
+ | \begin{algorithm} | ||
+ | \caption{Un joli algorithme} | ||
+ | \begin{algorithmic} | ||
+ | \REQUIRE{habiter près des montagnes} | ||
+ | \REPEAT | ||
+ | | ||
+ | \STATE faire une randonnée | ||
+ | | ||
+ | \STATE résoudre P $\neq$ NP | ||
+ | | ||
+ | \UNTIL{foulure de cheville} | ||
+ | \ENSURE{bobo} | ||
+ | \end{algorithmic} | ||
+ | \end{algorithm} | ||
+ | \end{document} | ||
+ | </ | ||
+ | |||
===== Avec les extensions de “algorithmicx” ===== | ===== Avec les extensions de “algorithmicx” ===== | ||
Ligne 71: | Ligne 97: | ||
L' | L' | ||
+ | Elle a l' | ||
+ | Les petites instructions conditionnelles peuvent être présentées sur une ligne, pour une écriture compacte, | ||
+ | et l'on peut facilement ajouter un filet sur le côté. La commande '' | ||
+ | |||
Elle charge l' | Elle charge l' | ||
mais vous pouvez toujours utiliser l' | mais vous pouvez toujours utiliser l' | ||
« là où vous l'avez écrit ». | « là où vous l'avez écrit ». | ||
- | |||
- | |||
- | $\Reponse$ | ||
- | d' | ||
- | d' | ||
- | conditionnelles peuvent être présentées sur une ligne et l'on peut facilement | ||
- | ajouter un filet sur le côté. Il dispose également de commandes telles que | ||
- | '' | ||
Voici un algorithme écrit avec [[ctanpkg> | Voici un algorithme écrit avec [[ctanpkg> | ||
Ligne 157: | Ligne 179: | ||
"// | "// | ||
([[https:// | ([[https:// | ||
- | Malheureusement, | + | Son environnement '' |
+ | vous pouvez utiliser | ||
- | $\Reponse$ | + | L'extension connaît |
- | par défaut, utilise le mode mathématique et l' | + | et propose un certain nombre de macros telles que //call//, //error//, //algkey//, //return//, //nil//. |
- | La commande '' | + | |
- | // | + | |
- | de macros telles que //call//, //error//, //algkey//, //return//, //nil//. | + | |
- | Exemple d' | + | Malheureusement, |
<code latex> | <code latex> | ||
Ligne 181: | Ligne 201: | ||
\end{document} | \end{document} | ||
</ | </ | ||
- | |||
- | |||
Ligne 195: | Ligne 213: | ||
Elle offre un style courant « de type Pascal », et quelques structures intéressantes supllémentaires | Elle offre un style courant « de type Pascal », et quelques structures intéressantes supllémentaires | ||
pour ce qui ressemblerait à des blocs en Pascal. | pour ce qui ressemblerait à des blocs en Pascal. | ||
- | |||
Ligne 208: | Ligne 225: | ||
mais un fichier d' | mais un fichier d' | ||
de nombreux cas d' | de nombreux cas d' | ||
- | |||
- | $\Reponse$ | ||
- | mots clés, d' | ||
<WRAP column 50ex> | <WRAP column 50ex> | ||
Ligne 267: | Ligne 281: | ||
L' | L' | ||
</ | </ | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | $\Reponse$ | ||
- | dans [[ctanpkg> | ||
- | [[ctanpkg> | ||
- | fournit un environnement flottant semblable à '' | ||
- | (voir [[3_composition: | ||
- | Voici un exemple d' | ||
- | |||
- | <code latex> | ||
- | \documentclass{article} | ||
- | \usepackage{algorithm, | ||
- | |||
- | \begin{document} | ||
- | \begin{algorithm} | ||
- | \caption{Un joli algorithme} | ||
- | \begin{algorithmic} | ||
- | \REQUIRE{habiter près des montagnes} | ||
- | \REPEAT | ||
- | | ||
- | \STATE faire une randonnée | ||
- | | ||
- | \STATE résoudre P $\neq$ NP | ||
- | | ||
- | \UNTIL{foulure de cheville} | ||
- | \ENSURE{bobo} | ||
- | \end{algorithmic} | ||
- | \end{algorithm} | ||
- | \end{document} | ||
- | </ | ||