Vous êtes sur la page 1sur 64

Lycée Al MAJD 1

- Inzegane Ait Melloul-

Module 3:
Algorithmique
&
Programmation

Présenté par : AZZEDDINE.IDHMAD


2
Leçon à voir :

I. NOTION D'ALGORITHME

II. INSTRUCTION DE BASE

III. STRUCTURE DE CONTRÔLE

IV. LANGAGE DE PROGRAMMATION


Notion d'Algorithme
3

Plan du cours :

 Activités préparatoires.
 Démarche Algorithmique de résolution d'un

problème
 Définition d'un algorithme

 Structure général d'un algorithme


Notion d'Algorithme
4

Activité 1:

Je veux discuter avec mon ami par téléphone


sur un sujet quelconque depuis une cabinet
téléphonique.
Question :
1.Citez les éléments nécessaire pour effectuer l'appel.
2.Décrire l’usage du l'appareil téléphonique pour
effectuer une communication téléphonique.
Notion d'Algorithme
5

Solution Activité1:
1-Décrocher l'appareil
2- Insérer les pièces de monnaie
3- Attendre la tonalité
4- Composer le numéro
5- Attendre que votre ami décroche son appareil
6- Parler à votre ami
5-Raccrocher
Notion d'Algorithme
6

Activité 3:
Considérons les deux problèmes suivants :
1-Étant donnés la longueur L et la largeur Lg
d'un rectangle, calculer sa surface S?
2-Étant donnés la longueur L d'un rectangle et
pourcentage P de sa largeur par rapport à sa
longueur, calculer sa surface S?
Notion d'Algorithme
7

Résolution Activité3:
Problème 1
1-Les données connues :
Langueur L et Largeur Lg
2- Données recherchés :
Surface S
3- Relation entre données connues et données
recherchés est :
Surface = Longueur * largeur ou S=L * Lg
Notion d'Algorithme
8

Résolution Activité3:
Problème 2
1-Les données connues :
Langueur L et Pourcentage Pr
2- Données recherchés :
Largeur Lg Surface S
3- Relation entre données connues et données
recherchés est :
Largeur = Pourcentage * Longueur ou Lg = Pr * L
Surface = Longueur * largeur ou S=L * Lg
La résolution informatique d’un problème
9

 Phase d'analyse:
C'est une phase qui consiste à décomposez un problème
en sous-problème et l'analyser afin d'en dégager :

1-Les données à fournir à l'ordinateur "données d'entrées"

2-Les résultats à fournir à l'utilisateur "données de sorties"


3-Identifier les relations entre elles.
4-Décrire les traitements nécessaires à effectuer.("Algorithme").
La résolution informatique d’un problème
10

 Phase de traduction :
C'est une phase qui consiste à traduire l'algorithme dans
un langage compréhensible par l'ordinateur, appelé langage
de programmation.
on obtient alors un programme qui sera soumis à
l'ordinateur puis exécuté.
La résolution informatique d’un problème
11

 Schéma de résolution informatique :


Définition d'un algorithme
12

 Un algorithme est une suite d'instructions qui


doivent être exécutées dans un ordre déterminé en
vue de la résolution d'un problème.
 Il est doit remplir les conditions suivantes :

1. Avoir un nombre fini d'instructions


2. Il doit être défini et précis.
3. Il doit être fini et Se terminer après un nombre fini
d'instructions.
4. Il doit posséder au moins un résultat.
Définition d'un algorithme
13

 Exemples :
 Préparer une recette de cuisine(tasse du café, thé,
omelette, etc...)
 Montrer le chemin à un touriste.
 Guider quelqu'un à se connecter à l'internet.
 Trier une liste par ordre alphabétique
Structure général d'un algorithme
14

Algorithme : NomAlgorithme Entête

Données
Déclaration

Début
Instruction1
Instruction2 Corps de l'algorithme
..................
Instruction N
Fin
Exercices d'application
15

 Étant donné le côté d'un carré, calculer sa surface


