algorithmique : dequoi s’agit-il · retenir le résultat du dernier calcul ... exercice 4...
TRANSCRIPT
Algorithmique : de quoi s’agit-il ?
Entrée Traitement par une suite d’instructions Sortie
Pasteuriser le lait
Maintenir à une température de 40°
Incorporer les ferments lactiques
Mettre en pot
Ceci pourrait schématiser l’activité d’une entreprise de produits laitiers : chaque jour, entre dans l’entreprise une certaine quantité de lait, celui-ci subit un traitement et de cette
entreprise sort une certaine quantité de yaourts.
Dans notre vie de tous les jours, certaines de nos actions suivent le même modèle Entrée – Traitement – Sortie, ou
tout au moins peuvent être « découpées » en un certain nombre d’instructions à appliquer dans un ordre précis.
En voici un exemple :
Préparation d’un flacon d’antibiotique à partir de « poudre pour suspension buvable » (lue sur la notice)
Ouvrir le flacon en exerçant une forte pression sur le bouchon
Retirer le film protecteur
Remplir le gobelet-doseur avec de l’eau jusqu’au trait
Verser la totalité du contenu du gobelet-doseur dans le flacon
Agiter vigoureusement
Exercice 1 Trouver deux « actions » de notre vie courante qui peuvent être découpées de la même façon en un certain nombre d’instructions
La démarche, qui consiste à appliquer un certain nombre d’instructions dans un ordre précis, est dite algorithmique. Elle est, depuis l’origine de l’histoire des sciences, une composante essentielle de l’activité mathématique.
Qu’est-ce qu’un algorithme ?
C’est une suite d’instructions à réaliser dans un ordre précis et dont le but est d’apporter une réponse à une question, de résoudre un problème (Quelle est la moyenne de ces trois nombres ? Quel est le plus grand diviseur commun de ces
deux nombres ? ...)
En général, un algorithme est composé de trois étapes : Exemple :
On entre des données C’est la phase d’ENTREE On entre 3 nombres
Ces données sont traitées par une suite d’instructions C’est la phase de TRAITEMENT
on calcule la somme des 3 nombres on divise cette somme par 3
Un résultat est annoncé C’est la phase de SORTIE
le résultat de la dernière opération est annoncé : c’est la moyenne des 3 nombres
Lorsque la suite d’instructions est longue ou compliquée à appliquer et lorsque l’on doit l’utiliser souvent, il arrive fréquemment que l’on fasse appel à des machines (ordinateur, automates, ... ) qui les font à notre place.
Il faut savoir aussi que les algorithmes ont beaucoup d’applications : dans le développement des logiciels informatiques, dans la gestion du trafic aérien, les téléphones portables ...
Exercice 2
a) Appliquer le traitement ci-dessous au segment dessiné.
Traitement
Tracer un cercle dont le centre est une extrémité du segment et qui passe par l’autre extrémité du segment
Même chose qu’au en prenant pour centre l’autre extrémité
Tracer la droite qui passe par les points d’intersection des deux cercles
b) Pour le segment [AB], que représente la droite qui a été tracée ? .........................................................
Est-ce toujours le cas, quel que soit le segment donné au départ ? ......................
c) Dans cet exemple, qu’a-t-on en entrée ? ......................
Dans cet exemple, qu’a-t-on en sortie ? ......................
A
B
Algorithmique (2) : Des suites d’instructions et des robots
Exercice 1
On imagine qu’on dispose de deux robots. Chacun d’entre eux est conçu pour pouvoir appliquer des instructions du type :
demander à l’utilisateur du robot de donner un nombre mémoriser un nombre (mémoire longue)
faire des calculs (ajouter, multiplier, calculer le carré d'un nombre)
retenir le résultat du dernier calcul (mémoire courte)
annoncer un résultat
On donne au robot 1 la suite d’instructions suivante On donne au robot 2 la suite d’instructions suivante
Demander à l’utilisateur de donner un nombre
Mémoriser le nombre donné
Ajouter - 2 au nombre mémorisé
Calculer le carré du résultat précédent
Ajouter 1 au résultat précédent
Annoncer le dernier résultat à l’utilisateur
Demander à l’utilisateur de donner un nombre
Mémoriser le nombre donné
Ajouter - 4 au nombre mémorisé
Multiplier le résultat précédent par le nombre mémorisé
Ajouter 5 au résultat précédent
Annoncer le dernier résultat à l’utilisateur
a) On met le robot 1 en marche. On lui donne le nombre 5. Quel résultat le robot 1 va-t-il annoncer ? ...
b) On met le robot 2 en marche. On lui donne aussi le nombre 5. Quel résultat le robot 2 va-t-il annoncer ? ...
c) Donne aux deux robots le nombre de ton choix :
Nombre entré : ... Annonce du robot 1 : ... Annonce du robot 2 : ...
d) Prouve que les deux robots annoncent toujours le même résultat quand on leur donne le même nombre.
..................................................................................................................................................................................................... ..................................................................................................................................................................................................... ......................................................................................................................................................................................................
Exercice 2 On considère la fonction définie par : f ( x ) = 5 ( x² + x )
a) Calculer l’image de -1 et celle de 4 par f : .......................................................................................................................
b) On dispose d’un robot, identique à ceux de l’exercice 1.
Complète la suite d’instructions ci-dessous pour que le robot calcule l’image de ce nombre par la fonction f
et annonce le résultat à l’utilisateur
Demander à l’utilisateur de donner un nombre
Mémoriser le nombre donné
...........................................................................................
...
Exercice 3 Même exercice avec f ( x ) = 3
x – 2 sachant que le robot peut aussi calculer l'inverse d'un nombre.
Demander à l’utilisateur de donner un nombre ..........................................................................................
Mémoriser le nombre donné ..........................................................................................
.......................................................................................... ..........................................................................................
Donne-moi un nombre !
Algorithmique ( 3 ) : Des suites d’instructions et des boîtes-mémoires
Evidemment nous n’emploierons pas de robot comme dans la fiche précédente mais plus tard, nous serons amenés à donner des suites d'instructions à un ordinateur ou à la calculatrice ... On redonne ci-dessous la suite d’instructions du robot 2 :
Pour « mémoriser » le nombre entré par l’utilisateur, on peut imaginer qu’il est stocké dans une «boîte-mémoire».
De même pour les résultats des calculs des instructions , et .
Ainsi, pour cet algorithme, on peut considérer que quatre boîtes vont être utilisées :
la boîte a : pour le nombre entré par l’utilisateur
les boîtes b, c et d : pour chacun des résultats des calculs des instructions , et .
a) Dans cette question, on suppose que l’utilisateur entre la valeur 8.
Ainsi la boîte-mémoire a contient maintenant la valeur 8. Compléter les autres boîtes-mémoires par leur contenu:
a
8
b
....
c
....
d
....
b) Recommencer la question précédente en supposant que le nombre entré est 2 :
a
....
b
....
c
....
d
....
c) Compléter les pointillés en utilisant à chaque fois le nom de la boîte précédente (et une autre si nécessaire)
a b
a - 4
c
.......
d
.......
d) L’utilisation de ces boîtes va permettre de réécrire les instructions sous une autre forme, plus proche des instructions spécifiques aux outils (ordinateur ou calculatrice) que nous utiliserons. Ainsi l’instruction : « Ajouter - 4 au nombre mémorisé » devient : « mettre a – 4 dans b ». Ce qu'il faut comprendre de la façon suivante : on soustrait 4 à la valeur qui est dans a et on met le résultat de cette soustraction dans b. On peut formuler autrement et dire par exemple : « b prend la valeur a – 4 » ou « remplacer b par a – 4 ». Compléter les .... ci-dessous pour dire ce que deviennent les instructions et avec cette façon d’écrire. Multiplier le résultat précédent par le nombre mémorisé devient : « mettre ..................... dans .... » Ajouter 5 au résultat précédent devient : « ...................................................»
Demander à l’utilisateur de donner un nombre
Mémoriser le nombre donné
Ajouter - 4 au nombre mémorisé
Multiplier le résultat précédent par le nombre mémorisé
Ajouter 5 au résultat précédent
Annoncer le dernier résultat à l’utilisateur
e) Les instructions et peuvent être résumées en une seule comme le montre le tableau ci-dessous.
Compléter les ... des instructions , et (pour , on attend un verbe en rapport avec celui de l’instruction .)
Instructions écrites en langage courant
Ecriture proche de celles des ordinateurs et calculatrices
Commentaires
Cette écriture n’est pas «figée», elle peut varier selon les manuels utilisés. C’est une écriture intermédiaire entre le langage courant et les différents langages de programmation sur ordinateur ou calculatrice.
Demander à l’utilisateur de
donner un nombre
Entrer a
L’instruction Entrer a signifie trois choses : 1) elle permet de demander à l’utilisateur d’entrer une valeur 2) elle définit le nom de la boîte dans laquelle va être rangée la réponse de l’utilisateur 3) elle stocke la valeur entrée par l’utilisateur dans la boîte a. Dans certains manuels, on utilise plutôt l’instruction « Saisir a » On rencontrera aussi l’expression «Lire a», qui aura le même sens.
Mémoriser le nombre donné
Ajouter - 4 au nombre
mémorisé Mettre a – 4 dans b
Chacun de ces calculs s’effectue en utilisant un nombre déjà rangé dans une boîte. Chaque résultat est rangé dans une autre boîte.
« Mettre a – 4 dans b » signifie deux choses : on soustrait 4 à la valeur qui est dans a on place le résultat dans b
Multiplier le résultat
précédent par le nombre
mémorisé Mettre ............. dans c
Ajouter 5 au résultat
précédent Mettre ............ dans d
Annoncer le dernier résultat
A l’utilisateur ............. d
La valeur contenue dans la boîte d est annoncée. (attention, ce n’est pas la lettre d qui est annoncée) On rencontrera aussi l’expression « Afficher d » qui aura le même sens.
Application On redonne ci-dessous la liste d’instructions du robot 1 de la fiche précédente.
Ecrire les instructions comme on vient de le faire dans le tableau de la question e).
En fait on aurait pu n'utiliser que deux boîtes-mémoires : une pour la valeur entrée par l'utilisateur et l'autre pour la réponse à annoncer. Ecrire ci-dessous l'instruction 2 pour que l'algorithme sorte la réponse que donne le robot 1.
Demander à l’utilisateur de donner un nombre
Mémoriser le nombre donné
Ajouter - 2 au nombre mémorisé
Calculer le carré du résultat précédent
Ajouter 1 au résultat précédent
Annoncer le dernier résultat à l’utilisateur
Entrer a
Sortir b
Algorithmique (4) : Des suites d’instructions et des variables
Dorénavant, nous ne dirons plus « boîte-mémoire a » mais nous parlerons de la « variable a ».
Exercice 1
a) On propose ci-dessous un algorithme. Compléter les … .
Algorithme Contenu des variables ligne par ligne
entrer x x = 3
mettre x – 4 dans a x = … a = …
mettre 2 a dans b x = … a = … b = …
mettre b + 3 dans c x = … a = … b = … c = ...
sortir c Quelle valeur est annoncée ? … b) Que sort cet algorithme si on entre - 8 ? ………
c) Compléter cette autre écriture du même algorithme : choisir un nombre soustraire 4 au nombre choisi …………………………………………………… …………………………………………………… ……………………………………………………
Exercice 2
On considère l’algorithme ci-contre :
Que sort cet algorithme si on entre 5 ? …… Et si on entre - 3 ? ……
Exercice 3
On considère les quatre algorithmes ci-dessous.
Algorithme 1 Algorithme 2 Algorithme 3 Algorithme 4
Entrer n Mettre 2 n dans a Mettre a + 3 dans b Sortir b
Entrer n Mettre 2 n dans a Mettre a + 3 dans a Sortir a
Entrer n Mettre 2 n + 3 dans a Sortir a
Entrer n Mettre 2 n + 3 dans n Sortir n
a) Ecrire sous chaque algorithme la liste de toutes les variables utilisées.
b) Pour chaque algorithme, donner ci-dessous la valeur sortie si on entre 5 .
Algorithme 1 Algorithme 2 Algorithme 3 Algorithme 4
Que remarque-t-on ? ………………………………….
La remarque précédente reste-t-elle vraie quelle que soit la valeur entrée ? ………………………………….
Justifier. …………………………………………………………………………………………………………………………………………………………………………….
entrer a
mettre 3 a – 1 dans a
Sortir a
Algorithmique (5) : Trouver le but d’un algorithme, écrire ou modifier un algorithme
Exercice 1
On considère l'algorithme ci-dessous
Dans la première ligne, on a écrit la liste de toutes les variables utilisées par la suite.
Variables a , b , c , x a) Si on entre les valeurs 5 , 8 et 11 , quelle valeur sort cet algorithme ? .........
Début b) Que représente la valeur sortie par rapport aux trois valeurs entrées ?
entrer a ................................................................................................................................................
entrer b Le but de cet algorithme est donc ………………………………………………………………….. entrer c
x prend la valeur a + b + c
3
sortir x
Fin
Exercice 2
Un professeur a donné trois devoirs à ses élèves au 1er trimestre. Comme le dernier devoir a duré 2 heures, il lui
affecte le coefficient 2 , tandis que les deux autres ont pour coefficient 1.
a) Etienne a eu 12 et 10 aux deux premiers devoirs et 15 au dernier. Quelle est sa moyenne ? …………….
b) Proposer ci-dessous un algorithme qui :
demande à l’utilisateur d’entrer successivement 3 nombres, correspondant aux trois notes d’un élève
(on considérera que la dernière entrée est celle du dernier devoir).
affiche la moyenne trimestrielle de cet élève.
Variables Début Fin
Variables A , B Début Entrer A Entrer B Mettre B dans A Mettre A dans B Afficher " A vaut : " Sortir A Afficher " B vaut : " Sortir B
Fin
Variables Début Entrer A Entrer B Afficher " A vaut : " Sortir A Afficher " B vaut : " Sortir B Fin
Exercice 3
1° Lire et comprendre l’algorithme ci-contre :
2° La phrase suivante est-elle vraie ?
« Cet algorithme permet d’échanger les valeurs de A et de B »
3° Compléter le tableau ci-dessous par les valeurs des variables A et B.
A B
Valeurs entrées par l’utilisateur 7 3
Valeurs après l’instruction
Valeurs après l’instruction
4° Compléter l’algorithme ci-dessous de sorte qu’il échange les valeurs de A et de B en utilisant uniquement le vocabulaire utilisé dans l'algorithme précédent.
Exercice 4
Quelques amis projettent d’organiser un séjour d'une semaine à la montagne. La location de l'appartement coûte
600 euros et le forfait hebdomadaire pour les remontées mécaniques est de 200 euros par skieur. L’appartement
permet d’héberger jusqu’à 10 personnes. Ils ne savent pas encore combien de personnes participeront à ce séjour.
a) Quel sera le coût total (location + forfait) pour chacun des participants s'ils partent à 5 ? ………………
S’ils partent à 8 ? …………………….
b) Proposer un algorithme qui :
demande d’entrer le nombre de participants
sort le coût par personne.
Algorithmique (6) : Utiliser un logiciel de programmation Exercice 1 On a déjà rencontré l’algorithme ci-dessous écrit sous deux formes. On introduit une nouvelle écriture qui correspond à celle du logiciel que l’on va utiliser :
Instructions écrites en langage courant Ecriture proche de celles des ordinateurs et calculatrices Ecriture sous le logiciel algobox
Demander à l’utilisateur de
donner un nombre. Entrer a
Ajouter - 4 au nombre donné mettre a – 4 dans b
Multiplier le résultat précédent par
le nombre donné mettre b ×a dans c
Ajouter 5 au résultat précédent mettre c + 5 dans d
Annoncer le dernier résultat à
l’utilisateur Sortir d
a) Comparer les écritures des 2ème et 3ème colonnes : ............................................................................................................. ......................................................................................................................................................................................................
b) Ouvrir le logiciel algobox et écrire cet algorithme. c) Lancer l’algorithme et entrer une valeur. Vérifier la cohérence du résultat : ..................................................................................................
Exercice 2 On a écrit ci-dessous un algorithme sous algobox. Le traduire en langage courant. Exercice 3 Reprendre l’exercice 4 de la fiche 5 .
Ecrire l’algorithme sous algobox puis lancer le programme pour compléter le tableau ci-dessous :
Nombre de participants 1 2 3 4 5 6 7 8 9 10 Coût par participant
Algorithmique ( 7 ) : L’instruction « Si … alors … »
Exercice 1 On considère l’algorithme ci-dessous :
Variables x , y Début Entrer x Si x > 5 alors mettre 2 x + 5 dans y Si x = 5 alors mettre 12 dans y Si x < 5 alors mettre 8 – 3 x dans y Sortir y Fin
Compléter :
Valeur entrée 3,2 10 5 7 2
Valeur annoncée
Exercice 2
Les amis qui souhaitent organiser un séjour aux sports d’hiver ont appris que pour des groupes de plus de 6 personnes
le forfait hebdomadaire pour les remontées mécaniques s’élève à 180 € au lieu de 200 €.
On rappelle que le coût de location de l’appartement se monte à 600 €.
Proposer un algorithme qui demande d’entrer le nombre de participants au séjour et qui annonce le prix total par
participant.
Exercice 3 On considère l'algorithme ci-dessous.
Variables p , x Début entrer x si x est inférieur ou égal à 250 alors mettre 98 dans p sinon mettre 98 + (x – 250) × 0,34 dans p sortir p Fin
1° Quelle valeur sort cet algorithme si on entre 123 ? ............
2° Quelle valeur sort cet algorithme si on entre 280 ? ........ Si on entre 250 ? ....... Si on entre 330 ? ........
3° L'agence de location de voitures Autoloc possède un logiciel permettant de calculer le coût p (en €) de location d'un
véhicule pour x kilomètres parcourus. Le logiciel utilise pour cela l'algorithme décrit ci-dessus.
En déduire les informations manquantes dans l'encadré ci-dessous :
Autoloc Tarif de location : ... €
Ce tarif permet de parcourir ... kilomètres. Il faut compter ... € par kilomètre
supplémentaire.
Exercice 4 Une entreprise de transport possède 4 cars de 50 places chacun et se propose d’assurer le transport
des supporters d’une équipe de rugby. Chaque car se loue 800 € tout compris.
1° Quel est le nombre maximal de supporters que cette entreprise peut transporter ? ..................
2° On suppose que 50 supporters se rendent au stade. Quel est le coût pour chacun d'entre eux ? ..................
3° Même question avec 160 supporters : ......... . Puis avec 120 supporters : .........
4° Expliquer comment déterminer le coût par personne quand on connaît le nombre N de supporters.
........................................................................................................................................................................................................................
........................................................................................................................................................................................................................
........................................................................................................................................................................................................................
........................................................................................................................................................................................................................
........................................................................................................................................................................................................................
5° Proposer ci-dessous un algorithme qui affiche le coût par personne une fois qu'on a entré le nombre de supporters
à transporter.
Variables p1 , p2 et r
Début Afficher « Donnez le prix initial »
Entrer p1
r prend la valeur p1 × 0,3
p2 prend la valeur p1 – r
Afficher « Le prix après réduction est : »
Afficher p2
Fin
Variables p1 , p2
Début Afficher « Donnez le prix initial »
Afficher « Le prix après réduction est : »
Fin
Variables p
Début Afficher « Donnez le prix initial »
Afficher « Le prix après réduction est : »
Fin
Algorithmes ( 8 ) : Choisir les variables
Exercice 1
Un professeur demande à ses élèves d’écrire un algorithme qui : demande d’entrer un nombre, qui, pour l’utilisateur, représente un prix en euros.
calcule et affiche le nouveau prix après avoir appliqué une réduction de 30 %
a) Etienne, un élève, a écrit l’algorithme ci-contre :
Dire ce que représentent p1 , p2 et r dans le contexte de l’exercice : ..............................................................................................................
..............................................................................................................
..............................................................................................................
Si on entre la valeur 120, quel nombre affiche l’algorithme
d’Etienne ? .............
Son algorithme semble-t-il correct ? ...........
b) La voisine d’Etienne, Marie, fait la remarque suivante :
« Pourquoi prendre trois variables pour écrire
l’algorithme ? Je n’en ai utilisé que deux. »
Compléter l’algorithme de Marie :
c) Quant à Tom, un autre élève, il a réussi à écrire un
algorithme qui fonctionne en utilisant une seule
variable. Compléter l’algorithme de Tom :
Exercice 2 Lors d'un concours, 40 candidats ont passé une épreuve de mathématiques.
Les copies ont été réparties dans deux paquets : le paquet A a été corrigé par M. X et le paquet B par M. Y.
La moyenne des notes attribuées par M. X est 8 et celle des notes attribuées par M. Y est 11.
Par souci d'équité, le jury a décidé de modifier les notes du paquet A de la façon suivante :
on augmente toutes les notes de 25 % et on ajoute 1 point au résultat obtenu.
Proposer un algorithme qui :
utilise le moins de variables possible
demande d'entrer une note du paquet A
affiche la nouvelle note obtenue après modification
Variables p est un nombre
Début Afficher « Quel est le nombre d’abonnés en 2010 ? »
Lire p
p prend la valeur p × 0,75 + 2500
p prend la valeur p × 0,75 + 2500
p prend la valeur p × 0,75 + 2500
p prend la valeur p × 0,75 + 2500
Afficher p Fin
Variables p est un nombre
Début Afficher « Quel est le nombre d’abonnés en 2010 ? »
Lire p
Répéter 10 fois :
p prend la valeur p × 0,75 + 2500
Afficher p Fin
Variables Début Afficher « Quel est le nombre d’abonnés en 2010 ? »
Lire p
Algorithmique ( 9 ) : Boucle Pour (initiation)
Situation 1
Une observation faite sur la fréquentation d’un stade de football a permis de constater que :
chaque année, trois quarts des abonnés de l’année précédente se réabonnent.
chaque année, il y a 2 500 nouveaux abonnés.
On suppose que la situation décrite par l’observation reste la même au fil des ans et permet d’obtenir une estimation satisfaisante du nombre d’abonnés dans les années suivantes.
1° On suppose qu’en 2010, il y avait 8000 abonnés. Combien d’abonnés devrait compter ce stade en 2011 ?
.......................................................................................................................................................................................
Combien d’abonnés devrait compter ce stade en 2012 ?.............................................................................................
2° On considère l’algorithme ci-contre.
a) Qu’affiche l’algorithme si l’utilisateur entre la valeur 8000 ?
.........................................................................................
b) Si on arrondit à l’unité la valeur affichée, que
représente-t-elle dans le contexte de l’exercice ?
..........................................................................................
..........................................................................................
3° Que faut-il ajouter à cet algorithme pour qu’il affiche une
estimation du nombre d’abonnés en 2020 ?
.......................................................................................................................................................................................
Ecrire 10 fois la même instruction revient à dire de la
répéter 10 fois (voir algorithme ci-contre)
4° Compléter l’algorithme ci-contre de sorte qu’il :
demande à l’utilisateur d’entrer un nombre entier n
affiche le nombre d’abonnés que compte ce stade au
bout de n années (après 2010).
Variables p et n sont des nombres
Début Afficher « Quel est le nombre d’abonnés en 2000 ? »
Lire p
Pour n allant de 1 à 5 : p prend la valeur p × 0,7 + 100 × n
Afficher p Fin
Variables Début Afficher « Quel est le nombre d’abonnés en 2000 ? »
Lire p
Il faut comprendre que la variable n change de
valeur : n prend successivement toutes les valeurs
entières de 1 à 5 .
Et à chaque fois que n change de valeur, on
recommence à appliquer l’instruction
« p prend la valeur p × 0,7 + 100 × n ».
Variables p est un nombre
Début Afficher « Quel est le nombre d’abonnés en 2000 ? »
Lire p
p prend la valeur ....
p prend la valeur ....
Afficher p Fin
Situation 2
Le service « abonnement » d’une revue locale mensuelle, dont le premier numéro a paru en 2000, a fait les
observations suivantes :
d’une année à l’autre, seuls 7 abonnés sur 10 se réabonnent.
quant aux nouveaux abonnements, on note que : en 2001, ils étaient au nombre de 100 ; en 2002, ils s’élevaient
à 200, pour atteindre 300 en 2003. Et ainsi de suite les années suivantes : le nombre de nouveaux abonnés
augmente de 100 par an.
1° On considère l’algorithme ci-contre.
Le compléter pour qu'il affiche le nombre d’abonnés
en 2005.
2° Expliquer pourquoi on ne peut pas utiliser ici l’instruction « Répéter » .
..........................................................................................
..........................................................................................
3° Quel est le nombre de nouveaux abonnés n années après 2000 (c’est-à-dire en l’an 2000 + n ) ? ...............
Si on note p le nombre total d’abonnés de l’année précédente, exprimer en fonction de n et de p le nombre
total d’abonnés en l’an 2000 + n : .......................................................
Ainsi, il suffit de dire d’appliquer l’instruction «p prend la valeur p× 0,7+100 ×n » en changeant les valeurs de n .
Voici comment cela se traduit :
4° Compléter l’algorithme ci-contre de sorte qu’il :
demande à l’utilisateur d’entrer un nombre entier M
affiche le nombre d’abonnés au bout de M années
(après 2000).
Algorithme 1
Variables p est un nombre
Début p prend la valeur 10 × 10
afficher p
p prend la valeur 11 × 11
afficher p
p prend la valeur 12 × 12
afficher p
p prend la valeur 13 × 13
afficher p
p prend la valeur 14 × 14
afficher p
p prend la valeur 15 × 15
afficher p
p prend la valeur 16 × 16
afficher p
p prend la valeur 17 × 17
Afficher p p prend la valeur 18 × 18
afficher p
p prend la valeur 19 × 19
Afficher p p prend la valeur 20 × 20
Afficher p Fin
Algorithme 2 Variables Début
Fin
Variables S, i, n sont des nombres
Début S prend la valeur 0
Lire n Pour i allant de 1 à n, S prend la valeur S + i Afficher S
Fin
Algorithmique ( 9 ) : Boucle pour (applications)
Exercice 1
On considère l’algorithme 1 ci-contre.
a) Quel est le but de cet algorithme ?
.....................................................................................................................
b) Proposer ci-dessous un algorithme qui :
a le même but que l’algorithme 1
est beaucoup plus court que l’algorithme 1.
Exercice 2
On considère l’algorithme ci-contre.
On suppose que l’utilisateur entre la valeur 5
a) Combien de fois l’instruction « S prend la valeur S + i »
va-t-elle être appliquée ? ...
b) Compléter le tableau ci-dessous.
Valeurs des variables n i S
Après l’instruction
Puis après avoir appliqué une fois la ligne
...
…
c) Qu’affiche cet algorithme si la valeur entrée est 5? ........
d) Sans recommencer dire ce qu’afficherait cet algorithme si la valeur entrée était 7.
e) Quel est le but de cet algorithme ? .............................................................................................................................
Variables p et i sont des nombres
Début p prend la valeur 0 Pour i allant de 1 à 4 p prend la valeur 3 × p + 1
Afficher p
Fin
Exercice 3
On considère l'algorithme ci-contre.
Quelle valeur affiche-t-il ? .............................
Quelle instruction aurait-on pu écrire à la place de l'instruction " Pour i allant de 1 à 4 " ?
.......................................................................
Exercice 4
Jusqu’à présent, Tao ne recevait pas d’argent de poche. Comme au moins de janvier, il va fêter ses onze ans, ses
parents lui font la proposition suivante : « On ne sait pas encore ce que l’on va te donner pour le mois de janvier.
Mais à partir du mois de février, chaque mois, nous te donnerons la moitié de ce que nous te donnions le mois
précédent plus 10 € » .
1° Dans cette question, les parents de Tao lui donnent 8 euros en janvier.
a) Combien d’argent de poche recevra-t-il en février ? ........... En mars ? ................. En juin ? ................
b) On a décrit, ci-dessous, la démarche qui permet de calculer le montant de l'argent de poche de Tao en juin
à partir du montant de l'argent de poche de janvier.
On appelle M le montant de l'argent de poche de Tao ( M change de valeur tous les mois ).
Compléter les pointillés.
Au départ M vaut ... Puis la nouvelle valeur de M s'obtient en ....................................................................................
......................................................................................................................................................... On recommence à appliquer ...... fois La dernière valeur de M est le montant de l'argent de poche de Tao au mois de juin.
2° Dans cette question, on ne connaît pas le montant de l'argent de poche de janvier.
a) Proposer un algorithme qui demande d’entrer l’argent de poche du mois de janvier et qui affiche l’argent de
poche de Tao au mois de juin de la même année.
b) Ecrire cet algorithme sous algobox . Expliquer comment, à l'aide de la question 1°, on peut vérifier la
cohérence de l'algorithme : ..................................................................................................................
Effectuer cette vérification.
c) Proposer un deuxième algorithme qui demande d’entrer l’argent de poche du mois de janvier, qui affiche
l’argent de poche de Tao au mois de juin de la même année et qui affiche aussi la somme totale que Tao aura
reçu du mois de janvier au mois de juin.
Variables Début N prend la valeur ..... Tant que .................... , continuer à appliquer les instructions suivantes : Sortir ..... Fin
Algorithmes ( 10 ) : Initiation à « Tant que ... faire ... »
Activité
Charlotte veut s’acheter une mini-chaîne HiFi : le modèle qui lui plaît coûte 99 €. Seulement, elle n’a pas
d’économie car les 15 € d’argent de poche que lui donnent ses parents chaque semaine lui servent pour acheter des
livres ou des vêtements ... Alors elle décide de mettre de côté une partie de son argent de poche : 1 euro la première
semaine, 2 euros la deuxième semaine et ainsi de suite : chaque semaine elle économise un euro de plus que la
semaine précédente et ceci tant que la somme économisée est insuffisante ...
1° Compléter le tableau suivant (en rajoutant autant de colonnes que nécessaire)
N : Numéro de la semaine 1 2 3 4 S : Somme ajoutée à la tirelire M : Montant de la tirelire
Au bout de combien de semaines pourra-t-elle s’offrir la mini-chaîne ? ......................................................................
2° a) On a décrit, ci-dessous, la démarche qui a permis de remplir le tableau de la question 1°. Compléter les pointillés.
Pour écrire cet algorithme, on a besoin de trois variables : N, S et M Au départ, on attribue la valeur 1 aux trois variables Puis : la nouvelle valeur de N s’obtient en ajoutant … à l’ancienne valeur de N
la nouvelle valeur de S s’obtient en ajoutant … à l’ancienne valeur de S la nouvelle valeur de M s’obtient en ajoutant … à l’ancienne valeur de M
Et on recommence les instructions , et tant que ........................................ On obtient le nombre de semaines nécessaires pour économiser 99 € grâce à la dernière valeur de .......
b) A l’aide de la question a) compléter l’algorithme écrit ci-dessous pour qu’il sorte le nombre de semaines nécessaires pour économiser 99 €. (On admet que le nombre de semaines nécessaires est inférieur ou égal à 15 ...)
c) Ecrire cet algorithme sous algobox. Vérifier que la réponse donnée par algobox est cohérente avec celle
trouvée à la question 1° .
Exercice 1 Magalie, Robin et Lucie sont trois élèves qui s’entraînent à factoriser avec Mathenpoche.
Sachant que X désigne la note de l’élève à l’exercice qu’il vient de faire, compléter la dernière ligne du tableau suivant :
Magalie dit : Robin dit : Lucie dit :
Je continue à m’exercer sur le même type d’exercice jusqu’à ce que j’aie 10/10.
Je continue à m’exercer sur le même type d’exercice jusqu’à ce que ma note dépasse 7/10
Quand ma note à un exercice sera au moins 6/10, j’arrêterai.
Tant que X ... , Magalie continue à s’exercer.
Tant que X ... , Robin continue à s’exercer.
Tant que X ... , Lucie continue à s’exercer.
Exercice 2
On considère l’algorithme ci-contre :
1° Faire fonctionner « à la main » cet algorithme avec n = 25
Qu’affiche-t-il ? ......
2° Programmer l’algorithme sous algobox et vérifier la réponse précédente
Exercice 3
On considère l’algorithme ci-contre où N est un nombre entier.
1° On lance l’algorithme et on entre N = 5.
Compléter le tableau suivant en ajoutant des lignes si nécessaire :
Valeurs de : N I X
Au départ Puis
2° Sans faire fonctionner l’algorithme, deviner ce qu’il afficherait si la valeur entrée était 7 : ...........
3° L’algorithme n’affiche pas de réponse lorsque l’on supprime la ligne 12. Expliquer pourquoi.
..............................................................................................................................................................
Lire n u prend la valeur n Tant que u > 7, u prend la valeur u – 7 Afficher u
Exercice 4
On demande à des élèves d’écrire un algorithme qui respecte les conditions suivantes :
l’algorithme demande à l’utilisateur d’entrer des nombres (autant de nombres que l'utilisateur le souhaite)
l’algorithme continue de demander des nombres tant que l’utilisateur entre un nombre positif ou nul.
L’utilisateur doit donc entrer un nombre négatif pour que l’algorithme arrête de demander des nombres
l’algorithme calcule et affiche la somme des nombres entrés, sans compter le dernier.
1° On donne ci-dessous 4 algorithmes écrits par des élèves.
Parmi ces quatre algorithmes, trouver celui (ou ceux) qui respecte(nt) les conditions données.
Lorsqu’un algorithme ne convient pas, expliquer pourquoi.
Algorithme 1 Algorithme 2 Algorithme 3 Algorithme 4
S prend la valeur 0
Entrer X
Tant que X ≥ 0
S prend la valeur S + X
Fin du tant que
Afficher S
S prend la valeur 0
Entrer X
Tant que X ≥ 0
S prend la valeur S + X
Fin du tant que
Entrer X
Afficher S
S prend la valeur 0
Entrer X
Tant que X ≥ 0
S prend la valeur S + X
Entrer X
Fin du tant que
Afficher S
S prend la valeur 0
Entrer X
Tant que X ≥ 0
Entrer X
S prend la valeur S + X
Fin du tant que
Afficher S
2° Un élève remarque qu’écrire un algorithme qui calcule la somme de nombres n’est pas très utile...
Alors, on change une condition afin que le but soit plus intéressant : au lieu d’afficher la somme des nombres entrés,
l’algorithme doit afficher leur moyenne...
Modifier le bon algorithme pour qu’il affiche la moyenne des nombres entrés au lieu d’afficher leur somme.