Académique Documents
Professionnel Documents
Culture Documents
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.
SOMMAIRE.
I.
II.
III.
IV.
V.
VI.
VII.
VIII.
, ce qui donne
3) Taper la variable A en laissant bien NOMBRE comme TYPE DE VARIABLE, comme indique cidessus.
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 cidessous aprs avoir entre les nombres 10 et 3 :
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 B 0 , 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 :
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
soustractions ! Comment alors peut-on raliser une division ?
Solutions :
Voici la mthode directe employe pour faire la division avec un quotient entier de deux nombres entiers A et B.
On soustrait B de a tant que cest possible et on compte le nombre de soustractions faites, ce qui est assez simple :
Un exemple, on cherche le quotient entier de 11 par 3.
On calcule donc 11 3 8 , et on compte 1 ( une soustraction ).
Puis 8 3 5 et on compte 2
Puis 5 3 2 et on compte 3
Puis 2 3 1 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 :
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.
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
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
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
14
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
Ctrl C pour copier
Ctrl X
Ctrl V
pour couper
pour coller
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
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
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 note i note i 1 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 med1 floor 1 combien / 2 puis med 2 floor 1 combien / 2 0,5 , le milieu sera
med1 med 2 / 2
, ( med1 med 2 si on a un nombre impair) et la mdiane sera note med1 note med 2 / 2 .
22
Solution du tracer de la mdiane de la srie de notes :
23
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 ;
28
29
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.
30
ALGORITHME
PROGRAMME.
Traduction dans un langage informatique
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.
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.
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.
... ;
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
Les variables avec ALGOBOX
Les variables doivent tre dclares en dbut de programme laide de la touche :
Il faut donner un nom cette variable et choisir son type parmi les
trois types proposs:
Nombre
Chane
Liste
Instructions dentre :
Pour entrer une instruction il faut dabord crer une nouvelle ligne
On se place sur la ligne vide et on actionne la touche :
La boite de dialogue suivante apparat :
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 :
36
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)
floor(x)
cos(x)
sin(x)
tan(x)
exp(x)
log(x)
abs(x)
round(x)
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
Multiplier la somme b par a.
Afficher le produit c.
Ajouter 4 c qui donne d.
Sortie
Afficher le rsultat obtenu, d
b.
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
Sortie
39
Avec Algobox, on obtient le programme suivant :
On traduit lalgorithme dans ALGOBOX. Attention respecter les majuscules et les minuscules des diffrentes
instructions.
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
Sortie
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 .
AIDE
42
Si
condition Alors
Instructions
FinSi
(2) La forme la plus courante:
Si
condition Alors
Instructions 1
Sinon
Instructions 2
FinSi
On peut schmatiser ce fonctionnement de la faon suivante :
Ecrire un algorithme qui donne le plus grand et le plus petit de deux nombres A et B.
Corrections de lexercice 6 :
Variables:
A un nombre.
B un nombre.
max un nombre.
min un nombre.
Entre
Demander A
Demander B
43
Traitement
Si A B alors
Donner max la valeur A
Donner min la valeur B.
Sinon
Donner max la valeur B
Donner min la valeur A
FinSi
Sortie
Ce qui donne :
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
Traitement
Si A B alors
Donner max la valeur A
Si C>max alors
- Donner max la valeur C.
FinSi
Sinon
Donner max la valeur B
Si C>max alors
- Donner max la valeur C
FinSi
FinSi
Sortie
Ce qui donne :
Une autre mthode consiste a supposer que le maximum est A au dpart et ensuite comparer le max
successivement B puis C.
Traitement :
Donner max la valeur de A.
Si B>max alors
Donner max la valeur de B
Sinon
Si C>max alors
Donner max la valeur de C
FinSi
FinSi
45
Cet algorithme peut se gnraliser la recherche du maximum dune liste de valeurs.
Avec Algobox, on ne coche pas linstruction sinon.
Exercice 7 :
x A , y A , xB , yB , xC , yC des nombres.
AB, AC, BC des nombres.
Demander x A , y A
Demander xB , yB
Demander xC , yC
Entre
Traitement
x A yC
xB yC
y .
y .
2
46
Remarque :
On a fait les trois tests. Donc chaque excution les trois tests seront excuts. On peut amliorer ce programme en
utilisant des si-imbriques.
Si AB 2 AC 2 BC 2 alors
afficher rectangle en A
Sinon
Si AB 2 BC 2 AC 2 alors
afficher rectangle en B
Sinon
Si BC 2 AC 2 AB 2 alors
Afficher rectangle en C
FinSi
FinSi
FinSi
Exercice 8 : Forfait SMS.
On compare trois forfaits mensuels pour des SMS.
FORFAIT A :
fixe de 20 quelque soit le nombre de SMS envoys.
FORFAIT B :
0,15 par SMS envoys.
FORFAIT C :
fixe de 12 et 0,05 par SMS envoys.
Elaborer une dmarche permettant dafficher le forfait le plus avantageux et le montant mensuel rgler, en euros,
en fonction du nombre de SMS envoys dans le mois.
Corrections de lexercice 8 :
Instructions
Fin Re peter Valeur suivante de I
47
Avec Algobox , on a :
Exercice 9 :
Ecrire un algorithme qui permet dafficher les carrs des entiers compris entre 1 et N
Prolongement : Modifier lalgorithme pour quil calcule la somme des carrs.
Corrections de lexercice 9 :
Variables:
N est un nombre.
Carre est un nombre.
S est un nombre
I est un nombre.
Demander N.
Donner S la valeur 0.
Rpter pour I allant de 1 N.
Donner carre la valeur de I 2 .
Afficher carr.
Donner S la valeur de S + carre.
Fin Rpter.
Entre
Traitement
Sortie
48
Exercice 10 :
Ecrire un algorithme qui permet de calculer la somme des N premiers entiers naturels.
Sans utiliser les formules sur les suites
Corrections de lexercice 10 :
Variables:
N est un nombre.
S est un nombre
I est un nombre.
Demander N.
Donner S la valeur 0.
Rpter pour I allant de 1 N.
Donner S la valeur de S+I.
Fin Rpter.
Entre
Traitement
Sortie
49
Exercice 11 :
Ecrire un algorithme qui permet de calculer la somme (ou la moyenne) de N nombres donns par
lutilisateur.
Cela peut tre loccasion dutiliser des listes si on veut garder les nombres en mmoire.
Prolongement possible : Moyenne pondre avec cration de deux listes ou dun tableau deux dimensions.
Corrections de lexercice 11 :
Variables:
N est un nombre.
S est un nombre
NB est un nombre.
I est un nombre.
Demander N.
Donner S la valeur 0.
Rpter pour I allant de 1 N.
Demander NB.
Donner S la valeur de S + NB
Fin Rpter.
Entre
Traitement
Sortie
50
instructions.
FIN TANT QUE
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.
La condition doit tre modifie dans la boucle et doit pouvoir prendre un moment donn la valeur
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
Il peut tre intressant de faire vrifier des algorithmes avec boucles et comprenant des erreurs.
Sur Algobox, il faut activer la touche :
Exercice 13 :
Ecrire un algorithme utilisant la boucle TANT QUE3 qui simule une boucle dont on connait le nombre de
rptitions.
Cet exercice montre quon peut se contenter de la boucle conditionnelle dans les algorithmes.
Exercice 14 :
Ecrire un algorithme qui redemande un nombre tant que le nombre donn nest pas compris dans un intervalle fix.
Application :
Cet algorithme peut tre utilise pour faire tourner un algorithme tant que lon rpond OUI la question
Voulez vous recommencer ? .
Exercice 15 : Donn en terminale L.
Entre :
Initialisation :
Traitement :
Sortie :
Un entier naturel N
Donner A la valeur de N
Donner K la valeur de N.
Tant que K>2, ritrer la procdure
suivante
Donner K la valeur K 1
Donner A la valeur A K
Donner A la valeur A 1
Fin Tant que
Afficher A
1. Pour tout entier naturel N, on note AN le nombre affich en sortie de cet algorithme.
a) Calculer A1 , A2 , A2 et A4 .
b) Vrifier que A5 119.
52
c) Calculer A10 .
2. Pour chacune des propositions suivantes, dire si elle est vraie ou fausse en justifiant la rponse donne :
a) A11 est un nombre premier pour certaines valeurs de N .
b) A11 est un nombre premier pour nimporte quelle valeur de N .
c) Quel que soit lentier naturel non nul N, si N est premier, alors A11 est premier.
d) Il existe A11 premier tel que N nest pas premier .
3. Etudier la parit des nombres AN
Exercice 16 : Autre exercice donn en TL.
On considre lalgorithme suivant:
Entre :
un entier naturel N
Initialisation :
Donner U la valeur de N
Traitement :
Sortie :
Afficher C.
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.
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 :
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.
56
57
Prolongements:
Tableau de valeurs et reprsentation graphique dune fonction.
a) Le pas est choisi par lutilisateur
b)Ecrire un algorithme permettant dencadrer, avec une prcision donne, la valeur qui annule une fonction
continue et strictement monotone sur un segment [a;b]: mthode du balayage.
Exercice 22 :
On jette un d autant de fois quil faut pour obtenir un 6
Ecrire un algorithme qui compte le nombre de lancers ncessaires pour obtenir un 6 pour la premire fois.
Prolongement:
Adapter lalgorithme prcdent afin de calculer le nombre moyen de lancers pour obtenir un premier 6
Autre exercice du mme type :
Etude du lancer de deux ds et de la somme obtenue
On veut tudier le nombre de lancers ncessaires pour obtenir une somme donne
Exercice 23 :
Marche alatoire sur une droite
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 gauche, de manire alatoire.
Pour choisir le sens (gauche, droite) de chaque saut, on lance une pice de monnaie quilibre : si l'on obtient PILE
(cod P) la puce se dplace gauche, si l'on obtient FACE (cod F) la puce part droite.
Ecrire un algorithme qui permette de simuler N promenades de 4 sauts et de dnombrer le nombre de promenades
qui se terminent la distance 0, 2 ou 4 de lorigine.
Exercice 24 :
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.
Complter l'algorithme prcdent pour quil donne en plus le nombre d'articles achets et le prix moyen dun
article.
TROISIEME PARTIE
Le magasin fte son anniversaire: offre promotionnelle! Pendant la dure de la journe anniversaire, le
magasin offre une remise de 15% sur l'article le plus cher.
Complter l'algorithme prcdent de faon ce quil calcule et affiche la rduction ainsi que le nouveau total
payer.
58
Exercice complmentaire
Pour manipuler les chanes de caractres
Ecrire un algorithme qui teste si un mot ou une phrase est un palindrome
Exercice 25 :
Exercice 26 :
Algorithme donnant le rsultat en augmentant de 4 % un certain montant M en euros, pour rappel le rsultat est
4
alors M 1
M 1, 04 .
100
Par exemple, on dpose sur un livret un montant M et il augment chaque anne de 4 %. On veut connaitre le
montant obtenu au bout de 10 ans.
On rpte pour cela 10 fois de suite laugmentation de 4 %, et on obtient lalgorithme suivant :
Variables :
M, I des nombres.
Entre
: Demander M
Traitement :
Sortie :
59
Avec Algobox , on a :
Exercice 27 :
60
Exercice 28 :
Valeur absolue dun nombre
Exercice 29 :
Equations du second degr dans lensemble des nombres rels, cest--dire sans les solutions complexes.
61
Exercice 30:
Le calcul dune somme, par exemple le calcul de la somme des 100 premiers inverses des entiers naturels.
Exercice 31:
62
Exercice 32 :
La suite de Fibonacci, sans le dire, uniquement pour faire une boucle avec un arrt conditionnel .
Mathmaticien italien, n et mort Pise. Connu aussi sous le nom de Lonard de Pise, Leonardo Fibonacci fut duqu en
Afrique du Nord, o son pre, marchand de la ville de Pise (l'un des plus grands centres commerciaux d'Italie, l'poque, au
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 nombreux
scientifiques et prenant connaissance des diffrents systmes de calcul en usage chez les marchands de l'poque. De toutes les
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 rsultats
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. Mais
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 tel que
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 Fibonacci est
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
Exercice 33 :
Les variables sont des tiroirs dans lesquels on range des nombres. Il faut suivre a, b et c.
Exercice 34:
64
Exercice 35 :
f
Gestion de la valeur interdite de la fonction x
1
x3