Vous êtes sur la page 1sur 5

Seconde-Algorithmique-Activit´e

D´ebuter en algorithmique

1 Qu’est-ce qu’un algorithme ?

D´ecembre 2010

D´efinition Un alogorithme est une suite d’op´erations ´el´ementaires, `a appliquer dans un ordre d´etermin´e `a des donn´ees.

Un algorithme est donc une liste d’instructions ´el´ementai res `a suivre. Ces instructions fournissent en un nombre fini d’´etapes des r´esultats.

´

Ecrire un algorithme consiste `a donner une m´ethode d´etai ll´ee d´ecrivant toutes les ´etapes d’une tˆache `a ccomplir.

Exemples : une notice de montage, une recette de cuisine, un chemin ind iqu´e par un GPS, une division `a la main, trier des cartes `a jouer · · · sont des algorithmes.

On peut consid´erer un algorithme comme une machine fonctio nnant en trois ´etapes :

1. les ´el´ements dont on part : les entr´ees ;

2. les instructions `a effectuer sur ces ´el´ements : le trait ement ;

3. les r´esultats obtenus : les sorties.

Exercice On consid`ere le programme de calcul suivant :

1. Choisir un nombre.

2. Lui ajouter 1 .

3. Multiplier le r´esultat par 2 .

4. Soustraire 3 au r´esultat.

5. Afficher le r´esultat.

1. Appliquer cet algorithme `a 3 ; 4 , 0 et

2. Identifier les trois ´etapes de cet algorithme.

1

3 .

2 Variables et affectation

Pour commencer un algorithme, il faut des ´el´ements sur les quels on souhaite travailler (dans l’exemple pr´ec´edent, i l nous faut un nombre). Ces ´el´ements sontles donn´ees d’entr´ee q ui seront utilis´ees lors des ´etapes du traitement.

Les donn´ees d’entr´ee sont stock´ees dans la m´emoire de la c alculatrice ou de l’ordinateur,
Les donn´ees d’entr´ee sont stock´ees dans la m´emoire de la c alculatrice ou de l’ordinateur, `a un emplacement appel´e variable
et rep´er´e par un nom. On peut donc consid´erer une variable comme une boˆıte.
Le nom de la variable est son ´etiquette.
La variable peut contenir une valeur (un nombre, un mot, une l iste de nombres · · · )

Lorsque les variables sont d´eclar´ees, nous n’avons fait qu e r´eserver un espace dans la m´emoire de l’ordinateur ou de la calculatrice. Cela revient `a r´eserver poser une affiche ”RE SERVE” sur une place de parking. Pour autant, la place n’est pa s occup´ee. Occuper cette place, c’est donner une valeur `a l’es pace m´emoire r´eserv´e : c’est l’affectation.

Une affectation est l’attribution d’une valeur `a la variable.
Une affectation est l’attribution d’une valeur `a la variable.

Si la variable s’appelle A, l’affectation peut s’´ecrire de diff´erentes mani`eres :

– Affecter `a A la valeur 3 ;

A prend la valeur 3 ;

A3 Exemples

1. Consid´erons l’algorithme suivant :

D´ebut de l’algorithme D´eclaration de la variable V Affectation Nouvelle affectation Instruction de sortie Fin
D´ebut de l’algorithme
D´eclaration de la variable V
Affectation
Nouvelle affectation
Instruction de sortie
Fin de l’algorithme
V ← 4
V ← V + 7
Afficher V

Que lit-on `a la fin de l’algorithme ?

2. Consid´erons `a pr´esent l’algorithme suivant :

Seconde-Algorithmique-Activit´e

D´ebut de l’algorithme D´eclaration des variables Affectation Affectation Affectation Affectation
D´ebut de l’algorithme
D´eclaration des variables
Affectation
Affectation
Affectation
Affectation
Affectation
Instruction de sortie
Fin de l’algorithme
a ;
b ;
c
a ← 3
a
a 2 − 2 a + 1
b
c
b ← 7
b 2 − 4 b + 4
a + b − 9
Afficher c

Que lit-on `a la fin de l’algorithme ?

