Vous êtes sur la page 1sur 32

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.

• a7/2 Expression Valeur de la variable


• b  7 Div 2 • a7/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

Vous aimerez peut-être aussi