Categories: AlgorithmeCours

cours algorithme /NSTRUCTIONS CONDITIONNELLES & ALTERNATIVES

Dans ce cours algorithme, nous intéressons aux instructions conditionnelles & alternatives.

Maîtriser le fonctionnement et la logique est le point de départ pour s’initier à la programmation et être un bon porgrammeur.

cours gratuit algorithme / cours initiation à la programmation / cours Algorithmique et techniques de programmation.

NOTION DE PRIMITIVES DE BASE STRUCTUREES.

Tous les algorithmes que l’on a vus, jusqu’à présent, ont un enchaînement d’exécution des instructions séquentiel et linéaire du début jusqu’à la fin.

Dans de nombreuses applications, on exige une exécution par morceau des sauts ou des répétitions d’un même bloc d’instructions. C’est le rôle des primitives de base structurées.

Ces primitives possèdent des structures de blocs et s’appellent aussi instructions composées.

On distingue        deux grandes     familles      d’instructions composées:

-les primitives de choix qui permettent de choisir les instructions à exécuter selon les valeurs courantes de certaines variables ; elles sont de deux types:

  • les instructions conditionnelles
  • les instructions alternatives

les primitives d’itération qui sont utilisées lorsque l’on souhaite exécuter plusieurs fois le même traitement.

Les notions de choix et d’itération sont deux notions fondamentales de l’algorithmique.

Syntaxe :

cours algorithme / illustration -shéma

L’instruction sera exécutée si et seulement si la condition est vérifiée (valeur booléennes Vrai).

Exemple 1:

Si “il pleut” Alors

“je prend mon parapluie”;

Finsi

Exemple 2 : Valeur absolue d’un nombre réel

x=/x/ si X est sup à 0

|x|=-X si X<0

Algorithme valeur_absolue1;

Var

X: réel;

Début

Lire(X);

Si X<0 Alors

Finsi

x    ← -X

Ecrire(‘la valeur absolue est :’,X);

Fin

L’instruction Si…Alors…Sinon…Finsi.

Syntaxe :

Si condition Alors Instruction1
Sinon
Instruction2;
Finsi

Organigramme :

Instructionl est exécutée si la condition est vérifiée,sinon c’est Instruction2 qui sera exécutée.

Exemple3:

Si “Il fait beau” Alors

“Vous pouvez sortir en pique-nique”

Sinon

“Vous restez chez vous”;

Finsi

Exemple 4 : Valeur absolue de la différence de deux nombres réels.

Ecrire un algorithme qui permet d’afficher la valeur absolue de la différence entre deux nombres réels saisis au clavier.

—–Cours Algorithmique et techniques de programmation——–

|X-Y|=X-Y siX>Y

|X-Y| =-(X-Y)=Y-X si X<Y

Donc on va calculer X-Y si X>Y et Y-X si X<Y

Algorithme valeur_absolue2;

Var

Début

X,Y,Z:réels;

Lire(X);

Lire(Y);

Si X>Y Alors

Z     ←    X-Y

Sinon

Z   ← Y-X;

Finsi

Ecrire(‘la valeur absolue de la différence est :’,Z);

Fin

Imbrication de Si

Dans de nombreuses applications, on peut avoir plusieurs cas d’exécution selon différentes conditions. Il faut donc exprimer beaucoup de Si les uns à la suite des autres pour englober tous les cas.

Un Si peut être exprimé à la suite d’un Alors d’un autre Si et/ou à la suite de son Sinon.

Exemple 5:

Un moniteur d’auto-école veut apprendre à un candidat au permis de conduire ce qu’il faut faire dans un croisement avec feu.Il y a trois possibilités :

– si le feu est vert, le candidat peut passer,

-si le feu est orange, le candidat doit ralentir et se préparer pour s’arrêter,

– si le feu est rouge, le candidat doit s’arrêter.

On va proposer un algorithme de résolution de ce problème.

Algorithme croisement_feu;

Var

Couleur_feu:chaîne de caractères;

Début

Ecrire(‘Observer la couleur du feu’);

Lire(Couleur_feu);

Si Couleur_feu = “rouge” Alors

Ecrire(‘Arrêtez-vous immédiatement’)

Sinon Si Couleur_feu = “Orange” Alors

Ecrire(‘Ralentissez et préparez-vous pour

vous arrêter’)

Sinon

Ecrire(‘Passez’);

Finsi

Finsi

Fin

Dans cet exemple, on remarque l’utilisation d’un Si après SINON d’un autre SI.

Etude d’un exemple.

Exemple 6:

On désire écrire un algorithme qui permet d’afficher le jour correspondant à un chiffre allant de 1 à 7, entré au clavier.

