0% ont trouvé ce document utile (0 vote)
271 vues123 pages

Chapitre 1-Programmation - Algorithme-VF

Transféré par

larbiasebban
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
271 vues123 pages

Chapitre 1-Programmation - Algorithme-VF

Transféré par

larbiasebban
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 123

Chapitre 1

Raisonnement par
Algorithme
Module : Automatiser les tâches d’administration
MH :120heures

Formatrice : MOUNIA EL ANBAL


ID-2021-2022

1
Problème

2
Itinéraire pour sortir du
labyrinthe

Donner les étapes à suivre


pour résoudre ce problème

3
Itinéraire pour sortir du labyrinthe

4
Comment peut-on
définir un algorithme ?

5
Définition d’un Algorithme

Un algorithme est une suite d’actions ou


d’instructions élémentaires qui doivent
être exécutées dans un ordre bien
déterminé pour résoudre un problème
(ou réaliser un travail).
6
Phase d’écriture d’un algorithme
•Le langage algorithmique est un langage proche du langage humain et
qui est défini par un ensemble de mots réservés et de syntaxes d’écriture
d’actions.

•La réalisation de programmes passe par l’écriture d’algorithmes.

•Le terme algorithme vient du nom du mathématicien arabe Al-


Khawarizmi (820 après J.C.).

•Un algorithme est une description complète et détaillée des actions à


effectuer et de leur séquencement pour arriver à un résultat donné.
7
8
9
10
11
PLAN

1 Introduction à la programmation

2 algorithme contextuel

3 Algorithme graphique

12
Introduction à la
programmation

13
Traitement de l’information

Pourquoi utilisez vous un ordinateur ?

Les ordinateurs sont utilisés pour


● le traitement d'informations ;
● le stockage d'informations.

14
Donnée
VS

Information

15
16
Une information - définition

Une information est un


renseignement qui porte sur un
objet (nom d'un étudiant, intitulé
d'un module, rayon d'un cercle…).
17
Donnée vs Information
Donnée=information
mais

Données aspect physique de l'information.

Information données avec un sens.

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

Données Programme Résultat

Un programme traduit la marche à suivre pour expliquer le traitement à


effectuer sur les données. ... Un ordinateur ne manipule que du binaire : pour
écrire des programmes, on se sert d'une notation, appelée langage de
programmation. 20
La notion d’instruction

● Une instruction est un ordre qu'on demande à un


ordinateur d'exécuter.
● L’exécution d’une instruction porte souvent sur des
données.

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.

Unix Windows MacOS

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

1. Établir la liste des données en entrée(données à saisir), la liste des


données en sortie(résultats : données à afficher) et les liens entre elles

2. Construire un chemin de résolution qui permet d'obtenir les données en


sortie à partir des données en entrée. C'est ce qu'on appelle un schéma
de résolution.

3. Décrire le schéma de résolution en termes d'instructions élémentaires


acceptées par ordinateur. C'est l'algorithme.

4. Traduire l’algorithme en langage machine. C’est la programmation


25
Problème 2 : Donner un algorithme qui calcule la
Exemple moyenne de 2 notes ; le Périmètre d’un rectangle

26
Problème d’application
Donner un algorithme qui calcule :

1 - La moyenne de deux notes

2 - Le périmètre d’un rectangle

27
Algorithme
contextuel

28
Résoudre un problème de manière informatique

● Il y a un cheminement méthodique à respecter :

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

Les variables se déclarent après les constantes.


Exemple:
Constantes
pi=3.14
taux=2
Variables
Rayon, surface : réels

40
Déclaration de données
Remarque

● Les constantes littérales de type caractères sont entre apostrophes.


● Les constantes littérales de type chaîne de caractères sont entre
guillemets.

41
➢ Langage de description d’algorithmes

2-Les types de données

"1" qui est un caractère,


1 qui est un entier,
1. qui est un réel

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

Pour affecter la valeur d'une expression à une variable


● on écrit :

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)

Permet de lire des valeurs à partir du


clavier et les affecte aux variables.
La syntaxe de cette instruction est :

Lire (var1, var2, …);


ou bien
lire (var1, var2, …);
52
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)

● Exemple 2 : lire les valeurs de plusieurs variables


Variables
nom : chaîne; Remarque :
age : réel;
… Les arguments de Lire
Lire(nom, age); #nom et age sont des variables. doit être des variables.

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:

Ecrire (rayon) #affiche la valeur de rayon :5


Ecrire (surface) #affiche à l'écran la valeur de surface :78.5
Ecrire (pi*rayon*rayon) #affiche aussi 78.5
Ecrire("surface") #affiche le mot surface.

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

Sur play store chercher Algo et installer cette application :

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.

● Les commentaires sont encadrés par les symboles # dans


