Vous êtes sur la page 1sur 13

I.R.E.M.

de

LIMOGES

Facults des Sciences

Journe Enseignement des Mathmatiques en Limousin

Algorithmique et

Calculatrice

Jeudi 9 dcembre 2010

Samuel ADABIA,
I.R.E.M. de Limoges

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Objectifs :
A - Prsenter la notion d'algorithme : 1) Qu'est-ce qu'un algorithme? 2) Les lments de base d'un algorithme 3) La forme gnrale d'un algorithme 4) Comment russir l'criture d'un algorithme? 5) Les diffrentes structures ou instructions de contrle B - crire un algorithme correspondant un problme donn: en statistique (frquences, vers la simulation, moyennes mobiles,...) en probabilit ( . vers la simulation) C - Traduire cet algorithme en langage de programmation machine: la calculatrice D - Modifier un algorithme pour obtenir un rsultat souhait.

AVANT TOUT DISCOURS UN COUP D'OEIL SUR LES OBJECTIFS OFFICIELS extrait Nouveau Programme de la Classe Seconde 2009

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Notion d'algorithme Dfinition Activit n1

Dans une urne on dispose de boules vertes, jaunes, rouges. Soit l'exprience alatoire qui consiste tirer une boule de cette urne puis ranger les boules suivant leur couleur.

Activit n2
Soit construire la rgle non gradue et au compas, la mdiatrice d'un segment donn. Dans ces deux activits nous avons mis en uvre chaque fois une srie d'actions lmentaires qui vont nous conduire au rsultat. Nous dirons tout simplement qu'un al g orithme est une succession d'actions menes par qu

tapes et qui permet la ralisation d'une tche.


E x e mple Pour se prmunir contre la grippe A, H1N1, il est recommand de se laver rgulirement les mains dans la journe. Pour se laver les mains, il faut - un robinet ou un point d'eau, - du savon, - puis il faut ouvrir le robinet, - se mouiller lgrement les mains, - se savonner, - se frotter les mains, - se les rincer, - fermer le robinet, - s'essuyer les mains. Comme vous le voyez nous venons de mettre en uvre un algorithme ( c'est dire une succession d'actions simples par tapes) qui nous a conduit nous laver les mains. Un tel algorithme suscite des interrogations. Avons-nous toujours disposition 1)un robinet ou un point d'eau ? Dans le cas contraire que faut il faire ? 2)du savon? Dans le cas contraire que faut-il faire ? 3)un essuie-mains? Dans quel tat est-il ? Dans le cas contraire que faut-il faire ? E n c o n clu sion, pour excuter un algorithme, il est ncessaire que certaines conditions soient runies, vrifies, valides. Dans le cas contraire que faut-il envisager ? Peut-on commencer par se scher les mains avant de mettre la main sous le robinet ouvert ? La rponse montre de toute vidence que dans un algorithme il s'agit d'une succession d'actions ordonnes excutes par tapes.

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

En nous lavant les mains, quand sait-on qu'on sait bien se laver les mains ? qu'on les a laves suffisamment ? Faut-il continuer ? Jusqu' quand? Combien de fois dois-je me laver les mains dans la journe? A cette dernire question on s'attend la rponse : autant que ncessaire, aprs chaque activit. Toutes ces questions nous amnent faire des te st s , chercher bou cler ou ter miner ces actions.

II

Quelques Exemples d'algorithmes clbres

1) L'algorithme d' EUCLIDE permet de d'obtenir le pgcd de deux entiers naturels. Une autre utilisation de cet algorithme a aussi permis d' crire des fractions continues ou continues (voir site de l' IREM , fractions continues ) 2) L'algorithme de HRNER qui permet de factoriser, plus facilement, les polynmes de degr infrieur ou gal 4. 3) L'algorithme du pivot de GAUSS pour ne citer que ceux l III Les lments simples de base d'un algorithme sont : 1 2 3 4 Les variables Entre ou Initialisation des donnes Traitement des donnes Sortie

et la forme gnrale d'un algorithme est :

Dbut

Dclaration des variables


ici on choisit le nom des lettres ( ce sont des variables ) qui vont reprsenter les donnes indispensables la rsolution du problme pos. On peut distinguer des donnes de type : 1) numrique 2) chaine de caractres 3) logique ( vrai ou faux ) 4) graphique Les variables permettent de rserver de la place mmoire pour conserver des rsultats intermdiaires, ou des rsultats tout court.

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Entre ou Initialisation des donnes


ici on rcupre les donnes ncessaires la rsolution du problme. Ici on peut attribuer des variables leurs premires valeurs (on parle d' initialisation) ou on peut attribuer des variables des rsultats intermdiaires.(on parle d' affectation)

