Années Préparatoires Tronc Commun
Algorithmique 1
Dr. Hanane AZNAOUI
2022-2023
Chapitre 2
Notion de base suite
Algorithme – Synthèse
Réaliser un algorithme : exprimer en pseudo-code les règles de traitement d’un
problème pour le soumettre à un ordinateur (par un programme)
Les données d’un programme sont mémorisées dans des variables qui sont des cases
mémoire
Les instructions permettent de manipuler et de déplacer une donnée d'un endroit à un
autre de la mémoire
2
Chapitre 2
Notion de base suite
Algorithme – Synthèse
Une variable est un contenant, qui contient une et une seule valeur à un moment donné. Elle est
caractérisée par
un identificateur (son nom)
une valeur (qui peut varier au cours du programme, sauf pour les constantes)
un type (qui détermine sa taille et les opérations possibles)
Les instructions de base sont :
l'affectation (permet de changer la valeur d'une variable)
la saisie (permet d'assigner à une variable, une valeur entrée au clavier)
l'affichage (permet d'écrire le contenu d'une variable ou d'une expression à l'écran)
3
Chapitre 2
Notion de base suite
Organisation et structure général d’un Algorithme
Algorithme monProgr
/* Déclaration des constantes*/
CONSTANTES const1 =10 : entier
const2 ="bonjour!" : chaîne déclarations
// Déclaration des variables
VARIABLES varReel1, varReel2 : réels
varChaine : chaîne
DEBUT
Instruction1
Instruction2 Corps du programme
…
FIN
4
Chapitre 2
Notion de base suite
Algorithme – Les commentaires
Lorsqu'un algorithme devient long, il est conseillé d'ajouter des lignes de commentaires dans l'algorithme, c'est à
dire des lignes qui ont pour but de donner des indications sur les instructions effectuées et l'expliquer le
fonctionnement du programme (algorithme) sans que le compilateur ne les prenne en compte.
•Il y a trois types de commentaires, en général :
/ / Commentaire sur une ligne
/* Commentaire */
/* Commentaire
Sur
plusieurs
lignes */
5
Notion de base Chapitre 2
Algorithme – Les commentaires
Variable i : entier
// Variable i : réel
i←4
/* i ← 4
i ← 4 * 1 */
Les instructions précédentes sont équivalentes à :
Variable i : entier
i←4
6
Notion de base Chapitre 2
Algorithme – Les opérateurs
Les opérations possibles sur les variables dépendent de leur type
On ne peux pas multiplier des mots…
Réels
Entiers
Caractères
Chaines
Booléens
7
Notion de base Chapitre 2
Algorithme – Les opérateurs
Les opérateurs dépendent du type de l’opération :
Des opérateurs arithmétiques: +, −, ∗....
Des opérateurs logiques: NON (!), OU (||), ET (&&) .
Des opérateurs relationnels:=, <, >, <=, >= .
Des opérateurs sur les chaînes: (concaténation)
Variable 1 Opérateur Variable 2
8
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type :Réels
Opérations Symbole ou mot Exemple
possibles clé
addition + 2+3 vaut 5
soustraction - 2-3 vaut -1
multiplication * 2*3 vaut 6
Division / 11/2 vaut 5,5 (division réelle)
comparaisons <, ≤, >, ≥, =, ≠ 14,2>10,1
9
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type :Entiers
Opérations possibles Symbole ou mot clé
addition +
soustraction -
Multiplication *
Division /
Division entière DIV
Modulo MOD
Comparaisons <, ≤, >, ≥, =, ≠
• La fonction DIV permet de donner le résultat de la division entière d'un nombre par un autre. 7 DIV 2 = 3
• La fonction MOD (se lit Modulo), permet de donner le reste de la division entière d'un entier par un autre. 7
MOD 2 = 1
10
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type :Caractères
Opérations possibles Symbole ou mot clé
comparaisons <, ≤, >, ≥, =, ≠
(exemple ‘a’ < ‘z’)
11
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type : Chaînes
Opérations possibles Symbole ou mot clé
Concaténation & (EX: "le" + "monde" # concaténation)
Longueur Longueur (chaîne)
Extraction Extraction (sous-ch, ch)
12
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type :Booléens
Opérations possibles Symbole ou mot clé
comparaison =, ≠
négation NON
conjonction ET
disjonction OU
13
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type :Booléens
• La tables de vérité:
A B A et B A ou B Non A
VRAI VRAI VRAI VRAI FAUX
VRAI FAUX FAUX VRAI FAUX
FAUX VRAI FAUX VRAI VRAI
FAUX FAUX FAUX FAUX VRAI
• (A et B) Les deux doivent être vrais pour que le ET soit vrai
• (A ou B) Une des deux doivent être vrai pour que le OU soit vrai
• Le Non A, c’est le contraire de A, si c’est vrai c’est Faux, si c’est faux c’est Vrai
14
Notion de base Chapitre 2
Algorithme – Les opérateurs -- Type :Booléens
• Exemple: La tables de vérité
Expression Résultat
(4 <A) ET (9>B) Vrai
[A = 7 // B= 0]
(1 < a) OU (1<>b) Faux
[a=0 // b=1]
Non(13.4 < x) [x=15] Faux
15
Notion de base Chapitre 2
Algorithme – Les opérateurs -- L’essentiel à retenir sur les opérateurs
Multiplication : *
Le signe * représente la multiplication comme x
Division :/
Ce signe représente la division comme nous la connaissons depuis.
Division entière : div
Attention, ici avec div on garde seulement le quotient.
Exemple : 6 div 2 = 3 car on fait 6 diviser par 2 le quotient est 3.
Modulo : mod
Avec mod on garde le reste.
Exemple : 6 mod 2 = 0 car lorsqu'on fait 6 diviser par 2 il reste 0.
16
Notion de base Chapitre 2
Algorithme – Les opérateurs -- L’essentiel à retenir sur les opérateurs
Supérieur >
Inférieur <
égalité =
NB ; A ne pas confondre avec le l'opérateur d'égalité == en programmation en algo = ne
représente pas une affectation on utilise les flèches pour exprimer l'affectation.
Supérieur ou égal >=
Inférieur ou égal <=
Différent <> ou !=
Exemple : Pour dire que 5 est différent de 2 on écrit : 5 <> 2 ; ou aussi 5 != 2
17
Notion de base Chapitre 2
Algorithme – Les opérateurs -- L’essentiel à retenir sur les opérateurs
Les opérateurs logiques ('' vrai ou faux '')
L'opérateur NON, c'est l'opérateur le plus gentil en effet c'est affaire de contraire.
Exemple : Si A = vrai alors NON A = faux
L'opérateur ET, Voici ce que vous devez retenir C'est seulement VRAI ET VRAI qui donne
VRAI . A part ça toutes les autres combinaisons donne FAUX
L'opérateur OU, Voici ce qu'il faut retenir c'est seulement FAUX OU FAUX qui donne
FAUX. En dehors de ce cas toutes autres combinaisons donne VRAI.
18
Notion de base Chapitre 2
Algorithme – Opérateurs et expressions
Priorités des opérateurs
•Priorité de *, / div et % par rapport à + et -
• 5 + 9 * 3 = 32 et non 42
• 5*9 + 3 = 48 et non 60
•Pour les opérateurs de même priorité, associativité à partir de la gauche
• 15 / 5 * 3 = 9 et non 1
• 5 – 2 + 4 = 7 et non –1
•On peut utiliser des parenthèses pour changer l’ordre des opérations :
• 15 / (5 * 3) = 1
• (5 + 9 ) * 3 = 42
• 5 – (2 + 4) = -1
19
Notion de base Chapitre 2
Algorithme – Opérateurs et expressions -- Activité
Evaluation des expressions: Donner les valeurs des variables a, b, c,d, e, f, g.
• a7/2 Expression Valeur de la variable
• b 7 Div 2 • a7/2 3.5
• c 7 Mod 2 • b 7 Div 2 3
• d(5 ≠ 2) • c 7 Mod 2 1
• e Non(5=2) • d (5 ≠ 2) Vrai
• f (4<6) et (9>2) • e Non(5=2) Vrai
• g (2 < 0) ou ( 4 <> 4)• f (4<6) et (9>2) Vrai
• g (2 < 0) ou ( 4 <> 4) Faux
20
Notion de base Chapitre 2
Algorithme – Opérateurs et expressions -- Activité
Equivalent d’une expression: Donner l’équivalent des expressions booléennes suivantes en
utilisant uniquement les opérateurs de comparaison et les opérateurs logiques (Et, Ou et
Non).
x=2
x<6
x-2>7
0<x<3
3 * x > 18
Non (x >= 0)
Non (Note < 0 Ou Note > 20)
21
Notion de base Chapitre 2
Algorithme – Opérateurs et expressions -- Activité
Equivalent d’une expression: Donner l’équivalent des expressions booléennes suivantes en
utilisant uniquement les opérateurs de comparaison et les opérateurs logiques (Et, Ou et
Non).
Expression Equivalence
x=2 Non(x ≠ 2)
x<6 Non(x > = 6)
x-2>7 Non (x - 2 < = 7)
0<x<3 0 <x Et x <3
3 * x > 18 Non(3 * x < = 18)
Non (x > = 0) x<0
Non (Note < 0 Ou Note > 20) Non (Note < 0) Et Non(Note >20)
22
Notion de base Chapitre 2
Algorithme – Opérateurs et expressions -- Activités
1. Complétez la table de vérité logique suivante :
S=CB+A
S= AC+B 0
S=C+AB 0
S=ABC 0
S=BA+C 0
S=AC+B 1
S=CB+A 1
S=CBA 1
1
23
Notion de base Chapitre 2
Algorithme – Opérateurs et expressions -- Activité
Priorité des opérateurs
Le tableau suivant montre la priorité des opérateurs. En se basant sur ces données,
donner les valeurs des variables a, b et c. Priorité Opérateur
()
a ← 4*2 + 5 Non
b ← 5 + 3*2 – 6
Priorité croissante
* / Div Mod
c ← a > b Et 7 ± 2 Ou a < b
+-
d ← a > b Et 7 = 2 Ou a < b
< <= > >=
=±
Et
Solution :
a =13 , b =5, c = Vrai et d = Faux. Ou
←
24
Notion de base Chapitre 2
Algorithme – TD–
Exercice 6 :
Ecrire un algorithme qui permet de calculer la somme de deux nombres.
Exercice 7:
Ecrire un algorithme qui permet de calculer le périmètre d’un cercle.
Exercice 8 :
Ecrire un algorithme qui permet de calculer le périmètre d’un rectangle.
25
Notion de base Chapitre 2
Algorithme – TD–
Exercice 1: Moyenne de deux nombres
Ecrire un algorithme permettant de calculer la moyenne de deux entiers
Exercice 2 : Permutation de deux variables
Écrire un algorithme qui permute les valeurs de deux variables lues au clavier.
26
Notion de base Chapitre 2
Algorithme – TD–
Exercice 3: Calcul
Une grande surface accorde à tous ses clients, une réduction de 3% sur le montant d’achat.
Ecrire un algorithme permettant de saisir le montant d’achat (MA) et de calculer le montant
de la remise (R) ainsi que le montant à payer (MP).
27
Notion de base Chapitre 2
Algorithme – TD–
Exercice 4: Ecrire algorithme permettant d'effectuer des opérations arithmétiques de base
d'addition, de soustraction, de multiplication et de division de deux nombres
Exemple:
l'utilisateur a tapé deux nombres 10 et 5
res1 = 10 + 5 = 15
res2 = 10 - 5 = 5
res3 = 10 * 5 = 50
res4 = 10 / 5 = 2
28
Notion de base Chapitre 2
Algorithme – TD -- Solution EX1
Exercice 1 :Ecrire un algorithme permettant de calculer la moyenne de deux entiers
Algorithme Moyenne
// Moy : est la moyenne de A et B
Variables A, B : entiers
Moy : réel
Début
// Saisie des données
Ecrire ("Entrez la valeur de A:")
Lire (A)
Ecrire ("Entrez la valeur de B:")
Lire (B)
// Calcul de la moyenne
Moy (A + B) / 2
// Affichage du résultat
Ecrire (''La moyenne de A et B est : '', Moy)
Fin
29
Notion de base Chapitre 2
Algorithme – Instructions d’affectation - - TD– EX2
• Exercice 2- Aide à la solution :
permutation de deux variables A et B ?
30
Notion de base Chapitre 2
Algorithme – TD -- Solution EX2
Exercice 2 : Écrire un algorithme qui permute les valeurs de deux variables lues au clavier.
Algorithme Permutation
Variables N1, N2 : réel
tmp : réel
// tmp : variable temporaire qui sera utilisée pour permuter N1 et N2
Début
Ecrire ("Entrez les valeurs de N1 et N2 :")
Lire (N1, N2)
tmp N1
N1 N2
N2 tmp
Ecrire ("Les valeurs de N1 et N2 après permutation sont : N1 = " , N1, " et N2 = " , N2)
Fin
31
Notion de base Chapitre 2
Algorithme – TD -- Solution EX3
Exercice 3 : Une grande surface accorde à tous ses clients, une réduction de 3% sur le montant
d’achat. Ecrire un algorithme permettant de saisir le montant d’achat (MA) et de calculer le
montant de la remise (R) ainsi que le montant à payer (MP).
Algorithme Remise
Variables MA, R, MP : réel
Début
Ecrire ("Entrez le montant d’achat :")
Lire (MA)
R MA * 3/100
MP MA – R
Ecrire ("Le montant de la remise est ", R, " Dh")
Ecrire ("Le montant à payer est ", MP, "Dh")
Fin
32