par :
1. Identifiez les données d'entrées ?
2. Identifiez les données de sorties ?
3. Identifiez la relations entre les données d'entrées et
les données de sorties ?
4. Décrire les étapes nécessaire pour résoudre ce
problème ?
Exercices d'application
17

1. Étant donné deux nombre A et B, calculer la somme des


nombres A et B.
2. Étant donné le coté d'un carré, calculez sa surface et sa
périmètre.
sachant que : S=coté *coté et P=coté*4
3. Connaissant le prix d'achat d'un produit, les frais de
transport et son prix de vente, calculez le bénéfice réalisé.
4. Étant donné les notes obtenues par un élève dans trois
matières, calculez la moyenne de l'élève.
Sachant que : le coefficients de chaque matière est égale à 1.
Notions de données
18

JEU DE VERRES …
PRINCIPE : ÉCHANGER LE CONTENU DES DEUX VERRES SANS LE MÉLANGER

A B

A B
SOLUTION
Données d’entrées:
 Verre (A) qui contient : l’eau.
A  Verre (B) qui contient : Coca-Cola.
 Verre (C) vide.
Résultats :
B  Verre (A) qui contient : Coca-Cola.
 Verre (B) qui contient : l’eau.

 Le traitement à effectuer :
C 1. Mettre le contenu de A dans C
2. Mettre le contenu de B dans A
3. Mettre le contenu de C dans B

19
Nom d'algorithme
Solution Type de donnée
21

Algorithme : échanger_Nombre
Variable : A,B,C : Entier Instruction écrire ( )
Début
écrire("Entrez la valeur de A");
lire(A);
écrire("Entrez la valeur de B");
lire(B);
CA;
AB;
BA;
écrire("la nouvelle de A est :");
Instruction Lire( )
écrire(A);
écrire("la nouvelle de B est :");
écrire(B);
Fin
22

Notion de donnée
Notions de données
23

Activité :
 On voudrait calculer la surface d’un disque comment,
expliquer à l’ordinateur, avec un algorithme ce qu’il doit
faire pour accomplir cette tâche.
Sachant que : surface=R²* Pi
Questions :
1. Quels sont les données connues ?
2. Quel est le résultat cherchée ?
Notions de données
24

Solution:
Algorithme : calcul_surface
Données : Rayon , Pi, Surface
Début
1. Introduire la valeur du Rayon R
2. Introduire la valeur du Pi
3. Calculer la surface
4. Afficher le résultat
Fin
Notions de données
25

 Une donnée est une information nécessaire au


déroulement d'un algorithme.
Elle caractérisée par :
1. Nom (identificateur)
2. Type
3. Utilisation
4. Nature
Notions de données
26

 Identificateur : c'est un nom symbolique représentant


la donnée dans l'algorithme. Il est composé généralement
de lettres mais peut également contenir de chiffres et de
trait de soulignement '_'.
 Exemple :

Nombre_A, nombre_1, somme, moyenne, nom ...


Notions de données
27

 Exercice : Soit les identificateurs suivants :


• Ac • email@nom
• B1AR • Coef math
• _1A • NoteInfo
• NOM • Prénom
• Adresse • Nom prénom
• 123d • Age 15

Déterminer les identificateurs correctes et corriger les


identificateurs non correctes ?
Notions de données
28

 Type : caractérise les valeur que peut prendre cette


donnée ainsi que les actions autorisées sur celle-ci.
on distingue les type :
 Entier
 Réel
 Caractère
 Chaîne de caractères
 Booléen
 Exemple :
Taille , poids : réel
Age ,nombre enfant : entier
Nom, ville, adresse : chaîne de caractères
Notions de données
29

 Type de données ;
Type Description Exemples
Entier pour manipuler les nombres entiers -12 -9 4 55
positifs ou négatifs
Réel pour manipuler les nombres à virgule -15.5 7 2.31

Caractère pour manipuler des caractères 'a‘ ‘1’ '>' '-'


