Académique Documents
Professionnel Documents
Culture Documents
Chapitre
1
Introduction à Filière : GTER/S1
l’algorithmique
1
🞄Définition de
l’algorithme
🞄Définition de la
Plan du variable?
🞄Définition du type ?
chapitre 🞄Définition de
1 l’expression?
🞄Définition de
l’affectation?
🞄Lecture et écriture
2
Qu’est-ce
qu’un
algorithme
?
3
On exécute toujours des algorithmes dans notre vie quotidienne,
à savoir:
?
On crée et exécute toujours des algorithmes
4
On utilise des algorithmes tous les jours
Prenons l’exemple de la recette de cuisine:
Qu’est-ce
qu’un données
algorithme
?
Instructions
= ordres
=directives
5
On utilise des algorithmes tous les jours
Prenons l’exemple de la recette de cuisine:
Qu’est-ce
qu’un
algorithme
?
Instructions
6
Qu’est-ce
qu’un
algorithme
?
Instructions
7
Qu’est-ce
qu’un
algorithme Résultat
?
Instructions
8
Prenons un autre exemple des courses du marché:
Qu’est-ce
qu’un Sinon Si c’est frais?
Là encore on trie selon une suite d’instructions pour classer les achats
et les mettre au bon endroit
9
Qu’est-ce
Réflexion
qu’un
algorithme Problème Algorithme Résultats
10
Qu’est-ce Vie courante Maths
11
Qu’est-ce
qu’un
algorithme
? Si on regarde un ordinateur, c’est une machine
qui exécute des instructions qu’on lui donne et il
nous calcul le résultat.
12
Qu’est-ce
qu’un
• Un algorithme est une suite
d'opérations ou d'instructions
algorithme
?
• Un algorithme est la description, dans un langage
universel (pseudo-langage), des opérations nécessaires
pour résoudre un problème
13
l L'avantage du pseudo-langage est qu'il
Notion permet d'écrire tout algorithme de façon formelle.
de
pseudo
La phase de programmation se trouvera
langage l
14
Algorithme
Qui est
Qu’est-ce Destiné à être
qu’un exécuté par une
algorithme machine
? écrit dans un
langage qu’elle
comprend
15
Qu’est-ce
qu’un
algorithme
?
Exemples concrets de résultats d’algorithmes traduits en programmes
16
Quatre phases principales:
1. Analyse du problème
L’entête spécifie:
Structure Le nom de l’algorithme (Nom)
d’un Son utilité (But)
algorithm Quelle sont les données « en entrée », c’est-à-dire
e éléments
les
(Entrée)
qui sont indispensables à son bon fonctionnement
18
Le corps est composé:
Structure du mot clés début
d’un D’une suite d’instructions
algorithm Du mot clés fin
e
19
Vue d’ensemble de la structure
Structure
d’un
algorithm
e
20
Structure
Instruction est l’expression dans un pseudo-
d’un
l
21
Algo exemple
/* La partie déclaration de l’algorithme */
Constantes // les constantes nécessitent une valeur dès leur déclaration cst1
20 : entier
Syntaxe
cst2 "bonjour!" : chaîne
Variables // les variables proprement dites
générale var3, var4 : réels
de var5 : chaîne
/* instructions */
Fin
22
Exemple de code :
Noms: addDeuxEntiers
But : additionner deux entiers a et b et mettre le
Syntaxe résultat dans c
générale Entrée: a,b : entiers Variables:
l’algorithme
Début
C a+b
fin
23
🞄 Unevariable est une entité qui
contient une information
24
🞄 Les instructions manipulent des objets.
🞄 Chaque objet possède trois qualificatifs :
Notions
l ’identificateur : est le nom de l ’objet, une suite de lettres et
d’identificateu chiffres dont le premier caractère est une lettre. Exemples :
de
r et type Prix_unitaire, Taille,
Couleur ...
Le type : détermine l ’ensemble des valeurs dans lequel l
’objet
prend ses valeurs. Exemples : entier, réel, caractère, chaîne de caractères
26
🞄 Un opérateur est un symbole d’opération
qui permet d’agir sur des variables ou de faire
des calculs
Opérateur,
🞄 Un opérande est une entité (variable, constante
opérande et ouexpression…) utilisé par un opérateur
27
Exemple dans a + b:
28
🞄 Un opérateur peut être unaire ou binaire
🞄 Unaire s’il n’admet qu’un seul opérande, par exemple l’opérateur
non
🞄 Binaire s’il admet deux opérandes par exemple l’opérateur +
🞄 Un opérateur est associé à un type de
Opérateur donnée et ne peut être utilisé qu’avec des
variables, des constantes ou des expressions
de ce type
🞄 Par exemple l’opérateur + ne peut être utilisé qu’avec les types
arithmétiques le type chaîne de caractères
🞄 On ne peut pas additionner un entier et un caractère
🞄 Toute fois exceptionnellement dans certains cas on accepte d’utiliser
un opérateur avec deux opérandes de types différents, c’est par
exemple le cas avec les types arithmétiques (2+3.5)
29
🞄La signification d’un opérateur peut
changer en fonction du type
opérandes des
30
Opérateur notation type des opérandes type du résultat
+ et – unaires +- entier ou celui de
négation NON réel l'opérande
logique booléen booléen
Elévation à la puissance entier ou réel entier ou réel
Opérateur Multiplication * entier ou entier ou
s sur
Division DIV réel réel
entière / entier entier
les types Division
reste(modulo
MOD réel
entier
réel
entier
simples )
Comparaison < <= >= entier ou entier ou
= réel tout réel
type booléen
et logique ET booléen booléen
ou OU
logique booléen booléen
31
🞄 Pour les naturels et les entiers div et
mod permettent respectivement de calculer
Un une division entière et le reste de cette
exemple division, par exemple:
d’opérateur
🞄 13 div 2 vaut
6
🞄 13 mod 2 vaut
1
32
🞄 Tout comme en arithmétique les opérations ont des
priorités:
🞄 Par exemple * et / sont prioritaires sur + et
-
Priorité
des
opérateurs
33
Associativité des opérateurs et et ou
a et (b et c) = (a et b) et c
Commutativité des opérateurs et et ou a
et b = b et a
Les
a ou b = b ou a
Distributivité des opérateurs et et ou a
opérateur ou (b et c) = (a ou b) et (a ou c)
a et (b ou c) = (a et b) ou (a et c)
s booléen Involution (homographie réciproque) :
non non a = a
Loi de Morgan : non (a ou b) = non a et
non b
non (a et b) = non a ou
non b
Exemple : soient a, b, c et d quatre entiers quelconques : (a<b)|
|((a>=b)&&(c==d)) est équivalent à (a<b)| |
(c==d)
car (a<b)| |( (a>=b)) qui est égale à (a<b)| |(!(a<b)) est toujours 34
C1 C2 C1 et C2 C1 ou C2 C1 XOR C2
Vrai Vrai Vrai Vrai Faux
Vrai Faux Faux Vrai Vrai
Faux Vrai Faux Vrai Vrai
Table Faux Faux Faux Faux Faux
de
vérité C1 Non C1
Vrai Faux
Faux Vrai
35
l On ne peut faire que deux choses avec une
variable:
36
l Syntaxe
Déclaratio variables
n d’une
variable Nom_variable : type;
37
L'affectation a pour rôle d'attribuer une valeur, résultat d'une
évaluation, à une variable.
Syntaxe :
Affectatio identifacteur_variable valeur
n où identifacteur_varaible : indique le nom de la variable
valeur : la valeur à affecter
38
l Un algorithme peut avoir des interactions avec l’utilisateur
de la machine », donc:
Pour afficher une information on utilise la commande écrire suivie
entre parenthèses de la chaîne de caractères entre guillemets
et/ou des variables de type simple à afficher séparées par des
virgules, par exemple:
– Écrire (‘’la valeur de la variable a est’’,a)
39
Pour donner la possibilité à l’utilisateur de saisir une
information on utilise la commande lire suivie
Lecture entre parenthèses de la variable de type simple
et qui va recevoir la valeur saisie par l’utilisateur, par
écriture exemple :
– lire (b)
40
Réaliser un algorithme, c’est exprimer, dans un
langage précis (le langage algorithmique), les règles
de traitement d’un problème pour le soumettre à un
ordinateur (par un programme).
41
Une variable est caractérisée par :
o un identificateur (son nom)
o une valeur (qui peut varier au
cours du programme, sauf pour les
constantes)
o un type (qui détermine sa taille et les
opérations possibles)
A Les instructions de base sont :
retenir o l'affectation permet de changer la valeur
d'une variable.
o la saisie permet d'assigner à une variable,
une
valeur entrée au clavier
o l'affichage permet d'écrire le contenu d'une
variable ou d'une expression à l'écran
42
la séquence des
instructions
• Les opérations d'un algorithme sont habituellement exécutées
une à la suite de l'autre, en séquence (de haut en bas et de
gauche à droite).
Par exemple, enfiler ses bas puis enfiler ses bottes n'est pas
équivalent à enfiler ses bottes puis enfiler ses bas.
43
Exemple 1 : Calcul de la surface d’un rectangle
Analyse :
Exercices: Les trois étapes de cet algorithme :
Exemples 1. Lecture de données, longueur et largeur
de 2. Calcul de la surface,
Synthèse longueur*largeur
3. Affichage du résultat
44
Exemple 1 : Calcul de la surface d ’un rectangle
Algorithme surface_rectangle;
Variables
Exercices: longueur, largeur, surface : réel;
Exemples Début
de Ecrire (‘’ Donner les valeurs de la longueur et la
largeur ’’);
Synthèse Lire (longueur, largeur);
surface longueur*largeur;
Ecrire (‘ la surface du
rectangle est
: ’, surface);
Fin 45
Afin d'améliorer la lisibilité d'un algorithme, on peut utiliser
des commentaires. Un commentaire est une suite de caractères
quelconques encadrée par les symboles /* et */
Exemple : /* ceci est un commentaire */
Ou //ceci est un commentaire
/* le calcul du prix TTC */
Algorithme prix_ttc; /* entête de l ’algorithme */
/* déclaration des variables */
Commentaires Variables PH,TVA, PTTC : réel;
Début /* lecture des
variables PH et TVA
*/
Ecrire (‘’ Donner les valeurs du PH et de la TVA’’);
Lire (PH, TVA);
PTTC PH*TVA;/* Calcul du PTTC */
Ecrire (‘’ le prix TCC est : ’’,PTTC); /* Edition du
résultat */
Fin
46
Exercice 1
• Quelles seront les valeurs des variables A et B après
exécution des instructions suivantes ?
Exercices
Affectatio
n
Corrigé
47
Exercice 2
• Quelles seront les valeurs des variables A, B et C après
exécution des instructions suivantes ?
Exercices Corrigé
Affectatio
n
48
Exercice 3
• Quelles seront les valeurs des variables A et B après
exécution des instructions suivantes ?
Exercices Corrigé
Affectatio
n
49
Exercice 4
• Quelles seront les valeurs des variables A, B et C après
exécution des instructions suivantes ?
Exercices
Corrigé
Affectatio
n
50
Exercice 5
• Quelles seront les valeurs des variables A et B après
exécution des instructions suivantes ?
Exercices
Corrigé
Affectatio
n
51
Exercice 6
52
Algorithme permutation;
Echange
54
Exercice 7
•On dispose de trois variables A, B et C. Ecrivez un algorithme
transférant à B la valeur de A, à C la valeur de B et à A la
valeur de C.
Exercices
Echange
55
Exercice 8
• Que produit l’algorithme suivant ?
Exercices
Expressio
n et
opérations
56
Exercice 9
• Que produit l’algorithme suivant ?
Exercices
Expressio
n et
opérations
57
Exercice 10
• Quel résultat produit le programme suivant ?
Exercices
Expressio
n et
opérations
58
Exercice 11
• Ecrire un algorithme qui demande un nombre entier à
l’utilisateur, puis qui calcule et affiche le carré de ce nombre.
Exercices
Expressio
n et
opérations
59
Exercice 12
Écrire un algorithme qui permet d’effectuer la saisie d’un
nom, d’un prénom et affiche ensuite le nom complet
Exercices
Solution
opérations
écrire("entrez le nom")
lire(Nom)
écrire("entrez le prénom")
lire(Prenom)
Nom_Complet Nom & " " & Prenom
écrire("Votre nom complet est : ", Nom_Complet)
Fin
60
I.2 Qu’est ce que veut dire « écrire un algorithme »
Comprendre et Analyser le problème : étude des données
fournies et des résultats attendus.
Résoudre le problème: C’est trouver les structures de données
adaptées ainsi que l’enchaînement des actions à réaliser pour
passer des données aux résultats;
ENTREE Sortie
Données d’entrée connues Données de sortie produites
avant exécution et sur par l’algorithme et qui sont
lesquelles l’algorithme est en relation spécifiée avec
appliqué. les données d’entrée.
4. Chaque action doit être définie avec précision, sans aucune difficulté.
ax 2 bx c 0 (a, b, c) R
Exemple 2:
Algorithme de mise en marche d'une voiture :