Vous êtes sur la page 1sur 9

Stage ALGORITHMIQUE - Documents lves - page 1

Algorithme 2de - Fiche 1 : la dcouverte de " Scratch "

5) On a dcid d'amliorer le script prcdent en


utilisant le moins de variables possibles.
Ouvrir le logiciel Scratch sur le Bureau.

a) Que faut-il placer dans les deux


me
1) a) Construire le script et cliquer . espaces vides pour que le 2 reste
restitu soit 16 ?

5 5
b) Complter le script pour faire apparatre ?
b) Faire calculer 2 + 53 ; (2 + 5)3 ; ( 2 + 53 ) ; ; . successivement les quatre restes 20 ,
8 3 16 , 4 et 0 . ?
Remplir le tableau de valeurs donn en
2) a) Construire le script ci-dessous et dterminer ce qu'il permet de calculer. annexe.

c) Complter le script ci-contre en utilisant la


commande " rpter " pour faire apparatre
successivement les quatre restes 20 , 16 ,
b) Calculer et restituer le reste de la division de 128 par 36 , puis le quotient entier. 4 et 0 , puis le PGCD de 128 et 36 .
c) Calculer et restituer le reste de la division de 135 par 24 , puis le quotient entier. Remplir le tableau de valeurs donn en
Idem avec 12 524 et 584 . annexe.
?
3) a) Calculer et restituer le reste de la division de 128 par 36 . ?
Puis calculer et restituer le reste de la division de 36 par le reste trouv
prcdemment.
?
b) Avec un bon vieux stylo et une feuille, crire en ligne ces deux premires divisions d) Allger ce script pour ne restituer que le PGCD de 128 et 36 .
euclidiennes.
e) Ce nouveau script convient-il pour calculer et restituer le PGCD de 57 de 33 , et
c) En continuant diviser chaque quotient par son reste, que se passera-t-il ? celui de 219 de 183 ?
Pour calculer n'importe quel PGCD ?
d) Continuer les calculs et restitutions de restes jusqu' obtenir 0 .
e) Restituer alors le PGCD de 128 et 36 . 6) a) Dans le script prcdent,
remplacer la commande par la commande
4) a) Calculer et restituer le PGCD de 406 et 119 .
b) Calculer et restituer le PGCD de 57 et 33 . ? ?
c) Calculer et restituer le PGCD de 219 et 183 .
d) Que faire pour que le script restitue chacun des deux PGCD demands au b) et
au c) ?
Remplir le tableau de valeurs donn en annexe.

b) Ce nouveau script convient-il pour calculer et restituer le PGCD de 57 de 33 , et


celui de 219 de 183 ?
Pour calculer n'importe quel PGCD ?
Stage ALGORITHMIQUE - Documents lves - page 2

Annexe la Fiche 1 : Tableaux de valeurs remplir

Tableau de valeurs des variables pour la question 5) b) Tableau de valeurs des variables pour la question 5) c)

Valeur Valeur Valeur Valeur Valeur Valeur Valeur Valeur Valeur Valeur Valeur Valeur
de a de b de r de a de b de r de a de b de r de a de b de r
128
128 36

Rptition n1 Rptition n2 Rptition n3

Tableau de valeurs des variables pour la question 6) a)

a b r a b r a b r a b r

r=... 0 donc r=............. r=............. r=.............


Stage ALGORITHMIQUE - Documents lves - page 3

Algorithme 2de - Fiche 2 : Exercices avec " Scratch "

2) crire un script permettant de simuler 20 lancers successifs.


Exercice 1
Dfinir une variable contenant le nombre total de lancers gagnants.
Rgle du jeu :
Restituer ce nombre pendant 2 secondes, puis la frquence des lancers gagnants.
On lance deux ds.
On veut faire une somme de 12 . 3) Augmenter la simulation 500 lancers successifs.
1) a) crire un script permettant de simuler ce lancer en faisant afficher la somme. On continuera restituer le nombre total de lancers gagnants pendant 2 secondes,
puis la frquence des lancers gagnants.
Utiliser . . Mais on ne fera plus afficher les Gagn et les Perdu .
b) Peut-on prvoir le nombre de lancers qu'il faut pour obtenir une somme de 12 ?