On peut résoudre ce problème en utilisant 7 Si imbriquées.

Dans cet algorithme, on remarque beaucoup d’imbrications de plusieurs Si, ce qui peut être à l’origine d’ambiguïté et d’erreurs d’oubli d’un Sinon ou d’un Finsi, et donc d’un mauvais fonctionnement de l’algorithme.

Solution : avec la primitive Cas, nous allons résoudre complètement le problème.

Syntaxe

Cas variable

Valeur_1: instruction_1;

Valeur_2:instruction_2;

Valeur_N:instruction_N

Sinon

instruction_par_defaut;

Fincas

cours algorithme /shéma d’ illustration

La machine aura le choix parmi N valeurs.

L’instruction qui sera exécutée est celle qui correspondra à la valeur courante de la variable testée.

Lorsque cette exécution est achevée, on va ignorer toutes les instructions suivantes à l’intérieur de Cas et passer directement à l’instruction venant immédiatement après celle-ci.

Les choix sont exclusifs l’un de l’autre (une même valeur ne peut pas entraîner deux traitements différents).

Par contre deux valeurs différentes peuvent entraîner un même traitement. Nous pouvons alors les regrouper séparées par des virgules avant de décrire le traitement.

Les valeurs peuvent se présenter sous forme d’un intervalle.

Si la variable n’est égale à aucune des valeurs testées, c’est instruction_par_défaut qui est exécutée.

L’instruction par défaut n’est pas obligatoire. Dans ce cas,si la variable n’est égale à aucune des valeurs testées alors on ignore purement et simplement l’instruction Cas et on passe à l’instruction suivante.

Les instructions i peuvent être simples ou composées.

La variable de sélection doit être déclarée, et ne doit avoir qu’un type discret (entier ou caractère mais pas réel).

Algorithme salut

Var

Heure:entier;

Début

Lire(Heure);

Cas Heure

6,7,8,9, 10, 11, 12 : Ecrire(‘Bonjour’);

13..18                                      :Ecrire(‘Bon après-midi’);

Sinon Ecrire(‘Bonsoir’);

Fincas

Fin

Dans cet exemple on a supposé, que l’utilisateur n’introduit qu’un nombre entier compris entre 0 et 23. Nous verrons dans le prochain chapitre, comment faire ce genre de contrôle dans le cas général.

Autres articles

Conversion Binaire-Décimal : Définitions, Commentaires et Exercices...
💡 1. Définition de la Conversion Binaire-Décimal La conversion binaire-décimal est...
Read more
Exercices Corrigés sur la Soustraction Binaire
La soustraction binaire est une opération fondamentale en informatique et...
Read more
Comment Calculer le Complément à Deux -...
Télécharger un modèle excel automatisé pour Calculer le Complément à...
Read more
Guide sur le Complément à Deux -...
Cet article vous montre comment calculer le Complément à Deux. Le...
Read more
Exercices Corrigés Incoterms : Comparaison entre DDP...
Ces exercices détaillent les implications financières et logistiques des Incoterms...
Read more
Exercices Corrigés : Comparaison entre CIF et...
Ces exercices vous aideront à comprendre les différences entre l’Incoterm...
Read more
AZ

Recent Posts

Rédiger un Rapport Administratif : Modèle Canevas Word, Exemple, et Outils

La rédaction d’un rapport administratif est une compétence essentielle dans le monde professionnel. Qu’il s’agisse…

8 heures ago

Méthode de Travail Agile : Guide, Canevas pour la Mise en Œuvre, Comparatif des Meilleurs Outils

Téléchargez un modèle Word pour la mise en œuvre de la méthode agile. ⬇︎ Avant…

8 heures ago

Rédiger un Mémoire, Essai ou Dissertation : Modèle de Rédaction Académique

Télécharger un Modèle de Rédaction Académique (word) à suivre pour rédiger un Mémoire, Essai ou…

9 heures ago

Le Plan Dialectique : Thèse, Antithèse, Synthèse – Canevas Word à Remplir – Comparatif des Meilleurs Livres sur ce Sujet

Le plan dialectique, structuré autour des axes thèse, antithèse et synthèse, constitue une méthode rigoureuse…

10 heures ago

Guide Pratique : Modèle de Réponse à un Courrier Administratif

Répondre à un courrier administratif est une démarche courante qui nécessite rigueur, clarté et respect…

21 heures ago

Rédiger un Courrier Temporaire : Conseils et Modèle Prêt à l’Emploi

Le courrier temporaire est un document formel utilisé pour communiquer une décision, une demande ou…

1 jour ago

This website uses cookies.