Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/lestanvi/wiki/includes/GlobalFunctions.php on line 1978
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::open($save_path, $session_name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/PHPSessionHandler.php on line 181
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/PHPSessionHandler.php on line 196
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::read($id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/PHPSessionHandler.php on line 210
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::write($id, $dataStr) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/PHPSessionHandler.php on line 238
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::destroy($id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/PHPSessionHandler.php on line 344
Deprecated: Return type of MediaWiki\Session\PHPSessionHandler::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/PHPSessionHandler.php on line 365
Deprecated: strcasecmp(): Passing null to parameter #1 ($string1) of type string is deprecated in /home/lestanvi/wiki/includes/session/CookieSessionProvider.php on line 101
Deprecated: Return type of MediaWiki\Session\Session::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 588
Deprecated: Return type of MediaWiki\Session\Session::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 594
Deprecated: Return type of MediaWiki\Session\Session::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 606
Deprecated: Return type of MediaWiki\Session\Session::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 600
Deprecated: Return type of MediaWiki\Session\Session::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 618
Deprecated: Return type of MediaWiki\Session\Session::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 612
Deprecated: Return type of MediaWiki\Session\Session::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 628
Deprecated: Return type of & MediaWiki\Session\Session::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 641
Deprecated: Return type of MediaWiki\Session\Session::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 651
Deprecated: Return type of MediaWiki\Session\Session::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/session/Session.php on line 656
Deprecated: Message implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/lestanvi/wiki/includes/language/Message.php on line 136
Deprecated: MapCacheLRU implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/lestanvi/wiki/includes/libs/MapCacheLRU.php on line 37
Deprecated: RawMessage implements the Serializable interface, which is deprecated. Implement __serialize() and __unserialize() instead (or in addition, if support for old PHP versions is necessary) in /home/lestanvi/wiki/includes/RawMessage.php on line 35
Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/lestanvi/wiki/includes/parser/Parser.php on line 4350
Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/lestanvi/wiki/includes/parser/Parser.php on line 4353
Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/lestanvi/wiki/includes/parser/Parser.php on line 4359
Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /home/lestanvi/wiki/includes/parser/Parser.php on line 4361
Deprecated: Return type of CacheTime::jsonSerialize() should either be compatible with JsonSerializable::jsonSerialize(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/lestanvi/wiki/includes/json/JsonUnserializableTrait.php on line 26
Warning: Cannot modify header information - headers already sent by (output started at /home/lestanvi/wiki/includes/session/Session.php:48) in /home/lestanvi/wiki/includes/changes/ChannelFeed.php on line 95
Warning: Cannot modify header information - headers already sent by (output started at /home/lestanvi/wiki/includes/session/Session.php:48) in /home/lestanvi/wiki/includes/changes/ChannelFeed.php on line 100
Warning: Cannot modify header information - headers already sent by (output started at /home/lestanvi/wiki/includes/session/Session.php:48) in /home/lestanvi/wiki/includes/WebResponse.php on line 74
Warning: Cannot modify header information - headers already sent by (output started at /home/lestanvi/wiki/includes/session/Session.php:48) in /home/lestanvi/wiki/includes/WebResponse.php on line 74
Warning: Cannot modify header information - headers already sent by (output started at /home/lestanvi/wiki/includes/session/Session.php:48) in /home/lestanvi/wiki/includes/WebResponse.php on line 74
Warning: Cannot modify header information - headers already sent by (output started at /home/lestanvi/wiki/includes/session/Session.php:48) in /home/lestanvi/wiki/includes/WebResponse.php on line 74 https://wiki.lestanville.eu/index.php?action=history&feed=atom&title=Syntaxe_algorithmeSyntaxe algorithme - Historique des versions2026-07-11T09:17:58ZHistorique des révisions pour cette page sur le wikiMediaWiki 1.36.3https://wiki.lestanville.eu/index.php?title=Syntaxe_algorithme&diff=11&oldid=prevGuillaume le 21 juillet 2022 à 13:542022-07-21T13:54:54Z<p></p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="fr">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Version précédente</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Version du 21 juillet 2022 à 13:54</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l49">Ligne 49 :</td>
<td colspan="2" class="diff-lineno">Ligne 49 :</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Les constructions se basent sur les types intrinsèques pour définir de nouveaux types.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Les constructions se basent sur les types intrinsèques pour définir de nouveaux types.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Les tableaux ===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=</ins>=== Les tableaux <ins style="font-weight: bold; text-decoration: none;">=</ins>===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Un tableau regroupe dans une même structure plusieurs valeurs qu'on peut accéder par un index.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Un tableau regroupe dans une même structure plusieurs valeurs qu'on peut accéder par un index.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><code>TABLEAU DE 5 ENTIER</code></div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div><code>TABLEAU DE 5 ENTIER</code></div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l102">Ligne 102 :</td>
<td colspan="2" class="diff-lineno">Ligne 102 :</td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> mon_salaire: Nombre</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div> mon_salaire: Nombre</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;"><div>=== Les constantes ===</div></td><td class="diff-marker" data-marker="+"></td><td style="color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;"><div><ins style="font-weight: bold; text-decoration: none;">=</ins>=== Les constantes <ins style="font-weight: bold; text-decoration: none;">=</ins>===</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Lorsqu'on a besoin de définir une valeur de nature constante et qui est reprise à plusieurs endroit. On définit une constante. Elles sont introduites avec le mot-clé "CONSTANTE" et l'écriture est similaire aux variables.</div></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><div>Lorsqu'on a besoin de définir une valeur de nature constante et qui est reprise à plusieurs endroit. On définit une constante. Elles sont introduites avec le mot-clé "CONSTANTE" et l'écriture est similaire aux variables.</div></td></tr>
<tr><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td><td class="diff-marker"></td><td style="background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;"><br/></td></tr>
</table>Guillaumehttps://wiki.lestanville.eu/index.php?title=Syntaxe_algorithme&diff=10&oldid=prevGuillaume : Page créée avec « == Introduction == La casse des caractères n'a pas d'importance pour les mots-clés. En règle générale, ils sont écris en majuscule. Toutefois le style dépend de la… »2022-07-21T13:53:14Z<p>Page créée avec « == Introduction == La casse des caractères n'a pas d'importance pour les mots-clés. En règle générale, ils sont écris en majuscule. Toutefois le style dépend de la… »</p>
<p><b>Nouvelle page</b></p><div>== Introduction ==<br />
La casse des caractères n'a pas d'importance pour les mots-clés. En règle générale, ils sont écris en majuscule.<br />
<br />
Toutefois le style dépend de la sensibilité de chacun. Personnellement j'aime bien utiliser le tout-minuscule.<br />
<br />
== Règles générales ==<br />
Chaque ligne contient une instruction. Elle se termine avec le saut de ligne. <br />
<br />
Certains mots-clés sont des ouvertures de bloc. La fermeture est signalée par le mot-clé "FIN" suivi du mot-clé d'ouverture. Exemple:<br />
SI ....<br />
# Instructions<br />
FIN SI<br />
<br />
L'algorithme commence toujours par le mot-clé "ALGORITHME" suivi du nom.<br />
<br />
== Les commentaires ==<br />
Il y a deux formes de commentaires: la ligne simple et le multiligne.<br />
<br />
La ligne simple commence par le symbole "#" et se termine en fin de ligne.<br />
<br />
Le multiligne commence par la combinaison de symboles "'''/*'''" et se termine par "'''*/'''". Tant que le symbole de terminaison le texte peut se retrouver sur plusieurs lignes.<br />
<br />
Exemple:<br />
# Commentaire sur une seule ligne<br />
<br />
/* Ce commentaire <br />
se développe sur<br />
plusieurs lignes */<br />
<br />
Les commentaires peuvent se retrouver avant le début et après la fin de l'algorithme.<br />
<br />
J'ai pris pour habitude de mettre en fin le résultat attendu.<br />
<br />
== Les types de données ==<br />
=== Les types intrinsèques ===<br />
Il s'agit essentiellement des types de base. Il servent à construire de nouveaux types de données grâce aux instructions de construction de type.<br />
<br />
* entier: il correspond à l'ensemble des entiers relatifs. Si c'est vraiment nécessaire, on peut utiliser une des alternatives qui précise la taille: octet, entier16, entier32, entier64.<br />
* nombre, réel, flottant: il s'agit de l'ensemble des réels. La précision n'est pas donnée. Le séparateur décimal est le point.<br />
* décimal(taille, précision): il correspond à un sous-ensemble des décimaux. Ils sont indispensable pour conserver une précision des données. <br />
C'est souvent indispensable pour tout ce qui concerne la finance et la comptabilité.<br />
* caractère: contient un caractère possible parmi l'ensemble des jeux de caractères. Les valeurs sont écrites entre 2 apostrophes <code>'a'</code><br />
* texte, chaine, chaine(longueur): Il s'agit d'une chaine de caractères. La dernière forme précise la taille maximale. Les valeurs sont écrites entre deux guillemets <code>"du texte"</code><br />
* quelconque: Il remplace n'importe quel type de données. Attention toutefois à ne pas en abuser !!<br />
* date, heure, dateheure : ces types permettent de définir des valeurs liées au temps qui passe. L'initialisation de ces valeurs utilise le format courant utilisé en France. <br />
C'est à dire "JJ/MM/AAAA" pour la date et "HH:MM:SS" pour l'heure. Ils sont écrits dans une chaine de caractère.<br />
<br />
=== Les constructions ===<br />
Les constructions se basent sur les types intrinsèques pour définir de nouveaux types.<br />
<br />
=== Les tableaux ===<br />
Un tableau regroupe dans une même structure plusieurs valeurs qu'on peut accéder par un index.<br />
<code>TABLEAU DE 5 ENTIER</code><br />
<br />
==== L'énumération ====<br />
L'énumération définit une liste de symboles qui introduisent une abstraction. On les associe en général à une série de constantes regroupées sous un même concept.<br />
<br />
ENUMERATION JourSemaine<br />
Lundi<br />
Mardi<br />
Mercredi<br />
...<br />
FIN ENUMERATION<br />
<br />
==== La structure ====<br />
Dans une structure on stocke plusieurs champs de données de nature hétérogènes.<br />
<br />
STRUCTURE RendezVous<br />
date: DATE<br />
lieu: POSITION_GEOGRAPHIQUE<br />
FIN STRUCTURE<br />
<br />
==== La classe d'objet ====<br />
La classe d'objet est une extension du concept de structure. En plus des données, on y ajoute des méthodes, qui sont en réalité des fonctions et des procédures encapsulées dans une structure.<br />
<br />
CLASSE Animal<br />
nom: CHAINE<br />
<br />
PROCEDURE marche()<br />
FIN PROCEDURE<br />
<br />
FIN CLASSE<br />
<br />
==== La référence ====<br />
La référence permet d'indiquer que deux variables distinctes pointent vers la même zone de stockage de la valeur.<br />
<br />
On s'en sert essentiellement pour éviter de copier un trop grand nombre de données lors de l'appel d'une fonction ou d'une procédure.<br />
Cela permet également de rendre modifiable une valeur passée en paramètres d'une procédure ou d'une fonction.<br />
<br />
=== Les déclarations ===<br />
==== Les variables ====<br />
Les variables sont introduites par le mot-clé "VARIABLE". On y définit son nom, son type et éventuellement une valeur d'initialisation. <br />
<br />
Si le type n'est pas mis, alors c'est l'expression d'initialisation qui détermine le type. S'il n'y a pas d'initialisation, c'est alors le type quelconque qui est pris par défaut.<br />
<br />
VARIABLE mon_nom : CHAINE = "John Doe"<br />
<br />
Il n'est pas nécessaire de répéter le mot clé "VARIABLE" pour chaque ligne de déclaration. Elle termine normalement avec la prochaine instruction qui commence par un mot-clé.<br />
<br />
VARIABLE<br />
mon_métier = "Développeur"<br />
mon_salaire: Nombre<br />
<br />
=== Les constantes ===<br />
Lorsqu'on a besoin de définir une valeur de nature constante et qui est reprise à plusieurs endroit. On définit une constante. Elles sont introduites avec le mot-clé "CONSTANTE" et l'écriture est similaire aux variables.<br />
<br />
Le type n'est pas indispensable, mais l'expression d'initialisation est obligatoire<br />
<br />
CONSTANTE<br />
nombre_de_jours: entier = 7<br />
nombre_de_mois = 12</div>Guillaume