0% ont trouvé ce document utile (0 vote)
7 vues14 pages

Algorithmie

Ce document présente les structures conditionnelles en algorithmique, notamment la structure alternative simple et imbriquée, ainsi que leur mise en œuvre en VBA. Il inclut des exemples pratiques et des exercices pour illustrer l'utilisation de ces structures dans le calcul de montants en fonction de conditions spécifiques. Les concepts abordés incluent les tests de conditions, les remises, et les structures alternatives multiples pour des choix de traitement.

Transféré par

junior.tortoise.icui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues14 pages

Algorithmie

Ce document présente les structures conditionnelles en algorithmique, notamment la structure alternative simple et imbriquée, ainsi que leur mise en œuvre en VBA. Il inclut des exemples pratiques et des exercices pour illustrer l'utilisation de ces structures dans le calcul de montants en fonction de conditions spécifiques. Les concepts abordés incluent les tests de conditions, les remises, et les structures alternatives multiples pour des choix de traitement.

Transféré par

junior.tortoise.icui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 14

Formation sur les algorithmes

Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 21

Objectifs :
o Présentation de la structure conditionnelle
o Présentation de la structure alternative (simple et imbriquée)
o Présentation de la structure alternative multiple (cas … Selon cas)
o Alternative et mise en œuvre en VBA (Fiche 6)

Sommaire

I) Présentation ..................................................................................................... 22
II) La structure alternative .................................................................................... 22
III) La structure conditionnelle au sens strict ......................................................... 23
 Exercice n° 1........................................................................................... 25
 Exercice n° 2........................................................................................... 25
 Exercice n° 2bis ...................................................................................... 25
 Exercice n° 3 le jeu des erreurs ............................................................ 26
 Exercice n° 4........................................................................................... 28
 Exercice n° 5........................................................................................... 29
 Exercice n° 6........................................................................................... 30
 Exercice n° 7 (d’après Bac IG 1999) ....................................................... 31
 Exercice n° 8........................................................................................... 33
 Exercice n° 9........................................................................................... 34
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 22

I) Présentation

Nous avons vu jusqu’à présent des algorithmes avec des instructions qui s’enchaînent de façon
séquentielles, c'est-à-dire qui vont s’exécuter les unes après les autres.
Toutefois, cela n’est pas toujours satisfaisant.

Supposons que l’on désire écrire un algorithme permettant d’afficher le montant d’une
commande d’imprimantes. Le prix unitaire d’une imprimante est de 255 €. A partir de cinq
imprimantes achetées, le prix est de 215 €.

Que doit faire le traitement ?


Il doit calculer le montant à payer, c'est-à-dire réaliser l’opération « quantité * prix unitaire ».
Or, le prix unitaire est variable et dépend de la quantité commandée.
Le traitement doit donc tester la quantité.

Pour effectuer des tests, nous utilisons les structures conditionnelles.

Les structures conditionnelles permettent d'exécuter des instructions différentes


sous certaines conditions.

II) La structure alternative

Reprenons notre exemple : nous pouvons schématiser le test au travers d’un schéma :

début Le losange indique la condition


c'est-à-dire la question que se
pose le programme : la quantité
est-elle inférieure à 5 ?
VRAI FAUX
Quantité < 5

Prix = quantité * 255 Prix = quantité * 215

fin

Le rectangle indique la ou les instructions à réaliser

Le traitement teste une condition :


- si elle est vraie, il réalise une (ou plusieurs) instruction(s)
- si elle est fausse, il réalise une (ou plusieurs) autre(s) instruction(s)
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 23

Syntaxe

En algorithmique on utilise la structure alternative SI … ALORS … SINON, dont la syntaxe est :

SI condition ALORS
instruction 1
instruction 2 Instructions réalisées si la condition est vraie
SINON
instruction 3
instruction 4
FINSI Instructions réalisées si la condition est fausse

Exemple

Ainsi l’algorithme correspondant à notre exemple est le suivant :

PROGRAMME Commande
VAR
quantite, montant : entier

