Chapitre 1-Programmation - Algorithme-VF
Chapitre 1-Programmation - Algorithme-VF
Raisonnement par
Algorithme
Module : Automatiser les tâches d’administration
MH :120heures
1
Problème
2
Itinéraire pour sortir du
labyrinthe
3
Itinéraire pour sortir du labyrinthe
4
Comment peut-on
définir un algorithme ?
5
Définition d’un Algorithme
1 Introduction à la programmation
2 algorithme contextuel
3 Algorithme graphique
12
Introduction à la
programmation
13
Traitement de l’information
14
Donnée
VS
Information
15
16
Une information - définition
18
Traitement de l’information
La tâche principale d'un Saisie des données (entrées):
ordinateur est le traitement de clavier…
l'information.
Mémorisation des données:
Ce traitement se compose de 4 stockage
fonctions :
Opérations sur les données:
calcul, tri…
Restitution des résultats:
affichage, impression, fichier…
19
La notion de programme
21
Les systèmes d’exploitation d’un ordinateur
Les principales fonctions d'un système d'exploitation sont :
● la gestion et la conservation des informations par l'intermédiaire d'un
système de fichiers ;
● la gestion de l'ensemble des ressources (processeurs, mémoires,
registres, imprimantes, ...) permettant l'exécution d'un programme ;
● Fournir à l'utilisateur un langage de commande facile et efficace.
22
Les différents types de Systèmes d’Exploitation
mono-tâche
multitâches
mono-utilisateur
multi-utilisateurs
23
Méthodologie de développement de programmes
24
Etapes de résolution d’un problème en programmation
26
Problème d’application
Donner un algorithme qui calcule :
27
Algorithme
contextuel
28
Résoudre un problème de manière informatique
Algorithme Programme
Problème Résultat
(instructions)
29
30
Méthodologie
31
Langage de description
D’un Algorithme
1. Types de données
2. Affectation, Lecture et Ecriture des
données
32
33
34
35
36
Déclaration d’une donnée
37
Déclaration d’une variable
38
Déclaration d’une constante
39
Déclaration de données
Règle à retenir
40
Déclaration de données
Remarque
41
➢ Langage de description d’algorithmes
42
Exemple – type de données
43
Notion Expression
Une expression est une combinaison logique
– d'identificateurs,
– de valeurs ,
– d'opérateurs (+,*,/,-,%...) et
– d’autres symboles tels que (), .
44
% ou
45
4- L’affectation
Elle sert à affecter la valeur d'une expression à une variable. On la note par le
symbole
Exemple
46
4- Instructions -Elémentaire
● Affectation
47
Exercice 1 - affectation
48
Exercice 2 - affectation
49
➢ Langage de description d’algorithmes
Résumé
● Une variable est un triplet composé
d'un type (déjà défini),
■
■ d'un nom (a priori toute chaîne alphanumérique),
■ d'une valeur.
○ On écrit : NomDeVariable: Type
■ Type est à prendre pour l'instant dans l'ensemble {entier,chaine,
caractere,booléen,réél}
● Les Expressions sont constituées à l'aide de variables déjà déclarées, de valeurs, de
parenthèses et d'opérateurs des types des variables concernées.
● L'affectation est l'instruction qui permet de stocker une valeur dans une variable.
○ On écrit NomDeVariable ← ExressionDuTypeDeLaVariable
● Toute variable doit être déclarée et recevoir une valeur initiale.
50
Structure d’un algorithme
51
4- Instructions -Elémentaire
● Instruction de Lecture
(Entrée/Input)
Exemple 1 : Lire(rayon)
A l'exécution de cette instruction, quand on saisit la valeur 8 au clavier elle
sera la valeur de la variable rayon.
53
4- Instructions -Elémentaire
● Instruction de Lecture (Entrée/Input)
54
4- Instructions -Elémentaire
● Instruction d’Ecriture (Sortie/output) - Définition
L'instruction d'écriture (écriture à l'écran) permet d'afficher à l'écran les
valeurs des variables ou expressions après les avoir évaluées.
Sa syntaxe est la suivante:
Ecrire (expr1, expr2…)
ou bien s2
écrire(expr1, expr2…)
55
4- Instructions -Elémentaire
● Instruction d’Ecriture (Sortie/output) - Exemples:
56
Résumé : Lire() – Ecrire()
Exemple :
Ecrire (‘Bonsoir’)
Ecrire(moy)
Ecrire(‘la moyenne est ‘, moy)
57
Exercice 1
58
Exemple
● Un algorithme (structuré) de calcul de surface d’un cercle
Algorithme surfaceCercle
Constantes
PI=3.14
Variables
rayon, surface: réels
Début
Ecrire("Veuillez donner un réel ")
Lire(rayon)
surface ← rayon*rayon*PI
Ecrire("surface est ",surface)
Fin.
59
Interpréteur d’Algorithme : Exécuter Débugger
Tabulation Affectation
60
TD par Bi/Trinôme
30
minutes
Ex1 : Ecrire un algorithme qui affiche le message suivant : ‘ Ceci est un Travail
Dirigé ’
Ex2 : Ecrire un algorithme où vous donnez deux nombres entiers et calcule
leur division entière et on l’affiche le résultat à l’écran
Ex3 : Ecrire un algorithme qui vous demande de saisir votre nom, prénom et
age puis les affiche à l’écran
Ex4 : Écrire un algorithme qui lit un réel est affiche son cube.
EX5 : Écrire un algorithme qui permet de lire :
• Le montant hors taxes d'un article : MontantHT (un réel)
• Le taux de TVA : TauxTVA (un réel)
• Le nombre d'articles : NbArticles (un entier)
Puis, le montant total toutes taxes comprises TotalTTC sachant que :
TotalTTC = Nbarticles * MontantHT * (1 + TauxTVA) 61
62
63
Les commentaires
64
Les commentaires
#
#
65
Les commentaires
● Pour accentuer la lisibilité de l’algorithme et faciliter sa
compréhension par les humains, on peut introduire les
commentaires, qui ne sont pas des instructions destinées à
la machine mais des indications données au lecteur de
l’algorithme.
66
Les Structures de contrôle
Une structure de contrôle sert à contrôler l'exécution d'une instruction ou d'un bloc
d'instructions. Deux types de structures de contrôles:
Instructions
68
>, == , < , >= , <= , != ou <>
69
70
Opérateurs logique
● Une variable de type booléen prend
comme valeur VRAI ou FAUX.
○ Les opérations usuelles sont ET, OU et NON
qui sont données dans les tables qui
suivent.
71
72
²
73
Structure
conditionnelle
74
7-Structures de contrôle- Structure Conditionnelle
Forme 1 : Exemple:
Chercher la surface d'un disque de rayon saisi au clavier. Il faut
s'assurer tout d'abord que le rayon soit positif.
…
Si (condition) alors
instr1;
instr2;
…
finsi;
…
75
7-Structures de contrôle - Structure Conditionnelle
Exemple:
Forme 2 : Chercher la surface d'un disque de rayon saisi au clavier.
… Il faut s'assurer tout d'abord que le rayon soit positif. Si le
Si (condition) alors rayon saisi est négatif, afficher le message "rayon non valide".
instr11;
instr12;
…
Sinon
instr21;
instr22;
….
Finsi;
…
76
77
78
Autres exemples
Si (Salaire<1500) alors
Ecrire (‘pauvre’)
Sinon si (Salaire <= 3000) alors
Ecrire (‘Moyen’)
Sinon
Ecrire(‘Riche’)
Finsi
Finsi
80
Solutions –
Exercices 1
81
Solution
Ex2
82
Solutions – Exercices 3
83
Correction EX4
84
Structures de contrôles
Structure conditionnelle
à choix multiple
85
Exemple
Un commerçant vous
demande de lui créer un
algorithme qui demande
à l’utilisateur de saisir le
nom d’un Aliment et
ensuite affiche le prix
86
87
Structure Conditionnelle
Forme 3 : choix multiple
Entrées : op, a, b;
Sorties : la valeur de "a
op b" et le nom de
l'opération.
90
Exemple
91
Les boucles
92
Situation
● Donner au moins deux versions d’un programme qui permet d’afficher le
mot OFPPT 10 fois. #Version 1
Ecrire(‘OFPPT’)
Ecrire(‘OFPPT’)
Ecrire(‘OFPPT’)
#Version 2 Ecrire(‘OFPPT’)
Pour i←1 à 10 faire Ecrire(‘OFPPT’)
Ecrire(‘OFPPT’) Ecrire(‘OFPPT’)
Fin Pour Ecrire(‘OFPPT’)
Ecrire(‘OFPPT’)
Ecrire(‘OFPPT’)
Ecrire(‘OFPPT’)
93
La Boucle pour
94
Structures répétitives
● La structure répétitive (Boucle) permet d’exécuter
plusieurs fois une séquence d’instructions.
97
Boucle Pour Nombre de
répétitions
Connu
Nombre de
Boucle Tant que … faire répétitions
Dépend d’un
condition
Boucle Répéter… jusqu’à
98
7-Structures de contrôle- Structures répétitives
● Fonctionnement
var_compteur, début et fin doivent avoir le même type ou des types compatibles.
99
7-Structures de contrôle- Structures répétitives
● La boucle : Tantque(condition) ● Fonctionnement
● Si la condition est vraie, on exécute
Tantque (condition) faire les instructions et on passe vérifier la
condition de nouveau.
Instr1;
Instr2; ● Si elle est toujours vraie, on exécute
les instructions et ainsi de suite. Ce
… processus se répète jusqu'à ce que la
Fin tantque condition soit vraie.
répéter
Instr1;
Instr2;
…
Jusqu’à (condition)
En général, les instrs doivent contenir une instruction qui assure la sortie de la boucle: rendre la
condition fausse après un certain nombre fini d'répétitions ou autre .
→ Les instructions contrôlées par cette structure sont exécutées au moins une fois 101
7-Structures de contrôle- Structures répétitives
● La boucle : Tantque(condition)
Exemples :
102
7-Structures de contrôle- Structures répétitives
Exemple
répéter … jusqu’à(condition)
Répéter
s← s+i
i← i+1
Jusqu’à (i>n)
103
Exemples
Les Répétitions
ou Boucles
104
TD 3 – Si…sinon si … sinon – boucle Pour
1 - Demander à l’utilisateur deux nombres, les mémoriser dans deux variables, multiplier leurs valeurs en
affectant le résultat à une troisième variable, puis l’afficher.
2 - Même chose que la question 1 avec la division à la place de la multiplication. Vérifier que le 2ème nombre
est différent de zéro, sinon afficher "Erreur : division par 0 !".
3 - Ecrire un algorithme qui lit la moyenne d'un étudiant et affiche la mention associée.
4 - Ecrire un algorithme qui lit trois notes d'un étudiant, calcule sa moyenne et l'affiche avec la mention
associée.
5 - Ecrire un algorithme qui lit un entier et affiche s'il est pair ou impair.
6 - Ecrire un algorithme qui lit trois nombres et affiche s'ils sont ordonnés ou non.
7- Ecrire un algorithme qui demande un nombre de départ, et qui affiche ensuite les dix nombres suivants en
utilisant la boucle pour.Par ex : si l’utilisateur entre le nombre 40, le programme affichera 41 jusqu’à 50 105
TD3 – Boucles tantque et répéter .. Jusqu’à
1- Écrire un algorithme qui saisit un nombre pair et qui détermine combien de fois ce nombre est divisible par 2.
• Exemple : le nombre 8 est divisible 3 fois par 2 (ne pas contrôler la parité du nombre).
2- Traiter l‘activité précédentes en effectuant le contrôle sur la parité du nombre et en utilisant la boucle Répéter
jusqu'à
3-Ali s’installe dans un appartement un 1er janvier. Le loyer mensuel s’élève à 650dh et le propriétaire prévoit
d’augmenter le loyer de 1,8% chaque année. Ali souhaite quitter l’appartement juste avant que le loyer ne dépasse
800dh.
3.1) Compléter l’algorithme ci-dessous afin qu’il affiche le nombre d’années où Ali restera dans cet appartement.
Algorithme :
L prend la valeur 650
N prend la valeur 0
----------------
Tant que L<=800 faire
----------------
----------------
----------------
Fin Tant que
Afficher N
3.2) Que faut-il rajouter dans cet algorithme pour qu’il affiche aussi la somme totale qu’Ali aura versé au propriétaire
de son appartement depuis son installation ? 106
TD 3 : Boucle
107
Algorithme Div
variable
N,x : entier
début
écrire (‘Saissez un nombre pair :’)
lire (N)
x <- 0
si N % 2 = 0 alors
tantque N<>1 faire
N <- Ndiv2
x <- x+1
fintanque
écrire (‘Le nombre a été divisé’, x ,’fois par2’)
finsi
fin
108
TD 1 (correction)
Ali s’installe dans un appartement un 1er janvier. Le loyer mensuel s’élève à 650dh et le propriétaire prévoit
d’augmenter le loyer de 1,8% chaque année. Ali souhaite quitter l’appartement juste avant que le loyer ne dépasse
800dh.
1) Compléter l’algorithme ci-dessous afin qu’il affiche le nombre d’années où Ali restera dans cet appartement.
Algorithme :
L prend la valeur 650
N prend la valeur 0
S<-0
Tant que L<=800 faire
S<- S+12*L
L <- L + (L*1,8)/100
N <-N+1
Fin Tant que
Afficher N
2) Que faut-il rajouter dans cet algorithme pour qu’il affiche aussi la somme totale qu’Ali aura versé au propriétaire de
son appartement depuis son installation ? 109
Solution : question 2
Fin; 110
CORRECTION
lire (n)
f← 1
Pour i ← 1 à n pas 1 faire
f←f*i
écrireln ( ‘pour i=‘, i , ‘f =‘, f)
Finpour
fin
111
Correction
Ecrire un algorithme qui
permet de calculer le
résultat de la division d’un
entier a par un entier b par
soustractions successives.
112
Un Algorithme peut Chaque instruction et chaque
s’écrire aussi en structure de contrôle possède
une représentation graphique.
représentation
Graphique
Organigramme
113
Algorithme par Organigramme
114
Algorithme par Organigramme
● Exemple 1
115
Organigramme
116
Organigramme
● Exemple 3
117
Exercice
représenter l’algorithme
de recherche de Minimum Début
entre 2 entiers
10
min Ecrire (‘ Donner a et b’)
Lire (a,b)
Faux Vrai
a<b
Fin
118
Organigramme – Boucle
119
Organigramme – Boucle Pour
(
120
Exercices:
1- Représenter l’algorithme qui demande à
l’utilisateur de saisir un nombre et afficher sa table
de multiplication.
2- Représenter l’algorithme qui lit la moyenne d'un
étudiant et affiche la mention associée.
121
Début
Lire (N)
Faux Vrai
N<10
Faux Vrai
N<14 Ecrire (‘Passable’)
Faux Vrai
N<16 Ecrire (‘Assez Bien’)
Faux
N<=20
Vrai Ecrire (‘Bien’)
Lire (n)
i←1
Faux Vrai
i<=10
M←i*n
Fin
i←i+1
123