2) On dcide de lancer jusqu' obtenir la somme 12 . Exercice 3


Dfinir une variable Placement intrts composs
destine compter le nombre de Un client d'une banque place une somme de 2 000 un taux d'intrt de 3,5 % par an.
lancers ncessaires.

1) Complter le script ci-contre pour connatre la


Complter le script ci-contre : ? somme capitalise au bout de 12 ans.

?
3) Adapter le script prcdent pour compter le nombre de lancers de 3 ds ncessaires
pour obtenir une somme de 18 .
2) Transformer le script pour connatre au bout de combien d'annes la somme capitalise
4) Adapter le script prcdent pour compter le nombre de lancers de 4 ds ncessaires dpassera 3 500 .
pour obtenir une somme de 24 .

Exercice 4
Exercice 2
Jeu des multiples
Rgle du jeu : 1) crire un script permettant de restituer pendant 1 seconde chaque entier de 1 30 .
On lance deux ds. 2) Transformer le script pour que chaque multiple de 3 soit remplac par un son ( choisir).
Si la somme des faces est paire, on gagne. me
Sinon, on perd. 3) Transformer le script pour que chaque multiple de 5 soit remplac par un 2 son, tout
en conservant le son pour les multiples de 3 .
1) crire un script permettant de simuler ce jeu en faisant afficher ou .
Attention l'entier 15 ...

Utiliser et .
Stage ALGORITHMIQUE - Documents lves - page 4

Algorithme 2de - Fiche 3 : la dcouverte de " Python "

2) a) Taper, observer et comprendre : b) Construis un script :


- demandant un utilisateur un nombre entier
Ouvrir le logiciel Python sur le Bureau. >>> print("Bonjour !")
de son choix,
>>> print(a) - rpondant avec le double et le carr de son
>>> print("La valeur de a est ",a) nombre.
1) a) Faire calculer par Python 2 + 53 ; (2 + 5)3 . c) Construis un script :
>>> nom=input("Comment t'appelles-tu ? ")
b) Taper les commandes suivantes, observer et - demandant un utilisateur deux nombres
comprendre ce qui se passe : puis rpondre avec un nom ou un prnom entiers de son choix,
>>> nom - rpondant avec la somme et le produit de
>>> 127//10
ses nombres.
>>> 127%10 >>> print("Tu t'appelles ",nom," !")
4) Phrase 1 :
Que sont ces deux valeurs pour 127 et 10 ? b) Dans le menu File\Open...
Jusqu' ce que tu aies 18 ans, tu seras mineur.
>>> 127/10 (ou [Ctrl+O] ) ,
Phrase 2 :
>>> 5/3
Tant que tu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ,
>>> int(5/3)
tu seras mineur.
double-cliquer sur le fichier " BONJOUR " .
c) Taper, observer et comprendre :
Une nouvelle fentre s'ouvre, contenant un texte (appel Complter la phrase 2 pour qu'elle signifie la mme
>>> 5**2 script ). chose que la phrase 1 .
>>> 2**5 Taper sur la touche F5 du clavier, et rpondre poliment
5) On a retrouv le script permettant de calculer le
>>> sqrt(121) la question pose.
PGCD de 128 et 36 obtenu avec Scratch (voir
>>> from math import* document en annexe).
3) L'objectif est de prparer un petit questionnaire du mme
>>> sqrt(121) genre l'attention d'un autre lve de la classe, que nous Le traduire en langage courant, puis, en langage
appellerons l'utilisateur . Python.
>>> pi
a) Ouvrir une nouvelle fentre File\New Window Le texte en langage courant est appel algorithme.
>>> cos(pi/3) (ou [Ctrl+N] ) . Remplir le tableau de valeurs donn en annexe.
d) Taper, observer et comprendre : Tu remarques l'absence des >>> .
>>> a=5 Le texte que tu y criras est inactif : 6) Construire un algorithme et un script pour Python :
- demandant un utilisateur deux nombres
>>> a+2 essaie de taper 2+3 . entiers de son choix,
>>> b=a+2 Efface et tape une srie de deux ou trois questions que - rpondant avec le PGCD de ses nombres.
Python posera l'utilisateur et construis des rpliques
>>> b+3
fonction des rponses.
>>> a=a*2 Inspire-toi du script vu dans le fichier " BONJOUR " .
>>> a Sauvegarde ( File\Save ou [Ctrl+S] ) sous le nom
>>> m,n=2,1.5 essai01.py , puis tape sur la touche F5 pour le
tester.
>>> m+n Prsente-le un utilisateur de ton choix.
Stage ALGORITHMIQUE - Documents lves - page 5