3. Consid´erons `a pr´esent un algorithme plus g´en´eral :

D´ebut de l’algorithme D´eclaration de la variable a Affectation Affectation Affectation Affectation
D´ebut de l’algorithme
D´eclaration de la variable a
Affectation
Affectation
Affectation
Affectation
Instruction de sortie
Fin de l’algorithme
a ← x
a
2 a + 1
a ← a 2
a
a − 4
Afficher a

D´ecembre 2010

D´evelopper et r´eduire l’expression obtenue (on obtient un e fonction !).

4. Ecrire l’algorithme donnant la fonction f (x) = (2 x + 3) 2 1 .

5. Consid´erons un algorithme programm´e avec le logiciel Algobox :

´

Variables a est du type nombre b est du type nombre c est du type
Variables
a
est du type nombre
b
est du type nombre
c
est du type nombre
n
est du type nombre
D´ebut de l’algorithme
Lire a
Lire b
n prend
la valeur 10 × a + b
Afficher n
c prend la valeur a
a prend la valeur b
b prend la valeur de c
n prend
la valeur 10 × a + b
Afficher n
Fin de l’algorithme

(a)

Tester cet algorithme ave a = 2 et b = 3 .

(b)

Expliquer l’importance de la variable c .

3 Les instructions conditionnelles

On souhaite ´ecrire un algorithme testant si un triangle est rectangle ou non en A. Pour cela, il faut calculer BC 2 d’une part et AB 2 + AC 2 d’autre part, puis comparer les deux valeurs. Cela fait intervenir un test, aussi appel´e instruction conditionnelle.

La r´esolution de certains probl`emes n´ecessite la mise en place d’un test pour effectuer une
La r´esolution de certains probl`emes n´ecessite la mise en place d’un test pour effectuer une tˆache :
– si le test est positif, on effectue la tˆache ;
– sinon, c’est-`a-dire si le test est n´egatif, on effectue une autre tˆache.
On parle d’instruction conditionnelle (ou test ou structure alternative).
En algorithmique, cette instruction conditionnelle se r´e dige ainsi :
Si condition
alors traitement 1
sinon traitement 2
FinSi

Exemples :

Seconde-Algorithmique-Activit´e

1. On consid`ere l’algorithme suivant :

Variables x du type nombre y du type nombre Entr´ee demander un nombre x Traitement
Variables
x du type nombre
y du type nombre
Entr´ee
demander un nombre x
Traitement
Si x < 0
Alors affecter `a y le nombre 1
x
Sinon affecter `a y le nombre √ x
FinSi
Afficher y

´

(a)

(b)

Tester cet algorithme pour x = 1 ; 2 ; 4 ; 1 ; 0 .

´

Ecrire la fonction obtenue sur R .

D´ecembre 2010

2. Ecrire l’algorithme testant si un triangle est rectangle en A ou non.

4 La boucle it´erative

On souhaite calculer le nombre 2 10 . Pour cela, on consid`ere le nombre 2 puis on le multiplie par 2 . On multiplie ensuite le r´esultat obtenu par 2 et ainsi de suite. On r´ep`ete donc 9 fois l’op´eration : multiplier par 2 . R´ep´eter plusieurs fois de duite une mˆeme tˆache s’appelle en algorithme ex´ecuter une boucl e (`a compteur).

La boucle `a compteur consiste `a r´ep´eter une tˆache fixe n fois, n ´etant fix´e
La boucle `a compteur consiste `a r´ep´eter une tˆache fixe n fois, n ´etant fix´e `a l’avance.
On la r´edige de la mani`ere suivante :
Pour i allant de 1 `a n
Traitement
Fin boucle pour

Exemples :

1. On consid`ere l’algorithme suivant :

Variables N du type nombre S du type nombre i du type nombre Entr´ee Saisir
Variables
N du type nombre
S du type nombre
i du type nombre
Entr´ee
Saisir N
0 →S
Traitement
Pour i allant de 1 jusqu’`a N faire
S + i→S
FinPour
Afficher S
(a) Compl´eter le tableau ci-dessous en prenant comme valeu r initiale de N : N
(a)
Compl´eter le tableau ci-dessous en prenant comme valeu r initiale de N : N = 5 .
Num´ero de passage dans la boucle Valeur de S avant le passage dans
la boucle
Valeur de S apr`es le passage dans
la boucle
1
2
3
4
5
`
(b)
A quoi sert cet algorithme ?

Seconde-Algorithmique-Activit´e

2. Consid´erons `a pr´esent l’algorithme suivant :

