You are on page 1of 64

1

I) Une premire approche de lalgorithme en seconde, saison 2010 _ 2011. Antoine ROMBALDI

Lobjectif est de rendre les lves capables :
De dcrire certains algorithmes en langage naturel.
Den raliser quelques uns, tableur ou petit programme sur la calculatrice.
Dinterprter quelques algorithmes plus complexes.
Le logiciel utilis pour les exemples suivants est le logiciel ALGOBOX. Cest un logiciel trs simple et trs rapide
de prise en main et qui semble parfaitement adapt la dcouverte de lalgorithmique.
Les activits suivantes sont de difficults progressives et qui permettent un lve de seconde de dcouvrir
lalgorithmique.
Il ne faut pas hsiter utiliser le mode pas pas du logiciel Algobox car il permet de faire un parfait dbogage.
Chacune des activits proposes commence par la mise en place dun algorithme suivi de quelques exercices.
Pour prolonger ces activits et faire de la programmation un autre niveau avec des constructions de procdures de
fonctions etc, il faudra utiliser des langages standards comme le VISUAL BASIC ou le PASCAL avec la
plateforme DELPHI ou bien encore avec le langage C avec C++.

Une fois lalgorithme termin dans Algobox, si celui-ci ne fonctionne pas, nhsitez pas utiliser le mode PAS A
PAS de ce logiciel pour voir comment volue le contenu de toutes vos variables.





































2























SOMMAIRE.


I. Premire approche : La division.
II. PGCD de deux nombres entiers.
III. Travailler sur quatre semaines.
IV. Les chanes de caractres : les palindromes.
V. Le jeu du cest plus cest moins.
VI. Dans la foule : la dichotomie.
VII. Moyenne, cart-type, tri et mdiane.
VIII. Un peu de probabilits : la somme de deux ds.

I) Premire approche : la division.

Entrer deux nombres entiers A et B et de rcuprer le quotient Q de ces deux nombres.
Mthode :

Demander la saisie du nombre A.
Demander la saisie du nombre B.
Calculer le quotient A/B et le mettre dans Q.
Afficher la valeur de Q.

Variables utiliss :

Les trois variables numriques A, B et Q.

Ralisation de lalgorithme :
1) Lancer le logiciel Algobox
2) Cliquer sur dclarer une nouvelle variable : , ce qui donne
3

3) Taper la variable A en laissant bien NOMBRE comme TYPE DE VARIABLE, comme indique ci-
dessus.
4) Cliquer alors sur le bouton Nouvelle ligne ou bien appuyer sur la combinaison de touche [CTRL]
[Entre], puis cliquer sur le bouton lire variable pour demander la saisie du nombre A .
5) Faire la mme opration pour la saisie du nombre B. A cette tape votre
algorithme doit tre comme reprsente sur la figure ci-contre. Il nous faut ,
maintenant que les deux variables A et B sont bien en mmoire , calculer le
quotient en prenant bien soin que le diviseur B ne soit pas nul.
6) Cliquer sur nouvelle ligne puis sur le bouton Affecter valeur variable. Puis
choisir la variable Q et la suite de prend la valeur taper A/B, et il nous
reste afficher le quotient obtenu.
7) Rajouter une nouvelle ligne, puis cliquer sur
ajouter afficher message et taper alors le message
suivant La valeur du quotient A/B est . Ajouter
une nouvelle ligne puis cliquer alors sur ajouter
afficher variable et choisir la variable Q, en ajoutant un retour la ligne.
Lalgorithme final est alors le suivant :

8) Il sagit maintenant de tester cet algorithme , pour
cela il faut cliquer sur le bouton Tester
Algorithme, puis sur le bouton Lancer lalgorithme
et le rsultat saffiche comme dans la fentre ci-
dessous aprs avoir entre les nombres 10 et 3 :













Quelques amliorations pour cet algorithme :
Il serait agrable davoir une petite explication avant de saisir les deux entiers afin dviter de taper un diviseur
gal zro. Pour cela on introduit une nouvelle ligne deux fois et on obtient lalgorithme ci-dessous :



4
La structure algorithmique TANT QUE :

Il est assez risqu de laisser lutilisateur saisir un diviseur gal zro, pour cela nous allons demander de lire B tant
que la valeur de B est de zro.
Mthode :
Insrer une ligne aprs la ligne AFFICHER Donner votre diviseur B , puis cliquer sur le bouton AJOUTER
TANT QUE. Comme condition taper 0 B == , en faisant bien attention de mettre deus signes = !.
Ce double = est pour indiquer que nous sommes pas sur une affectation de variable mais sur un test dgalit : la
variable B est-elle gale zro ?
Entre les deux instructions de DEBUT et FIN il faut ajouter la ligne LIRE B et supprimer lancienne ligne, et on
obtient alors lalgorithme suivant
Ensuite il ne reste qu tester ce nouvel algorithme en
essayant par exemple de rentrer pour B la valeur 0, ce
qui donne :















Nouvelle amlioration : Fixer le nombres de dcimales afficher :

Ce problme devient un problme mathmatique, cest--dire de la rponse
3, 257257257, il faut arriver 3, par exemple o 3, . 26 25
En fait, une solution simple consiste utiliser la fonction partie entire en procdant de la manire suivante :
devient , dont on prend la partie entire , et il suffit alors de diviser ce
nouveau rsultat par 100 pour obtenir 3,25.
3, 257257257 100 325, 7257257 325
La fonction partie entire, comme dans beaucoup de langages informatiques est donne par linstruction suivante :
( ) floor
Et notre ligne de calcul devient alors ( ) / *100 / 100 Q floor A B =

Au niveau de lalgorithme , il suffit de se positionner sur la ligne Q PREND LA VALEUR A/B puis de cliquer sur
le bouton MODIFIER LIGNE , puis remplacer alors A/B par la formule ( ) / *100 / 100 floor A B , ce qui donne le
nouvel algorithme ci-dessous :




5




Exercice 1





: Modifier lalgorithme pour obtenir un affichage 3 dcimales.
Il sagit de rajouter une variable pour demander lutilisateur le nombre de dcimales souhait.
Note pour cet exercice, il faut utiliser la fonction puissance ( ) , pow x n qui correspond la puissance nime de x.
Solutions :








6
Ce qui donne aprs utilisation : en prenant par exemple A = 14 523 , puis B = 17 et enfin dcimales = 11







Exercice 2 : La division lancienne. Les premiers processeurs ne faisaient que des additions et des
! Comment alors peut-on raliser une division ? soustractions


Solutions :


Voici la mthode directe employe pour faire la division avec un quotient entier de deux nombres entiers A et B.
ustrait B est possible et on compte le nombre de soustractions faites, ce qui est assez simple :
emple, on cherche le quotient entier de 11 par 3.
et on compte 2
uis ce qui est impossible dans , donc on sarrte de compter, et alors le quotient entier de 11 par 3 est
donc 3.
Ci-dessous lalgorithme avec Algobox est :

On so de a tant que c
Un ex
On calcule donc 11 3 8 = , et on compte 1 ( une soustraction ).
Puis 83 5 =
Puis 5 3 2 = et on compte 3
P 2 3 1 =
7























































8
Exercice 3 : Que se passe-t-il si les lignes Q PREND LA VALEUR Q+1 et diff PREND LA VALEUR diff B
sont inverses ? Lalgorithme fonctionne t-il encore correctement ?

