You are on page 1of 5

Seconde-Algorithmique-Activit e

Dcembre 2010 e

Dbuter en algorithmique e 1 Quest-ce quun algorithme ?

Dnition Un alogorithme est une suite doprations lmentaires, ` appliquer dans un ordre dtermin ` des donnes. e e ee a e ea e Un algorithme est donc une liste dinstructions lmentaires ` suivre. Ces instructions fournissent en un nombre ni dtapes ee a e des rsultats. e Ecrire un algorithme consiste ` donner une mthode dtaille dcrivant toutes les tapes dune tche ` ccomplir. a e e e e e a a Exemples : une notice de montage, une recette de cuisine, un chemin indiqu par un GPS, une division ` la main, trier des e a cartes ` jouer sont des algorithmes. a On peut considrer un algorithme comme une machine fonctionnant en trois tapes : e e 1. les lments dont on part : les entres ; ee e 2. les instructions ` eectuer sur ces lments : le traitement ; a ee 3. les rsultats obtenus : les sorties. e Exercice On consid`re le programme de calcul suivant : e 1. Choisir un nombre. 2. Lui ajouter 1. 3. Multiplier le rsultat par 2. e 4. Soustraire 3 au rsultat. e 5. Acher le rsultat. e 1. Appliquer cet algorithme ` 3 ; 4, 0 et a 1 . 3 2. Identier les trois tapes de cet algorithme. e

Variables et aectation

Pour commencer un algorithme, il faut des lments sur lesquels on souhaite travailler (dans lexemple prcdent, il nous ee e e faut un nombre). Ces lments sontles donnes dentre qui seront utilises lors des tapes du traitement. ee e e e e Les donnes dentre sont stockes dans la mmoire de la calculatrice ou de lordinateur, ` un emplacement appel variable e e e e a e et repr par un nom. On peut donc considrer une variable comme une bo ee e te. Le nom de la variable est son tiquette. e La variable peut contenir une valeur (un nombre, un mot, une liste de nombres ) Lorsque les variables sont dclares, nous navons fait que rserver un espace dans la mmoire de lordinateur ou de la e e e e calculatrice. Cela revient ` rserver poser une ache RESERVE sur une place de parking. Pour autant, la place nest pas a e occupe. Occuper cette place, cest donner une valeur ` lespace mmoire rserv : cest laectation. e a e e e a Une aectation est lattribution dune valeur ` la variable. Si la variable sappelle A, laectation peut scrire de direntes mani`res : e e e Aecter ` A la valeur 3 ; a A prend la valeur 3 ; A3 Exemples 1. Considrons lalgorithme suivant : e Dbut de lalgorithme e Dclaration de la variable e Aectation Nouvelle aectation Instruction de sortie Fin de lalgorithme V V 4 V V +7 Acher V

Que lit-on ` la n de lalgorithme ? a 2. Considrons ` prsent lalgorithme suivant : e a e

Isabelle Morel

Seconde-Algorithmique-Activit e Dbut de lalgorithme e Dclaration des variables e Aectation Aectation Aectation Aectation Aectation Instruction de sortie Fin de lalgorithme

Dcembre 2010 e

a; b; c a3 a a2 2a + 1 b7 b b2 4b + 4 ca+b9 Acher c

Que lit-on ` la n de lalgorithme ? a 3. Considrons ` prsent un algorithme plus gnral : e a e e e Dbut de lalgorithme e Dclaration de la variable e Aectation Aectation Aectation Aectation Instruction de sortie Fin de lalgorithme a ax a 2a + 1 a a2 aa4 Acher a

5. Considrons un algorithme programm avec le logiciel Algobox : e e Variables a est du type nombre b est du type nombre c est du type nombre n est du type nombre Dbut de lalgorithme e Lire a Lire b n prend la valeur 10 a + b Acher n c prend la valeur a a prend la valeur b b prend la valeur de c n prend la valeur 10 a + b Acher n Fin de lalgorithme (a) Tester cet algorithme ave a = 2 et b = 3. (b) Expliquer limportance de la variable c.

Dvelopper et rduire lexpression obtenue (on obtient une fonction !). e e 4. Ecrire lalgorithme donnant la fonction f (x) = (2x + 3)2 1.

Les instructions conditionnelles

On souhaite crire un algorithme testant si un triangle est rectangle ou non en A. e Pour cela, il faut calculer BC 2 dune part et AB 2 + AC 2 dautre part, puis comparer les deux valeurs. Cela fait intervenir un test, aussi appel instruction conditionnelle. e La rsolution de certains probl`mes ncessite la mise en place dun test pour eectuer une tche : e e e a si le test est positif, on eectue la tche ; a sinon, cest-`-dire si le test est ngatif, on eectue une autre tche. a e a On parle dinstruction conditionnelle (ou test ou structure alternative). En algorithmique, cette instruction conditionnelle se rdige ainsi : e Si condition alors traitement 1 sinon traitement 2 FinSi Exemples :

