Vous êtes sur la page 1sur 2

#)'$*) $# !

$' )")%'$'"") $#

Lobjectif de ce complment est de :


dcouvrir ou revoir ce quest un algorithme, sa structure de base et ses instructions fondamentales ;
mettre en uvre quelques algorithmes l'aide d'une machine (la calculatrice ou lordinateur) ;
deffectuer de la programmation.

 0 # ) $#)'%'0(#)) $#.*#!$' )"


D F I N I T I O N

Reprsentation dun algorithme


laide dun organigramme :
Dbut

E X E M P L E S

Des algorithmes dans notre quotidien

Des algorithmes dj connus

a. Dterminer
graphiquement
limage dun nombre par une fonction dont la courbe est connue.
b. Tracer un triangle quilatral
dont la longueur du ct est
donne.
c. Dterminer si un triangle dont
on connat la longueur des cts
c. Une recette de cuisine est un algorithme est rectangle.
avec ses donnes (les ingrdients), ses d. Algorithme dEuclide.
instructions (les diffrentes tapes de la e. Crible dEratosthne.
confection) et sa sortie (le plat dguster).
f. Calculer la moyenne dune srie
d. Indiquer son chemin quelquun.
statistique.
a. Nouer ses lacets.
b. Envoyer un mail :
Allumer lordinateur.
Ouvrir son client de messagerie lectronique.
Rdiger un nouveau message.
Slectionner les destinataires.
Ajouter (ventuellement) une pice jointe.
Envoyer.

Pour constater quil sagit bien dun algorithme, on doit vrifier que, pour parvenir
au rsultat recherch, on a bien une mthode constitue dun nombre fini
dinstructions et dtapes, ne requrant quun nombre fini de donnes.
R E P R S E N TAT I O N

Pour reprsenter de faon commune les algorithmes, on utilise deux mthodes :


un organigramme, rserv aux algorithmes les plus simples (voir la fiche sur le
logiciel LARP, page 390) ;
le pseudo-code, qui ressemble un vrai langage de programmation dans lequel
on aurait retir les problmes de syntaxe (grammaire) et que lon peut crire dans la
langue de son choix. Cette faon de prsenter les algorithmes prsente lavantage
dtre trs structure, facilement traduisible dans nimporte quel langage de
programmation.
ce stade, lalgorithme nest pas destin tre interprt directement par un
ordinateur.

Outils pour lalgorithmique

Les algorithmes ne sont pas en lien direct avec linformatique. Leur but est de fournir
une solution (rponse) un problme pos. Leur particularit est dtre constitus
dun nombre fini dinstructions simples, appeles instructions lmentaires, quil
est parfois ncessaire de rpter un certain nombre (parfois trs grand) de fois.
Le principe est simple mais la tche peut savrer laborieuse. Cest l quintervient
la ncessit dutiliser lordinateur, capable dexcuter des instructions trs simples
autant de fois que ncessaire.
Il reste nanmoins le problme de la communication : une fois lalgorithme
construit, une tape importante est de lexpliquer lordinateur.

Un algorithme est une suite finie de rgles que lon applique dans un ordre
dtermin, un nombre fini de donnes pour arriver un certain rsultat, en
un nombre fini dtapes.
Cette dfinition donne un sens au mot algorithme qui dpasse largement le
cadre des mathmatiques et de linformatique. En effet, on peut constater que de
nombreux algorithmes maillent notre vie quotidienne. En mathmatiques, on
utilise dj des algorithmes sans en avoir conscience.

 '$'"") $#)! #+!. #$'") &*

CRIRE "Entrer la premire note"

LIRE N

Cette communication se fait laide de divers langages de programmation. Tous


ces langages ont leur propre smantique (vocabulaire) et leur propre syntaxe
(grammaire), mais reposent sur les bases fondamentales de lalgorithmique, les
instructions lmentaires suivantes :
la lecture ou lcriture ;
laffectation de variables ;
les tests ;
les boucles.

Voir les fiches logiciel,


pages 386 391.
Voir la fiche calculatrices,
page 398.

E X E M P L E S

Lalgorithme prsent sous forme dorganigramme et de pseudo-code au


paragraphe  , qui a pour but de calculer la moyenne de deux notes donnes,
est dcrit ci-dessous dans divers langages de programmation sappliquant sur
calculatrices ou sur ordinateurs.
Ca si o

TI

XC AS

L a n ga ge P yt h o n

S C R ATC H

L a n gag e C

CRIRE "Entrer la seconde note"

LIRE M

CRIRE "La moyenne est :


",(M+N)/2

FIN

Reprsentation dun algorithme


laide du pseudo-code :

Dbut
crire "Entrer la premire
note"
Lire N
crire "Entrer la seconde
note"
Lire M
crire "La moyenne est :
",(M+N)/2
Fin