Solutions :
A faire dans le programme

Exercice 4 : Utiliser la variable R pour afficher le reste dans la division de A par B la place du quotient Q.


II) Le pgcd de deux nombres entiers.

Rappelons que le plus grand diviseur commun aux deux nombres entiers 12 et 18 est 6 car les diviseurs de 12 sont
{1 ;2 ;3 ;4 ;6 ;12} et les diviseurs de 18 sont {1 ;2 ;3 ;6 ;9 ;18}, et les diviseurs communs aux deux entiers sont
{1 ;2 ;3 ;6}, et le plus grand entier est bien 6.
Voici ci-dessous un algorithme pour dterminer le PGCD de deux nombres entiers A et B : (Algorithmes des
soustractions successives).






















Ce qui donne avec Algobox :















9
Puis lexcution de ce programme en prenant A=12 et B=18, donne bien comme PGCD 6.






























Comme exercice supplmentaire, on peut par exemple se servir de cet algorithme pour dterminer si deux entiers
sont premiers entre eux. A titre de rappel, deux entiers naturels sont premiers entre eux si et seulement si leur
PGCD vaut 1






















10
III) Travailler sur quatre semaines.

Dans certains emploi du temps il faut dcouper sur quatre semaines plutt que sur deux. Cest le cas pour certains
lves de seconde en informatique dans un lyce quelconque : par exemple en semaine 41, nous sommes en
semaine 1, en semaine 42 nous sommes en semaine 2, en semaine 43 nous sommes en semaine 3, en semaine 44
nous sommes en semaine 4, en semaine 45 nous sommes en semaine 1 et ainsi de suite.
On voudrait faire afficher, partir du numro de semaine du calendrier, le numro de semaine de lemploi du
temps, cest--dire 1, 2, 3 ou 4.
La mthode :
Prendre le numro de semaine du calendrier dans la variable semaine, calculer le reste dans la division entire par 4
de cette semaine et le stocker dans semaine_info.
Si semaine_info vaut zro le mettre 4. Les variables utiliser seront donc semaine, de type numrique, et
semaine_info galement de type numrique.
Et il faudra utiliser le fonction A%B qui donne le reste dans la division euclidienne de A par B, et lalgorithme est
alors le suivant :








1) Exercice :

On sait que les cours dinformatique de la classe de seconde 12 sont en semaine 4, crire un algorithme permettant
dafficher toutes les semaines 4 de lanne.
Il faudra donc utiliser une boucle pour explorer les 53 semaines de 1 53, et cette boucle peut avoir la structure
suivante :
POUR semaine ALLANT DE 1 A 53
DEBUT POUR



FIN POUR


11
Solution de lexercice 1 :



2) Exercice :

La mme problmatique, mais cette fois pour une des quatre semaines au choix de lutilisateur. On va donc crer
une nouvelle variable et demander lutilisateur quelle liste de semaines il veut, soit 1, 2, 3 ou 4.
Solution de lexercice 2 :























12
IV) Les chanes de caractres : les palindromes.

Le travail avec les variables alphanumriques dites CHAINES DE CARACTERES est toujours assez difficile en
programmation. Les mots, les phrases, les structures nobissant pas du tout des rgles mathmatiques mais tant
bourre dexceptions.
Ici, il sagit de crer un algorithme qui renverse un mot ou une expression pour vrifier sil sagit dun palindrome,
comme LAVAL, ERDRE, RADAR .)
Mthode :
Un mot est saisi dans la variable CHAINE Palind.
La variable CHAINE Rsult va rcuprer une par une les lettres de palind partir de la dernire etc
Il est utile pour cet algorithme de connaitre les fonctions de manipulation de chanes suivante :
palind.length : renvoi la longueur de la chane (par exemple 5 si on tape LAVAL)
palind.sibstr(3,1) : renvoi la chane de longueur 1 situe en 3 position (par exemple V pour LAVAL)
Attention :
En dclarant les variables il faut videmment choisir le type chane dans Algobox.
Ce qui donne lalgorithme suivant :


Lexcution de cet algorithme avec LAVAL, RADAR, puis JEAN donne :









Sous forme dexercice , essayer de complter cet algorithme en ajoutant un test SI ALORS pour afficher un
message de russite si le mot tape est bien un palindrome ou non.

Ce qui donne

13


Lexcution de cet algorithme avec RADAR, puis JEAN donne :
























14
V) Le jeu du cest plus..cest moins.

Classique jeu du cest plus cest moins avec un nombre entre 1 et 100 choisi au hasard par la machine.
Pour calculer un nombre au hasard entre 1 et 100 on utilise la fonction random() qui renvoie une valeur dcimale
entre 0 et 0,9999999 !
La formule classique pour obtenir un ombre entre 1 et 100 sera la suivante dans Algobox : floor(random()*100+1)
Explication :
random() sort un nombre dcimal entre 0 et 0,9999999.
random()*100 sort un nombre dcimal entre 0 et 99,99999.
random()*100 + 1 sort un nombre dcimal entre 1 et 100,99999, dont il faut prendre la partie entire en utilisant
linstruction floor(), ce qui donne lalgorithme suivant :























Prolongement :

Nous avons la un problme algorithmique trs intressant car
nous utilisons une instruction TANT QUE dans laquelle nous
avons un test (proposition !=hasard) en dbut de boucle alors
quil aurait fallu ce test en fin de boucle pour ne pas avoir a faire
un passage inutile !
Si bien que nous nous trouvons souvent avec un cest moins en
trop .
Nous devons donc ajouter un test dans le SINON pour empcher
laffichage du cest moins en cas dgalit, ce qui nous donne
lalgorithme suivant :









15
Autre prolongement :

Problme qui aurait put tre solutionn aussi avec une variable SORTIE qui prend la valeur 1 en cas dgalit
comme dans lalgorithme ci-contre. Lorsque vous modifiez votre algorithme vous pouvez aussi utilisez les
raccourcis clavier ci-aprs pour les lignes ou les blocs
| | | |
| | | |
| | | |
pour copier
pour couper
pour coller
Ctrl C
Ctrl X
Ctrl V

Noubliez pas dans les recherches ci-dessous dutiliser lors de lexcution des algorithmes dans Algobox la
fonction PAS A PAS qui vous permet de surveiller la valeur de vos variables chaque passage dune boucle.












































16
EXERCICE 1 :

En dernire ligne proposer lutilisateur le nombre de coups qui ont t ncessaires avec un affichage du genre :
BRAVO, vous avez trouv en 7 coups.

CORRECTION DE LEXERCICE 1 :


















































17
EXERCICE 2 :

Afficher lintervalle dans lequel se trouve le nombre pour faciliter la tache lutilisateur !
Par exemple : aprs avoir propos le nombre 50 lutilisateur verra safficher un message du genre :
Cest moins, le nombre est situ entre 0 et 50.
Puis aprs avoir propos 20, il aura un message du genre :
Cest plus, le nombre est situ entre 20 et 50 etc..

CORRECTION DE LEXERCICE 2 :















































18
VI) Dans la foule, la dichotomie.