notre cours et dans python et //dans l’application Algo)

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:

▪ Structure conditionnelle si l'exécution de l'instruction ou du bloc dépend d'une


condition
▪ Structure répétitive(répétitive ou boucle) si l'exécution de l'instruction ou du
bloc peut être répétée plusieurs fois (basée aussi sur une condition).
67
7-Structures de contrôle
Si x est positif alors
Calculer la racine carrée. Condition ou contrôle
Si a est différent de 0 alors
Calculer –b/a
Pour tout i de 1 jusqu’à 25 faire
Ecrire (‘’mot de passe wifi est 1233x21123x’’)

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

Si (age>=25) Et (Salaire=0) Alors


Ecrire (‘Vous avez droit au RSA’)
Finsi
79
TD2 30
minutes

EX1/Chercher le minimum (le plus petit) de deux entiers saisis au clavier.


EX2/ Ecrire un algorithme qui permet de lire la valeur de la température de l’eau et
d’afficher son état:
- GLACE si la température est inférieur à 0
- LIQUIDE si la température est strictement supérieure à 0 et strictement inférieure à
100
- VAPEUR si la température est supérieure à 100
EX3/ Ecrire une analyse et un algorithme qui permet de saisir un entier puis de vérifier s’il
est divisible par son chiffre d’unité. Exemple : 24 est divisible par 4; 127 n’est pas
divisible par 7

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

Selon (var) Fonctionnement :


val1 : liste_instructions1;
val2 : liste_instructions2; • Si var=val1 alors on exécute liste_instructions1.
… Sinon, on passe comparer var avec val2. Si
sinon : Liste_instructions; var=val2 alors seront exécutées
Finselon liste_instructions2….etc

Ou • Si var est différent de toutes les valeurs val, on


exécute les instructions de sinon si elle est
Cas var vaut présente.
val1: instruction1
val2: instruction2 • Sinon on passe à l'instruction suivante de
… l'algorithme.
sinon: instructionX
Fin cas 88
89
7-Structures de contrôle- Structure Conditionnelle
● Exemple
Ecrire un algorithme
qui lit un opérateur op
(+,-,/,*) et deux entiers
a et b puis affiche le
nom et le résultat de
l'opération a op b.

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.

● Dans une boucle, le nombre de répétitions peut être


connu, fixé à l’avance, comme il peut dépendre d’une
condition permettant l’arrêt et la sortie de la boucle.

● Le passage dans une boucle s’appelle itération.


95
96
7-Structures de contrôle- Structures répétitives
● Exemple :
Calculer la somme s=1+2+3..+n. n à lire au clavier

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

● On affecte à var_compteur la valeur de


début, puis on exécute les instructions.
● Ensuite, on incrémente var_compteur et on
vérifie si sa valeur est <= de celle de fin.
● Si var_compteur<=fin, on exécute les
instructions et on passe)
● On quitte cette boucle lorsque var_compteur
>fin.

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.

● Si la condition est fausse à l'entrée de


la boucle, le bloc ne sera jamais
En général, les instructions doivent contenir une exécuté.
instruction qui assure la sortie de la boucle (rend
la condition fausse après un certain nombre fini de
répétitions). 100
7-Structures de contrôle- Structures répétitives
La structure :
répéter … jusqu’à(condition)

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 :

Écrire un algorithme qui calcule


la somme 1+2+3+…+n. n à lire
au clavier.

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

Écrivez un programme qui fait la somme d’une suite de 6


nombres entrés par l’utilisateur.
o Entrée : 6 nombres
o Sortie : Affichage de la somme

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

Algorithme Factoriel L’exécution donne :


Variables
f,i,n : entiers
Début

lire (n)
f← 1
Pour i ← 1 à n pas 1 faire
f←f*i
écrireln ( ‘pour i=‘, i , ‘f =‘, f)
Finpour

écrireln (‘le factoriel de’, n , ‘est ‘ , f)

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

Ecrire (b, ‘ est le minimum’) Ecrire (a, ‘ est le minimum’)

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

Ecrire (‘ quelle est votre moyenne?’)

Lire (N)

Faux Vrai
N<10

Faux Vrai Ecrire (‘non admis’)


N<12

Faux Vrai
N<14 Ecrire (‘Passable’)

Faux Vrai
N<16 Ecrire (‘Assez Bien’)
Faux
N<=20
Vrai Ecrire (‘Bien’)

Ecrire (‘note non valide’) Ecrire (‘Excellent’)


122
Fin
Début

Ecrire (‘ quelle table de multiplication voulez-vous ?’)

Lire (n)

i←1

Faux Vrai
i<=10

M←i*n

Ecrire ( i , ‘*’ , n , ’=‘ , M)

Fin

i←i+1

123

Vous aimerez peut-être aussi