Isabelle Morel

Seconde-Algorithmique-Activit e 1. On consid`re lalgorithme suivant : e Variables x du type nombre y du type nombre Entre e demander un nombre x Traitement Si x < 0

Dcembre 2010 e

1 x Sinon aecter ` y le nombre x a Alors aecter ` y le nombre a

FinSi Acher y (a) Tester cet algorithme pour x = 1 ; 2 ; 4 ; 1 ; 0. (b) Ecrire la fonction obtenue sur R. 2. Ecrire lalgorithme testant si un triangle est rectangle en A ou non.

La boucle itrative e

On souhaite calculer le nombre 210 . Pour cela, on consid`re le nombre 2 puis on le multiplie par 2. On multiplie ensuite le e rsultat obtenu par 2 et ainsi de suite. On rp`te donc 9 fois lopration : multiplier par 2. Rpter plusieurs fois de duite e e e e e e une mme tche sappelle en algorithme excuter une boucle (` compteur). e a e a La boucle ` compteur consiste ` rpter une tche xe n fois, n tant x ` lavance. a a e e a e ea On la rdige de la mani`re suivante : e e Pour i allant de 1 ` n a Traitement Fin boucle pour Exemples : 1. On consid`re lalgorithme suivant : e Variables N du type nombre S du type nombre i du type nombre Entre e Saisir N 0S Traitement Pour i allant de 1 jusqu` N faire a S +iS FinPour Acher S (a) Complter le tableau ci-dessous en prenant comme valeur initiale de N : N = 5. e Numro de passage dans la boucle e Valeur de S avant le passage dans la boucle Valeur de S apr`s le passage dans e la boucle

1 2 3 4 5 ` (b) A quoi sert cet algorithme ?

Isabelle Morel

Seconde-Algorithmique-Activit e 2. Considrons ` prsent lalgorithme suivant : e a e Variables N du type nombre A du type nombre B du type nombre Entre e Saisir N 2A 1B Traitement Pour i allant de 0 jusqu` N faire a B+AB FinPour Acher B (a) Utilisez cet algorithme pour complter le tableau suivant : e N B 0 3 1 2 3 4 5

Dcembre 2010 e

(b) Placez les points de coordonnes (N ; B). Que constatez-vous ? e (c) Donnez une expression de la fonction f qui, au nombre N saisi, associe le nombre B en sortie. 3. Compltez lalgorithme suivant pour quil ache la table de multiplication (de 0 ` 12) dun nombre entier naturel N e a saisi par lordinateur : Variables N du type nombre i du type nombre R du type nombre Entre e Saisir N Traitement Pour i allant de 0 jusqu` . . . . . . faire a ......... R Acher . . . . . . . . . . . . = . . . . . . FinPour

La boucle conditionnelle

Considrons lalgorithme suivant : e Variables N du type nombre C du type nombre Entre e N reoit un nombre au hasard entre 10 et 20 c C reoit 0 c Traitement Tant que N = C faire Acher Entrez un nombre entier entre 10 et 20 Saisir C Si N = C Alors Acher Vous avez gagn e Sinon Acher vous avez perdu FinSi FinTant 1. Testez cet algorithme. ` 2. A quoi sert cet algorithme ? Dans cet algorithme, on voit rp`te une opration tant quune condition est vrie. On parle alors de boucle conditionnelle. e e e e e

Isabelle Morel

Seconde-Algorithmique-Activit e

Dcembre 2010 e

La boucle conditionnelle (ou boucle tant que) consiste ` rpter plusieurs fois les mmes instructions tant quune certaine a e e e condition est remplie : la boucle sarrte quand la condition nest plus remplie. On utilise pour cela les instructions suivantes : e Tant que Condition Faire Tche a FinTant Exemple : Considrons lalgorithme suivant : e Dbut algorithme e Variables x du type nombre N du type nombre Entre e Saisir x 0N Traitement Tant que N + 1 x faire N +1N FinTant Acher N Fin algorithme 1. On choisit pour valeur initiale x = 5, 2. Compltez le tableau ci-dessous : e

Numro de passage de la e boucle 1

Valeur de N avant le passage dans la boucle

Valeur de N apr`s le pase sage dans la boucle

Arrt de la boucle condie tionnelle (oui/non)

Combien de passages dans la boucle conditionnelle ont t ncessaires pour larrt de lalgorithme ? ee e e 2. Recommencer lalgorithme pour x = 2. 3. Que donne lalgorithme pour x = 3, 1 ? 4. Le nombre N obtenu est appel la partie enti`re de x, not Ent(x). On a donc : Ent(5,2)=. . . . . . e e e Ent(3,1)=. . . . . . Ent(2)=. . . . . . et

Isabelle Morel