Il sagit de calculer la valeur (souvent approche) qui annule une fonction donne
( )
1
f x .
La mthode est simple : on se place sur un intervalle de continuit monotone et on
calcule limage du milieu de cet intervalle par cette fonction.
En fonction du signe de cette image ce milieu remplace une des deux bornes et ainsi de
suite.
Exemple :
On considre la fonction , et sur le graphique ci-contre sur lintervalle ( )
2
1
6 f x x =
| |
0; 4 . Nous remarquons que le milieu est 2 et que ( )
1
2 2 f 0 = < , donc notre intervalle
de travail va devenir
| |
2; 4 , puis de mme si on remarque que ( ) 3 3
1
f 0 = > , notre
intervalle de travail devient donc
| |
2;3 , etc

Lalgorithme :
Attention, il faut dfinir une fonction en utilisant longlet UTILISER UNE FONCTION
NUMERIQUE. Cette fonction aura pour nom prdfini F1(x).
Dans lexemple, ci vous dsirez utiliser la fonction ci-dessus ( )
2
1
6 f x x = , il faut
taper pow(x,2)-6, ou bien tout simplement x*x-6.
Vous pouvez aussi utiliser longlet DESSINER DANS UN REPERE pour voir le parcours fait par le point de
recherche F1(middle).
Ce qui donne lalgorithme suivant :






A titre dexercice supplmentaire, vous pouvez demander lutilisateur les deux valeurs de min et de max, mais il
nest pas possible, avec ce programme de demander lutilisateur de dfini r lui-mme la fonction F1(x).


19
VII) Moyenne, cart-type, tri et mdiane.

Pour calculer la moyenne dun certain nombre de notes (combien par exemple) nous devons utiliser une liste
(mathmatiquement on dirait plutt un vecteur), note[1] contient la premire note, puis note[2] qui contient la
seconde et ainsi de suite.
Nous pouvons ainsi saisir les notes au sein dune boucle de longueur combien.
Il ne reste qu faire la somme des notes et diviser par combien.
Ce qui donne lalgorithme suivant :















































20
Exercice : faire afficher la moyenne, la variance et lcart type de la srie de notes :

Solution :

Utilisation, en prenant 10 notes : soit { } 12;11;8;15;12;14;17; 2; 6;13 , on obtient le rsultat ci-dessous :



























21
Prolongement :


Dtermination de la mdiane de la srie de notes, et pour dterminer cette mdiane, il faut dabord trier dans lordre
croissant la srie, qui est une opration pas vidente au sein dun algorithme. Il existe de nombreuses faons de
raliser un tri. Nous allons choisir la plus simple mais peut tre pas la plus rapide au niveau de trs grandes sries
statistiques.

Ralisons un tri dans lordre croissant de la srie de notes ci-dessus.
Le principe est le suivant : on fait parcourir la srie et ds que lon trouve deux notes conscutives qui ne sont pas
dans lordre on les inverse et on refait le parcours de la srie.

La variable PERMUTE est mise zro puis on fait le parcours de la srie de 1 combien 1.
Si on trouve
| | | |
1 note i note i < + dans la srie on met la variable PERMUTE 1 et on inverse les deux notes.
Quand la variable PERMUTE restera zro, il ny aura plus rien inverser et donc la srie sera bien tri dans
lordre croissant.

On utilise un repre pour tracer lhistogramme de la srie. Il faut pour cela cliquer sur DESSINER DANS UN
REPERE pour pouvoir utiliser la fonction TRACER_SEGMENT de la couleur choisie et aprs avoir dfinis les
intervalle X et y du repre.

A titre dexercice supplmentaire, faire un tri dcroissant de la srie de notes.

Une fois la srie trie il ne reste plus qu calculer la mdiane. Pour viter davoir tester la parit du nombre de
notes on utilise une petite astuce :

On calcule le centre de la srie et on fait la moyenne des valeurs entourant ce centre. Si la srie est impaire ces
deux nombres seront les mmes sinon ils entoureront le centre.
Nous calculons puis ( ) ( )
1 1 med floor combien = + / 2 ( ) ( )
2 1 / 2 med floor combien = + +
|
0, 5 , le milieu sera
, ( si on a un nombre impair) et la mdiane sera ( ) 1 med med + 2 / 2 1 2 med med =
| | | ( )
1 2 note med + / 2 note med .
Et il ne reste qu tracer la mdiane aprs avoir tracer la srie.























22
Solution du tracer de la mdiane de la srie de notes :























































23
VIII) Un peu de probabilits : la somme de deux ds.

Nous savons que la probabilit dapparition de la somme 7 lors du jet de deux ds de couleurs diffrentes est de 1/6
cest--dire peu prs 17 %.
Nous pouvons utiliser un algorithme pour vrifier si ce nombre thorique se retrouve sur 1000 lancers alatoires de
la machine. Utilisons comme nous lavons dj fait la fonction RANDOM() qui gnre un dcimal entre 0 et
0,9999999.
Fabriquons la formule :
RANDOM()*6 donne un nombre entre 0 et 5,999999
RANDOM()*6+1 est donc entre 1 et 6,99999
Et il suffit dutiliser la fonction partie entire floor() pour achever la formule, soit
FLOOR(RANDOM()*6+1).
Ce qui donne lalgorithme suivant :








Quelques exercices supplmentaires.

EXERCICE 1 :

Demander lutilisateur quelle somme il veut tester, entre 2 et 12 bien sur, et sur combien de lancers il veut faire
ce test.






24
CORRECTION DE LEXERCICE 1 :




































25
EXERCICE 2 :

Demander le nombre de lancers dsir et faire afficher toutes les sommes de 2 12, pour cela il faudra utiliser
videmment une liste.

CORRECTION DE LEXERCICE 2 :













EXERCICE 3 :

Demander le nombre de lancers dsir et faire afficher toutes les sommes de 2 12, pour cela il faudra utiliser
videmment une liste.

CORRECTION DE LEXERCICE 3 :

En utilisant la partie DESSINER DANS UN REPERE vous pouvez, partir de lalgorithme ci-dessus, faire un
histogramme des pourcentages.
Il est intressant dtudier la rgularit et la symtrie de lhistogramme en fonction du nombre de lancers
demands.







26
























































27
Voici le graphe pour 100 lancers ;


























Voici le graphe pour 1000 lancers ;




























28























































29
II) Algorithme en seconde, saison 2010 _ 2011. Antoine ROMBALDI


I) Ce que disent les nouveaux programmes.
Algorithmes, objectifs pour le lyce, extrait du programme.
La dmarche algorithmique est, depuis les origines, une composante essentielle de lactivit mathmatique. Au
collge, les lves ont rencontr des algorithmes (Algorithmes opratoires, algorithmes des diffrences,
algorithmes dEuclide, algorithmes de construction en gomtrie.)
Ce qui est propos dans les programmes est une formalisation en langage naturel propre donner lieu traduction
sur une calculatrice ou laide dun logiciel. Il sagit de familiariser les lves avec les trois grands principes de
lorganisation dun algorithme :
Gestion des entres sorties.
Affectation dune valeur
Mise ne forma dun calcul.
Dans le cadre de cette activit logarithmique les lves sont entrans :
A dcrire certains algorithmes en langage naturel ou dans un langage symbolique ;
A en raliser quelques uns laide dun tableur ou dun petit programme ralis sur une calculatrice ou
avec un logiciel adapt.
A interprter des algorithmes plus complexes.

Aucun langage n aucun logiciel nest impos.

Instructions lmentaires (affectation, calcul, entre, sortie).
Les lves, dans le cadre dune rsolution de problmes, doivent tre capables :
Dcrire une formule permettant un calcul.
Dcrire un programme calculatoire et donnant la valeur dune fonction.
Dutiliser les instructions dentres et sorties ncessaires au traitement.


