Vous êtes sur la page 1sur 5

Seconde-Algorithmique-Activit e

D ecembre 2010

D ebuter en algorithmique 1 Quest-ce quun algorithme ?

D enition Un alogorithme est une suite dop erations el ementaires, ` a appliquer dans un ordre d etermin e` a des donn ees. Un algorithme est donc une liste dinstructions el ementaires ` a suivre. Ces instructions fournissent en un nombre ni d etapes des r esultats. Ecrire un algorithme consiste ` a donner une m ethode d etaill ee d ecrivant toutes les etapes dune t ache ` a ccomplir. Exemples : une notice de montage, une recette de cuisine, un chemin indiqu 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 fonctionnant en trois etapes : 1. les el ements dont on part : les entr ees ; 2. les instructions ` a eectuer sur ces el ements : le traitement ; 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. Acher le r esultat. 1. Appliquer cet algorithme ` a 3 ; 4, 0 et 1 . 3 2. Identier les trois etapes de cet algorithme.

Variables et aectation

Pour commencer un algorithme, il faut des el ements sur lesquels on souhaite travailler (dans lexemple pr ec edent, il nous faut un nombre). Ces el ements sontles donn ees dentr ee qui seront utilis ees lors des etapes du traitement. Les donn ees dentr ee sont stock ees dans la m emoire de la calculatrice ou de lordinateur, ` 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 liste de nombres ) Lorsque les variables sont d eclar ees, nous navons fait que r eserver un espace dans la m emoire de lordinateur ou de la calculatrice. Cela revient ` a r eserver poser une ache RESERVE sur une place de parking. Pour autant, la place nest pas occup ee. Occuper cette place, cest donner une valeur ` a lespace m emoire r eserv e : cest laectation. a la variable. Une aectation est lattribution dune valeur ` Si la variable sappelle A, laectation peut s ecrire de di erentes mani` eres : Aecter ` a A la valeur 3 ; A prend la valeur 3 ; A3 Exemples 1. Consid erons lalgorithme suivant : D ebut de lalgorithme D eclaration de la variable Aectation Nouvelle aectation Instruction de sortie Fin de lalgorithme V V 4 V V +7 Acher V

Que lit-on ` a la n de lalgorithme ? 2. Consid erons ` a pr esent lalgorithme suivant :

Isabelle Morel

Seconde-Algorithmique-Activit e D ebut de lalgorithme D eclaration des variables Aectation Aectation Aectation Aectation Aectation Instruction de sortie Fin de lalgorithme

D ecembre 2010

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

Que lit-on ` a la n de lalgorithme ? 3. Consid erons ` a pr esent un algorithme plus g en eral : D ebut de lalgorithme D eclaration de la variable Aectation Aectation Aectation Aectation Instruction de sortie Fin de lalgorithme a ax a 2a + 1 a a2 aa4 Acher a

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 nombre n est du type nombre D ebut de lalgorithme 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.

D evelopper et r eduire lexpression obtenue (on obtient une fonction !). 4. Ecrire lalgorithme donnant la fonction f (x) = (2x + 3)2 1.

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 dune part et AB 2 + AC 2 dautre 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 dun test pour eectuer une t ache : si le test est positif, on eectue la t ache ; sinon, cest-` a-dire si le test est n egatif, on eectue une autre t ache. On parle dinstruction conditionnelle (ou test ou structure alternative). En algorithmique, cette instruction conditionnelle se r edige ainsi : Si condition alors traitement 1 sinon traitement 2 FinSi Exemples :

Isabelle Morel

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

D ecembre 2010

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

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 it erative

On souhaite calculer le nombre 210 . 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 lop eration : multiplier par 2. R ep eter plusieurs fois de duite une m eme t ache sappelle en algorithme ex ecuter une boucle (` a compteur). La boucle ` a compteur consiste ` a r ep eter une t ache xe n fois, n etant x e` a lavance. On la r edige de la mani` ere suivante : Pour i allant de 1 ` an Traitement Fin boucle pour Exemples : 1. On consid` ere lalgorithme suivant : Variables N du type nombre S du type nombre i du type nombre Entr ee Saisir N 0S Traitement Pour i allant de 1 jusqu` a N faire S +iS FinPour Acher S (a) Compl eter le tableau ci-dessous en prenant comme valeur 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 ` quoi sert cet algorithme ? (b) A

Isabelle Morel

Seconde-Algorithmique-Activit e 2. Consid erons ` a pr esent lalgorithme suivant : Variables N du type nombre A du type nombre B du type nombre Entr ee Saisir N 2A 1B Traitement Pour i allant de 0 jusqu` a N faire B+AB FinPour Acher B (a) Utilisez cet algorithme pour compl eter le tableau suivant : N B 0 3 1 2 3 4 5

D ecembre 2010

(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 lalgorithme suivant pour quil ache la table de multiplication (de 0 ` a 12) dun nombre entier naturel N saisi par lordinateur : 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 . . . . . . faire ......... R Acher . . . . . . . . . . . . = . . . . . . FinPour

La boucle conditionnelle

Consid erons lalgorithme suivant : 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 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. ` quoi sert cet algorithme ? 2. A Dans cet algorithme, on voit r ep` ete une op eration tant quune condition est v eri ee. On parle alors de boucle conditionnelle.

Isabelle Morel

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 tant quune certaine condition est remplie : la boucle sarr ete quand la condition nest plus remplie. On utilise pour cela les instructions suivantes : Tant que Condition Faire T ache FinTant Exemple : Consid erons lalgorithme suivant : D ebut algorithme Variables x du type nombre N du type nombre Entr ee 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. Compl etez le tableau ci-dessous :

Num ero de passage de la boucle 1

Valeur de N avant le passage dans la boucle

Valeur de N apr` es le passage dans la boucle

Arr et de la boucle conditionnelle (oui/non)

Combien de passages dans la boucle conditionnelle ont et e n ecessaires pour larr et de lalgorithme ? 2. Recommencer lalgorithme pour x = 2. 3. Que donne lalgorithme 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 : Ent(5,2)=. . . . . . Ent(3,1)=. . . . . . Ent(2)=. . . . . . et

Isabelle Morel

Vous aimerez peut-être aussi