DEBUT
AFFICHER "Saisir une quantité "
SAISIR quantite
SI quantite < 5 ALORS
montant  quantite * 255
SINON
montant  quantite * 215
FINSI
AFFICHER " Montant commandé : " , montant , " € "
FIN

A noter ici
L’instruction permettant l’affichage du montant commandé se situe après le FINSI.
Elle sera donc réalisée dans tous les cas (quantité < 5 ou quantité ≥ 5)

III) La structure conditionnelle au sens strict

Parfois, il faut exécuter une instruction uniquement si une condition est vraie et ne rien faire si
la condition est fausse.

Reprenons notre exemple de départ : le programme qui affiche le montant d’une commande
d’imprimante. L’utilisateur saisit la quantité commandée. Le prix d’une imprimante est 255 €.
A partir de cinq imprimantes achetées, le prix est de 215 €.
Supposons maintenant que l’on désire appliquer une remise de 1% si le montant dépasse 2200
€.
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 24

Que doit faire le traitement ?


Il teste la condition : est-ce que le montant est supérieur à 2200 € ?
Si la condition est vraie, il applique une remise de 1%.
Si la condition est fausse, il ne fait rien.
début

VRAI FAUX
montant > 2200

montant = montant * 0.99

fin
Syntaxe

En algorithmique on utilise la structure alternative SI … ALORS …, dont la syntaxe est :

SI condition ALORS
Bloc_instructions Les instructions comprises en SI et FINSI sont réalisées
FINSI uniquement si la condition est vraie

Reprise de l’exemple
Compléter votre algorithme en tenant compte de la nouvelle règle de gestion

PROGRAMME Commande
VAR
quantite : entier
montant : réél

DEBUT
AFFICHER " Saisir une quantité "
SAISIR quantite
SI quantite < 5 ALORS
montant = quantite * 255
SINON
montant = quantite * 215
FINSI

AFFICHER " Montant commandé : ", montant


FIN
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 25

 Exercice n° 1

Implanter votre solution précédente en VBA (utiliser la fiche 6 pour vous aider)

Remarque : pour afficher la valeur de la variable montant en €, vous pouvez utiliser la fonction
formatCurrency(variable)

 Exercice n° 2

L'entreprise BASTIA accorde une remise de 3 % sur le prix TTC pour tout achat de plus de 10
articles.
Compléter le programme ci-dessous permettant de trouver le prix TTC en fonction de la
quantité, du prix HT et d'un taux de TVA unique (19,6%)

Programme Remise
Var
prixHT, prixTTC : réel
quantite : entier
Const
tauxTVA = 0.196
tauxRemise = 0.03
Début
Afficher "Entrez le prix hors taxes : "
Saisir prixHT
Afficher "Saisir la quantité achetée : "
Saisir quantite

Afficher "Le prix TTC à payer est de ", prixTTC


Fin

 Exercice n° 2bis

Depuis EXCEL :
- Créer un nouveau module
- Implanter votre nouvelle procédure et tester
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 26

 Exercice n° 3 le jeu des erreurs

Sachant que le type et le nom des variables déclarés sont corrects indiquez les numéros des
lignes erronées, puis les modifications apportées.

Le système de rémunération des représentants de l’entreprise ROSTAND est le suivant :


Fixe mensuel : 1500 €
Prime d’ancienneté : elle est égale à 0 en dessous de 3 ans d’ancienneté ou égale à 5% du
fixe à partir de 3 ans d’ancienneté
Les primes sont intégrées dans le salaire brut

1 Programme Rostand
2 Const
3 fixe = ‘1500’
4 Var
5 ancienneté, tauxAncienneté : entier
6 primeAncienneté, rémunération : réel
7 Début
8 Afficher « Ancienneté en années : »
9 Saisir ancienneté
10 Si ancienneté < « 3 » Alors
11 tauxAncienneté  0
12 Sinon tauxAncienneté  5
13 primeAncienneté  fixe * tauxAncienneté
14 rémunération  fixe + primeAncienneté
15 Afficher « Prime d’ancienneté : , primeAncienneté
16 Afficher « Salaire brut total »
17 Fin
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 27