Boucle itrative, instruction conditionnelle.
Les lves, dans le cadre d une rsolution de problmes, doivent tre capables :
De programmer un calcul itratif, le nombre ditrations tant donn.
Dcrire un programme calculant et donnant la valeur dune fonction.
De programmer une instruction conditionnelle, un calcul itratif, avec une fin de boucle conditionnelle.


Lalgorithmique a une place naturelle dans tous les champs des mathmatiques et les problmes poss doivent tre
en relation avec les autres parties du programme : (Fonctions, gomtrie, statistiques et probabilits, logique.) mais
aussi avec les autres disciplines ou bien dans la vie courante.
A loccasion de lcriture dalgorithmes et de petits programmes, il convient de donner aux lves de bonnes
habitudes de rigueur et de les entraner aux pratiques systmatiques de vrification et de contrle.

II) Quest ce quun algorithme ?
Une dfinition :
Un algorithme est une suite finie de rgles appliquer dans un ordre dtermin un nombre fini de donnes
pour arriver, en un nombre fini dtapes, un certain rsultat et cela indpendamment des donnes.
Cette notion est trs rpandue dans la vie courante, un algorithme peut par exemple y prendre la forme :
- dune recette de cuisine.
- Dun mode demploi.
- Dune notice de montage.
- Dune partition musicale.
- Dun texte de loi.
- Dun itinraire routier.

30

III) La dmarche algorithme.

La rsolution dun problme passe par deux tapes:
2. Concevoir une procdure qui une fois applique amnera une solution du problme pos :
cest ce quon appelle lalgorithme.
3. Rsoudre effectivement le problme pos en appliquant cet algorithme
Quelques algorithmes en Mathmatiques connus des lves:
algorithmes opratoires
algorithmes de constructions gomtriques (notamment avec un logiciel de gomtrie)
algorithme dEuclide
algorithme des diffrences
Et bien dautres encore...
Un algorithme dcrit les diffrentes tapes qui permettent de rsoudre un problme.
Il est donc crit dans un langage naturel. Nanmoins, ltape 2 conditionne souvent la faon de concevoir
lalgorithme. Tout dpend de la personne ou de la machine qui va lutiliser: tout dpend de son niveau de
comprhension
Dans le cas de lutilisation dune machine (ordinateur ou calculatrice) l'algorithme doit tre rendu
comprhensible par la machine que nous allons utiliser pour rsoudre effectivement le problme. Le rsultat de la
traduction de l'algorithme dans un langage connu de la machine est appel un programme.
Les langages informatiques ne sont l que pour faire fonctionner les algorithmes
PROBLEME SOLUTION







PROGRAMME.
Traduction dans un langage informatique
On teste l'algorithme : on le fait tourner la main
ALGORITHME















Un algorithme bien conu peut tre traduit dans la plupart des langages
informatiques courants
Les principaux logiciels gratuits sont les suivants :
ALGOBOX
SCRATCH
XCAS
SCILAB
PYTHON
Dans la suite, nous utiliserons le logiciel ALGOBOX pour traduire et excuter les algorithmes.
Ce logiciel gratuit peut se tlcharger ladresse suivante:
http://www.xm1math.net/algobox/index.html
31
AlgoBox est un logiciel libre, multi-plateforme et gratuit daide llaboration et lexcution dalgorithmes dans
lesprit du nouveau programme de seconde. Il a t conu par Pascal Brachet, qui est lauteur de PstPlus et de
Texmaker, logiciels forts utiles pour les utilisateurs de LaTeX.
IV) Pourquoi choisir AlgoBox ?

Avantages
Les commandes sont en Franais
Linterface est simple et limpide ce qui vite llve tout problme dapprentissage de syntaxe et lui
permet donc de se concentrer sur la logique algorithmique.
Il rpond parfaitement une initiation lalgorithmique et aucune connaissance dun langage particulier
nest ncessaire.
Inconvnients: langage assez limit
Par exemple ne permet pas de faire des sous programmes
(procdures ou fonctions), graphiques ..

V) Comment concevoir un algorithme ?

Un algorithme se compose en gnral de trois parties :

Cest un schma simplifi. Il arrive dailleurs que les sorties se fassent au cours du traitement.
Pour crire un algorithme, il faut commencer par lanalyse du problme
Il sagit de dterminer les donnes utilises et les oprations effectuer sur ces donnes et de trouver la dmarche
pour rsoudre le problme.

VI) Les variables.

Un algorithme manipule des donnes, donnes initiales ou rsultats intermdiaires.
Ces donnes pour pouvoir tre utilises par un algorithme doivent tre ranges dans des VARIABLES
Attention: Une variable en algorithmique est diffrente dune variable en mathmatiques (ce qui peut poser un
problme pour les lves)
Du point de vue de lordinateur, une variable est une zone de mmoire au contenu de laquelle on accde via un
identificateur. Du point de vue algorithmique, une variable est caractrise par:
son nom
sa structure : variable simple, liste, tableau, fichier
sa nature: numrique, chane de caractres, boolen
son contenu qui peut changer au cours de lexcution de lalgorithme
BOOLEEN : Une variable boolenne est une variable qui ne peut prendre que deux valeurs VRAI ou FAUX.
Son intrt: ncessite moins de place en mmoire quune variable numrique
Ce type de variable nexiste pas dans tous les langages.
LISTE TABLEAUX : Les listes et les tableaux sont des suites de donnes indices caractrises par un nom,
le nombre dlments et la nature des donnes quils contiennent. On accde un lment de la liste ou du
tableau en indiquant sa position :
LISTE [I] est le terme de rang I de la liste nomme LISTE
TABLEAU [I,J] est le terme situ ligne I, colonne J du tableau deux dimensions

En algorithmique, les listes et les tableaux sont deux structures de donnes diffrentes. Une liste est une variable
dynamique: la taille nest pas donne lors de la dclaration, on peut ajouter des lments une liste (augmenter le
nombre dlments). Un tableau est une variable statique: il a des dimensions prdfinies lors de sa dclaration ;
on peut seulement modifier les lments quil contient.
Dans la plupart des langages de programmation, il est ncessaire de dclarer toutes les variables utilises ds le
dbut du programme La dclaration de variables ninitialise pas les variables.
Une variable ne peut tre utilise que si elle est initialise cest--dire si elle a un contenu.

32
Certaines erreurs dans les algorithmes viennent donc parfois de la :
Non dclaration de la variable
Non initialisation de la variable.

Il peut tre prfrable pour les lves dutiliser des noms de variables significatifs qui ont un lien avec leur
contenu.
Par exemple:
salaire au lieu de S
longueur au lieu de L ..
Les oprations que lon peut effectuer sur les donnes dpendent de la nature de ces variables.

VII) Les instructions.