Annexe la Fiche 3 : Pour la question 5)

Langage "Scratch" Langage courant Langage "Python"


Tant que condition, faire
action
Tant que condition, faire while condition :
action action
action
action action
Fin du Tant que
Attention ! Rpter jusqu' r = 0 revient Tant que r 0 : les conditions sont contraires...
r 0 r==0

r 0 r!=0

Langage courant Langage Python


Stage ALGORITHMIQUE - Documents lves - page 6

Algorithme 2de - Fiche 4 :


Exercices avec " Python "

Exercice 1
crire un algorithme qui :
- demande lutilisateur une vitesse en km/h ,
- et lui convertit cette vitesse en m/s .

Exercice 2
Un distributeur d'argent dispose de billets de 100 et de 50, de pices de 10 et de 1.
crire l'algorithme qui le nombre maximum de chacun des objets correspondant une
somme d'argent demande par l'utilisateur.

Exercice 3
a) crire un algorithme qui :
- demande lutilisateur une fonction f affine non constante ,
- et lui donne la solution de l'quation f(x) = 0 .
b) crire un algorithme qui :
- demande lutilisateur une fonction f affine non constante et un nombre k ,
- et lui donne la solution de l'quation f(x) = k .

c) crire un algorithme qui :


- demande lutilisateur les valeurs de a , b , c et d , avec a b,
- et lui donne la solution de l'quation ax + b = cx + d .

Exercice 4
a) crire un algorithme qui :
- demande lutilisateur le numrateur et le dnominateur d'une fraction ,
- et lui donne la forme irrductible de cette fraction.

b) crire un algorithme qui :


- demande lutilisateur les valeurs de a , b , c et d ,
a c
- et lui donne la forme irrductible de + .
b d
Stage ALGORITHMIQUE - Documents lves - page 7

Algorithme 2de - Fiche 5 : Exercices sur l'instruction SI ... SINON ...

crire un algorithme qui :


