Академический Документы
Профессиональный Документы
Культура Документы
Module : LCI2
lment : Informatique 1
Initiation la programmation
Introduction
Ch. Introduction
Introduction
Objectifs
Dfinir les concepts
Ordinateur
Programme
Langage de programmation
Information
Traitement de l'information
M.Machkour
SMP3
Introduction
Notion d'ordinateur
Machine lectronique ultra rapide
possdant :
Unit centrale de traitement(UCT, CPU,
Processeurs),
Mmoire pour stocker les programmes et les
donnes traiter (RAM),
Des units d'entes et de sorties (E/S) (ports)
pour communiquer avec l'extrieur.
M.Machkour
SMP3
Introduction
Schma simplifi d'un ordinateur
Calcul et contrle
UCT
Bus de
donnes
Vers lextrieur:
Clavier, cran
E/S
Donnes et instructions
MEMOIRE
Bus de
contrle
M.Machkour
SMP3
Introduction
Extrieur comprend
Clavier, scanner
Les supports de stockage(disque dur, disque
optique)
Imprimante
Souris
M.Machkour
SMP3
Introduction
Notion de programme
Un ordinateur est une machine programmable
M.Machkour
SMP3
Introduction
Langage de programmation
L'ordinateur doit excuter des instructions d'un
programme.
=>Ces instructions doivent tre
comprhensibles ou acceptes par
l'ordinateur
=> Instructions crites dans un langage
compris par l'ordinateur
=> Ncessit d'un langage de programmation:
C, Pascal, VB, JAVA
M.Machkour
SMP3
Introduction
Notion d'information
Un ordinateur est une machine de
traitement d'information
Information
Une information est un renseignement qui
porte sur un objet (nom d'un tudiant, intitul
d'un module)
Une information est une critre qui rduit le
domaine o on cherche la rponse une
question (rduit l'incertitude)
M.Machkour
SMP3
Introduction
Exemple
Question : Chercher le plus grand mot d'une
langue donne. Soit "L" le nom de cette
langue.
Considrons les Informations suivantes
+Ce mot est un adverbe.
+Ce mot commence par la lettre X
-Ce mot dpasse 2 caractres.
M.Machkour
SMP3
10
Introduction
Les mots de la langue L
Adverbes
Adverbes commenant par X
M.Machkour
SMP3
11
Introduction
Traitement de l'information
La tche principale d'un ordinateur est le
traitement de l'information.
Ce traitement se compose de 4 fonctions :
Saisie des donnes (entres),
Mmorisation des donnes,
Oprations sur les donnes,
Restitution des rsultats.
M.Machkour
SMP3
12
SMP3
Module : LCI2
lment : Informatique 1
Initiation la programmation
Algorithmique
Algorithmique
Objectifs
Matriser les concepts ou les notions :
Algorithme
Instruction
Donne
Variable
constante
M.Machkour
SMP3
15
SMP3
16
Algorithmique
Notion d'instruction
Une instruction est un ordre qu'on demande
un ordinateur d'excuter.
Une instruction est, en gnral, compose de
- opration: +,*
- des arguments 2, 3, x, y, s ,v, rayon
Ces arguments sont appels : donnes.
M.Machkour
SMP3
17
Algorithmique
Exemples d'instructions
Calculer 2 + 3 est une instruction ,
+ est le nom de l'opration (oprateur),
2 et 3 sont les donnes (oprandes).
Lire une valeur au clavier : instruction de
lecture. On la reprsente par le mot Lire
crire une valeur l'cran : instruction
d'criture. On la reprsente par le mot crire.
M.Machkour
SMP3
18
Algorithmique
Rdaction d'algorithmes
Les tapes suivre pour rdiger un algorithme
M.Machkour
SMP3
19
Algorithmique
SMP3
20
Algorithmique
Exemple
Problme : Automatiser le calcul de surface d'un
disque.
Identification des donnes d'entres et de sorties
- Donne en entres : rayon, pi
- Donnes en sorties : surface
- Relations entre les donnes : surface= PI*rayon * rayon.
Chemin de rsolution
- Donner une valeur rayon (affectation ou une lecture)
- Donner une valeur PI
- Calculer PI*rayon*rayon
- Mettre la valeur de PI*rayon*rayon dans surface (stocker
ou affecter)
- Afficher la valeur de surface (Ecrire).
SMP3
21
Algorithmique
Notion d'algorithme
Un algorithme est une suite finie
d'instructions lmentaires excutables
par ordinateur.
M.Machkour
SMP3
22
Algorithmique
Exemple d'algorithme
Algorithme surfaceDisque;
Constantes
PI=3.14;
Variables
rayon, surface : rels ;
Dbut
Rayon 5;
Surface rayon*rayon*PI;
Ecrire("surface=",surface);
Fin.
M.Machkour
SMP3
23
Algorithmique
Notion de donne
Les donnes sont les objets manipuls par
les instructions d'un algorithme.
Exemples
Donnes
Instruction1 : calculer 2 + 3
Instruction2 : calculer rayon * rayon * PI
M.Machkour
SMP3
24
Algorithmique
Nature des donnes
Les donnes peuvent tre
Donnes variables ou simplement variables
Exemples :
- rayon (calculer la surface de (+) disque)
- surface
Donnes constantes ou simplement constantes
Exemple PI, ou la valeur 3.14
PI est dite constante symbolique,
3.14 est dite constante littrale.
SMP3
25
Algorithmique
Remarque
Une constante symbolique peut tre
manipule directement par son nom ou
par sa valeur littrale.
Exemple
rayon*rayon*PI
ou
rayon*rayon*3.14
M.Machkour
SMP3
26
Algorithmique
Dclaration des donnes
Les variables et les constantes symboliques
utilises dans un algorithme doivent tre
dclares.
Pourquoi?
Rservation de l'espace mmoire.
La dclaration d'une donne comprend
- le nom,
- le type et
- la nature de la donne.
M.Machkour
SMP3
27
Algorithmique
Le nom
- Le nom permet de distinguer la donne parmi les
autres donnes de l'algorithme.
- Ce nom doit tre un identificateur.
Dfinition d'identificateur
Identificateur : un nom qui commence par une lettre ou
le caractre soulign suivi de lettres ou de chiffres ou le
caractre soulign.
M.Machkour
SMP3
28
Algorithmique
Remarque
On prfre que l'identificateur soit significatif (si c'est
possible).
M.Machkour
SMP3
29
Algorithmique
Exemples d'identificateurs
R ou rayon
S ou surface
PI,
P, V, T, Adresse, Ville.
P12
P1Abc_V
M.Machkour
SMP3
30
Algorithmique
Contre-exemples
1nom,
nom tudiant,
nom!
A chaque nom est associe une adresse unique dans la
mmoire de lordinateur.
M.Machkour
SMP3
31
Algorithmique
Lien entre nom de donnes et mmoire
A chaque nom de donne dclare est
associe une adresse physique d'une case
mmoire de lordinateur.
Cette case mmoire contient la valeur de la
donne
rayon
Adresse1 10
SMP3
32
Algorithmique
Le type
Le type dsigne l'ensemble ou l'intervalle des
valeurs que peut prendre la donne. On
s'intresse aux types simples qui sont :
Entiers(1,-1),
Rels(2.3),
Caractres(a, !),
Chane de caractres (suite de caractres entre
guillemets: " bonjour" ).
M.Machkour
SMP3
33
Algorithmique
La nature
La nature d'une donne indique si la
donne est constante ou variable.
La donne constante ne change pas de
valeur dans l'algorithme.
La donne variable peut changer de valeur
dans l'algorithme.
M.Machkour
SMP3
34
Algorithmique
Syntaxe de dclaration d'une variable
Les variables se dclarent dans une zone dite
Variables.
La rgle de dclaration d'une variable est la
suivante :
nom_variable : type;
M.Machkour
SMP3
35
Algorithmique
Exemple
Variables
rayon : rel;
surface : rel ;
n : entier;
Ou bien
Zone variable
Variables
rayon, surface : rel;
n :entier;
M.Machkour
SMP3
36
Algorithmique
Syntaxe de dclaration d'une constante
Les constantes se dclarent dans une rubrique
nomme Constantes.
La syntaxe utilise est la suivante:
nom_constante_symb = valeur_constante_litt;
M.Machkour
SMP3
37
Exemple
Constantes
PI = 3.14 ;
M.Machkour
SMP3
38
Exemple
Constantes
PI = 3.14 ;
C = 8.98 e 9;
E =1.6e-19;
M.Machkour
SMP3
39
Algorithmique
Rgle respecter
Les variables se dclarent aprs les
constantes.
Exemple
Constantes
PI=3.14 ;
Variables
Rayon, surface : rels;
M.Machkour
SMP3
40
Algorithmique
Remarques
- Les constantes littrales de type caractres sont
entre apostrophes.
Constantes
GENRE1='F';
GENRE2='M';
SMP3
41
Algorithmique
Notion expression
Une expression est une combinaison logique
d'identificateurs,
de valeurs ,
d'oprateurs (+,*,/,-,%...) et
dautres symboles tels que (), .
Exemples
M.Machkour
Contre-exemples
1
2+3
rayon * rayon *pi
(pi*rayon)*2
2*+3
(2+5*2
SMP3
42
Algorithmique
Instructions lmentaires
Instruction d'affectation
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 :
expression;
Nom_variable
M.Machkour
SMP3
43
Algorithmique
Exemple1 (expression constante)
rayon
5;
Aprs cette instruction la valeur de rayon est 5.
La case mmoire associe la variable rayon
contient donc la valeur 5.
M.Machkour
SMP3
44
Algorithmique
Exemple2(expression variable)
rayon
5;
r
rayon;
Aprs ces instructions la valeur de r est 5.
M.Machkour
SMP3
45
Algorithmique
Exemple 3 (expression compose)
rayon
5;
Surface
pi*rayon*rayon;
Aprs cette instruction la valeur de surface est
78.5.
M.Machkour
SMP3
46
Algorithmique
M.Machkour
SMP3
47
Algorithmique
Exemple 1
Lire(rayon);
A l'excution de cette instruction, quand on saisit la
valeur 8 au clavier, elle sera la valeur de la variable
rayon.
M.Machkour
SMP3
48
Algorithmique
Exemple 2
Lire(nom, age);
nom et age sont des variables.
M.Machkour
SMP3
49
Algorithmique
Instruction d'criture : Ecrire
permet d'afficher les valeurs des constantes,
des variables ou des expressions (aprs les
avoir values) l'cran.
M.Machkour
SMP3
50
Algorithmique
Exemples
- Ecrire (5);
- 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.
- Ecrire ('s'); affiche la lettre s.
M.Machkour
SMP3
51
Algorithmique
Structure gnrale d'un algorithme
Algorithme Nom_algorithme;
Constantes
Liste_de_constantes;
Variables
Liste_de_varaibles;
Dbut
Liste_instructions;
Fin.
M.Machkour
SMP3
52
Algorithmique
Exemples d'algorithmes
Calcul de la surface d'un disque
Calculer de la somme des n premiers entiers
1+2+3+n
Permutation des valeurs de deux variables.
M.Machkour
SMP3
53
Algorithmique
SMP3
54
Algorithmique
Algorithme surfaceDisque;
Constantes
PI=3.14;
Variables
rayon, surface : rels ;
Dbut
rayon 5; // ou bien lire(rayon) ;
//Il ne faut pas crire rayon=5;
surface rayon*rayon*PI;
Ecrire("surface=",surface);
Fin.
M.Machkour
SMP3
55
Exemple 2
Calcul de la somme
1+2+3n avec n un entier saisir au clavier.
i. Identification des donnes d'entres et de sorties
Donne en entres : n
Donnes en sorties : somme
Relations entre les donnes : somme= n*(n+1)/2
SMP3
56
Algorithme sommeN ;
Constantes
Variables
n, somme: entiers ;
Dbut
Lire(n) ;
somme n*(n+1)/2 ;
Ecrire (somme); ou bien Ecrire("la sommes est:" ,
somme) ;
Fin.
M.Machkour
SMP3
57
Exemple 3
Permuter les valeurs de deux variables x et y.
Par exemple
Au dbut x contient 12 et y contient 13
x 12
y 13
x 13
M.Machkour
y 12
SMP3
58
Exemple 3 (suite)
Solutions pour la permutation
Si on fait x y ; et y x ;on aura
xy
x 12
yx
y 13
et
y 13
x 13
SMP3
59
Exemple 3 (suite)
La raison?
La valeur de x n'a pas t conserve. Elle a
t crase par la valeur de y(13).
Solution ?
Ajouter une autre variable z pour
conserver provisoirement la valeur de x.
M.Machkour
SMP3
60
Exemple 3(suite)
Solution
z x; z
x 12
z 12
xy;
x 12
y 13
x 13
yz;
y 13
z 12
y 12
M.Machkour
SMP3
61
Exemple 3 (suite)
i. Identification des donnes d'entres et de
sorties
Donne en entres : x et y
Donnes en sorties : x et y changes
SMP3
62
Exemple 3 (suite)
Algorithme permutation;
Variables
x,y,z: entiers ;
Dbut
Lire(x) ;
ou x 12;
Lire(y) ;
ou y13;
z x ;
xy ;
y z ;
Ecrire ("la valeur de x aprs permutation : " , x ) ;
Ecrire ("la valeur de y aprs permutation : " , y) ;
Fin.
M.Machkour
SMP3
63
SMP3
64
Exercice
crire un algorithme qui lit un rel est affiche son
carr.
Algorithme carr ;
Variables x,y: rels;
Dbut
Lire(x);
yx*x;
Ecrire ("le carr de ", x , " est : " , y);
Fin.
M.Machkour
SMP3
65
Bloc d'instruction
Un bloc d'instructions est une suite d'instructions dlimites par les
mots dbut et fin
Exemple
Dbut
Lire(rayon);
surface=rayon*rayon*PI;
Ecrire (surface);
Bloc d'instructions
Fin.
Note.
En langage C
Le mot dbut est reprsent par {
Le mot fin par }.
M.Machkour
SMP3
66
SMP3
67
Exemples
L'environnement de l'algorithme
surfaceDisque est constitu de
la constante PI et les variables rayon et
surface.
L'environnement de permutation est : x,y et z.
M.Machkour
SMP3
68
SMP3
70
Exemples
Si x est positif alors
Contrle ou condition
Calculer la racine carre.
Si a est diffrent de 0 alors
Calculer b/a
Pour tout i de 1 jusqu 100 faire
Affecter s la somme s+i.
Instruction
M.Machkour
SMP3
71
Notion de condition
Une condition est une expression dont la valeur
est soit vraie, soit fausse (expression
boolenne ou de type boolen).
M.Machkour
SMP3
72
Exemples
- 2>3
- 2<3
- 2=3
Remarques
- Le type boolen={vraie (v), fausse(f)}
- On peut aussi dclarer des variables
de type boolen.
M.Machkour
SMP3
73
test 2>3;
test2<3;
M.Machkour
SMP3
74
Condition et oprateurs
Les conditions sont exprimes par des
oprateurs de comparaison et des
oprateurs boolens :
-
SMP3
75
Dfinition de l'oprateur ET
Soit A et B deux expressions boolennes
L'expression A ET B est vraie ssi
A est vraie et B est vraie.
Exemples
(2>3) ET (2=2) fausse
(2<3) ET (2=2) vraie
(2>3) ET (2<2) fausse
M.Machkour
SMP3
76
Dfinition de l'oprateur OU
Soit A et B deux expressions boolennes
L'expression A ou B est fausse ssi
A est fausse et B est fausse.
Exemples
- (2>3) OU (2=2) vraie
- (2<3) OU (2=2) vraie
- (2>3) OU (2<2) fausse
M.Machkour
SMP3
77
SMP3
78
Lois de De Morgan
Si A et B deux expressions boolennes
alors
non(A ET B)=non(A) OU non(B)
non(A OU B)=non(A) ET non(B)
M.Machkour
SMP3
79
Structures conditionnelles
Forme 1
Si (condition) alors
instr1; | bloc_instr
finsi
M.Machkour
SMP3
80
Exemple
Chercher la surface d'un disque de rayon
saisi au clavier. Il faut s'assurer tout
d'abord que le rayon soit positif.
M.Machkour
SMP3
81
Algorithme surfaceDisque;
Constantes
PI=3.14;
Variables
rayon, surface:rels ;
Dbut
Lire(rayon);
Si (rayon>0 ) alors
debut
Surface rayon*rayon*PI;
Ecrire("surface=",surface);
fin
finsi
Fin.
M.Machkour
SMP3
82
Structures conditionnelles
Forme 2
Si (condition) alors
instr1; | bloc_instr1
Sinon
Instr2; | bloc_instr2
.
finsi
M.Machkour
SMP3
83
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 le
rayon saisi est ngatif, afficher le message
rayon non valide.
M.Machkour
SMP3
84
solution
Algorithme surfaceDisque;
Constantes
PI=3.14;
Variables
rayon, surface:rels ;
Dbut
Lire(rayon);
Si (rayon>0 ) alors
dbut
surface rayon*rayon*PI;
Ecrire("surface=",surface);
fin
Sinon
Ecrire(" rayon non valide");
finsi
Fin.
M.Machkour
SMP3
85
Exercices
1/Chercher le minimum de deux entiers
saisis au clavier.
2/Chercher le minimum de trois entiers
saisis au clavier.
3/Donner la solution de ax+b=0. a et b
sont deux rels saisir.
M.Machkour
SMP3
86
Ex1 Solution1
Algorithme minimum1;
Variables
a, b, min :entiers;
Dbut
Lire(a,b);
Si (a<b) alors
mina;
Sinon
min b;
Finsi
Ecrire ("le min est:",min);
Ex1 Solution2
Algorithme minimum2;
Variables
a, b, min :entiers;
Dbut
Lire(a,b);
min a;
Si(min > b) alors
min b;
Finsi
Ecrire ("le min est:",min);
Fin.
Fin.
M.Machkour
SMP3
87
Ex1 Solution3
Algorithme minimum3;
Variables
a, b, min :entiers;
Dbut
Lire(a,b);
Si(a<b) alors
Ecrire ("le min est:",a);
Sinon
Ecrire ("le min est:",b);
Finsi
Fin.
M.Machkour
SMP3
88
Ex2 Solution
Algorithme minimum;
Variables
a, b, c, min :entiers;
Dbut
Lire(a, b, c );
min a;
Si (min > b) alors
min b;
Finsi
Si (min > c) alors
min c;
Finsi
Ecrire ("le min est:",min);
Fin.
M.Machkour
SMP3
89
Ex 3 solution
Algorithme equation;
Variables a,b,x :rels;
Dbut
Lire(a,b);
Si (a0) alors
dbut
X-b/a;
Ecrire("la sol est :", x);
Fin
Sinon
Ecrire ("il y a 0 ou plusieurs solutions");
Finsi
Fin.
M.Machkour
SMP3
90
M.Machkour
SMP3
91
Exercices supplmentaires
1/Ecrire un algorithme qui lit la moyenne d'un tudiant
et affiche s'il est admis ou non.
2/Ecrire un algorithme qui lit la moyenne d'un tudiant
et affiche la mention associe.
3/Ecrire un algorithme qui lit trois notes d'un tudiant,
calcule sa moyenne et l'affiche avec la mention
associe.
4/Ecrire un algorithme qui lit un entier et affiche s'il est
pair ou impair.
5/Ecrire un algorithme qui lit trois nombres et affiche
s'ils sont ordonns ou non.
M.Machkour
SMP3
92
Ex 2 supp
Algorithme mention;
Variables
moy : rels;
mention : chane de caractres;
Dbut
Lire(moy);
si (moy<12) alors
mention="passable";
sinon
Si (moy<14) alors
mention="A.B";
Sinon
Si (moy<16 ) alors
mention="B";
sinon
mention="T.B";
Finsi
Finsi
Finsi
Ecrire ("la mention est :", mention);
Fin.
M.Machkour
SMP3
93
sinon : Liste_instructions;
Fin
M.Machkour
SMP3
94
Fonctionnement de selon
Si expression=val1 alors on excute
liste_instructions1. Sinon, on passe comparer
expression avec vali.
Si expression=vali alors seront excutes
liste_instructionsi.
Si expression est diffrent de toutes les valeurs vali,
on excute les instructions de sinon si elle est
prsente. Sinon on passe l'instruction suivante de
l'algorithme.
M.Machkour
SMP3
95
Exemple
Ecrire un algorithme qui lit un oprateur op
(+,-,/,*) et deux entiers a et b puis affiche
le nom et le rsultat de l'opration a op b.
Entres op, a, b;
Sorties la valeur de a op b et le nom de
l'opration.
M.Machkour
SMP3
96
Algorithme operateur;
Variables
op caractre;
a,b, r : entiers;
Dbut
Lire(op);
Lire(a,b);
Selon (op)
dbut
Cas '+' : r a+b; ecrire ("la somme de a et b est:", r);
Cas '-' : r a-b; ecrire("la diffrence entre a et b est:", r);
Cas '*' : r a*b;ecrire("la multiplication de a par b est:", r);
Cas '/' : r a/b; ecrire ("la division de a par b est:", r);
Sinon : ecrire (op , " : oprateur non valide");
Fin
Fin.
M.Machkour
SMP3
97
M.Machkour
SMP3
98
La structure Tantque(condition)
Tantque (condition) faire
Instr1;
Instr2;
Fin tantque
M.Machkour
SMP3
99
M.Machkour
SMP3
100
Exemple
crire un algorithme qui affiche les valeurs de 1 10.
M.Machkour
SMP3
101
Rponse
Algorithme criture;
Var i : entier;
Dbut
i 1;
Tantque (i<=10) faire
crire(i);
i i+1;
//compteur
fin tantque
fin.
M.Machkour
SMP3
102
Exemple
crire un algorithme qui lit 10 entiers.
M.Machkour
SMP3
103
Rponse
Algorithme lecture;
Var i,n : entier;
Dbut
i 1;
Tantque (i<=10) faire
lire(n);
i i+1;
//compteur
fin tantque
fin.
M.Machkour
SMP3
104
Exemple
crire un algorithme qui lit 10 entiers et les affiche.
M.Machkour
SMP3
105
Rponse
Algorithme lecture_criture;
Var i ,n: entier;
Dbut
i 1;
Tantque (i<=10) faire
lire(n);
crire(n);
i i+1;
//compteur
fin tantque
fin.
M.Machkour
SMP3
106
Exemple
crire un algorithme qui lit m entiers et les affiche. m est un entier
lire au clavier.
M.Machkour
SMP3
107
Rponse
Algorithme lecture_criture;
Var i ,n,m: entier;
Dbut
lire(m);
//Le nombre de valeurs lire.
i 1;
Tantque (i<=m) faire
lire(n);
crire(n);
i i+1;
fin tantque
fin.
M.Machkour
SMP3
108
Exercices
1) crire un algorithme qui calcule la somme 1+2+3++n. n lire
au clavier.
2) crire un algorithme qui affiche les diviseurs d'un nombre lu au
clavier. Utiliser l'oprateur mod.
M.Machkour
SMP3
109
Exercice 1
Algorithme Somme;
Var s,n, i : entier;
Dbut
s 0;
i 1;
lire(n);
Tantque (i<=n) faire
s s+i;
i i+1;
fin tantque
crire(s);
fin.
M.Machkour
SMP3
110
Exercice 2
Algorithme Diviseurs;
Variables
n, i:entiers;
Dbut
Lire(n);
i1;
Tantque (i<=n ) faire
Si (n mod i)=0 alors
Ecrire( i);
Finsi
ii+1;
Fin tantque
Fin .
M.Machkour
SMP3
111
Exercice
crire un algorithme qui calcule et affiche la somme des
diviseurs d'un nombre lu au clavier. Utiliser l'oprateur
mod.
M.Machkour
SMP3
112
Rponse
Algorithme SomDiviseurs;
Variables
n, i,som :entiers;
Dbut
Lire(n);
i1;
som0;
Tantque (i<=n) faire
Si (n%i)=0 alors
somsom+i;
Finsi
ii+1;
Fin tantque
Ecrire ("la somme des divseurs est :", som);
Fin .
M.Machkour
SMP3
113
M.Machkour
SMP3
114
Remarque
En gnral, les instrs doivent contenir une instruction
qui assure la sortie de la boucle: rendre la condition
fausse aprs un certain nombre fini d'itrations.
M.Machkour
SMP3
115
Tantque (condition);
M.Machkour
SMP3
116
Fonctionnement de la structure
faire tantque(condition)
On excute les instructions dlimites par Faire et
Tantque , puis on vrifie la condition.
Si la condition est vraie, on rexcute les instrs et on
passe vrifie la condition de nouveau. Si elle est
encore vraie, on excute les instrs et ainsi de suite.
Ce processus se rpte tant que la condition est
vraie.
Une fois la condition est fausse on quitte la structure.
M.Machkour
SMP3
117
M.Machkour
SMP3
118
Tantque (i<=n) ;
ecrire(s);
fin.
M.Machkour
SMP3
119
M.Machkour
SMP3
120
La structure pour
Pour variable_compteur dbut fin faire
Intsr1;
Instr2;
Ce bloc sera excut fin-dbut+1 fois
..
Finpour
M.Machkour
SMP3
121
La structure pour
Fonctionnement de la structure
i)On affecte var_compteur la valeur de dbut, puis
on excute les instructions.
ii)Ensuite, on incrmente var_compteur et on vrifie
si sa valeur est <= de celle de fin.
iii)Si var_compteur<=fin, on excute les instructions
et on passe ii)
On quitte cette boucle lorsque var_compteur devient
>fin.
M.Machkour
SMP3
122
La structure pour
Remarque
var_compteur, dbut et fin doivent avoir le
mme type ou des types compatibles.
Exemple
Calculer la somme s=1+2+3..+n. n lire
au clavier
M.Machkour
SMP3
123
La structure pour
Exemple
Algorithme Somme;
Variable s,n,i : entier;
Dbut
Lire(n);
s 0;
pour i1 n faire
s s+i;
finpour
Ecrire(s);
fin.
M.Machkour
Cas de n=3
-
SMP3
124
Exercice
Chercher la somme des diviseurs d'un entier saisi au clavier.
Rponse
Algorithme SomDiv;
Variable s,n,i : entier;
Dbut
s 0;
Lire(n);
pour i1 n faire
Si (n%i)=0 alors
s s+i;
Finsi
finpour
Ecrire(s);
fin.
M.Machkour
SMP3
125
Exercice
Ecrire un algorithme qui calcule le factoriel d'un entier
saisi au clavier.
Algorithme factoriel;
Variable fact,n,i : entier;
Dbut
Lire(n);
fact 1;
pour i1 n faire
factfact*i;
finpour
Ecrire(fact);
Fin.
M.Machkour
SMP3
126
Exercice
crire un algorithme qui lit un entier et affiche s'il
est pair ou non.
Algorithme parit;
Variable n:entier;
Dbut
Lire(n);
Si (n%2)=0 alors
Ecrire(pair)
Sinon
Ecrire (impair);
Finsi
Fin.
M.Machkour
SMP3
127
M.Machkour
SMP3
128
Organigramme
Dfinition
-Organigramme =Reprsentation
graphique d'un algorithme.
-Chaque instruction et chaque structure de
contrle possde une reprsentation
graphique.
M.Machkour
SMP3
129
Organigramme
Symbole de l'instruction "affectation"
surface PI*rayon*rayon
M.Machkour
SMP3
130
Organigramme
Symbole de l'instruction "lecture"
Lire(rayon)
M.Machkour
SMP3
131
Organigramme
Symbole de l'instruction "criture"
Ecrire(rayon)
M.Machkour
SMP3
132
Organigramme
Symbole de "dbut"
Dbut
M.Machkour
SMP3
133
Organigramme
Symbole de "fin"
Fin
M.Machkour
SMP3
134
Organigramme
Symbole de "squence"
M.Machkour
SMP3
135
Organigramme
Reste de l'algorithme (avant ou aprs l'instruction en cours)
M.Machkour
SMP3
136
Organigramme
Exemple 1
Dbut
Lire(rayon)
surface rayon*rayon*PI
crire(surface)
Fin
M.Machkour
SMP3
137
Organigramme
Si (condition) alors
instr;
Finsi
condition
Vraie
Fausse
instr
M.Machkour
SMP3
138
Organigramme
Si (condition) alors
instr1;
Sinon
condition
Fausse
vraie
instr2;
instr1
instr2
Finsi
M.Machkour
SMP3
139
Organigramme
Exemple 2
Dbut
Lire(R)
R > 0
F
S PI*R*R
crire(S)
Fin
M.Machkour
SMP3
140
Organigramme
Exemple 3
Dbut
Recherche de minimum
Lire(X,Y)
F
X < Y
min X
min Y
crire(min)
Fin
M.Machkour
SMP3
141
Organigramme
Tantque (condition) faire
instr;
Fin tantque
instr
M.Machkour
SMP3
condition
F
142
Dbut
Lire(n)
Organigramme
Exemple 4
s 0
i 1
Calcul de s=1+2+3+n
V
s s+i
i<=n
F
i i+1
Ecrire(s)
Fin
M.Machkour
SMP3
143
Organigramme
Faire
instr;
Tantque (condition)
instr
condition
F
M.Machkour
SMP3
144
Dbut
Lire(n)
Organigramme
Exemple 5
i 1
s 0
s s+i
Calcul de S=1+2+3+n
i i+1
V
i<=n
F
Ecrire(s)
M.Machkour
SMP3
Fin
145
Organigramme
pour i dbut fin faire
instr;
Finpour
i dbut
V
instr
i<=fin
F
i i+1
M.Machkour
SMP3
146
Dbut
Lire(n)
Organigramme
s 0
Exemple 6
i 1
Calcul de S=1+2+3+n
V
s s+i
i<=n
F
i i+1
Ecrire(s)
Fin
M.Machkour
SMP3
147
Exercice
Donner l'organigramme de l'algorithme suivant:
Algorithme sommeN ;
Variables
n, somme: entiers ;
Dbut
Lire(n) ;
somme n*(n+1)/2 ;
Ecrire (somme); ou bien Ecrire("la sommes est:" ,
somme) ;
Fin.
M.Machkour
SMP3
148
Rponse
Dbut
Lire(n)
s n * (n+1)/2
crire(s)
Fin
M.Machkour
SMP3
149
Exemple
Donner l'organigramme de l'algorithme suivant:
Algorithme permutation;
Variables
x,y,z: entiers ;
Dbut
Lire(x) ;
ou x 12;
Lire(y) ;
ou y13;
z x ;
xy ;
y z ;
Ecrire ("la valeur de x aprs permutation : " , x ) ;
Ecrire ("la valeur de y aprs permutation : " , y) ;
Fin.
M.Machkour
SMP3
150
Rponse ?
M.Machkour
SMP3
151
Algorithme minimum2;
Variables
a, b, min :entiers;
Dbut
Lire(a,b);
min a;
Si(min > b) alors
min b;
Finsi
Ecrire ("le min est:",min);
Fin.
Fin.
M.Machkour
SMP3
152
SMP3
153
Tantque (i<=n) ;
ecrire(s);
fin.
M.Machkour
SMP3
154
Exercice
Donner l'organigrammes de l'algo suivant :
Algorithme factoriel;
Variable fact,n,i : entier;
Dbut
Lire(n);
fact 1;
pour i1 n faire
factfact*i;
finpour
Ecrire(fact);
Fin.
M.Machkour
SMP3
155
Exercice
Donner l'algorithme associ au schma
suivant:
Dbut
Lire(a,b)
c a+b
crire(c)
Fin
M.Machkour
SMP3
156
Introduction
Reprsentation de vecteurs
v=(vi)1in
Utilisation de beaucoup de variables
Les notes d'une classe
notes=(notesi)1in
M.Machkour
SMP3
158
Dfinition
Tableau est une collection d'objets ou
d'lments de mme type.
Les lments d'un tableau partage le mme
nom : nom du tableau
M.Machkour
SMP3
159
Val1
val2
val3
val4
valn
Remarque
Chaque case reprsente une variable.
M.Machkour
SMP3
160
M.Machkour
14
15
SMP3
12
16
161
M.Machkour
12.1
14.3
SMP3
15.25
12.5
16
162
M.Machkour
Khalid
Ali
SMP3
Mohammed
Said
163
M.Machkour
SMP3
164
Exercice
11
13
10
nom du tableau?
taille?
type?
M.Machkour
SMP3
165
SMP3
166
M.Machkour
SMP3
167
M.Machkour
SMP3
168
Exemple
Tableau de 4 rel nomms notes
Notes[4] : rel;
M.Machkour
SMP3
169
Exemple
Tableau de 10 chanes de caractres
nomms noms
noms[10]: chane;
M.Machkour
SMP3
170
Exemple
Tableau de 6 entiers nomm x
x[6]: entiers;
M.Machkour
SMP3
171
M.Machkour
SMP3
172
Exemples
Pour la dclaration x[5]: entiers;
on peut parler de
x[1]
x[2]
x[5]
M.Machkour
SMP3
173
Exemple
11
1
2
m[1] a la valeur 1.
13
SMP3
10
174
SMP3
175
M.Machkour
SMP3
176
M.Machkour
SMP3
177
M.Machkour
SMP3
178
M.Machkour
SMP3
179
SMP3
180
SMP3
181
M.Machkour
SMP3
182
Pour i1 NB faire
Fin pour
M.Machkour
SMP3
183
Dbut
lire(n);
//n doit tre <= NB
Pour i1 n faire
opration(x[i]);
Fin pour
M.Machkour
SMP3
184
M.Machkour
SMP3
185
M.Machkour
SMP3
186
Exercice
crire un algorithme qui lit les lments
d'un tableau de rels et les affiche.
M.Machkour
SMP3
187
Rponse
Algorithme tableau;
Constant
NB=15;
Variables
tab[NB]:rels;
i, n :entier;
Dbut
Ecrire("Donner le nombre d'lments du tableau: SVP <
=15");
lire(n);
pour i1 n faire
lire(tab[i]);
fin pour
pour i1 n faire
Ecrire(tab[i]);
fin pour
Fin.
M.Machkour
SMP3
188
SMP3
189
Fin.
M.Machkour
SMP3
190