Les instructions sont les rgles que lon applique aux donnes
Instruction dentre
Il sagit de demander lutilisateur une valeur que lon va attribuer une variable
Plusieurs formulations sont possibles:
Demander A
Lire A
Saisir A
Instruction de sortie
Il sagit dafficher (ou dimprimer) les rsultats, cest--dire le contenu de certaines variables ou bien des
messages
Afficher A
Afficher message
Instruction daffectation
Il sagit daffecter cest--dire dattribuer une valeur une variable. Cette valeur peut tre une constante ou le
rsultat dun calcul.
Plusieurs formulations sont possibles:
Donner A la valeur 2
A prend la valeur 2
Affecter A la valeur 2
Stocker dans A la valeur 2
Pour modifier le contenu par un calcul
augmenter A de 2
remplacer A par la valeur A+2
Donner A la valeur A+2
Affecter A la valeur A+2
Stocker dans A la valeur A+ 2
A prend la valeur A+2
A A+2
Les deux premires sont plus parlantes pour les lves mais ainsi formules, ne sont pas comprises par les
langages de programmation

VIII) Les premiers exemples.
Dans les algorithmes qui suivent le traitement est un traitement squentiel
Les instructions y sont excutes les unes aprs les autres par ordre dapparition.
instruction 1;
instruction 2; ... ;
instruction n.





33
Il sagit dexercices qui nutilisent que :
Des instructions dentre et de sortie
Des instructions daffectation
Des calculs

Exercice 1 :
Un algorithme important
Ecrire un algorithme qui change le contenu de deux variables A et B
Il permet de comprendre le fonctionnement des variables.
Cest le fonctionnement du presse papiers des ordinateurs.
Corrections de lexercice 1 :
On va faire lalgorithme avec des variables numriques. Il est vident quil marche avec nimporte quel autre type
de variable
Variables:
A un nombre
B un nombre
C un nombre
Entre
Demander A
Demander B
Traitement
Donner C la valeur de A
Donner A la valeur de B
Donner B la valeur de C
Sortie
Afficher la valeur de A est: , A
Afficher la valeur de B est: , B
Comment se prsente un algorithme dans ALGOBOX ?

34
es variables avec ALGOBOX
s en dbut de programme laide de la touche :
L
Les variables doivent tre dclare

Il faut donner un nom cette variable et choisir son type parmi les
Nombre

trois types proposs:
Chane
Liste





structions dentre : In
ion il faut dabord crer une nouvelle ligne Pour entrer une instruct

On se place sur la ligne vide et on actionne la touche :

La boite de dialogue suivante apparat :
t on choisit alors la variable que lon veut utiliser.
structions de sortie :










E

In
ion il faut dabord crer une nouvelle ligne Pour entrer une instruct

On se place ensuite sur la ligne vide et on actionne la touche :

Les boites de messages suivantes apparaissent alors.
35




Instructions daffectation :
Pour entrer une instruction il faut dabord crer une nouvelle ligne

On se place ensuite sur la ligne vide et on actionne la touche :

La boite de dialogue suivante apparat :



Lalgorithme est alors le suivant :





36
























Et quand on lance lalgorithme, avec la touche






























37
Remarque : si les messages "Algorithme lanc" et "Algorithme termin" n'apparaissent pas au bout d'un moment
dans la zone ci-dessous, c'est que l'algorithme contient une erreur.

Les oprations sur les variables numriques avec ALGOBOX
Le sparateur dcimal est le point.
Les quatre oprations: +, - , * /
Le signe * est obligatoire : Il faut crire 2*x et non 2x
Les autres oprations
Racine carre d'une variable x sqrt(x)
Mettre une variable x la puissance n pow(x,n)
Obtenir un nombre pseudo-alatoire compris en 0 et
1
random()
Nombre PI Math.PI
Partie entire d'une variable x floor(x)
Cosinus d'une variable x (en radians) cos(x)
Sinus d'une variable x (en radians) sin(x)
Tangente d'une variable x (en radians) tan(x)
Exponentielle d'une variable x exp(x)
Logarithme nprien d'une variable x log(x)
Valeur absolue d'une variable x abs(x)
Arrondi d'une variable x l'entier le plus proche round(x)
Reste de la division de la variable x par la variable y x%y
Il faut respecter les majuscules et minuscules

Exercice 2 :

Dans les sujets du brevet des collges, on trouve souvent des programmes de calculs du style:

Choisir un nombre
Lui ajouter 4
Multiplier la somme obtenue par le nombre choisi
Ajouter 4
Ecrire le rsultat obtenu

Ecrire un algorithme que lon puisse faire tourner sur une machine

Corrections de lexercice 2 :

Commentaires
Lexercice prcdent permet de comprendre la diffrence entre un algorithme pour un tre humain ou pour une
machine. Un algorithme pour ordinateurs ne doit contenir que des instructions comprhensibles par la machine
Un ordinateur ne sait faire que:
Mettre des valeurs dans des zones mmoires
Faire des oprations sur des variables
Faire des tests et des branchements
Il permet aussi de travailler sur les expressions algbriques et les fonctions





38
Variables:
Choisir le nombre a.
Puis b, c et d

Entre
Demander a.
Ajouter 4, afficher la somme b.
Multiplier la somme b par a.
Afficher le produit c.
Ajouter 4 c qui donne d.
Sortie
Afficher le rsultat obtenu, d











Exercice 3 :

Ecrire un algorithme qui calcule le primtre dun cercle et laire dun disque dont on donne le rayon.

Corrections de lexercice 3 :
Variables:
rayon : un nombre
primtre : un nombre
aire : un nombre
Entre
demander la valeur de rayon

Traitement
donner primtre la valeur 2*t*rayon
donner aire la valeur t*rayon

Sortie
afficher le primtre est:
afficher primtre
afficher aire du disque est
afficher aire

Avec la TI 89, on obtient le programme suivant :









39
Avec Algobox, on obtient le programme suivant :
On traduit lalgorithme dans ALGOBOX. Attention respecter les majuscules et les minuscules des diffrentes
instructions.
























Pour lancer cet algorithme, on procde de la manire suivante :


40
Exercice 4 :

Ecrire un algorithme qui calcule les coordonnes du milieu dun segment

Corrections de lexercice 4 :
Variables:
xA , yA , xB, yB des nombres.
X milieu et y milieu des nombres.
Entre
Demander xA
Demander yA
Demander xB
Demander yB

Traitement
Donner x milieu la valeur de (xA+xB)/2
Donner y milieu la valeur de (yA+yB)/2
Sortie
Afficher Labscisse du milieu est : , x milieu
Afficher Lordonne du milieu est : , y milieu

Avec la TI 89, on obtient le programme suivant :

Avec Algobox, on obtient le programme suivant :

On traduit lalgorithme dans ALGOBOX.





















41
Exercice 5 : Les fonctions dans Algobox.
Calcul de limage dun nombre par une fonction donne/
Ecrire un algorithme qui calcule et affiche limage dun nombre rel par une fonction f donne.

Corrections de lexercice 5 :

Pour utiliser une fonction note par exemple F1, il faut la dfinir en dehors de lalgorithme. On procde de la
manire suivante :

Activer loption Utiliser une fonction dans longlet Utiliser une fonction numrique .




Entrer lexpression de F1(x) en fonction de x dans la boite de

our utiliser
dialogue dfinie pour cela.

P limage dun nombre x par la fonction dans lalgorithme,
e qui donne
1 F
il suffit dutiliser le code ( ) 1 F x
AIDE

c le rsultat suivant :

























42
INSTRUCTION CONDITIONNELLE OU ALTERNATIVE.

(1) La forme simple :
) La forme la plus courante:

Si condition Alors
s


Instruction
FinSi


(2
n peut schmatiser ce fonctionnement de la faon suivante :
) Conditions et tests:

Si condition Alors
nstructions 2


Instructions 1
Sinon
I
FinSi





O



(3
ne condition est base sur une comparaison U
Oprateurs : , , , , = < > = < , = >=
Conditions composes : On peut mettre plusieurs conditions lies par ET ou OU
ad it par
es expressions conditionnelles avec Algobox sont les suivantes.
Par exemple 5 8 x < < se tr u ( ) 5 ET 8 x x < <

L

On peut combiner des conditions avec ET ou OU.
xercice 6 : Un classique important.

E
crire un algorithme qui donne le plus grand et le plus petit de deux nombres A et B.
orrections de lexercice 6 :

E

C
Variables:
A un nombre.
.
Entre
B un nombre.
max un nombre
min un nombre.

Demander A
Demander B
43

Traitement
A B > Si alors
ax la valeur A
Sinon
ner max la valeur B
FinSi
Donner m
Donner min la valeur B.
Don
Donner min la valeur A
Sortie
Afficher Le maximum est : , max
Ce qui donne :

Afficher Le minimum , min










Prolongement:
Ecrire un algorithme qui dtermine le plus grand de trois nombres A, B et C
Variables:
A, B , C max des nombres.
Entre
Demander A
Demander B
Demander C


44
raitement T
Si A B > alors
ax la valeur A
nner max la valeur C.
FinSi
ner max la valeur B
nner max la valeur C
FinSi
FinSi
Donner m
Si C>max alors
- Do
Sinon
Don
Si C>max alors
- Do

Sortie
Afficher Le maximum est : , max
Ce qui donne :
ne autre mthode consiste a supposer que le maximum est A au dpart et ensuite comparer le max





























U
successivement B puis C.
Traitement :
Donner max la valeur de A.
onner max la valeur de B
Si C>max alors
ax la valeur de C
Si B>max alors
D
Sinon

Donner m
FinSi
FinSi
45
echerche du maximum dune liste de valeurs.
xercice 7 :
Cet algorithme peut se gnraliser la r
Avec Algobox, on ne coche pas linstruction sinon.


























E
n donne trois points A, B et C par leurs coordonnes dans un repre.
le ? Isocle ? Equilatral ?
sation des
orrections de lexercice 7 :

O
Ecrire un algorithme qui permet de savoir si le triangle ABC est rectang
Problme darrondis avec la racine carre pour comparer des distances : problme habituel de lutili
valeurs approches.

C
ariables:

V
, , , , ,
A A B B C C
x y x y x y des nombres.
AB, AC, BC
Entre
des nombres.

Demander ,
A A
x y
Demander , x
B B
y
Demander ,
C C
x y
Traitement
Donner AB la valeur de ) ( ) (
( )
2 2
B A B A
racine x x y y + .
Donner AC la valeur de ) ( ) (
( )
2
C A C A
racine x x y y +
2
.
Donner BC la valeur de ( ) ( )
( )
2
C B C B
racine x x y y +
2
.
Si
2 2 2
AB AC BC + = alors ta gle e A afficher ABC est rec n n .
Si
2 2 2
AB BC + = AC alors afficher ABC est rectangle en B .
Si
2 2 2
BC AC + AB = alors afficher ABC est rectangle en C .
46
Remarque :
trois tests. Donc chaque excution les trois tests seront excuts. On peut amliorer ce programme en
alors
afficher rect n A
2
On a fait les
utilisant des si-imbriques.
Si
2 2 2
AB AC BC + =
angle e
Sinon
2 2
AB BC AC + = Si alors
afficher rect B
Si
2
angle en
Sinon
2 2
BC AC AB + = alors
Afficher rec n C
xercice 8 : Forfait SMS.
tangle e
FinSi
FinSi
FinSi

E
nsuels pour des SMS.
elque soit le nombre de SMS envoys.
MS envoys.
erm tant d montant mensuel rgler, en euros,
orrections de lexercice 8 :
On compare trois forfaits me
FORFAIT A : fixe de 20 qu
FORFAIT B : 0,15 par SMS envoys.
FORFAIT C : fixe de 12 et 0,05 par S
Elaborer une dmarche p et afficher le forfait le plus avantageux et le
en fonction du nombre de SMS envoys dans le mois.

C






TRAITEMENT ITERATIF ET BOUCLES.

Il sagit dinstructions qui permettent de rpter des instructions: on parle ditrations ou de boucles.
Il existe deux types de boucles:
Les boucles dont on connat le nombre de rptitions
ance le nombre de rptitions

n connat le nombre N ditrations
Les boucles conditionnelles : on ne connat pas lav
O


( )
Rpter pour I allant de 1 N



Re
Ins
Valeur
tru
su
ctions
Fin pet ivante e de r I

dbut de la boucle
itialise lentre de la boucle, incrmente de 1
Dans c a alors par exemple:
N doit tre initialis avant le
I est une variable (appele compteur) ; elle est in
chaque passage Fin rpter et vaut N+1 en sortie de boucle
ertains langages de programmation, on peut modifier lincrment. On
Rpter pour I allant de 1 N pas 3
( )

Re
Instructions
Fin peter Valeur suivante de I




47
vec Algobox , on a :
xercice 9 :
A



















E
crire un algorithme qui permet dafficher les carrs des entiers compris entre 1 et N E
Prolongement : Modifier lalgorithme pour quil calcule la somme des carrs.

Corrections de lexercice 9 :
ariables:

V
N est un nombre.
re.
Entre
Carre est un nomb
S est un nombre
I est un nombre.

Demander N.
Traitement
Donner S la valeur 0.
1 N.
de
Rpter pour I allant de
Donner carre la valeur
2
I .
Afficher carr.
Donner S la valeur de S + carre.
Sortie
Fin Rpter.

Afficher La somme des carrs est , S.

vec Algobox, on obtient : A










48























xercice 10 :

E
crire un algorithme qui permet de calculer la somme des N premiers entiers naturels.
orrections de lexercice 10 :

E
Sans utiliser les formules sur les suites

C
ariables:


V
N est un nombre.
Entre
S est un nombre
I est un nombre.

Demander N.
Traitement
Donner S la valeur 0.
1 N.
S+I.
Sortie
Rpter pour I allant de
Donner S la valeur de
Fin Rpter.

Afficher La somme des , N, premiers entiers est :

vec Algobox, on obtient :
Afficher S
A







49






xercice 11 :

















E
crire un algorithme qui permet de calculer la somme (ou la moyenne) de N nombres donns par
loccasion dutiliser des listes si on veut garder les nombres en mmoire.

E
lutilisateur.
Cela peut tre
Prolongement possible : Moyenne pondre avec cration de deux listes ou dun tableau deux dimensions.
orrections de lexercice 11 :

C
ariables:


V
N est un nombre.
e.
Entre
S est un nombre
NB est un nombr
I est un nombre.

Demander N.
Traitement
Donner S la valeur 0.
1 N.
leur de S + NB
Sortie
Rpter pour I allant de
Demander NB.
Donner S la va
Fin Rpter.

Afficher La somme est :

vec Algobox, on obtient :
Afficher S
A




50


OPERATIONS AVEC LES LISTES.


Les listes AlgoBox sont des listes numrotes de nombres (il n'y a pas besoin de prciser le nombre d'lments de
lectionnez pour la variable une variable du type LISTE, vous devez indiquer dans le champ rang du
la liste).
Si vous s
terme de la liste le numro du terme de la liste auquel vous voulez affecter une valeur.
Pour utiliser un terme d'une liste dans un calcul, il faut utiliser la syntaxe suivante :
nomliste[rang]
Exemple : moy prend la valeur
contiendra la moyenne des trois premiers termes de la liste maliste)

