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

Calculer la consommation intermédiaire dans un compte...
La consommation intermédiaire est une donnée importante pour calculer la...
Read more
Guide : Déclaration d’un objet en VB.NET...
VB.NET (Visual Basic .NET) est un langage orienté objet qui...
Read more
Guide : Comment ouvrir une base de...
Ce guide explique étape par étape comment ouvrir une base...
Read more

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *