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.

AZ

Share
Published by
AZ

Recent Posts

Questions pièges en entretien d’embauche : méthodes et réponses pour réussir

Un entretien d’embauche ressemble rarement à une conversation ordinaire. Derrière des questions en apparence simples…

1 semaine ago

Questions entretien d’embauche commercial : exemples et réponses efficaces

Préparez efficacement votre entretien commercial avec 140 questions clés et 12 mises en situation concrètes…

1 semaine ago

Questions d’entretien d’embauche : exemples, réponses et conseils pour réussir

Un entretien d’embauche crée souvent une impression particulière. Quelques minutes avant d’entrer dans la salle…

1 semaine ago

Modèle de Devis Bâtiment Excel

Dans le bâtiment, un devis représente souvent le premier véritable contact entre une entreprise et…

1 semaine ago

Lettre de motivation EHPAD : guide complet, exemples concrets et conseils pour une candidature réussie

Dans un EHPAD, chaque candidature révèle une manière d’être autant qu’un savoir-faire. Derrière la lettre…

2 semaines ago

Lettre de motivation mutation interne : Modèles & Exemples Word

Télécharger des modèles et exemples Word de lettres de motivation pour mutation interne ⬇️ Au…

2 semaines ago

This website uses cookies.