alphabétiques et numériques
Chaîne de pour manipuler des chaînes de caractères ‘nom’ ‘salut’
caractère permettant de représenter des mots ou ‘123456’
des phrases

Booléen pour les expressions logiques. Il n'y a que deux valeurs


booléennes : vrai et faux.
Notions de données
30

 Utilisation :
désigne la qualité du donnée dans l'algorithme
soit: donnée connue, résultat recherché ou bien
donnée intervenant dans des calculs intermédiaires.
Notions de données
31

 Nature : elle désigne la caractéristique du donnée


dans l'algorithme soit une donnée :

1. Variable
2. Constante
Notions de données
32

 Variable : une variable est une donnée dont la


valeur est susceptible d'être changée durant le
déroulement de l'algorithme .
Syntaxe :
Variable nom_variable : Type
Exemple :
Variable nom : chaîne de caractères
Variable age : Entier
Variable moyenne : Réel
Notions de données
33

 Constante : une constante est une donnée dont la


valeur est précisée au début de l'algorithme et qui ne
varie pas durant le déroulement de l'algorithme .
Syntaxe :
Constante nom_constante=valeur : Type
Exemple :
Constante Pi=3.14: réel
Constante Tva=0.2 :réel
Constante CoefMaths=5 : réel
Exercice
34
35

Les instructions de base


Les instructions de base
36

 Activité :
 Algorithme : Somme_deux_Nombre;
Variable A,B,C :entier;
Début
Écrire("Entrez la valeur du A");
Lire (A);
Écrire("Entrez la valeur de B");
Lire(B);
Effectuer la somme de A et B;
Stocker le résultat de calcul dans C;
 Fin
Les instructions de base
37

 Algorithme : Somme_deux_Nombre;
Variable A,B,C :entier;
Début
Écrire("Entrez la valeur du A");
Lire (A);
Écrire("Entrez la valeur de B");
Lire(B);
CA+B;
Écrire("la somme de A et B est :");
Écrire( C);
Fin
Les instructions de base Écran
38

 Exécution de l'algorithme :

Entrez la valeur de A A
|5
5

Entrez la valeur de B
| 10 B
La somme de A et B est :

15

C
Les instructions de base
40

 L'instruction d'écriture :
C'est l'instruction qui permet à l'algorithme d'afficher pour
son utilisateur des messages ou des résultats de calculs.
Syntaxe :
Écrire(Val1,Val2,...Valn);
 Exemple :
Écrire("Entrez votre nom");
Écrire("la surface du rectangle est :",S);
Écrire(moyenne);
Les instructions de base
41

 L'instruction de lecture:
C'est l'instruction qui permet à l'utilisateur de fournir à
l'algorithme les valeurs de données variables.
Syntaxe :
Lire(Val1,Val2,...Valn);
 Exemple :
Lire(nom);
Lire(A,B,C);
 Remarque : la donnée doit être de même type que la
variable qui la reçoit.
Les instructions de base
42

 L'instruction d'affectation:
C'est l'instruction qui consiste à attribuer une valeur à une
variable. elle est représentée par une flèche orientée à gauche .
Syntaxe :
Nom_variableValeur;
 Exemple :
A4;
BA+5;
CA+B;
DA+B+C+1
Les instructions de base
43

 Exercice d'application :
0 Algorithme : calcul
1
Variable A,B,C,D : Entier;
2
Début
3
A10;
4
B30;
5
6
CA+B;
7 DC * A;
Fin
Quel seront les valeurs des variables A,B,C et D après exécution ?
Les instructions de base
44

 Solution : Trace d'exécution de l'algorithme:


Numéro de lignes
Variable
1 2 3 4 5 6

A ? ? 10 10 10 10
B ? ? ? 30 30 30
C ? ? ? ? 40 40
D ? ? ? ? ? 400
Les instructions de base
45

 Exécutez le bloc suivant et complétez le tableau ci-


après :