Traitement des donnes


ici on met tout en uvre pour rsoudre le problme pos. C'est dire que l'on donne une ou plusieurs instructions simples de sorte que l'ensemble permette la rsolution du problme pos. Les variables interviennent ici pour rcuprer des rsultats

Sortie
Ici on affiche le ou les rsultats du problme pos. Fin

Un algorithme s'crit en langage naturel. Mais des logiciels spcialiss tels que ALGOBOX, LARP, permettent de faire tourner un algorithme. Dans cette activit nous avons choisi la calculatrice pour transcrire les algorithmes que nous allons crire. IV Vers la Programmation ou la transcription d'un algorithme

Avec La TI 83 plus
La touche PRGM permet de rentrer dans le mode programmation EXEC EDIT NOUVEAU entre les instructions en se servant de :
Dans le menu PRGM de la calculatrice on fait NOUVEAU pour prciser que l'on cre un nouveau programme. On commence par lui donner un nom Aprs avoir valid le nom, on

1) L'instruction DISP. DISP'' Bonjour'' affichera Bonjour lors de l' excution 2) Input permet de recueillir la valeur ou le caractre saisi au clavier. 3) Input'' Entrer la valeur de n'' , n permet d'afficher le texte puis de rcuprer la valeur de n ou le caractre saisi au clavier. 4) Le OUTPUT permet de positionner un endroit prcis l'information. 5) 87 STO A ( signifie que l'on a mmoris ou stock 87 dans la variable A) 6) b*c STO A ( signifie que l'on a mmoris ou stock le produit de b et c dans la variable A)

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Avec une CASIO


Dans le menu PRGM de la calculatrice CASIO, on fait NEW pour prciser que l'on cre un nouveau programme. On commence par lui donner un nom. Aprs avoir valid le nom, on entre les instructions en se servant de : 1) La double apostrophe, par exemple, se trouve dans OPTN / SYBL . permet d'afficher du texte . Par exemple '' Bonjour'' 2) Le : permet d'crire deux instructions sur une mme ligne. Par exemple ''Bonjour'' : '' Pierre'' 3) Le quivaut un retour la ligne avec affichage du rsultat. 4) L'utilisateur doit appuyer sur EXE pour obtenir l'affichage suivant. 5) 87 6) b*c variable A) V A ( signifie que l'on a mmoris ou stock 87 dans la variable A) A ( signifie que l'on a mmoris ou stock le produit de b et c dans la

Comment russir l'criture d'un algorithme?

On suppose rgler le problme mathmatique ( si ncessaire ne pas hsiter donner la formule) 1) Bien lire l'nonc pour savoir ce que l'on attend de vous 2) Se poser la question et y rpondre : de quoi ai-je besoin? (vous tes en train de trouver les variables) 3) Y-a-t-il des rsultats intermdiaires? Si oui comment les conserver? 4) Ne pas oublier de rpondre la question pose (vous tes dans la partie SORTIE) Il faut savoir qu'un algorithme se fait en deux temps : Premier temps : Un Monsieur ou une Dame conoit et crit l'algorithme Deuxime temps : Vous et moi qui n'tions pas la conception de cet algorithme voudrons l'excuter ne serait-ce que pour voir s' il tourne ou s' il fonctionne. C'est pour cette raison que votre algorithme doit tre simple, claire et comprhensible.

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

EXERCICES

Execice1: Pierre possde une parcelle forme d'une partie rectangulaire et sur la largeur d'une partie triangulaire ayant une aire fixe de 15 m. crire, en identifiant clairement ses diffrentes parties, un algorithme permettant de calculer et d'afficher l'aire totale de la parcelle de Pierre. L'utilisateur doit fournir les donnes ncessaires. crire le programme calculatrice correspondant l'algorithme ci-dessus. Vrifier le programme pour a)L=15 m et l= 7 m on doit trouver A=120 m b)L=23 m et l= 19 m on doit trouver A =452 m Exercice2 : Modifier le programme ci-dessus de sorte que l'utilisateur puisse fournir l'aire de la partie triangulaire. Vrifier Exercice4: 1) crire un algorithme permettant de calculer puis d'afficher la somme des
nombres pairs infrieurs ou gaux un nombre fourni par l'utilisateur. 2) crire le programme calculatrice correspondant. nombres pairs utiliss pour calculer la somme.

Exercice5: Modifier l'algorithme puis le programme ci-dessus pour connatre le nombre de Exercice 6:

1) crire un algorithme permettant de simuler un lanc d'un d parfaitement quilibr. Afficher le rsultat. 2) crire le programme calculatrice correspondant.

Exercice7:

1) Modifier l' algorithme puis le programme ci-dessus pour raliser n lancers d'un d, n est fourni par l'utilisateur; d'afficher la frquence d'apparition de chaque chiffre. 2) Modifier l' algorithme puis le programme pour afficher la frquence de nombres ainsi que la frquence de nombres impairs.

Exercice8:
1) crire un algorithme permettant de rsoudre sur une quation de la forme 2 ax bxc=0 , o a , b et c sont des coefficients rels, a tant diffrent de 0 . 2) crire le programme calculatrice correspondant.

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.
Exercice9 :

de

LIMOGES

Facults des Sciences

1) crire un algorithme permettant de ranger par ordre croissant un n-uplets de nombres alatoires. Le nombre n tant fourni par l'utilisateur. Afficher le n-uplets initial et le n-uplets rang. 2) crire le programme calculatrice correspondant.

Exercice 10:

Modifier l' algorithme puis le programme ci-dessus pour n'afficher que le n-uplets compos uniquement de nombres pairs.

Exercice 11 :

Un magasin de vente en gros propose un mme article un prix affich x sous les conditions suivantes : Pour tout achat d'une quantit infrieure 200 pices, le marchand vous fait une rduction de 7,25 % du prix unitaire de l'article plus une rduction de 9,00 euros sur le prix total payer. Pour tout achat d'une quantit suprieure 200 pices, il offre une rduction de 15% du prix unitaire et ne facture rien d'autres. 1) crire un algorithme permettant permettant l'utilisateur de connatre le prix payer. Il doit fournir la quantit commande. 2) crire le programme calculatrice correspondant. 3) Modifier l' algorithme puis le programme ci-dessus pour afficher le .

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Solution de l' Algorithme (Aire_triangle est fixe)


Situation
L

15 m

Remarque : L A A1 A2

est la longueur et l la largeur de la partie rectangulaire. est l'aire fixe de la partie triangulaire est l'aire de la partie rectangulaire est l'aire totale de la parcelle.

ENTREE ou INITIALISATION des donnes


A Prend_la_valeur 15 Saisir la longueur Saisir la largeur

TRAITEMENT des DONNEES


A1 A2 Prend_la_valeur L * l Prend_la_valeur A+A1

SORTIE
Afficher '' L'aire totale est : '' Afficher A2

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Solution
Situation

de l' Algorithme (Aire_triangle est variable)


L

Remarque : L A A1 A2

est la longueur et l la largeur de la partie rectangulaire. est l'aire fixe de la partie triangulaire est l'aire de la partie rectangulaire est l'aire totale de la parcelle.

ENTREE ou INITIALISATION des donnes Saisir


Saisir la Saisir la

A
longueur largeur

TRAITEMENT des DONNEES


A1 A2 Prend_la_valeur L * l Prend_la_valeur A+A1

SORTIE
Afficher '' L'aire totale est : '' Afficher A2

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Solution
Dbut_algorithme

de l' Algorithme

N est_un_nombre // N est le nombre fourni par l'utilisateur I est_un_nombre // I est le nombre pair immdiat S est_un_nombre //S contiendra la somme de tous les nombres pairs infrieurs ou gaux n Saisir n S prend_la_valeur 0 Tant que N >1 Faire I prend_la_valeur N Si I est pair Alors S prend_la_valeur S+I Finsi N prend_la_valeur N-1 Fin Tant que Afficher La somme des nombres pairs infrieurs ou gaux n est : Afficher S Fin_algorithme Remarque: Sans la partie dclarative notre algorithme est plus difficile comprendre du premier coup.

Avec La TI 83 plus
La touche PRGM permet de rentrer dans le mode programmation EXEC EDIT NOUVEAU La conversation avec la calculatrice se fait par : 7) 8) 9) L'instruction Disp. Ainsi DISP'' Bonjour'' affichera Bonjour lors de l' excution Input qui permet de recueillir la valeur ou le caractre saisi au clavier. Input'' Entrer la valeur de n'' , n permet d'afficher le texte puis de rcuprer la valeur ou le caractre saisi au clavier. 10) Le OUTPUT permet de positionner un endroit prcis l'information.

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Programme correspondant l'algorithme de l'exercice 1 Les Touches Version Simple

Programme excut pour n=49

Suite et fin du programme

Avec une CASIO


La double apostrophe, par exemple, se trouve dans OPTN / SYBL . Le : permet d'crire deux instructions sur une mme ligne. Le quivaut un retour la ligne avec affichage du rsultat. L'oprateur doit appuyer sur EXE pour obtenir l'affichage suivant.

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.

I.R.E.M.

de

LIMOGES

Facults des Sciences

Samuel ADABIA, IREM de LIMOGES jeudi 9 dcembre 2010.