Vous êtes sur la page 1sur 3

Algorithmique Fiche n1 : Introduction et gestion des variables

1. De quoi sagit-il ?
Un algorithme est un ensemble de rgles opratoires dont l'application permet de rsoudre un problme
nonc au moyen d'un nombre fini d'oprations. Un algorithme peut tre traduit, grce un langage de
programmation, en un programme excutable par un ordinateur. (arousse.fr!
"xemple # l$algorithme d$"uclide, tudi au collge, permet de dterminer le %&'( de deux nombres.
)ariables
a, b, r # entiers (claration des *ariables
(but
+aisir a, b ,nitialisation-"ntre des *ariables
.ant /ue b 0 1, 2aire #
r prend la *aleur a mod b .raitement
a prend la *aleur b ,ci, on utilise une boucle 3 .ant /ue 4 # les instructions
b prend la *aleur r ci5contre *ont tre effectues en boucle tant /ue r 0 1.
2in .ant /ue
6fficher a 6ffichage-+ortie des rsultats
2in
7emar/ue # la fonction a mod b retourne le reste de la di*ision euclidienne de a par b.
6 l$image de l$algorithme d$"uclide, un algorithme est le plus sou*ent construit de la manire sui*ante #
8! (claration des *ariables
9! ,nitialisation des *ariables # soit par saisie des *aleurs (entre!, soit par affectation.
:! .raitement # liste des oprations effectuer
;! 6ffichage des rsultats (sortie des *ariables!
. D!claration des variables" gestion des entr!es" des sorties et des a##ectations
es algorithmes, tout comme les langages de programmation, utilisent des *ariables de diffrents types.
Une *ariable peut tre par exemple un nombre (entier ou rel!, un texte (un mot, une phrase, une chaine
de caractres<!, une liste de nombres, un tableau, une *ariable boolenne (*ariable /ui ne prend /ue
deux *aleurs )rai ou 2aux!<
"n mathmati/ues, nous utiliserons essentiellement des *ariables numri/ues (des nombres!.
es langages de programmation exigent sou*ent une dclaration des *ariables afin d$informer
l$ordinateur du type des *ariables, ce /ui permet d$allouer l$espace mmoire ncessaire pour les stoc=er.
es algorithmes /ue nous crirons sont construits sur le mme modle.
,l existe trois types d$oprations portant sur les *ariables #
5 6ffectation
5 "ntre
5 +ortie
a. A##ectation
Une affectation est une opration permettant d$attribuer une *aleur une *ariable.
>ous crirons les affectations en fran?ais en utilisant 3 prend la *aleur 4.
"xemple 8 #
x prend la *aleur 9
y prend la *aleur x @ :
,l s$agit de deux affectations. +uite leur excution, y aura la *aleur <. .
"xemple 9 #
x prend la *aleur A
x prend la *aleur x @ 8
+uite l$excution de ces deux affectations, x aura la *aleur < .
a dernire affectation est appele une incrmentation, car elle permet d$incrmenter (augmenter! la
*aleur de x.
"xemple : #
x prend la *aleur 8
y prend la *aleur 9
t prend la *aleur x
x prend la *aleur y
y prend la *aleur t
(onner les *aleurs de x et y aprs l$excution de ces instructions.
7emar/ue # on trou*e parfois les notations B, C ou pour les afectations.
6insi, x B :, : C x ou x : signifient 3 x prend la *aleur : 4
b. $ntr!e-%ortie
Une instruction d$entre indi/ue /ue l$utilisateur (la personne /ui excute l$algorithme! doit entrer la
*aleur d$une *ariable. >ous crirons 3 +aisir 4 pour indi/uer une instruction d$entre. e logiciel
6lgobox utilise la syntaxe 3 ire 4 pour indi/uer l$ordinateur de lire la *aleur entre par l$utilisateur.
Une instruction de sortie signifie /ue l$algorithme doit afficher la *aleur d$une *ariable. >ous crirons
3 6fficher 4.
"n combinant ces trois instructions, nous pou*ons crire des algorithmes complets.
"xemple 8 #
)ariables
x, y # rel
(but
+aisir x
y prend la *aleur x
9
@ 9
6fficher y
2in
,dentifier les diffrentes parties de cet algorithme # (claration des *ariables, entre, traitement, sortie.
"xcuter l$algorithme a*ec x D E:. Fuel nombre affiche5t5il en sortie G
Fuel est le rHle de cet algorithme G
"xemple 9 #
)ariables
x6, y6, xI, yI, # rel
(but
+aisir x6, y6, xI, yI
prend la *aleur
6fficher
2in
Fuel est l$obJectif de cet algorithme G
"xercice # "crire un algorithme calculant les coordonnes du milieu d$un segment.
"xercice # "crire un algorithme calculant les coordonnes du /uatrime sommet d$un paralllogramme.
6utre fa?on de poser l$exercice prcdent (plus simple!
$&ercice ' (3 points!
Kn considre l$algorithme ci5dessous #
D!but
+aisir x
A
, y
A
, x
B
, y
B
, x
C
, y
C
x
I
prend la *aleur
x
A
+ x
C
9
y
I
prend la *aleur
y
A
+ y
C
9
x
D
prend la *aleur 9x
I
x
B
y
D
prend la *aleur 9y
I
y
B
6fficher x
D
, y
D
Fin
8! Fuelles sont les *aleurs affiches pour x
D
et y
D
dans chacun
des cas sui*ants #
a! 6(9 L 58! L I(5: L 8! et '(A L ;!
b! 6(9 L 9! L I(5; L 58M! et '(8 L 58,A!
9! 'onJecturer le rHle de cet algorithme.
(On pourra raliser une figure)
:! Ionus # (montrer cette conJecture.