IV) Les structures alternatives imbriquées

L’alternative à une condition peut elle-même conduire à choisir de nouveau entre deux actions.
On utilise alors les structures alternatives imbriquées.

Reprenons notre algorithme Commande (page 23). Pour améliorer le traitement, nous voulons
vérifier au préalable que la quantité saisie par l’utilisateur soit positive.
Si la quantité est négative, le programme affiche un message d’erreur.
Si la quantité est positive, le programme calcule puis affiche le montant de la commande
selon la logique définie précédemment : le prix d’une imprimante est 255 €. A partir de
cinq imprimantes achetées, le prix est de 215 € la pièce.

Dans un premier temps, le système teste la valeur saisie par l’utilisateur. Si elle est négative,
un message d’anomalie est affiché.
début

VRAI FAUX
quantite < 0

Afficher "Erreur :
quantité négative"

Si la quantité est positive, le traitement doit alors tester la quantité pour savoir si elle est
inférieure à 5. Le schéma précédent est complété : la branche correspondant à la réponse
FAUX à la condition « la quantité est-t-elle négative » débouche sur une nouvelle condition

début

VRAI FAUX
quantite < 0

Afficher "Erreur :
quantité négative"
Quantite < 5

Prix=quantite * 255 Prix=quantite * 215

fin
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 28

Syntaxe

En algorithmique on utilise la structure alternative SI … ALORS …, dont la syntaxe est :

SI condition1 ALORS Le bloc d'instructions 1 est exécuté lorsque


Bloc_instructions1 - la condition 1 est vraie
SINON - la condition 2 est vraie ou fausse
SI condition2 ALORS
Bloc_instructions2 Le bloc d'instructions 2 est exécuté lorsque
SINON - la condition 1 est vraie
Bloc_instructions3 - la condition 2 est fausse
FINSI
FINSI Le bloc d'instructions 3 est exécuté lorsque
- la condition 1 est fausse
- la condition 2 est fausse

Exemple

On peut donc compléter notre algorithme de la façon suivante :

PROGRAMME Commande
VAR
quantite, montant : entier
DEBUT
AFFICHER " Saisir une quantité "
SAISIR quantite
SI quantite < 0 ALORS
AFFICHER " Erreur : quantité négative "
SINON

SI quantite < 5 ALORS


montant = quantite * 255 Bloc d’instructions
SINON réalisées lorsque la
montant = quantite * 215 condition " quantité
FINSI < 0 " est fausse
AFFICHER " Montant commandé : ", montant, " € "

FINSI
FIN

 Exercice n° 4

Créer un nouveau module et implanter ce programme


Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 29

 Exercice n° 5

Une entreprise de location de voiture loue ses véhicules de tourisme aux conditions suivantes :
- forfait journalier unique : 100 € HT puis :
- les 50 premiers kilomètres sont gratuits
- les 450 suivants sont facturés à 0,25 € du km
- les kilomètres suivants sont facturés à 0,25 € du km majoré de 10 %

- Compléter l’algorithme ci-dessous


- Tester votre travail en réalisant une procédure en VBA

Programme Location
Const
prixJournalier = 100

Var
jours, forfaitJours, km : entier

Début
Afficher " Saisir un nombre de jour : "
Saisir jours
Afficher " Saisir un nombre de kms : "
Saisir km
Si km <= 50 Alors

Fin Si
forfaitJours 

Afficher " Vous devez : ", Net , " €"


Fin
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 30

 Exercice n° 6

Ecrire l'algorithme permettant d'afficher le montant total TTC d'une facture lors de l'achat
d'une quantité d'article :
si la quantité n'excède pas 5, l'article coûte 10 €
si la quantité est inférieure à 20, l'article coûte 8 €
si la quantité dépasse 20, l'article coûte 7 €
Taux de TVA : 0.196

La seule donnée à saisir devra être la quantité.


Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 31

 Exercice n° 7 (d’après Bac IG 1999)