Outils pour lalgorithmique

 0$"%$('# #()'*) $#(0!0"#) '(


 ( #()'*) $#(0!0"#) '(
Avant de pouvoir crire un algorithme, il faut russir dcomposer la rsolution du problme
pos en instructions lmentaires.
On peut ranger des instructions trs diverses en quatre grandes familles :
entre/sortie : elles permettent dentrer une donne ou dafficher un rsultat ;
les affectations de variables : elles modifient la valeur dun nombre, la forme dun objet ;
les instructions conditionnelles : elles permettent de tester et de proposer des choix ;
les boucles : elles permettent de rpter des instructions.

4 Tant que la chasse continue, on fait avancer les animaux dun saut, puis on regarde :
a. si la grenouille est plus de 10 cm derrire la sauterelle, alors les 2 animaux refont un saut ;
b. sinon la chasse est finie.
5 a. Si la grenouille est moins de 10 cm derrire la sauterelle, alors elle mange la sauterelle.
b. Si la grenouille a dpass la sauterelle, alors la sauterelle sest chappe.

6 Penser donner la rponse la question pose.

 0 # ) $#(

  #!-()'$ (!$' )"(

 Lire les deux entiers a et b


 Calculer le reste r de la division
euclidienne de a par b
 TANT QUE r est diffrent de 0
Remplacer a par b
Remplacer b par r
Remplacer r par le reste de la
division euclidienne de a par b
 Afficher la valeur de b

3 On cre galement une variable qui contient la valeur 1 tant que la chasse continue et
la valeur 0 lorsque celle-ci doit sarrter.



 Lire le nombre n
 crire tous les entiers entre 2 et n
 Pour chacun de ces entiers, en
commenant par 2 :
Si il nest pas ray
Alors rayer tous ses multiples
sauf lui-mme
 crire la liste des entiers non
rays

 Lire le nombre de donnes N


 Lire toutes les donnes
 Calculer la somme des donnes
 Diviser cette somme par N
 Afficher le rsultat.




2 Reproduire les algorithmes 1, 2 et 3, puis souligner laide de couleurs diffrentes, les quatre grandes familles dinstructions :
a. entre/sortie : en rouge ;
b. affectation de variables : en bleu ;
c. instruction conditionnelle : en vert ;
d. boucle : en noir.
En
sinspirant
des
dcompositions
en
instructions
lmentaires
ralises en 2 et en utilisant les familles
3
dinstructions vues au paragraphe  , crire un algorithme pour chacun des problmes mathmatiques suivant :
a. On connat la courbe reprsentative dune fonction f. On cherche dterminer limage dun rel x par f.
b. On dispose dune rgle gradue et dun compas. On cherche construire un triangle quilatral dont le ct mesure c.
c. On cherche dterminer si un triangle dont les cts mesurent respectivement a, b et c est rectangle.

 (*)'!!)!'#$* !!

Une grenouille distraite chasse une sauterelle. La grenouille et la sauterelle se dplacent en ligne droite
en faisant des bonds simultans mesurant respectivement 40 cm et 24 cm. Cette grenouille est capable
dattraper avec sa langue tout insecte situ moins de 10 cm devant elle, mais elle
est fort distraite et si elle dpasse la sauterelle, elle oublie son objectif. Ce jour-l, la
grenouille aperoit la sauterelle une certaine distance d comprise entre 2 m et 5 m. La
course sengage. On souhaite crire un algorithme qui, lorsquon lui donne la distance
initiale d rpond la question la sauterelle russira-t-elle chapper la grenouille ?
Pour chacun des items ci-aprs, crire la (ou les) instruction(s) lmentaire(s) correspondante(s).

1 Il faut demander au dbut lavance de la sauterelle sur la grenouille.


Outils pour lalgorithmique

On constate gnralement
trois (ou quatre) faons de
noter laffectation dune
valeur (par exemple 3) une
variable (par exemple v) :
v:=3
ou v ! 3 ou v = 3
(dans les calculatrices,
on voit souvent : 3 " v ).

Affecter une valeur une variable consiste ranger cette valeur (ou cet
objet) dans la variable considre. Toute nouvelle affectation remplace (et dtruit)
la prcdente.
Pour suivre lvolution du contenu des variables dun algorithme, on dresse
gnralement un tableau de suivi dans lequel on indique le contenu de chaque
variable chacune des tapes de lalgorithme :
Variable :
a, b, c : rel ;
Dbut
1 a=0;
2 b=2;
3 c=-7;
4 a=b+2;
5 b=b-4;
6 c=b+2;
Fin

ltape 4 , on a :

-7

-7

-2

-7

-2

2
2

2
2

4
a

 %$ #)!*!)' 
TI

Cas i o



4 b. Ne pas oublier
dactualiser la variable
permettant de savoir
si la chasse est finie,
sinon la boucle du 4
naura pas de fin.

Notation

Une variable est dsigne par son nom (que le crateur de lalgorithme choisit) et
contient un objet (nombre, texte, tableau) souvent appel valeur de la variable.

1 Tester chacun des algorithmes ci-dessus, puis expliquer leur but.

Activit

Coup de pouce

 )'*#+' !

  ) + )0(
Activit

2 Ensuite, on va placer dans des variables la position de la grenouille et celle de la sauterelle.

La squence de touches :
P

permet daffecter la valeur 2 la variable P :

La squence de touches :
P

permet daffecter la valeur 2 la variable P :

Sur les deux calculatrices, on constate que la valeur 2 a bien t retenue puisque le calcul de 3 # P donne bien 6.
Cependant les calculatrices Casio et Texas Instrument ne permettent pas daffecter un texte une variable. Lactivit 2
du paragraphe  , page 12, nest donc pas possible avec ces calculatrices.
Outils pour lalgorithmique



Vous aimerez peut-être aussi