(maliste[1]+maliste[2]+maliste[3])/3 (la variable du type NOMBRE moy
nitialisation dune liste. Prolongement de lexercice 11. I
s un tableau.
inimum dune liste de N nombres.
xercice 12 :
Ecrire un algorithme qui demande N nombres et les met dan
(Modification de lexercice 11: on conserve les nombres entrs) ;
Ecrire un algorithme qui permet de dterminer le maximum et le m
Le prolongement possible est par exemple un algorithme de tri.

E
crire un algorithme qui simule N lancers dun d et calcule la frquence dapparition du 6.

E
On ne connait pas le nombre ditrations.
TANT QUE condition
.
TANT QUE
instructions
FIN

Le bloc instructions est rpt tant que la condition est vraie.
Remarques importantes sur la boucle TANT QUE .
La condition doit tre initialise avant le dbut de la boucle.
prendre un moment donn la valeur

La condition doit tre modifie dans la boucle et doit pouvoir
FAUX car sinon la boucle est infinie (on ne sort jamais de la boucle) et le programme ne sarrte jamais.
La boucle peut ne jamais tre excute, car condition fausse ds le dpart.
51
peut tre intressant de faire vrifier des algorithmes avec boucles et comprenant des erreurs. Il
Sur Algobox, il faut activer la touche :


xercice 13 : E
ithme utilisant la boucle TANT QUE3 qui simule une boucle dont on connait le nombre de
montre quon peut se contenter de la boucle conditionnelle dans les algorithmes.
xercice 14 :
Ecrire un algor
rptitions.
Cet exercice

E
crire un algorithme qui redemande un nombre tant que le nombre donn nest pas compris dans un intervalle fix. E
Application :
Cet algorithme peut tre utilise pour faire tourner un algorithme tant que lon rpond OUI la question
xercice 15 : Donn en terminale L.
Voulez vous recommencer ? .

E
oit N un entier naturel non nul. On considre lalgorithme suivant :
1. Pour tout entier naturel N, on note le nombre affich en sortie de cet algorithme.

S


Entre : Un entier naturel N
ion Initialisat : Donner A la valeur de N
raite ent
Donner K la valeur de N.
T m














N
A
a) Calculer
1 2 2
, , e A A A .
4
t A
b) Vrifier que
5
119. A =
: ocdure
nner K la valeur
Tant que K>2, ritrer la pr
suivante
Do 1 K
Donner A la valeur A K
Donner A la valeur 1 A
Fin Tant que
Sortie : Afficher A

52
c) Calculer
10
. A
2. Pour chacune des propositions suivantes, dire si elle est vraie ou fausse en justifiant la rponse donne :
a) est un nombre premier pour certaines valeurs de N .
11
A
b) est un nombre premier pour nimporte quelle valeur de N .
11
A
c) Quel que soit lentier naturel non nul N, si N est premier, alors est premier.
11
A
d) Il existe premier tel que N nest pas premier .
11
A
3. Etudier la parit des nombres
N
A

Exercice 16 : Autre exercice donn en TL.

On considre lalgorithme suivant:



Entre : un entier naturel N

Initialisation : Donner U la valeur de N

Traitement : Tant que U > = 10
Donner U la valeur de U-10
fin tant que
Donner A la valeur (N-U)/10
Donner C la valeur A (A+1) 100+25

Sortie : Afficher C.
1. Quobtient-on en sortie si on donne en entre N la valeur 27 ? Et pour 129 ?
Que remarque-t-on?
2. Soit N un entier dont le chiffre des units est 5.
a) Faire fonctionner cet algorithme avec plusieurs entiers N et vrifier que la sortie de lalgorithme appliqu
N donne alors le carr de N.
b) Justifier ce rsultat.
3. Calculer sans calculatrice le carr de 45 et de 75.

Exercice 17 :

Division euclidienne
Ecrire un algorithme qui donne le quotient et le reste de la division euclidienne dun entier naturel a par un
entier naturel b.
Prolongement : recherche du PGCD de deux entiers naturels

Corrections de lexercice 17 :
Avec la TI 89, on a :











53
Exercice 18 :
Ecrire un algorithme qui permet dafficher la liste et la somme des diviseurs dun entier naturel N.

Exercice 19 :

Les grands parents de Julien dposent sa naissance en 2010 une somme de 1500 sur un livret dpargne.
Ce livret rapporte 2,5% par an.
En quelle anne, la somme aura-t-elle double?
Prolongements possibles:
Modifier la somme de dpart ou la mettre en donne saisir
Mettre le taux dintrt en donne saisir pour pouvoir comparer diffrents placements possibles

Exercice 20 :
Jeu du trop grand-trop petit
Ecrire un algorithme qui choisit un nombre entier alatoire et vous propose de deviner ce nombre.
Lalgorithme affichera le nombre de coups utiliss pour trouver le rsultat.


LES FONCTIONS AVEC ALGOBOX.

Tableau de valeurs et reprsentation graphique dune fonction.
Etant donne une fonction f, crire un algorithme qui permet dobtenir un tableau de valeurs de f sur un segment
[a;b] et dafficher les points de la courbe correspondants.
Cet nonc est trop gnraliste: il faut prciser par exemple la fonction

Les fonctions dans Algobox

Pour utiliser une focntion note F1 ; il faut la dfinir en dehors de lalogorithme. Pour cela :
Activer loption Utiliser une fonction dans longlet Utiliser une fonction numrqiue :





Entrer lexpression de F1(x) en fonction de x dans le champ prvue pour cela. (On peut ausisi utilser laide , en bas
, droite).



Pour utiliser l'image d'un nombre nb par la fonction F1 dans l'algorithme, il suffit d'utiliser le code : F1(nb)
Analyse du problme:
Dans un premier temps, on va demander la valeur de labscisse entire du premier point et on va faire la
table des valeurs F1 des nombres obtenus avec un pas de 1
Il faut dfinir la fonction F1


54




Variables :
A, N, I des nombres.
x, y des nombres.
Entre
: Demander A
: Demander N
Traitement :
Rpter pour I allant de 1 N
Donner x la valeur x + ( I 1 )
Donner y la valeur F1(x)
Afficher x
Afficher y
Placer le point de coordonnes (x ;y).
Fin Rpter.

Les sorties sont faites lors du traitement.

Ce qui donne avec Algobox :




































55
Exercice 21 :

Tableau de valeurs et reprsentation graphique dune fonction.
Etant donne une fonction f, crire un algorithme qui permet dobtenir un tableau de valeurs de f sur un













segment [a;b] avec un pas de 0,1 et dafficher les points de la courbe correspondants.




























activer l'option
Tracer des points et des segments dans un repre
Il faut :
Aller dans longlet "Dessiner dans un repre










Utiliser un repre dans l'onglet
"Dessiner dans un repre
Un repre graphique est automatiquement ajout dans
la fentre de test de l'algorithme.
Les boutons Ajouter TRACER POINT
Ajouter TR
et
s activs
e code de l'algorithm
des instructions pour tracer des points et de
segments dans ce repre
ACER SEGMENT sont alor
et peuvent tre inclus dans l e
s
56
Ajouter TRACER POINT