Depuis quelques temps, les clients potentiels qui demandent un devis sont très sensibles à la
remise qui est proposée par à société lors l'établissement du devis. Monsieur SCHNEIDER a
décidé d'accorder une remise, portant uniquement sur à vente de matières et matériels, selon
les modalités figurant dans le tableau ci-dessous :

MATIÈRES ET MATÉRIELS TAUX DE REMISE


<= 2 000 € 10%
> 2 000 € et <= 5 000 € 15 %
> 5 000 € 20%

Dans le travail qui va vous être demandé vous utiliserez les variables suivantes :
pBrut (prix total brut avant remise)
tRemise (taux de remise)
pNet (prix total net (après) remise)

TRAVAIL A FAIRE

Ecrire un algorithme permettant de déterminer le prix net après remise (pNet) à partir du
sous-total brut des matières et matériels (pBrut), en appliquant les modalités de calcul des
taux de remise décrites dans le tableau ci-dessus

Algorithme Calcul
VAR
pBrut, pNet:
tRemise :

DÉBUT

FIN
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 32

V) La structure alternative multiple

La structure SELON permet de choisir le traitement à effectuer en fonction de la valeur ou de


l'intervalle de valeurs d'une variable ou d'une expression. Cette structure permet de remplacer
avantageusement une succession de structures SI … ALORS.

Syntaxe

SELON expression
CAS valeur1 : bloc_instructions_1
CAS valeur2 : bloc_instructions_4
CAS valeur3 : bloc_instructions_3
...
SINON : bloc_instructions_par_défaut
FINSELON

La ligne SINON est facultative : elle permet de définir le traitement à réaliser dans
tous les cas non listés précédemment.

Exemples

 Cas 1 : Les différents cas sont des valeurs littérales

Voilà l'algorithme qui affiche le mois en toute lettre selon son numéro de mois.
Le numéro du mois est mémorisé dans la variable noMois.

SAISIR noMois
SELON noMois
CAS 1 : AFFICHER "Janvier"
CAS 2 : AFFICHER "Février"
CAS 3 : AFFICHER "Mars"

CAS 12 : AFFICHER "Décembre"
SINON : AFFICHER "Le n° de mois doit être compris entre 1 et 12"
FINSELON

Imaginez la longueur de ce même algorithme écrit avec la structure SI

 Cas 2 : Les différents cas possibles sont décrits par des intervalles de valeurs (taux de
remise différent selon le montant d'achat)


SAISIR montant
SELON montant
CAS <1000 : taux  1
CAS ≥1000 et < 3000 : taux  2
CAS ≥3000 et < 10000 : taux  3
CAS ≥ 10000 : taux  4
FINSELON
montant  montant * ( 1 – taux/100)

Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 33

 Exercice n° 8
Une entreprise de vente par catalogue fait la promotion de cinq produits différents dont les
prix sont :
Produit 1 = 2.98 €
Produit 2 = 4.40 €
Produit 3 = 9.98 €
Produit 4 = 4.49 €
Produit 5 =6.87 €
- Ecrire l'algorithme qui, à partir de la référence d'un produit saisi au clavier (références 1, 2,
3, 4 ou 5) affiche le prix de ce produit.
- Tester en implantant votre code en VBA

PROGRAMME Promotion
VAR
refProduit : entier
Prix : réel
DEBUT

FIN
Formation sur les algorithmes
Thème 4 – Les structures conditionnelles et mise en œuvre en VBA – Page 34

 Exercice n° 9
Ecrire un algorithme permettant de saisir de la moyenne générale d'un élève puis qui affichera
la mention correspondante
Si la note est comprise entre 0 inclus et 9.99  non reçu
Si la note est comprise entre 10 et 11.99 inclus  mention Passable
Si la note est comprise entre 12 et 13.99 inclus  mention Assez Bien
Si la note est comprise entre 14 et 15.99 inclus  mention Bien
la note est comprise entre 16 et 20 inclus  mention Très Bien
Si la note est négative ou supérieure à 20, un message d'anomalie est affiché

- Réaliser l’algorithme et tester votre solution en VBA

Vous aimerez peut-être aussi