02 – Les structures de contrôle

Introduction

Bienvenue dans le deuxième cours sur les logigrammes en informatique ! Nous allons approfondir nos connaissances et apprendre à créer des logigrammes pour résoudre des problèmes. Nous examinerons différents types de logigrammes et comment les utiliser efficacement.

Les structures conditionnelles

Les structures de contrôle sont les techniques permettant à votre programme d’effectuer des opérations différentes selon des paramètres (un contrôle). On distingue les conditions (structures conditionnelles) et les boucles (structures répétitives/itératives).

\pagebreak

Si… alors…

Nous allons continuer par les conditions les plus simples, les Si… alors. Dans beaucoup de langage de programmation, ça ressemble à

if(...)
{...} 
// autre code

Quand nous voulons modéliser une condition simple, nous allons utiliser un losange pour la condition, le traitement en dessous relié par une flèche dans le sens de l’exécution, et un cercle sur la droite avec une flèche arrivant dans la flèche après le bloc conditionnel. Bon, c’est assez compliqué à comprendre, le mieux c’est avec une image.

file

\pagebreak

Qu’avons-nous ?

Nous avons un losange, et dedans nous marquons la condition (exemple : 48 > 50), puis nous avons le traitement exécuté si la condition est valable. Ensuite nous avons une flèche sur le côté qui indique où s’arrête le bloc de conditions.

Pour interpréter le schéma en Pseudo-code, on écrirait :

SI (Condition)
    ALORS Traitement

Tout simplement.

\pagebreak

Si… alors… Sinon…

Vous savez déjà le faire sans le savoir ! En fait, le mieux est toujours un exemple à étudier. Voici le pseudo code :

SI condition
    Traitement1
    Traitement2
SINON
    Traitement3

Alors, on fait l’instruction classique, puis nous mettons dans la flèche terminant le bloc d’instruction les conditions SINON. Et c’est TOUT !

file

Voici la règle à retenir :

file

\pagebreak

Si… alors… Sinon si … alors… Sinon…

Ah oui j’oubliais ! Les structures conditionnelles complexes… Pour modéliser correctement, il faut savoir programmer correctement, et surtout comprendre ce que nous faisons. En fait, quand vous utilisez une structure conditionnelle Si… Sinon Si… Sinon vous faites en vérité une condition dans une autre. Le principe est tout simple, vous allez le voir.

file

\pagebreak

Cet algorithme correspond à :

SI Condition1
    ALORS Traitement1

SINON SI Condition2
    ALORS Traitement2

SINON SI Condition3
    ALORS Traitement3

SINON Traitement4

Vous êtes capables de le comprendre ! En fait, quand vous avez une condition qui n’est pas valable, nous retournons au bloc conséquent (SINON). Ensuite, nous faisons un nouveau test dans ce bloc et s’il est valable, on termine. C’est comme ça que ça fonctionne. SINON et SI sont deux tests différents, et je pense que c’est valable dans tous les langages de programmations sérieux qu’il peut exister.

\pagebreak

Tant que… Faire…

Cette boucle est l’équivalent de la boucle while de la plupart des langages. Elle permet de répéter une action tant qu’une condition est valable. Vous devez sans doute la connaître.

En effet, en algorithmique, une boucle est en fait une condition particulière, vous allez le voir. Le mieux sera toujours un exemple.

file

\pagebreak

Essayons de comprendre.

  1. Vous arrivez sur une condition, on le sait grâce à la flèche (c’est important d’en avoir une ici).
  2. On regarde si elle est valable :
    1. Si elle ne l’est pas, on continue l’exécution.
    2. Si elle l’est, nous faisons un (ou plusieurs) traitements pour revenir au final au point de départ, la condition.
  3. Ensuite on refait les tests, et on retombe sur la condition à chaque fois qu’elle est valable auparavant. La boucle est bouclée.

Tout se joue dans la liste au point 2, quand la boucle continue et quand elle s’arrête.

Compris ? Alors continuons.

\pagebreak

Répéter… tant que…

Maintenant nous allons nous intéresser à un autre type de boucle, celle qui fait un traitement, et teste seulement après. Dans beaucoup de langages, elle s’appelle do… while(…). Nous allons toujours découvrir le type de boucle par un exemple. En fait, les instructions qui doivent être répétées se trouvent avant le test conditionnel de la boucle, ce qui donne le schéma ci-dessous.

file

\pagebreak

Voici les étapes de l’exécution.

  1. Vous commencez par arriver sur le traitement1, que vous effectuez.
  2. Vous arrivez sur la condition de la boucle conditionnelle. Vous avez deux cas :
    1. La condition n’est pas valable, vous continuez par la droite ;
    2. La condition est valable, vous suivez la flèche et vous retombez sur le traitement1, que vous exécutez.
  3. Vous retombez sur la condition, et vous retombez à l’étape II.

Résultat des courses : vous avez effectué une fois le Traitement1 avant de tester la condition, vous avez réussi l’algorithme !

Je n’ai plus rien à vous enseigner sur les structures de contrôles, avec réflexion, vous pouvez faire des boucles infinies, imbriquées…

Dans certains langages de programmation, il existe une boucle nommée for. Cette boucle n’est en fait qu’une boucle while un peu plus complexe (une initialisation, un test et une incrémentation à la fois).

\pagebreak

Création de logigrammes complexes

Nous allons aborder des exercices légèrement plus complexes.

Retour sur les Exercices

Discutons des exercices et des logigrammes créés. Comprenez différentes approches et discutez de la manière d’améliorer vos logigrammes.

Conclusion et Devoirs

Félicitations, vous avez appris à créer des logigrammes complexes et à représenter la logique de manière visuelle ! Pour la prochaine fois, lisez sur les différents types de logigrammes et préparez des exemples pour partager avec la classe.



↵ retour vers: Logique

Pour accéder au contenu réservé aux enseignants, contactez david@goprof.be.