Si on clique sur ce bouton, la fentre suivante apparat














Si on clique sur ce bouton, la fentre suivante apparat

Ajouter TRACER SEGMENT





























57
rolongements: P
ableau de valeurs et reprsentation graphique dune fonction.
) Le pas est choisi par lutilisateur
)Ecrire un algorithme permettant dencadrer, avec une prcision donne, la valeur qui annule une fonction
ontinue et strictement monotone sur un segment [a;b]: mthode du balayage.
xercice 22 :
T
a
b
c

E
n jette un d autant de fois quil faut pour obtenir un 6
crire un algorithme qui compte le nombre de lancers ncessaires pour obtenir un 6 pour la premire fois.
rolongement:

O
E
P
dapter lalgorithme prcdent afin de calculer le nombre moyen de lancers pour obtenir un premier 6
mme type :
A
Autre exercice du
la somme obtenue
xercice 23 :

Etude du lancer de deux ds et de
On veut tudier le nombre de lancers ncessaires pour obtenir une somme donne

E
arche alatoire sur une droite

M
gauche, de manire alatoire.
ite) de chaque saut, on lance une pice de monnaie quilibre : si l'on obtient PILE
od P) la puce se dplace gauche, si l'on obtient FACE (cod F) la puce part droite.
le nombre de promenades
ui se terminent la distance 0, 2 ou 4 de lorigine.
xercice 24 :

Une puce se dplace sur un axe gradu : elle part de lorigine et, chaque saut, elle se dplace d'une unit vers la
droite ou vers la

Pour choisir le sens (gauche, dro
(c

Ecrire un algorithme qui permette de simuler N promenades de 4 sauts et de dnombrer
q

E Un exemple de TP
Passage en caisse

PREMIERE PARTIE
Lors du passage la caisse, on veut calculer le total payer, les prix des articles sont rentrs un par un.
our signaler a saisie est termine, on rentre le nombre zro.
Rdiger un algorithme qui permettra ce travail
TIE

On veut faire l'addition des nombres rentrs dans la machine.
Chaque prix saisi est suivi de la touche entre (on ne se sert pas de la touche "+").
P que l

La machine doit fournir alors le total payer.


DEUXIEME PAR
ombre d'ar s, prix moyen
ticle.
N ticle

Complter l'algorithme prcdent pour quil donne en plus le nombre d'articles achets et le prix moyen dun
ar

TROISIEME PARTIE

Le magasin fte son anniversaire: offre promotionnelle! Pendant la dure de la journe anniversaire, le
agasin offre une remise de 15% sur l'article le plus cher.
omplter l'algorithme prcdent de faon ce quil calcule et affiche la rduction ainsi que le nouveau total
m

C
payer.
58
Exercice complmentaire
Pour manipuler les chanes de caractres
xercice 25 :
Ecrire un algorithme qui teste si un mot ou une phrase est un palindrome

E
arit dun nombre entier positif :
Afficher nombre pair
Afficher nombre impair











P
Structure de lalgorithme :
Si n a pour reste 0 dans la division par 2 alors

Sinon

FinSi

Ce qui donne avec Algobox :












Exercice 26 :

Algorithme donnant le rsultat en augmentant de 4 % un cer
alors
tain montant M en euros, pour rappel le rsultat est
4
1 1
100
M M
| |
+ =
|
\ .
, 04 .
Par exemple, on dpose sur un livret un montant M et il au
montant obtenu au bout de 10 ans.
On rpte pour cela 10 fois de suite laugmenta




gment chaque anne de 4 %. On veut connaitre le
tion de 4 %, et on obtient lalgorithme suivant :
Variables :
M, I des nombres.
e

Entr
: Demander M
Traitement :
Pour I allant de 1 10 faire
M prend la valeur M*1,04
Pour.
Sortie : Afficher M.
59
Avec Algobox , on a :









Exercice 27 :

Programmer les puissances de 2 successives, sans utiliser la fo

nction puissance.




60
xercice 28 : E
aleur absolue dun nombre

xercice 29 :

V




















E
quations du second degr dans lensemble des nombres rels, cest--dire sans les solutions complexes. E





61
xercice 30: E
e calcul dune somme, par exemple le calcul de la somme des 100 premiers inverses des entiers naturels.
xercice 31:

L




















E
alcul itratif, le nombre de boucles tant donn. C













62
xercice 32 : E
a suite de Fibonacci, sans le dire, uniquement pour faire une boucle avec un arrt conditionnel .
duqu en
u
reux
es
sultats
.
is
l que
cci est


L
Mathmaticien italien, n et mort Pise. Connu aussi sous le nom de Lonard de Pise, Leonardo Fibonacci fut
Afrique du Nord, o son pre, marchand de la ville de Pise (l'un des plus grands centres commerciaux d'Italie, l'poque, a
mme rang que Venise et Gnes), dirigeait une sorte de comptoir ; c'est ainsi qu'il eut l'occasion d'tudier les travaux
algbriques d'al-Khuwarizmi. Par la suite, Fibonacci voyagea dans tout le monde mditerranen, rencontrant de nomb
scientifiques et prenant connaissance des diffrents systmes de calcul en usage chez les marchands de l'poque. De toutes l
mthodes de calcul, il jugea celle des Arabes la plus avance. Aussi, de retour Pise, il publie en 1202 un ouvrage, Liber
abbaci, o, le comparant au systme romain, il expose le systme de numration indo-arabe. Il est le premier grand
mathmaticien l'adopter et le vulgariser auprs des scientifiques. Son ouvrage contient galement la plupart des r
connus des Arabes en algbre et en arithmtique (racines carres, racines cubiques, quations du premier et du second degr)
En 1220, il publie Practica geometriae, qui recense toutes les connaissances de l'poque en gomtrie et en trigonomtrie
(crits d'Euclide et des autres mathmaticiens grecs, transmis par des manuscrits arabes ou traduits par des Italiens) ; en
particulier, l'ouvrage contient la formule de Hron donnant l'aire du triangle en fonction des longueurs des trois cts. Ma
Fibonacci ne se contenta pas de faire connatre les travaux des Anciens et d'tre l'origine de la renaissance des tudes
mathmatiques en Occident, il poursuivit aussi ses propres travaux. Sa rputation scientifique tait telle que l'empereur
Frdric II s'arrta Pise pour le voir et lui poser des colles (cette sorte de comptition entre scientifiques devait se
dvelopper au XVIe et au XVIIe sicle). La rsolution de ces problmes (les plus clbres tant : trouver un nombre x te
x2 + 5 et x2 - 5 soient tous deux des carrs ; rsoudre l'quation du troisime degr x3 + 2 x2 + 10 x = 20) ainsi que la
rsolution d'autres problmes de mme nature sont contenues dans Liber quadratorum (1225). Notons enfin que Fibona
l'origine d'une suite rcurrente qui porte son nom, suite dont les deux premiers termes sont 0 et 1 et dont le terme d'ordre
n + 1 est gal la somme des deux termes d'ordre n et n - 1 pour tout n suprieur ou gal 2.

































63
xercice 33 : E
es variables sont des tiroirs dans lesquels on range des nombres. Il faut suivre a, b et c.
:

L











Exercice 34

uite gomtrique de raison 4/3, en premire : S
















64
xercice 35 : E
estion de la valeur interdite de la fonction


1
3
f
x
x

You might also like