Exercice 1 Exercice 4 - demande lutilisateur le nombre de voix obtenues
a) crire un algorithme qui : On dcide d'un code quatre chiffres. par chaque candidat,
er
- demande lutilisateur un nombre non nul, - et linforme qui est lu au 1 tour, ou quels
crire un algorithme qui : candidats participent au second tour.
- et linforme si ce nombre est positif ou ngatif.
- demande lutilisateur un nombre quatre chiffres,
b) crire un algorithme qui : - et lui donne combien de chiffres sont corrects.
- demande lutilisateur un nombre, Exercice 9
- et linforme si ce nombre est nul, positif ou
ngatif.
Exercice 5 Une compagnie d'assurance automobile propose ses
clients quatre familles de tarifs identifiables par une
crire un algorithme qui : couleur, du moins au plus onreux : tarifs bleu, vert,
Exercice 2 - demande lutilisateur l'heure qu'il est, orange et rouge.
- et linforme de l'heure qu'il sera 5 minutes plus Le tarif dpend de la situation du conducteur :
En athltisme, les coureurs sont rpartis suivant les tard. un conducteur de moins de 25 ans et titulaire
classes d'ge suivantes : du permis depuis moins de deux ans, se voit
Eveil : avant 10 ans Exercice 6 attribuer le tarif rouge, si toutefois il n'a jamais
Poussin: de 10 11 ans t responsable d'accident. Sinon, la
Benjamin: de 12 13 ans crire un algorithme qui : compagnie refuse de l'assurer.
Minime: de 14 15 ans - demande lutilisateur les valeurs de a , b , c un conducteur de moins de 25 ans et titulaire
Cadet: de 16 17 ans et d , du permis depuis plus de deux ans, ou de plus
Junior: de 18 19 ans - et lui donne la solution de l'quation de 25 ans mais titulaire du permis depuis moins
Espoir: de 20 22 ans de deux ans a le droit au tarif orange s'il n'a
ax + b = cx + d , ou l'informe qu'il n'y a pas de
Senior: de 23 39 ans jamais provoqu d'accident, au tarif rouge pour
solution, ou l'informe que tous les nombres sont
Vtran : 40 et plus un accident, sinon il est refus.
solutions.
un conducteur de plus de 25 ans titulaire du
a) crire un algorithme qui : permis depuis plus de deux ans bnficie du
- demande lutilisateur son ge, Exercice 7 tarif vert s'il n'est l'origine d'aucun accident et
- et linforme de sa catgorie. du tarif orange pour un accident, du tarif rouge
a) crire un algorithme qui : pour deux accidents, et refus au-del.
b) crire un algorithme qui : - demande lutilisateur deux nombres,
- demande lutilisateur son ge, - et l'informe s'il y a au moins un positif. crire un algorithme qui :
- et linforme s'il est ou non Benjamin. - demande lutilisateur tous les renseignements
b) crire un algorithme qui : ncessaires,
- demande lutilisateur deux nombres, - et linforme du tarif de son assurance.
Exercice 3 - et l'informe s'il y a deux, un ou pas de positif.

a) crire un algorithme qui :


Exercice 8 Exercice 10
- demande lutilisateur deux nombres diffrents,
- et lui donne le plus grand des deux. Un utilisateur pense un nombre entier dans [ 1 ; 100 ] .
Quatre candidats, A , B, C et D participent des
b) Mme exercice avec trois nombres distincts. lections obissant la rgle suivante : crire un algorithme qui permet l'ordinateur de trouver
ce nombre si, chaque proposition qu'il fait, l'utilisateur
c) Mme exercice avec quatre nombres distincts. lorsque l'un des candidats obtient plus de 50% tape P pour un nombre trop grand, M pour un nombre
des suffrages, il est lu ds le trop petit et G pour la bonne rponse.
premier tour.
en cas de deuxime tour, peuvent participer
uniquement les candidats ayant obtenu au moins
12,5% des voix au premier tour.
Stage ALGORITHMIQUE - Documents lves - page 8

Algorithme 2de - Fiche 6 :


Exercices sur l'instruction FOR ...

Exercice 1
crire un algorithme qui crit tous les multiples de 5 jusqu' 60 .

Exercice 2
On demande lutilisateur un entier naturel non nul.
a) crire un algorithme qui donne la liste des entiers de 1 ce nombre.
b) crire un algorithme qui donne la liste des carrs de 1 au carr de
ce nombre.

Exercice 3
On connat les premires conversions ci-dessous :
1 = 11,30 dhs
2 = 22,60 dhs
3 = 33,90 dhs
crire un algorithme qui donne la liste des conversions de 1 1 000 .

Exercice 4
crire un algorithme qui donne la liste des entiers de 1 100 telle que chaque multiple
de 5 soit suivi de la lettre C et que chaque multiple de 8 soit suivi de la lettre H .

Exercice 5
Il tait une fois un empereur hindou, Chiram, qui voulut rcompenser l'un
de ses sujets, Seta, pour son invention merveilleuse : le jeu des checs.
Comment veux-tu tre rcompens ? demanda Chiram.
- Donne-moi 2 grains de bl pour la premire case de mon chiquier,
rpondit Seta. Puis 4 grains pour la deuxime case, 8 grains pour la
troisime, et encore le double pour la quatrime et ainsi de suite jusqu la
soixante-quatrime case.
- Accord ! rpondit Chiram, qui trouvait ridicules ces quelques grains ...