1. A9; N° lignes Variabl Valeur


e
2. BA+3/2;
1 A
3. AA+B; 2 B
4. BA-B; 3 A
4 B
5. AA-B;
5 A
Les instructions de base
46

Soient A,B,C,D des variables de type entier.


Exécutez le bloc d'instructions suivant et complétez le
tableau ci-après :
Instruction A B C D
1. A3;
2. B6; 1 3 ? ? ?

3. AA+B; 2 3 6 ? ?
4. CB+A; 3 9 6 ? ?
5. BA+1; 4 9 6 15 ?
6. DC/3; 5 9 10 15 ?
6 9 10 15 5
Structure général d'un algorithme
47

Algorithme : NomAlgorithme Entête

Variable nom_variable : Type;


Déclaration
Constante nom_constante=valeur :type
Début
Instruction1
Instruction2 Corps de l'algorithme
..................
Instruction N
Fin
Les instructions de base
48

Soit l'algorithme suivant :


Variable A,B :Entier;
Variable C,D :Chaîne de caractères;
Début
A1;
BA+3;
CFouad;
D'Fouad';
A3;
CA;
D'Mohammed';
CD;
Fin
1. Quelles seront les valeurs des variables A,B,C et D après exécution?
2. Détectez et corrigez les erreurs?
Les instructions de base
50

 Exercice d'application :
