Outils pour utilisateurs

Outils du site


nsi:premiere:structures_algo

Ceci est une ancienne révision du document !



Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 172

Warning: Undefined array key 1 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Trying to access array offset on value of type null in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 149

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Warning: Undefined array key 2 in /home/goupillf/wiki.goupill.fr/lib/plugins/codeprettify/syntax/code.php on line 214

Structures de contrôle utilisées dans les algorithmes

Dans un algorithme, les lignes sont lues l'une après l'autre dans l'ordre, sauf mention contraire : On peut parfois sauter des lignes et on peut parfois revenir en arrière.

On va donc avoir deux types d'éléments :

  • Des instructions, simple commande devant être exécutées. Un calcul par exemple.
  • Des structures de contrôle de flux qui agissent sur l'ordre d'exécution de l'algorithme.

On pourrait imaginer diverses structures mais on choisit de se limiter à certaines.

Structure de test

La structure de base est le SI auquel on peut ajouter les blocs SINON SI et SINON.

Il s'agit d'exécuter conditionnellement.

SI condition ALORS
    lignes à exécuter quand la condition est vérifiée
FIN SI
SI condition ALORS
    lignes à exécuter quand la condition est vérifiée
SINON
    lignes à exécuter quand la condition n'est pas vérifiée
FIN SI
Renvoi

On fournit des données à un algorithmes et il va les utiliser pour son calcul. Ce sont les entrées.

Souvent, on attend de l'algorithme qu'il nous fournisse un résultat (ou plusieurs). C'est la sortie.

Le renvoi indique quand l'algorithme s'arrête et fourni son résultat.

RENVOYER résultat

Après RENVOYER l'algorithme s'arrête et ne fait plus rien.

Répéter

Il s'agit d'une boucle dans le sens où quelques lignes de l'algorithme vont être exécutées plusieurs fois de suite, en boucle. La question est de savoir : combien de fois.

Quand on connaît d'avance le nombre de répétition, on parle de boucle bornée. Quand on ne le connaît pas et que le nombre de répétition est liée à une condition, on parle de boucle non bornée.
RÉPÉTER nombre FOIS
    lignes qui sont répétées
    dans ce cas on connaît d'avance le nombre de répétition
    cette structure n'existe pas en Python
FIN RÉPÉTER
RÉPÉTER TANT QUE condition
    lignes qui sont répétées
    dans ce cas on ne connaît pas d'avance le nombre de répétition
    en ligne 1 on examine la condition, si elle est vraie, on exécute les lignes
    si elle est fausse, on saute en ligne 8
    en arrivant en ligne 7 on saute en ligne 1 pour réexaminer la condition
FIN RÉPÉTER
suite...
RÉPÉTER
    lignes qui sont répétées
    identique au précédent mais le test de la condition se fait après
    n'existe pas en Python
TANT QUE condition
suite...
RÉPÉTER JUSQU'À condition
    lignes qui sont répétées
    identique à RÉPÉTER TANT QUE mais cette fois, c'est quand la condition
    est vraie que l'on arrête la boucle.
    n'existe pas en Python
FIN RÉPÉTER
suite...
Pour

Il s'agit là encore de boucles répétitives, des boucles bornées Comme dans le cas RÉPÉTER nombre FOIS. Les boucles POUR y ajoute un compteur qui peut être exploité dans l'exécution de la boucle.

Les boucles RÉPÉTER TANT QUE suffise à tout faire. On peut qualifier les autres boucles de sucre syntaxique, c'est à dire de possibilités destinées à l'écriture plus lisible.
POUR compteur ALLANT DE début À fin
    lignes répétées
    lors de la première répétition, le compteur vaut la valeur début
    à chaque répétition, le compteur est augmenté de 1
    la valeur fin est incluse et correspond à la dernière répétition
    n'existe pas en Python
FIN POUR
POUR CHAQUE élément DE ensemble
    lignes répétées
    la valeur de élément énumères les valeurs contenues dans ensemble
    ensemble est donc une sorte de collection d'éléments pouvant être énumérés
    selon le cas, on pourra compter ou pas sur un certain ordre d'énumération des éléments.
FIN POUR
nsi/premiere/structures_algo.1623881768.txt.gz · Dernière modification : de goupillwiki