crire un algorithme qui affiche :


- le nombre de grains de riz sur chacune des 64 cases de l'chiquier,
- le nombre total de grains,
- la masse de grains en tonnes (prendre 1 g pour un grain de riz).
(Production mondiale actuelle 600 millions de tonnes...)
Stage ALGORITHMIQUE - Documents lves - page 9

Algorithme 2de - Fiche 7 : Exercices sur les tableaux

f) Taper, observer, comprendre :


Exercice 1 Exercice 4
>>> tpair=[t[0],t[2],t[4],t[6],
1) a) Taper les commandes suivantes, observer et crire un algorithme qui :
comprendre ce qui se passe : t[8],t[10]] - demande lutilisateur une liste de dix nombres
>>> semaine=['lu','ma','me','je', >>> tpair entiers,
've','sa','di'] - et lui donne le plus grand de ces nombres.
Crer une liste timpair des multiples impairs
>>> semaine de 3 .
Exercice 5
>>> semaine[2] Crer une liste tsix des multiples de 6 allant
de 0 60 . crire un algorithme qui :
>>> semaine[0]
- demande lutilisateur une liste de dix nombres
>>> semaine[1]='mardi' Exercice 2 entiers,
- et lui donne la mme liste mais classe dans l'ordre
>>> semaine
2) a) Taper, observer, comprendre : inverse.
b) Taper, observer, comprendre :
>>> cent=[]
>>> t=[0,3,6,9,12,15,18,21,24,27] Exercice 6
>>> cent
>>> t a) crire un algorithme qui :
>>> cent.append(0)
>>> t[3] - demande lutilisateur dix nombres entiers,
>>> cent - et lui donne le nombre de 1 dans sa liste.
>>> t[3]+1
>>> for i in range (1,8) : b) Mme exercice mais avec une liste de longueur non
>>> t[3]==6 cent.append(i) impose.
>>> t[3]==9 >>> cent
c) Taper, observer, comprendre : b) Crer la liste des entiers de 0 100 . Exercice 7
>>> len(t) c) Crer une liste tsixbis des multiples de 6 Le crible d'Eratosthne consiste barrer tous les multiples
>>> del(t[9]) allant de 0 60 . de 2 auf 2. Puis recommencer avec le premier entier qui
n'a pas t barr, 3 . Puis recommencer avec 5 ( 4 a t
>>> t 3) a) crire un script crant la liste des carrs des
barr) et ainsi de suite (voir ci-dessous) :
entiers de 1 15 .
>>> len(t)
2 3 4 5 6 7 8 9 10
b) crire un script crant les listes des 10 premiers
>>> t.append(27) 11 12 13 14 15 16 17 18 19 20
multiples des entiers de 2 7 : 21 22 23 24 25 26 27 28 29 30
Ajouter 30 la liste. [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20] 31 32 33 34 35 36 37 38 39 40
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30] 41 42 43 44 45 46 47 48 49 50
d) Taper, observer, comprendre : [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40] 51 52 53 54 55 56 57 58 59 60
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50]
>>> for i in range (2,7) : [0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60]
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
print(t[i]) [0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
81 82 83 84 85 86 87 88 89 90
Afficher les multiples de 3 allant de 18 30 . 91 92 93 94 95 96 97 98 99 100
Exercice 3 Les nombres qui restent non barrs aprs puisement sont
e) Taper, observer, comprendre :
crire un algorithme qui : les nombres premiers.
>>> for i in range (0,11) :
if i%4==0 : - demande lutilisateur successivement dix crire un algorithme qui :
print(t[i]) nombres entiers, - cre une liste des 99 premiers entiers de 2 100 ,
- et cre une liste tab avec ces dix valeurs. - en extrait la liste des nombres premiers infrieurs 100
Afficher les multiples de 6 appartenant cette liste.
.

Vous aimerez peut-être aussi