Corrigez les erreurs et supprimez les instructions inutiles dans
l'algorithme suivant :
Algorithme test
Constante A=12.14
Variable B,C =Entier
Variable S,P : Entier;
Début
Lire(A,B,C);
SA+B
PB*C
Écrire("la somme de ",A," et de ',B, est :', S);
Écrire("le produit de ',B,' et de ',C, est :', P);
Fin
Exercices
51

1.Complétez l'algorithme suivant pour qu'il puisse


calculer la surface d'un triangle.
Algorithme : Calcul_surface_Triangle;
Variable ..........................................;
Début
...............................
...............................
SurfaceHauteur * base/2;
Écrire("la surface du triangle est :",..................);
Fin
solutions
52

Algorithme : Calcul_surface_Triangle;
Variable Hauteur H ,Base B , Surface S:Réel ;
Début
Ecricre(‘entrez la taille du Hauteur et Base’) ;
Lire(H ,B) ;
S(H * B)/2;
Écrire("la surface du triangle est :",S.);
Fin .
Exercices
53

2.Complétez l'algorithme suivant pour qu'il puisse calculer la


surface d'une disque.
Algorithme : Calcul_surface_Disque;
Variable ..........................................;
Constante ........................................;
Début
Écrire(".................................................");
Lire(......);
Surface..............................;
Écrire("...........................................................");
Écrire(..........);
Fin
Solution
54

Algorithme : Calcul_surface_Disque;
Variable Rayon r , Surface: Réel;
Constante π=3.14:Réel;
Début
Écrire("Entrez la taille du rayon.");
Lire(r);
Surfaceπ*r*r;
Écrire("la Surface du disque est");
Écrire(Surface);
Fin.
Les instructions de base
55

 Exercice :
Algorithme : logique;
Variable A,B,C,D: booléen;
Début
AVrai;
Bfaux;
CA et B;
AA ou B;
BC et B;
DNon A;
Fin;
 Quelles seront les valeurs des variables A,B et C après exécution
(Utiliser le tableau de trace d'exécution)?
Les instructions de base
56

 Exercice :
Algorithme : logique;
Variable A,B,C,D,J,M,P: booléen;
Début
AVrai;
Bfaux;
CA et B;
D(A ou C) et B
J(D et A ) et C;
MNon C;
P(M et C) ou (A et >B) ou D;
DNon A;
Fin;
 Quelles seront les valeurs des variables A,B,C,D, J, M et P après exécution (Utiliser
le tableau de trace d'exécution)?
Les instructions de base
57

 Tableau de vérité
A B A et B A ou B Non A Non B

Vrai Vrai Vrai Vrai Faux Faux

Vrai Faux Faux Vrai Faux Vrai

Faux Vrai Faux Vrai Vrai Faux

Faux Faux Faux Faux Vrai Vrai


Les Expressions
58
Les instruction de base
59

1. Écrire un algorithme qui calcul le produit de deux nombre.


2. Écrire un algorithme qui permet de calculer le double d'un nombre
entier A.
3. Écrire un algorithme qui calcul la somme de trois nombres A, B et C.
4. Écrire un algorithme qui vous demande votre nom et affiche à la suite
"Bonjour ",Nom (entrée par clavier).
5. Étant donné le coté d'un carré, calculez sa surface et sa périmètre.
sachant que : S=coté *coté et P=coté*4
5. Connaissant le prix d'achat d'un produit, les frais de transport et son prix
de vente, calculez le bénéfice réalisé.
6. Écrire un algorithme qui calcul la somme de cinq nombres en utilisant que deux
variables A et B.
60

Les Structures de
contrôle de base
Les structures de contrôle de base
61

 Activité 1 :

Arrêter

Ralentir

Passer
Question :
écrire l'algorithme qui permet de simuler le feu de signalisation
routière ?
Les structures de contrôle de base
62

 Alternative complète( deux choix) :


Syntaxe :

Si <<condition>> Alors
Instruction 1
Instruction 2
.......
Instruction N
Fin Si.

Si la condition est vérifié c'est-à-dire ayant la valeur Vrai le


bloc d'instruction(s) sera exécuté sinon sera ignoré.
Les structures de contrôle de base
63

 Exercice d'application sur l'alternative simple:

Écrire un algorithme qui demande la moyenne


d'un élève , et affiche une le message " Cet élève est
accepté au concours " si sa moyenne est >=14.
Solutions
64

Algorithme: concours;
Variable: Moyenne M: Réel;
Debut
Ecrire(‘Entrez votre moyenne’);
Lire(M);
Si M>=14 Alors
Ecrire(‘Cet élève est accepté au concours ‘);
Finsi
Fin.
solutions
65

 Algorithme: concours
 Variable: Moyenne M: Réel;
 Debut
 Ecrire(‘Entrez votre moyenne’);
 Lire(M);
 Si M>=14 Alors
 Ecrire(‘Cet élève est accepté au concours ‘);
 Finsi
 Fin.
Les structures de contrôle de base
66

 Alternative simple (un choix):


Syntaxe :
Si <<condition>> Alors
Instruction 1
....
Sinon
Instruction 1
......
Fin Si.
Si la condition est vérifié c'est-à-dire ayant la valeur Vrai le bloc
d'instructions 1 sera exécuté le bloc d'instructions 2 sera ignoré.
Sinon le bloc d'instructions 1 sera ignoré et le bloc d'instructions 2
sera exécuté.
Les structures de contrôle de base
67

 Exercice d'application :
Algorithme1 Algorithme2
Variable x : entier ; Variable x : entier ;
début début
X6 X6
Si x<5 alors Si x<5 alors
X3 ; X3 ;
FinSi X2 ;
X2 ; FinSi
Fin. X2 ;
Fin.

Quelle valeur il y aura dans x dans les cas à la fin de deux


algorithmes ?
Les structures de contrôle de base
68

 Exercice 1 :
Écrire l'algorithme qui permet de calculer le quotient de deux variables A
et B de type Entier.
 Exercice 2 :

Écrire un algorithme qui demande un nombre entier à l’utilisateur et


l’informe ensuite si ce nombre est positif ou négatif.
 Exercice 3 :

Écrire un algorithme qui retourne le maximum de deux données


numériques.
 Exercice 4 :

Écrire un algorithme qui retourne le maximum de deux données


numériques.
 Exercice 4 :

Écrire un algorithme qui à partir d’un nombre entre 1 et 7, imprime le


jour de la semaine correspondant.

Vous aimerez peut-être aussi