Variables N du type nombre A du type nombre B du type nombre Entr´ee Saisir
Variables
N du type nombre
A du type nombre
B du type nombre
Entr´ee
Saisir N
2 →A
1 →B
Traitement
Pour i allant de 0 jusqu’`a N faire
B + A→B
FinPour
Afficher B

D´ecembre 2010

(a)

Utilisez cet algorithme pour compl´eter le tableau suivant :

N 0 1 2 3 4 5
N
0
1
2
3
4
5
B 3
B
3

(b)

Placez les points de coordonn´ees (N ; B ). Que constatez-vous ?

(c)

Donnez une expression de la fonction f qui, au nombre N saisi, associe le nombre B en sortie.

3. Compl´etez l’algorithme suivant pour qu’il affiche la table d e multiplication (de 0 `a 12 ) d’un nombre entier naturel N saisi par l’ordinateur :

Variables N du type nombre i du type nombre R du type nombre Entr´ee Saisir
Variables
N du type nombre
i du type nombre
R du type nombre
Entr´ee
Saisir N
Traitement
Pour i allant de 0 jusqu’`a
→R
faire
Afficher
≪ × ≫
≪ = ≫
FinPour

5 La boucle conditionnelle

Consid´erons l’algorithme suivant :

Variables N du type nombre C du type nombre Entr´ee N re¸coit un nombre au
Variables
N du type nombre
C du type nombre
Entr´ee
N
re¸coit un nombre au hasard entre 10 et 20
C
re¸coit 0
Traitement
Tant que N = C faire
Afficher ≪ Entrez un nombre entier entre 10 et 20 ≫
Saisir C
Si N = C
Alors Afficher ≪ Vous avez gagn´e ≫
Sinon Afficher ≪ vous avez perdu ≫
FinSi
FinTant

1. Testez cet algorithme.

`

2. A quoi sert cet algorithme ?

Dans cet algorithme, on voit r´ep`ete une op´eration tant qu ’une condition est v´erifi´ee. On parle alors de boucle condit ionnelle.

Seconde-Algorithmique-Activit´e

D´ecembre 2010

La boucle conditionnelle (ou boucle tant que) consiste `a r´ep´eter plusieurs fois les mˆemes instructions
La boucle conditionnelle (ou boucle tant que) consiste `a r´ep´eter plusieurs fois les mˆemes instructions tant qu’une c ertaine
condition est remplie : la boucle s’arrˆete quand la conditio n n’est plus remplie. On utilise pour cela les instructions su ivantes :
Tant que Condition
Faire Tˆache
FinTant

Exemple : Consid´erons l’algorithme suivant :

D´ebut algorithme Variables x du type nombre N du type nombre Entr´ee Saisir x 0
D´ebut algorithme
Variables
x du type nombre
N du type nombre
Entr´ee
Saisir x
0 →N
Traitement
Tant que N + 1 x
N + 1 →N
FinTant
Afficher N
Fin algorithme
faire

1. On choisit pour valeur initiale x = 5 , 2 . Compl´etez le tableau ci-dessous :

Num´ero de passage de la boucle Valeur de N avant le pas- sage dans la
Num´ero de passage de la
boucle
Valeur de N avant le pas-
sage dans la boucle
Valeur de N apr`es le pas-
sage dans la boucle
Arrˆet de la boucle condi-
tionnelle (oui/non)
1

Combien de passages dans la boucle conditionnelle ont ´et´e n´ecessaires pour l’arrˆet de l’algorithme ?

2. Recommencer l’algorithme pour x = 2 .

3. Que donne l’algorithme pour x = 3 , 1 ?

4. Le nombre N obtenu est appel´e la partie enti`ere de x, not´e Ent(x). On a donc :

et