y
CAHIER
Dj GORITHMIQUE
cottection INDICE
y | Dee
ea EMU LLCL|
PY UUme Cy
Ott eu ead toe asProgrammation avec le langage Python
TT existe plusieurs logiciels permettant de programmer en langage Python. Quand »)
‘on ouvre un logiciel, deux fenétres apparaissent a ’écran : la console et léditeur.
Créer un nouveau
On saisit le programme dans Véditeur.
On va ala ligne aprés chaque instruction, mais on peut taper plusieurs instructions
Programme sur la méme ligne en les séparant par un point-virgule.
‘Acinput’A~")si A est une chaine de caractéres.
nae loat(input(’A=")) si est un flottant.
ast A=int(input(*A=")) si A est un entier.
On peut utiliser la fonction demande avec la bibliothaque lycée,
‘Afficher A print(A)
Afficher un texte, “
par exemple « oui » panto
‘Affecter a Bla valeur de A
BEA
Ecrire des commentaires
(On écrit les commentaires sur une ligne, précédés de #
Tester siA=B/siA2B
TestersiA=B/SiASB
AetB/AouB
Si {condition C} if (condition C}: " ‘est li
iste ARERISETAT ieenienoneA, n'y a pas d’instruction de fin :cest findentation
Sinon {instructions BY
(le décalage vers la droite) qui indique les instructions
sie faisant partie dela structure conditionnel
{instructions B)
Pour variant de 14 n
instructions}
in Pour
+ Uinstruction for fin range(n) fait parcourir la variable i tous
les entiers de 0-1
= Linstruction for iin range(nn) fait parcourir ala variable 7
tous les entiers deny & 1-1.
+ Linstruction for in range(nn,p) fait parcourir a la variable i
les entiers de 1 jusqu'a lentier immédiatement inférieur
ou égal a 1 avec un pas de p.
‘Comme pour if, on utilise Findentation pour indiquer
les instructions faisant partie de la boucle.
fori inrange(1,n+1):
{instructions}
Tant que {condition C)
{instructions}
‘while (condition C): | Comme pour fet for, on utilise indentation pour indiquer
Fin Tant que {instructions} les instructions faisant partie de la boucle.
Définition aetfiae.:
d'une fonction f any
Racine carrée dex arta) avecTabibiothéque lycée ou e module math
7x ala puissance n xn
m Plavecla bibliotheque lyede ou le module math
Sey on a%bb ou reste(a,b) avec la bibliothéque lycée
Nombre décimal aléatoire
compris entrea etb
Uuniform(a,b) avec a bibliothéque lycée ou le module random
Entier aléatoire compris
entreaeth
randint(a,b) avec la bibliothéque lycée ou le module random
Longueur d’une chaine
de caractares C
len(C)
Extraire un caractere d'une
chaine de caractéres C
ik] renvoie le (k + 1e élément de C
Concaténation de deux
chaines de caractéres
“abed" + “efg" donne“abcdefg”
Exécuter un programme
Cliquer sur >:Sommaire
PARTIE 1 Notions de base
‘A Algorithme - Variables ~ Affectation 3
8. Ecriture d'un algorithme 6
C. Programmation d’un algorithme 10
D. Instruction conditionnelle (If) 4
E. Boucle bornée « POUR » (For) 18
F. Boucle non bornée « TANT QUE » (While) 22
G. Fonctions 26
PARTIE 2 Fonctions numeériques
A. Généralités sur les fonctions ~ Variations 30
B. Fonctions de référence 34
PARTIE 3 Géometrie
A.Géométrie plane 40
B. Géométrie dans lespace 44
PARTIE 4 Statistiques et probabilites
A Statistiques 45
8. Echantillonnage et probabilités 46
La premiére partie du cahier comprend toutes les bases de V'algorithmique: variables,
entrées ~ sorties, affectation, instruction conditionnelle, boucle bornée et boucle non
bornée, fonction, ainsi que quelques éléments de programmation avec Python, Scilab et
Xcas. Les exercices de cette partie ne nécessitent pas de connaissances spécifiques de la
dlasse de Seconde.
Les trois autres parties proposent des exercices sur les trois grands themes du programme
de la classe de Seconde : Fonctions numériques, Géométrie et Statistiques-Probabilités.
Chaque exercice comporte un en-téte qui décrit les notions mathématiques du programme,
les compétences et les notions d’algorithmique mobilisées dans Texercice.
Les compétences signalées sont les suivantes: comprendre un algorithme; modifier un
algorithme; compléter un algorithme; analyser une situation; écrire un algorithme;
programmer un algorithme.
Ce cahier est rigoureusement conforme aux aménagements de programme de 2017 sur
Talgorithmique et la programmation:
‘rédits iconographiques _p. 24 Beboy/Fotolia ; p. 47 Renlow/Fotolia,
2B Retrouver les corrigés des programmes demandés avec le langage Python et les,
logiciels Scilab et Xcas sur le site www.bordas-indice. fr.
© BORDAS/SBJER ~ Paris, 2017
ISBN 978-2-04-733528-4oa
e
e
Algorithme - Variables - Affectation
Algorithme et notion de variable
Un algorithme est une suite finie d’instructions a appliquer dans un ordre déterminé a un nombre fini
de données pour arriver, en un nombre fini d’étapes, a un certain résultat.
Pour stocker un résultat, on utilise une variable. On peut se représenter une variable comme une « boite », un
emplacement de la mémoire d'un ordinateur... Pour pouvoir accéder & son contenu, on lui donne un nom.
See ee ee
(On peut ici utiliser une variable, que fon nomme X, qui contient les résultats
‘obtenus a la fin de chaque étape du programme de calcul,
QO 9
a 14 i
x x x
CChoisi le nombre 7
‘Multiplier ce nombre par 2
Ajouter 3 au résuitat
Une variable est désignée par un nom.
Elle contient une valeur. On utilise cette année trois types de valeurs :
= entier (nombre entier relatif);
=flottant (nombre a virgule) ;
~chaine de caractéres : suite ordonnée de caractéres, un caractére étant un chiffre, une lettre, un symbole...
Remarques :
1) « Année » est une chaine de cing caractéres. On dit que est une chaine de longueur 5
Le premier caractare de cette chaine est A, son deuxiéme caractére est n, son troisiéme est n...
2) Les chaines de caractéres peuvent « s'ajouter », est-a-dire se mettre bout-a-bout (on parle aussi de concaté-
nation de chaines de caractéres). Par exemple, « Année » + «2017 » = « Année2017 ».
‘affectation
Lorsque fon donne une valeur 8 une variable X, on écrit Tune des instructions ci-dessous:
Affecter aX la valeur ...... ou X prend la valeur........
La nouvelle valeur remplace la valeur précédente.
Suite dinstructions correspondant au programme de calcul de exemple 1;
LavatiableX contient dabord 7, Xp ta valeur 7
Lavaleurde X est ensuite multiplige par 2: elle devient donc 2X, >! X prend a valeur 2
Elle est enfin augmentée de 3 elle devient donc X+3, >. Xprond ia valour X +3
Sea ee ee iad
Valeur de la variable A et valeur de la variable B
AB. aprds Fexécution de chaque instruction :
Gpoanaaes BJ —tdandesensea separa
B prendla valeur A+ 1 a <— Commela valeurde A est 3, la valeurde B est :3-+1 soit,
Lavaleur de A ne change pas :elle reste égale a 3.
de A est :3 +4, Cest-a-dire 7,
La valeur de B ne change pas : elle reste égale & 4.
Partie 1+ Notions de base = Algorithme - Variables ~ Affectation
Notions de baseNotions de base
EXERCIC! —
On donne deux suites d'instructions S, et S,,
OU valTable-A bet Uneichane de corectties A prend la valeur « bonjour» 4 prend la valeur « bonsoir »
A prend la valeur bonsoir » A prend la valeur « bonjour »
1. a. Aprés 'exécution des instructions de S,, la valeur de la variable A est
b, Aprés|'exécution des instructions de S,, la valeur de la variable A est :
2, ordre dans lequel on écrit des instructions a-til de importance ?
EXERC 2 RR
Soit deux variables A et B.
A prend ta valeur 1
B prend ta vateur 3
| Aprend a valeur + B
Justifier qu’a V'issue des instructions ci-contre, la valeur de la variable B est égale a 12.
EXEREIZe a
1. a. Joe a écrit la valeur de la variable X aprés I'exécution de chaque instruction ci-dessous.
Deux valeurs sont fausses. Corriger son travail.
x Correction
‘
8
7 <{ fw
16 — fam
b. On remplace la premiere instruction par « Affecter & X la valeur a», étant un réel donné,
Quelle est, parmi les valeurs ci-dessous, celle de la variable X aprés I'exécution de ces instructions ?
2a +3? (2a +3? O2a+3P
2. a. Ecrire a valeur de la varlable X aprés Vexécution de chaque instruction ci-dessous.
x
Alfecter 8 X la valeur &
Affacter & Xa valeur X +3
Alfecter & Xa valeur XX
Alfecter & X la valeur 2X
b. On remplace la premiere instruction par « Affecter 4 X la valeur a », a étant un réel donné.
Quelle est la valeur de la variable X, aprés lexécution de ces instructions ?‘each Laptop ede
EXEREICE a
On donne ci-contre une suite d'instructions.
Affecter 84 la valeur 10
1. Quelles sont les variables utilisées ? Afecter 8 Bla valeur 15
Atfecter 8 PlavaleurA+B
Affecter & P la valeur 2P
Notions de base
2. a, Déterminer la valeur de P aprés I'exécution de la derniere instruction.
b. On considére un rectangle de largeur 10 cm et de longueur 15 cm.
A quol correspond cette valeur de P ?
3. Modifier la derniére instruction afin que la valeur de P, apres 'exécution de cette instruction, soit égale
ala moyenne des nombres 10 et 15.
EXERCICE 5 WA
On considére deux variables A et B qui ont respectivement pour valeurs 5 et 7. On souhaite échanger
les valeurs de A et de B.
a:
OB _ 8
1, a, Dans chacun des cas suivants, écrire la valeur de la variable A et celle de la variable B apres I'exécution
de chaque instruction.
4 B 4 B
5 7
Bprond ta valour. —»
Aprend lavaleur By
A prendlavaleur B | —»
b Ces deux suites d’instructions permettent-elles d’échanger les valeurs de A et de B?
2. On crée une nouvelle variable : C.
Compléter a suite d instructions ainsi que le tableau ci-dessous, afin qu’aprés exécution de la demiére
instruction, la valeur de A soit égale a 7 et que celle de B soit égale 45.
a z €
7
| C prend ta valeur 4
| A prend lavaleur B
| Bprend|a valeur
tre
Partie 1+ Notions de base = Algorithme - Variables -Affectation 5 BE© Ecriture d’un algorithme
Structure d'un algorithme
Avant de commencer a écire un algorithme, on analyse le probleme et on crée les variables que Ion va utiliser
en leur donnant un nom et en précisant leur type (entier, flottant, chaine de caractéres) : c'est ce que l'on ap-
pelle la déclaration des variables.
Un algorithme comprend ensuite trois phases
+ une phase initialisation qui permet de donner une valeur initiale aux variables;
+ une phase de traitement du probléme ;
+ une phase de sortie des résultats.
Notions de base
(On souhaite écrire un algorithme qui calcule et affiche le périmatre (en cm) L
et Vaire (en em?) d’un rectangle de longueur 4 cm et de largeur 3 cm,
(enemt) ese lonsy es P=U+2€
ql AaLxt
Once quatro tC Pet Acuconteirnt eectienent oper vie
Ja longueur, la largeur, le périmetre et aire du rectangle.
La longueur est 4 cm: on donne L la valeur 4.
La largeur est 3 cm: on donne a € la valeur 3.
On calcule le périmetre : on donne a P la valeur 21. + 2¢.
On calcule Faire : on donne & A la valeur L x €.
} > tritiation
|
On afc le pride et ate du rectangle. }—> sorte
On pourrait aussi calculer et afficher le périmetre et aire d'un rectangle pour n'importe quelles longueur
et largeur en demandant a l'utilisateur d'entrer les valeurs de L et de ¢
e Instructions d’Entrée-Sortie
Instructions d'Entrée
Pour entrer une donnée, on écrit une des ins
tructions ci-dessous:
SaisirX ou Demander a valeur de X
ou Lirex
Ces instructions affectent a la variable X la
valeur saisie par l'utilisateur.
Voici 'algorithme de fexemple précédent
L,6,P et sont des flottants
L prend a valeur &
¢ prend ta valeur 3
P prond la valeur 2+ 26
A prend la valeur L
Afficher P et A
Instruction de Sortie
Pour afficher un résultat, on écrit instruction
Afficher...
instruction Afficher X affiche la valeur contenue
dans la variable X.
instruction Afficher « ......... » affiche le texte
écrit entre les guillemets.
Cet algorithme affiche en sortie:
P=1etA=12.
Si on demande 8 lutilisateur dentrer les valeurs de L et de ¢, on remplace le terme « Initialisation » par
dessous.
1,€,PotA sont des flotants
Saisir Let €
P prond la valeur 21, + 2¢
A prend la valeur Lx €
Alficher P et A
Siutilisateur entre L=4 et € = 3, les valeurs affichées
en sortie sont: P= 14 et A = 12.
Siutilisateur entre L=7 et € =5, les valeurs affichées
en sortie sont: P= 24 etA = 35.Moyenne
ad emiet 6 por
Completer un algorithme
Pour ce trimestre, Suzanne a obtenu trois notes en mathématiques, désignées par les variables A, B et
Compléter Valgorithme ci-dessous afin quil permette a Suzanne de connaitre sa moyenne du trimestre.
Notions de base
a
SAS Comprendre un algorithme
En prévision des soldes, un commergant s'appréte & modifier ses étiquettes. 0, ©,
41. Calculer le prix que doit inscrire le commercant sur 'étiquette @. aw
a &
2. Voici un algorithme.
Pet T cont des fottants
Demander les valeurs de P et T
raitern rend ta valeur PP Le
itement P prend la valeur P- Px hy
Afficher P
a. Quelle est la valeur affichée en sortie lorsque I’on entre P= 40 et T-
b. Quel est le role de cet algorithme ?
¢. Que doit entrer le commercant afin de compléter I'étiquette @
Chaines de ca
xe leer = CD
Comprendre un algorithme
On donne ci-dessous un algorithme.
Variables C,C1, C2, C3 et S sont des chaines de caracteres
Entrée Saisir C
Traitement Affecter 8 C1 la valeur du 1* caractére de C
Affecter C2 la valeur du 2* earactére de C
Affecter 83 la valour du 3° caractire de C
Affecter 8 Sa valeur C3 +-C2=.C1
Alficher S
Qu’affiche cet algorithme lorsque l'on saisit MOT ?
Partie 1+ Notions de base = Ecriture dun algorithme 7 BENotions de base
Aire
EXERCIC!
Compléter chacun des algorithmes ci-dessous afin quills affichent en m2, puis en hectares, 100m
la superficie d'un terrain rectangulaire de longueur I. metres et de largeur £ metres,
saisies en entrée.
Compléter un algorith
100m
M prend la valeur Lx €
rend la valour +B
Aereedlavales 5000
M, Cet L sont des flottants
M prend la valeur Lx ¢
rend la valeur
Proportionnai
(—e4— = en ety 10
Compr ’@ un algorithme
Oleg s'appréte a préparer un gratin de pommes de terre pour 6 personnes ingrédienta (pour 4 personnes]
Al'aide de la recette ci-contre.
+ Lkg de pommes de ters
1, Calculer la quantité nécessaire de pommes de terre pour 6 personnes. - 60g de Fromage rapé
+25 el decrime Fraiche
2, On donne Falgorithme ci-dessous.
(@ ost un flotant
Demander la valeur de Q
Traitement 0 prend la valeur 6 = g
a. Quel est le rdle de cet algorithme ?
b. Que doit saisir Oleg pour connaitre la quantité de créme fraiche (en cL) nécessaire pour 6 personnes ?
3. Ecrire un algorithme qui affiche, lorsque l'on entre la quantité Q nécessaire pour N personnes, la quantité
quill faudra pour M personnes.
Variables
Entrée
Traitement
Sortie4S ene 1)
Comp
On considére un carré de coté C (en centimetres) que on agrandit en ajoutant K Z|
centimetres a chacun de ses cétés.
On donne lalgorithme ci-dessous :
A,B,C, Det K sent des fottants
C prend a valeur 10 © kK
Saisie K
Traitement A prend|a valeur 4 « C
Bprond ta valour C+
D prend lavaleur 4 x B
Afcher A et D
Notions de base
1. a, Quelle est, en centimetres, la mesure du cété du carré initial ?
b. Quelles sont les valeurs affichées en sortie lorsque l'on entre K=2?
Quel este role de cet algorithme ?
2. Quelles lignes faut-il modifier afin que soient affichées l'aire du carré que Faire du carré agrandi ?
Vitesse moy
(eS ie) 12
Compléter un algorithme
On rappelle la formule : D = Vx T oll V est la vitesse moyenne (en km/h),
Dla distance parcourue (en km) et Tla durée du parcours (en h). ~
1. Aida doit parcourir 572 km.
Calculer la durée (en heures) de son parcours si sa vitesse moyenne est de :
a. Mokm/h; b. 130 km/h.
2. Compléter 'algorithme ci-dessous afin que soient affichées (en heures) pour un trajet de D kilometres
les durées 71 et 12 du parcours lorsqu’on roule respectivement a 110 km/h et a 130 km/h, ainsi que la
difference entre ces deux durées.
D.T1,12 et T sont dos flotiants
Saisir D
Traitement TI prend la valeur
2 prend ta valour
Tprend la valeur
Afficher 71,72 tT
Partie 1+ Notions de base = Ecriture d'un algorithme 9 BENotions de base
go
Pe
e
Programmation d’un algorithme
La programmation
Les algorithmes étudiés dans les pages précédentes peuvent étre programmés
langage de programmation adapté.
surun ordinateur en utilisant un
Programmer un algorithme, Cest le traduire dans un langage compréhensibl
le par un logiciel donné,
Nous abordons dans cette page le langage de programmation Python et ceux
Les commandes pour démarrer
des logiciels Scilab et Xcas.
Les commandes indispensables pour élaborer un programme sont les suivantes
~ les commandes permettant de créer un programme a partir de V’algorithme deja fait;
— les instructions d’entrée et de sortie des données ;
Kinstruction daffectation ;
— les commandes permettant d'exécuter le programme réalisé.
Python Scilab eas
Cliquer sur NeWeaUREEH
Créer un nouveau ou, dans le menu esis], DANS IEmenY ABAEENS, Dan menu al,
programme choisr eames STS choir
ove Fei
nput ("A=") siA est
une chaine de caractéres.
Asimt(imput("A")) a snpuey* ‘ ist
saisirA by fone ia ‘Acinput ("A input (A) ou saisir(A)
Acflloat (input A=")
si Aest un nombre (flottant).
{disp(A) ou avec le module print(A) ou
uel Prant(A) «lycée »:afficher (A) afficher(A)
Afficher un texte, Sous oui print (*oui") ou
par exemple «oui» print ("oui") disp(“oui") afficher(‘oui")
‘Affecter a # la valeur _ .
atte BA B-A 8:
Obtenir la longueur
d'une chaine n(C) ength(c) dim(c)
de caractéres C
el Ck] renvoie le (k-+ 1) part(C,k) renvoie lek ¢[k] renvoie le (k-+ 1°
sine sins élément de C element de C élément de C
de caractéres C
Concaténation de deux “abed" + "efg" “abed" + “ef “abed" + "efg*
chainesde caractéres donne "abode rg" donne "avedefg" donne "abederg*
Cliquer sur D>, ou
Exécuter un programme Cliquersur = sur TS pourenregistrer—_Cliquer sur
puis exécuter
Remarque: iinet
En langage Python, lorsque l'on utilise instruction A=input(*A="), 9 jesne ay
valeur de la variable A est une chaine de caractéres (ype str. Sila valeur Gos naue( get)
attendue de A est un enter typeint, instruction précédente doit te sur sara yey
vie de instruction A-dnt (A) sila valeur attendue de A est unréel type fay
float), instruction précédente doit étre suivie de I'instruction A=float (A).
‘Avec la fonction demande de la bibliothéque « lycée », le type de la
variable A est reconnu automatiquement.
print( "Gain par personne")
print (Mm)‘each Laptop ede
EXERCICE -
Comprendre un algorithme Programmer un algorthme
1. Quiaffiche en sortie l'algorithme ci-contre pour les valeurs suivantes
de la variable A saisies en entrée:
25?
‘Vet Bt sont des enters
Domander la valeur de A
a B prend ta valeur A? +5
Alfcher B
2. Programmer cet algorithme. (9
Notions de base
On considére le programme ci-dessous écrit a aide de trois langages de programmation.
Python Scilab Xeas
XeFloat (input("
YeFloat (input(”
mx
saisir (x);
saisir(¥);
ey 4
vez zy
print(x) disp(X) afficher (X) 5
print(y) disp(Y) afficher (¥)
1. Quaffiche ce programme en sortie pour les valeurs suivantes des variables X et ¥ saisies en entrée :
a.X=5etY=9? b.X=07et¥=18?
a b.
2. Que fait ce programme?
EASaaias4 |S Ecrire un algorithme
Ona réalisé un programme a l'aide de trois langages de programmation.
Python Scilab Xeas
‘oat (input (" ‘Asinput’A~") saisix (A);
oat (input("! saisix(B);
CAB ‘AB;
D=AeB AB
"DBS? 22C#DIB*2 7
print(e) dsp) afficher (F)
Ecrire ci-dessous l'algorithme correspondant en mettant en évidence les différentes étapes de l'algorithme.
Partie 1 Notions de base = Programmation d'un algorithme 11 BENotions de base
7”
eXeERcIcCe @
(On donne ci-dessous, le programme incomplet écrit dans trois langages de programmation.
Scilab Xeas
Grinput(c=") saisir(o);
Deinput(*D=") saisir(0);
as An Ase
prant (a) oisp(A) atficher(a)
1, Compléter ce programme pour quill affiche l'aire A d’un triangle rectangle connaisant les deux cotés de
angle droit.
2. Modifier ce programme pour quill affiche également le périmetre de ce triangle.
eXERCICE y
Compléter un algorithme + Program un alg
Le droit d’entrée journalier dans un parc aquatique est 37 € pour un adulte et 28 € pour un enfant.
Lalgorithme ci-dessous permet de calculer le prix payé par un groupe comprenant des adultes et des enfants.
Les variables A et E représentent le nombre d’adultes et le nombre d’enfants du groupe et la variable P
représente le prix payé par le groupe.
Variables
Entrée
| Traitement
Sortie
A, Eet P sont des entiers.
Demander les valours de A ot E
P prend la valeur
Aficher « Le prix est :»
1, Compléter cet algorithme.
2. Programmer cet algorithme.eXERCIcCe o
o
On considére l’algorithme ci-dessous. _
Variables Nest un entier non nul U
Act B sont des flottants t
Entrée Demander la valeur de oO
g
Oo
Z
[Traitement Arend la valeur 2
1a
Bprendlavateur b+ gh she gh
Sortie Afficher 4, B
1. Programmer cet algorithme. (3
2. Faire fonctionner ce programme pour diverses valeurs de N. Que constate-t-on ? Le démontrer.
Calcul
igébrique
5
Le forfait pour skier toute la semaine est de 220 € Alors P prend la valeur
par personne, mais il existe un tarif « groupe » Sinon P prend la valeur
180 € par personne a partir de 5 personnes Finsi i
d'un méme groupe. Sortie
Alficher P
1. a. Quel est le prix payé par un groupe de 4 personnes ?
b. Quel est le prix payé par un groupe de 6 personnes ?
2. Compléter 'algorithme ci-dessus afin qu'il affiche en sortie le prix payé par le groupe pour la semaine, selon
Je nombre de personnes du groupe saisi en entrée,
3. Comment doit-on modifier cet algorithme afin quill affiche en sortie le prix que doit payer chaque membre
du groupe ?
Notions de base
Partie 1+ Notions de base » Instruction conditionnelle (if) 15: BeNotions de base
EXERCICE Compléter un algorithme + Programmer un algorithme
Lorsque c'est été en France, ily a 5 heures de décalage avec le Brésil, ’est-a-dire quill est 5 h a Rio de Janeiro
quand il est 10 ha Paris.
1, Quelle heure est-il & Rio:
a. quand il est 19 h a Paris ? b. quand il est 2a Paris?
2. Compléter 'algorithme ci-dessous afin qu'llaffiche en sortie I'heure a Rio de Janeiro quand on donne en
entrée I'heure a Paris.
Pet R sont des fattants
Demander la valeur de P i
Traitement SiP=5
[Alors Affecter 8 la valeur
‘Sinon Affecter & Rta valeur i
Fin Si
3. Programmer cet algorithme. (7
EXERCICE GO) res
On donne le programme ci-contre, écrit en langage Python.
1, Quiaffiche ce programme en sortie sion saisit en entrée :
a.X=162? b.X= 6257
X=float(input("X="))
if X<=250:
'5+0.28*(X-250)
print(c)
2. L’agence de location de voitures LyonCar Nice ee
utilise le programme cdessusafin de calculer ZERO
le cout C de la location d'une voiture pour X TARRY 21 de locstion:
kilométres parcourus. ( ( ee creaicanet eeeom ra
Compléteres informations manquantes dans NI chaque kilometre supplémentaiecoite
la plaquette ci-contre diffusée par agence. l‘each Laptop ede
eXERCICE Br
Un club sportif fat fabriquer des tee-shirts au nom du club. Chaque tee-shirt est facturé 4 €, mais ils sont
facturés 3,50 € 'un si la commande est d’au moins 100 unités du produit.
Soit N la variable égale au nombre de tee-shirts commandés et Ple prix payé parle club.
1. Calculer P dans les cas suivants :a. N= 40; b.N=130.
a b.
2. Ecrire ci-dessous le programme permettant d‘obtenir le prix payé par le club en sortie pour un nombre N
de tee-shirts commandés.
Notions de base
On donne le programme suivant, écrit en langage Python.
(or est ’écriture dans le langage Python du connecteur ou rep=input(“répondre par oui ou non:*)
vuen raisonnement logique,) if rep =s"oui" or reps
print(rep)
1, Quobtient-on en sortie: else:
print(*mauvaise réponse")
a. sion saisit « oul » en entrée ?
b, sion saisit « yes » en entrée?
2. Décrite ce que fait ce programme.
Moyenne
EXERCICE yee
Compléter un algorithme + Modifier un algorithme
On considére 'algorithme ci-contre. XV.ZT M sont des flotante
1, Compléter cet algorithme afin qu'il SaisicX KZ T
afffche en sortie si un candidat 8 un A prend tavateut
‘examen est recu ou non, connaissant siM= 10
ses notes sur 20 représentées par les aes
variables X,Y, Z, T aux épreuves.
Les deux premiares épreuves ont pour
coefficient 2 et les deux suivantes ont
pour coefficient 1.
2. Un candidat non recu est admis
a passer un oral de rattrapage
sisa moyenne est au moins 8. Modifier
cet algorithme dans le cadre ci-contre
afin quill affiche de plus si un candidat
est admis ou non a passer cet oral.
Sinon
Fini
Partie 1+ Notions de base » Instruction conditionnelle (if) 17 BeNotions de base
@ Boucle bornée « POUR » (For)
Structure de la boucle « POUR »
(On peut répéter un bloc d instructions un certain nombre de fois fxé au départ: on utilise alors la boule « POUR».
ee eee ane eRe
Un village compte aujourd’hut 2 300 habitants. Le village étant en pleine crofssance, sa population aug-
mente chaque année de 150 habitants.
On souhaite élaborer un algorithme donnant le nombre dhabitants de ce village dans N années,
Pour cela, on définit une variable P qu'on initialise & 2 300, puis on répéte N fois operation qui consiste
ajouter 150 a P: le nombre de répétitions (ou eitérations») est conmu au départ puisque c'est le nombre
N années.
On parle de «calcul itératif
Variables
1N Pet sont des entiers
Entrée
Saisir N=
initialisation
P prend la valeur 2300 =| tantque H>=1 faire
H=H*3/5 Hi=H+3/5;
RERt RisRt1
print(R) end ftantque;
disp(R) afficher (R)
On trouve R = 9. C'est au 9* rebond que la hauteur atteinte par la balle est strictement inférieure & 1 cm.
7”EXERCICE @ pes
On considare ralgorithme ci-contre.
1. Quelle condition doit étre remplie pour que la boucle «Tant que » “West un entier
soit réalisée ? Demander la valeur deA
Tant que A> 9 faire
ire un algorithm:
[A prend ta valeur A-9
Fin Tant que
2. On saisit 5 en entrée, Quelle valeur est affichée en sortie ?
3. Peut-on obtenir 21 en sortie ? Justifier.
4. On saisit 30 en entrée. Compléter le tableau suivant et en déduire la valeur affichée en sortie d’algorithme.
Etapes A Condition verifiée?
Avant Ia boucle 30 oui
1*" passage dans la boucle
2° passage dans la boucle
La valeur affichée en fin d‘algorithme est :....3
Say 3° Comprandre un algorithme
En 2014, Carole verse sur son livret d’épargne 3 000€.
Chaque année, la somme disponible sur le livret est
‘multipliée par 1,03. ’algorithme ci-contre permet d’afficher
année a partir de laquelle Carole disposera pour la premire
fois d'au moins 3500 €.
Initiaisation 5 prend le valeur 3000
A prend lavateur 2014
Traitement Tant que $< 3500 faire
1. Quelle variable contient les valeurs successives de 'épargne | [Afecter & Sta velour $x 1,08 |
disponible?
[Affector 84 la valour + 1
Fin Tant que
2. Quel est le role de la variable A?
3. Compléter le tableau suivant et en déduire la valeur affichée en sortie.
Etapes Ss A Condition verifiée ?
Avant la boucle 3000 oul
1°" passage dans la boucle
2° passage dans la boucle
La valeur affichée en sortie est :
Partie 1+ Notions de base» Boucle non bomée «TANT QUE » (While) 23 Be
Notions de baseNotions de base
EXERCICE &Y
Complete et program
Dans une petite ville, on constate depuis quelques années une hausse annuelle de 5 % du prix des loyers.
Cette année, le prix moyen de location du metre carré est 8 €.
un algorithi
jariables Lest unflottant
Nest un entier
Initiatisation —_L prend a valeur 8
N prend la valeur 0
1, Quel sera le prix de location du metre carré dans un an?
Tent que faire
2. On souhaite déterminer dans combien d’années le prix moyen ‘Lprend la valeur 108
de location du matte carré dépassera 12€.
On veut compléter I'algorithme ci-contre afin quill affiche
le nombre N d'années cherché.
a. Compléter 'algorithme.
N prend ta valour N'+1
Fin Tant que
Afficher N
b. Programmer cet algorithme, puis répondre & la question posée.
EXERCICE &Y
Comprendre un algorithme
Le 1® janvier 2015, David a recu 90 € ¢’étrennes, puis chaque année, celles-ci augmentent de 5 €. i
David décide de ne pas dépenser cet argent avant de disposer de 700 €.
1, Déterminer le montant E des étrennes que David recoit le 1* janvier 2016.
2. En déduire la somme totale T dont il dispose en 2016.
3. Llalgorithme ci-contre permet d’afficher 'année a partir de laquelle David disposera d‘au moins 700 €.
a. Faire fonctionner cet algorithme en complétant Variables ET et A sont des entiors
le tableau ci-dessous. Initilisation EF prend la valeur 90
b. En déduire a partir de quelle année, David pourra Trend la valeur 90
dépenser son araent. A prend la valeur 2015
Traitement Tant que T'< 700 faire
[Alfecter & Ela valeur E+ 5
|Affactar a Tla valeur T+ E
Affecter la valeur A +1
Fin Tant que
Afficher 4
Etapes E T A Condition verifige ?
‘Avant la boucle 90 90 2015 oui
1°" passage dans la boucle 95 185 2016 oui
2° passage dans la boucle 100
3° passage dans la boucle
4° passage dans la boucle
5* passage dans la boucle
16° passage dans la boucle‘each Laptop ede
SxS 39),
Une entreprise de forage creuse des puits dans le désert afin d’atteindre la nappe d'eau phréatique.
Cette entreprise facture le premier metre creusé 100 €, le second metre 140 € et ainsi de suite en augmentant
le prix de chaque nouveau métre creusé de 40 €.
1. Calculer le prix M du troisiéme matre creusé, puis le prix total S d’un puits de trois métres de profondeur.
2. a. Compléter le programme ci-contre, écrit en langage Python,
afin qu'il affiche le prix total S d'un puits de H metres de profondeur
lorsque l'on entre la valeur de H.
b. Ecrire ce programme puis lexécuter afin de déterminer le prix d'un
uits de 8 metres de profondeur, puis celui d'un puits de 12 matres de
profondeur. I
print(s)
3. Une organisation humanitaire dispose d'un
budget de 4000 €.
a. En utilisant le programme de la question
déterminer a profondeur maximale d'un puits que
peut financer organisation,
M prend la valeur
S prend la valeur
N prend la valour 0
[Traitement Tant qUC nc sonnnnn Fre
Fin Tant ue
b. Compléter 'algorithme ci-contre afin qui affiche 2
cette profondeur maximale.
exerRcice @
Comprendre un program
En 2016, les rejets polluants d'un groupe industriel sont évalués a 5 000 tonnes.
Le groupe est contraint de réduire ses rejets polluants de 8 % chaque année jusqu’a ce que ceux-ci ne
dépassent pas 2000 tonnes annuelles. On suppose que le groupe respecte ce plan de réduction.
1. Par quelle valeur est multipliée chaque année la quantité de rejets polluants ?
2. Dans le programme ci-contre, écrit en langage Python,
la variable R est la quantité annuelle de polluant rejeté. a
a, Quel réle joue la variable T? Ne2016
white R>2000:
Re.
b. Compléter ce programme. ten
Les valeurs affichées sont 2027 et environ 39521. Interpréter pranein)
ces deux valeurs.
prant(T)
Partie 1+ Notions de base» Boucle non bomée «TANT QUE » (While) 25 Be
Notions de baseNotions de base
e Programmation
Fonctions
On peut simplifier écrture des programmes en utilisant des fonctions, sur le modéle des fonctions numériques
€tudiées en mathématiques.
? Structure d'une fonction
Sees ee eee eer)
La surface S en metres carrés de la peau d'un adulte est donnée approximativement par la formule
VM
s
voit estla taille de a personne exprimée en métres et M sa masse exprimée en kilogrammes.
Pour programmer ce calcul, on peut définir une fonction appelée surf qui aura pour paramétres L et M :
' “= au tieu de définir les entrées Let M comme d'habitude, ces variables
fonction anrtilil) sont des arguments de la fonction et celle-ci sera écrite surf(L,.M)
) dans le programme.
_..} 6). Le résultat est obtenu par instruction retourne (ou return).
(On obtient la surface corporelle d'un adulte de 1,80 m et 75 kgavec surf(1.8,75) on trouve environ 1,94m2,
mane ee ene eet)
fonction maxi(a,))
i=
retourne (
On peut définir une fonction qui détermine le plus grand de
deux nombres a et b donnés. Les arguments de cette fonction maxi
Siaah
sont a etb, et le résultat renvoyé par linstruction retourne est le plus aiaee vetoures! @
sgrand de ces deux nombres, foes revane Oy
| Fin Si
Une fonction est un bloc d’instructions qui a recu un nom, dont le fonctionnement dépend
d'un certain nombre de paramatres (les arguments de la fonction) et qui renvoie un résultat (au moyen
de instruction retourne).
Remarques:
1) Les entrées d'une fonction se font en donnant des valeurs aux arguments.
2) Une fonction peut n/avoir aucun argument.
3) On peut aussi utiliser instruction print dans une fonction. Contrairementa instruction retourne, le programme
continue aprés print alors qu'ls‘aréte aprés avoir rencontré retourne.
4) Une fonction peut &tre appelée dans un programme ou dans une autre fonction. Ainsi, les fonctions per-
mettent d'éviter des redondances et de structurer les programmes.
Python Slab Xeas
f nent }; function y=mafonc(a,b.
inane.) demon bid y Gb) tones
|__etourelrésultat) maa enikincion { retourne c}
Programmes relatifs aux algorithmes vus en exemple:
Python Seilab Xeas
def suré(L,M): fapetion y-susiL, MD) sure (2,4
surf retunn(sqrt(L*¥)/6) cagcsi{LAND Fetourne sazt (o!%) /6)
def maxi(a,b): function y-maxita, bs maxi (a,b) :=£
if ap=b: ite si a>-b alors retourne a
maxi return(a) lsc v4 sinon retourne b
else: end fst)
PeeIRRC BY endtunction‘each Laptop ede
Fonctons affines
exeRcice @ q
Comprendre une fonction
B
1. Soit fla fonction programmée ci-contre en langage Python. def #(x): i
a. Que renvoie f(1) ? {(-2) ? return(3*x-1) U
u
5
b. Que permet de faire cette fonction ? 6
Z
2, Ona programmeé une nouvelle fonction nommeée atine. def affine(e, 6x)
a. Quels sont les arguments de cette fonction ? return(a*x+b)
print (affine(1,2,3))
b. Quel va étre I'affichage ?
¢. Comment peut-on afficher avec cette fonction image du nombre 4 par la fonction numérique
quia xassocie—Sx-+2?
exerRcice
Programmer une fon
Bainbridge a propose une formule donnant la vitesse de nage v d'un potsson (en cms") en fonction de
sa longueurL(exprimée en cm) et de la fréquence f des battements de sa queue par seconde :y = 7 L (3/4),
1. Calculer a vitesse d’un poisson de 16 cm et qui avance avec 15 battements de queue par seconde.
2. Programmer une fonction permettant d’obtenir Ia vitesse de nage d'un poisson connafssant sa longueur
et la fréquence de ses battements de queue.
3. Comment peut-on afficher avec cette fonction la vitesse d’un poisson de longueur 30 cm et dont
la fréquence des battements de queue est de 20 battements par seconde ?
Soe:
cuter une fonction
def comp():
1. Soit la fonction comp programmeée ci-contre dans le langage Python. i
while ico:
Qu’obtient-on comme affichage aprés avoir appelé cette fonction ? print(i)
i=it1
def pair():
2. onmodiea fonction cmp. Quobtentoncommeattchage aprésavoirapelé Sth
la fonction pair?
print(k)
isiel
Partie 1+ Notions de base w Fonctions 27 BeNotions de base
EXERCICE @ Compléter une fonctic
1, Compléter la fonction mini, dont on donne le programme incomplet
c
return\,
def cube(x)
eturn(x*x*x)
for k in range(i,11)
print (cube(. »
def fac(a):
bet
for i in range(1,a+1):
b-bd
return(b)
2. Comment peut-on calculer le produit 1 x 2 x 3 x 4 x 5 en utilisant la fonction fac?
3. Que calcule cette fonction pour un entier anon nul ?
Caine de carctves
Sees (7)
Canadas eating act
On veut programmer en langage Python une fonction qui a pour argument un mot ou une phrase
et qui renvole en sortie le nombre de fois oii la lettre « @ » se trouve dans ce mot ou cette phrase.
Dans la fonction ci-contre, len(ph) calcule la longueur de la chaine
de caractéres ph.
1, Compléter le programme c-contre.
2, Modifier cette fonction afin qu'elle renvoie la fréquence de la lettre
«a» dans la phrase ou le mot.
der
n=
for 4 an range(. DS
Af pnt
returnin)‘each Laptop ede
(d= Sie
148 Triangle rectangle
} Exécuter et comprendre une fonction + Compléter une fonction
1, Ona programmeé une fonction dans le langage Python. aA
a. Que renvole ((3,4,5)? return(a**2+b**2-c**2)
b. Que renvoie ((5,4,3) ?
&. Que renvoie (a,b,c) lorsque a, b,c sont les longueurs des trois cotés d'un triangle rectangle ?
2. Compléter le programme de la fonction
trirec, en faisant appel a la fonction §, afin
que la fonction trirec renvoie si le triangle
ABC de cOtés a,b, cest ounonuntriangle def
rectangle. or . or
(or est lécriture dans le langage Python du ‘wien eee)
connecteur ou vu en raisonnement logique.)
Sa
1, Ona programmé en langage Python la fonction nisi dont argument est |def nbdv(a):
un entier naturel a non nul. (restefa,i) donne le reste de la division dea par i.) "
a. Que signifie instruction reste(a,i)=:
def (a,b,c)
return(a**2+b**2-0842)
Arec(a,bye}
else:return("triangle non rectangle")
Diviseurs dun entier
Exécuter et comprendre une fonction « Modifier une fonction
for i in range(1,a#1):
if reste(a,i
nenel
return(n)
b. Que renvoie nbdv(6) ?
¢. Que renvoie cette fonction pour un entier naturel a non nul ?
2. Modifier cette fonction en une fonction divi qui affiche tous les diviseurs d'un entier naturel « non nul.
Calculs jolumes:
EXERCICE By
Comprendre et compléter une fonction
On rappelle que le volume d'une pyramide est donné parla formule V = + base x hauteur.
Ona programmé ci-contre, en langage Python, une fonction appelée volpy. %°F ip pase shaven)
1. Que retourne cette fonction ? return(V)
2. Compléter, en faisant appel ala fonction volpy’, —[ ger yoinyrect (Longueur, largeur,nauteur):
la fonction programmeée ci-contre afin qu’elle renvole
le volume d’une pyramide de base rectangulaire rataral¥}
a partir de sa longueur, sa largeur et sa hauteur.
Partie 1+ Notions de base w Fonctions 29 Be
Notions de baseFonctions numeriques
3 Généralités sur les fonctions - Variations
Intervalles.
EXERCICE By
Compléter un algorithme + Me
1, Compléter 'algorithme suivant :
SaisirA et X
si
[Alors Afficher « X ©1421»
‘Sinon Afficher «X @ A; +=»
2. Modifier V’algorithme précédent pour quil affiche en sortie si le nombre X saisi appartient ou non
intervalle [A ; 6], les réels A et B étant entrés en début d’algorithme,
A, BetX sont des flottants
SaisirA, Bot X
[Alors Afficher
‘Sinon Alficher
Intervalles, Instruction condtionnelle (iH) > p.16
EXERCICE =
Compléter un programme « Ecrire un programme
1, Compléter le programme suivant écrit en langage Python.
Xef loat (input ("X="))
Af >, and Xe,
print(*Le nonbre X appartient @ L'intervalle 12;7[")
2. En utilisant les connecteurs logiques and et or, écrire un programme qui affiche un message sile nombre X
saisi, appartient a la réunion des intervalles [1 ;9] et (14 ; 201. (I
Fonctions : généralités: Algorithme - Variables - Affectation —- p.3
EXERCICE By
Comprendre un algorithme
On considére V’algorithme ci-contre. et Ycont dee Flttants
1. Onentre la valeur 2. Quelle est la valeur affichée en sortie ? Demander la valeur de X
Affecter a ¥ lavaleur X°- X
Afficher
2, On entre la valeur -1. Quelle est la valeur affichée en sortie ?
3. Cet algorithme permet d’afficher image d'un réel X par une fonction f. Déterminer l'expression de f.‘each Laptop ede
Déterminer Vexpression de f.
Fonctions Boucle bornée « POUR » (For) -» p.18
ood remem 5A, u
Comprendre un programme y
ae og
‘On considére le programme ci-contre écrit en langage Python. = _
‘Lloat (input ("X: a
1, On entre la valeur 3. Quelle est la valeur affichée en sortie ? —E
for I in range(1,4): 2
‘Y=X*Y
2. Ce programme permet d'afficher Image d'un réel X parunefonctionf. print (¥) t
Ls
q
c
oO
u
Fonctions : ensemble de définition
Instruction conditionnelle (If) p.14
eet tee ety 55
On considare la fonction g définie sur }-1 ; +21 par g(x)
Compléter un algorithme » Moc
2+x
x1
1. Compléter Valgorithme ci-contre pour qu'il affiche en sortie
image par la fonction g du réel X entré.
et Y sont des flottants
Saisir la valeur de X
Yprend ta vateur
Afficher
2. Modifier 'algorithme précédent pour quill affiche un message d’erreur si le nombre saisi n’appartient pas
ensemble de definition de g et qu'il calcule son image s'il appartient a l'ensemble de definition.
Entrée Saisie la valeur de X
Traitement — Si
et sortie Alors
SSinon Yprend la valeur i
t Afficher :
Fin $i i
(1 pete
EXERCICE HY
On considére la fonction f définie sur R par f(x) = 2x3 - 3x + 1 et on note, sa courbe représentative dans un
repare,
Compléter un algorithme « Programmer un algorithme
1. Compléter 'algorithme suivant pour qu'il affiche si un point, dont on.
non ala courbe€,.
sit les coordonnées, appartient ou
‘sont des flottants
Demander le valeur de X
Demander la valeur de ¥
Traitement Si
et sortie Alors Afficher « Le point appartient 8G,»
Sinon Afficher « Le point appartiont pas a,»
2. On saisit ~ 1 pour X et 2 pour Y. Quiaffiche 'algorithme ?
3. Programmer cet algorithme. (2
Partie 2 + Fonctions numériques » Généalités sur les fonctions —Vaviations 31 BSFonctions numeriques
32
Fonctions : tableau de valeurs, « POUR » (For) > p.18
eXeERCICeE &y
On considere la fonction f définie sur intervalle (0; 10] par f(x) = x24 5x +3.
1. Quelles sont les valeurs affichées par le programme ci-contte écrit,
en langage Python ? for i in range(9,11):
Yai **2457143
print (Y)
Comprendre un programme + Modifier un programme
2. Comment modifier algorithme précédent pour que celui-ci permette de compléter le tableau de valeurs
ci-dessous?
x | 0 | of 02035 06 7 | 08 | os | 1
fx)
Fonetions : généralités Instruction conditionnelle (If) > p.14
dente 58
Comprendre un programme
Le programme c-contre, écrit en langage Python, permet de définirune fonction. “sae F(x);
1. Quelle valeur est retournée lorsqu’on saisit dans la console : if X p. 14.
EXERCICE Be ;
Ecrire un algorithme + Programmer un algorithme
On considere la fonction f définie sur R par : fx
1, Calculer les images par f des réels-5 ;2;-1,7;3;0.
X+1sixsOetflx)=x+1six>0.
2. Compléter algorithme ci-dessous pour quill affiche l'image par f d'un réel X saisi.
3, Programmer cet algorithme. (0‘each Laptop ede
exerRcice @
On considére la fonction f définie sur [0 ; 100] par f(x) =x? +x + 200.
On admet que la fonction fest croissante sur [0 ; 100].
1. Quel est le maximum de f sur l'intervalle [0 ; 100]?
2. Compléter I'algorithme ci-dessous pour qu'il affiche le plus petit entier naturel n tel que f(n) = 15.000.
Net Ysont des entiers
1 prend la valeur 0
Y prend la valeur 200,
Traitement Tent que
Fonctions numeriques
IW prond ta valeur N+ 1
¥prend la valeur V3 + N + 200
Fin Tant que
Aficher
3. Programmer cet algorithme. (a
4. Déterminer lentier 2 cherché.
EXERCICE @
Compléter un algorithme + Mo
On considére la fonction f définie sur Vintervalle (0 ; 20] par f(x) =x?~27x? + 135x +7.
On admet que le maximum de la fonction fest atteint pour un entier N de l'intervalle [0 ; 20].
1. Compléter lalgorithme suivant pour qu'il affiche le maximum M de f.
et program
Testun entier
‘Met F sont des flotants
Initialisation Mf prend la valeur 7
Traitement Pour [variant de1 8 20 faire
F prond la valeur P= 27 12+ 1351+
si
[Alors
Fin Si
Fin Pour
2. Comment modifier 'algorithme précédent pour qu'il affiche également I'entier N’ pour lequel fatteint son
‘maximum ?
3. a, Programmer ce deuxiéme algorithme. CB
b, Déterminer le maximum M de la fonction f sur (0 ; 20] et lentier V pour lequel il est atteint.
Partie 2 + Fonctions numériques = Généralités sur les fonctions —Variations 33, BSFonctions numeriques
© Fonctions de référence
Fonction affine Algorithme - Variables - Affectation —> p. 3
EXERCICE We
ampléter un programm
1. Soit fla fonction définie sur R par f(x) =~ 5x + 3 et @ la droite représentative de f.
a. Calculer f(0). En déduire les coordonnées du point d'intersection de % et de I'axe des ordonnées.
b, Résoudre ’équation f(x) = 0. En déduire les coordonnées du point dintersection de @ et de 'axe
des abscisses.
2. Solt gla fonction définie sur R par g(x) = ax + b, ou a et b sont a-rioseinpatea))
des réels non nuls.
Soit (d) la droite représentative de g. A
Compléter le programme cl-contre, écrit en langage Python, afin quill print (®,. .)
affiche les coordonnées des points d'intersection de (d) et des axes du X=
repere, lorsque l'on saisit les valeurs de a et de b. print(x,0)
Instruction congitionnelle (if) -> p. 14
Boucle non bornée « TANT QUE » (While) ~> p. 22
Fonctions ~ p. 26
exercice FE
Un magasin de location de scooters ,
srictie lestaresercontre: Moins de & heures: 1,60 € Iheure et 1,40 € de frais de dossier
A partir de 8 heures: 1,40 € rheure et 3 € de frais de dossier
Compléter un programme
1. Calculer le prix a payer pour:
a. Sheures de location:
b, 20 heures de location
2. On note Pla fonction qui, au nombre x d’heures de location, associe le prix & payer (en euros).
Compleéter les phrases suivantes:
-S10-p.18
EXEREICE 6 __ eee
Comprendre un algorithme
ABCD est un carré et M est un point qui se déplace sur le segment [AB].
zee
On pose AM = x, x appartenant a I’intervalle [0 ; 4].
On note Vix) Vaire de la surface colorée en vert et R(x) 'aire de la surface colorée
en rouge. d
1. Donner expression de V(x) et celle de R(x):
Vey =
RQ) = a iB
2. On donne un algorithme. Le faire fonctionner en complétant le tableau ci-dessous.
=< | novos
Traitement Pour Kvariantde Qa 4faire Fin de la 1 itération: | o oO 16
tects Vprendtavateursk = Findela2eitération = :
R prend ta valeur 16-V Fin de la 3* itération: 2
Afficher Vet R | Fin dela 4° itération
Fin Pour a - Fin de la 5° itération:
3. Quel este role de cet algorithme?
4. Par quelle instruction peut-on remplacer instruction: «R prend la valeur 16 - V»?
Fonction aff
TANT QUE » (WI
exerRcice &
Compléter un program
Armelle souhaite travailler quelques heures par mois dans un musée, afin de gagner un peu d'argent.
Ala suite d'un entretien, deux possibilités d’indemnisation lui sont proposées.
Premiere proposition :8 € par heure.
Deuxiéme proposition : versement de 91 € en début de mois, puis 5 € par heure.
Soit fet g les fonctions qui, au nombre « d’heures travaillées par mois, associent la somme que percevrait
Armelle respectivement avec la premiere proposition et avec la deuxiéme proposition.
1. Si Armelle travaille 21 heures par mois, quelle est la proposition la plus intéressante pour elle ?
2. Donner, pour x appartenant a [1 ; 40], 'expression de la fonction fet celle de la fonction g.
SG)
Bix)
3. Compléter le programme ci-contre, écrit en langage Python,
afin quill affiche le nombre d’heures 8 partir duquel la premiere
proposition devient plus intéressante que la deuxiéme proposition.
BRANT nrnrnened
Fonctions numeriques
Partie 2«Fonections numériques » Fonctions de référence 35 BSFonctions numeriques
ct tata a da? AN
exercice Oe a
On considére deux algorithmes.
Algorithme 1 Algorithme 2
Demander la valeur de X Demander la valeur de X
Afecter 8 Ylavaleur X+2 Traitement Affecter a Yla valeur X? + 4X +
Affoctor 8 Yla valour Y2=1
Alficher
1. Lorsque l'on saisit
a. avec algorithme 17
=3, quelle valeur est affichée en sorti
b. avec lalgorithme 2?
2. Quel que soit le nombre saisi, la valeur affichée en sortie par 'algorithme 1 est-elle la méme que celle
affichée par lalgorithme 2 ? Justifier.
Fonction carré
eXERCICE &
Compléter un programme
1, Lacourbe ci-contre est celle de la fonction carré sur Vintervalle
(-2;2).
Dans chaque cas, déterminer le minimum m et le maximum M_
de la fonction carré sur 'intervalle donné.
a.Sur[1;2}: om et M=
b.Sur[=2; 1]: m= et Ms
Sur[-2;-1]: m= et M=
2, On note m le minimum et M le maximum de la fonction carré
sur un intervalle {a ; 6] donné (aveca
retournent respectivernent le plus grand et le plus petit me
de deux nombres donnés en arguments. else
print("Le mininun est :*,m)
Print("Le maxinun est :"4M)‘each Laptop ede
Fonction polyname
de degré 2
Instruction conditionnolle If)» p. 16
Boucle non bornée « TANT QUE » (While) — p. 22
EXERCICE By
On considére la fonction fdéfinie sur Vintervalle [5 ; 20] par f(x) =x?~ 10x + 10.
Ona ttracé ci-contre, a I'aide d'une calculatrice, la courbe représentative de /.
1. Justifier, a aide du graphique, que l’équation f(x) = 0a une unique solution
dans l'intervalle [5 ; 20]. On note x, cette solution.
Comprandre at complater un algorithme + Programmer un algorithme
2. a. Déterminer le signe de /(5) f(6).
Entrée Demander les valeurs de a et dep
Dprend lavalaur a +p
Traitement Tent que fla) f(b) > O faire
b,x, appartient-ila intervalle [5 ; 6] ?
et sortie ‘a prend lavaleur b
3. On considate lalgorithme ci-contre. D prend la valeur a +p
a. Faire fonctionner cet algorithme en complétant le tableau
ci-dessous avec a =5 et p= 1 comme entrées.
a b Condition f(a) x f(b) > 0
Avant le début de la boucle 5 6 Wrai car: (5) = -15 et (6) = -14 donc /(5) x f(6) > 0.
Aprés le 1% passage danslaboucle 6 7
b. Quelles sont les valeurs affichées en sortie ?
. Quel encadrement de x, peut-on en déduire ?
4, a, Programmer cet algorithme. (a
b, Utiliser ce programme pour donner un encadrement de x, d’amplitude p= 0,1.
5. Dans cette question, fest la fonction définie sur 'intervalle (5 ; 20] par f(x) = x‘~ 10x +21
a. Quelles sont les valeurs affichées en sortie par I'algorithme ?
b. Verifier que 7 est une solution de ’équation f(x) = 0.
c. Completer la suite d’'instructions ci-dessous, destinée a remplacer la demiére Instruction « Afficher a et b »
de l'algorithme, afin que soit affichée la solution de ’équation f(x) = 0 lorsque cest possible.
ifta) xf) =0 |
Alors Afficher a et>
Sinon Si,
\Alors Afficher « a est solution »
'sinon
Fin Si
Fonctions numeriques
Partie 2«Fonetions numériques » Fonctions de éférence 37 BSFonctions numeriques
Fonction polyné
exeRcice @
On considére la fonction g définie sur R par g(x) = 2x24 3x41.
1, Pour quelle valeur de x a fonction g admet-elle un extremum ?
2. Cet extremum est-il un maximum ou un minimum ?
3. Quel est le réle du programme ci-dessous, écrit en langage Python ?
mearxtx+baxec
kefloat (input ("k ="))
if em:
print(*2 solutions")
if kee:
print(*une seule solution")
at ken:
Fonction inverse Boucle bornée « POUR » (For) >
&XERCICE
Compléter et programmer un algorithme
Dans un repere orthonormé d’unité graphique 1 cm, on a tracé la courbe
représentative de la fonction inverse sur 'intervalle 0; +. On construit 1
nrectangles de largeur 1 cm et de hauteurs 1 em, 3 cm, 4 am, ..., bem.
La figure ci-contre a été réalisée pour
oT 2 3 4
1. Dans chacun des cas suivants, calculer la valeur exacte de ’aire (en cm?) de la surface formée par n rectangles :
a. pour =3:
b.pourn=4:
2, On donne un algorithme. Le compléter par une des instructions ci-dessous afin quill affiche laire
de la surface formée par n rectangles. Programmer cet algorithme. (9
Sprendlavaleurz | SpprendiavvaleurS ++ | Sprend{avvaleurS +
Siprend lavaleur S + |
fest un flottant.
Ketn sont des entiers
Entrée a
Initiation 5 pend a valour 0
‘Trattement Pour Kvarant de 18 faire
Doe
Fin Pour
Sortie Alfcher S‘each Laptop ede
Fonction inve Boucle non bornée « TANT QUE » (Whil
EXERCICE
Comprendre un algorithme
ABCD est un rectangle dont I’aire est égale 4 10 cm?
On note AB = x, avec x appartenant a lintervalle [1 ; 10].
Soit fla fonction quia tout réel x de [1 ; 10] associe la longueur BC.
1. Donner 'expression de f.
On donne un algorithme. Le faire fonctionner en complétant le tableau ci-dessous.
X et Ysont des flottanis
X prend a valeur 1
19
Yprend a valeur 1
XY Condition ¥>2
Avant le début de la boude 110 Vraicar 102
Apresle 1 passagedanslabouce 2 © 5 — VraicarS>2
Apresle2*passagedanslaboucle 3 =33
raltement Tent que Y= 2faire
\X prend la valeur X +
10
Y prend ta valeur 12
Fin Tant que
Sortie Afficher X
b. Quelle est la valeur affichée en sortie?
&. Quel est le role de cet algorithme ?
3. Ecrire un programme qui affiche, au millimetre prés, la valeur de x a partir de laquelle la longueur BC est
strictement inférieure a la longueur AB. Quelle est la valeur affichée ? C9
La valeur affichée est :
Fonction inverse Boucle bornée « POUR » (For)
X p.3
EXERCICE
Comprendre un algorithme * Programmer un algorithme
1, Rappeler les formules permettant de calculer les coordonnées du milieu d'un segment [AB] dans un repére
A partir de celles des points A et B.
2. On considere l'algorithme suivant :
pip ety sont des
Sasinieetd 5
Traitement x prend la valeur >
t+
vy prend la valeur
Alfcher x,
a. On entre 3 pour x, et 1 pour yx. Quelles sont les valeurs affichées en sortie ?
b, Interpréter géométriquement les valeurs affichées en sortie dans le cas général.
3. Programmer cet algorithme. C9
Soit A le point de coordonnées (- 1 ; 2) dans un repere orthonormé,
def (xB, yB):
1. On considere le programme de la fonction I. cl-contre écrit desqrt (xB+1)**24(yB-2)**2)
en langage Python. return(d)
a. On saisit L(7,17) dans la console. Quelle est la valeur retournée ?
b. Quel est le role de cette fonction ?
2. On considere le cercle € de centre A et de rayon 5.
a. Le point E de coordonnées (7 ; 17) appartient-il au cercle ? Justifier.
b. En utilisant la fonction précédente, écrire un programme qui, a partir de la saisie des coordonnées x. et J,
du point B, affiche « oul » si B appartient au cercle © et « non » si B n’appartient pas a ce cercle. C0EXERCICE
Dans un repére du plan, on considére les points A(2; 5) et M,(6 ; 9).
1. Déterminer les coordonnées du point M, milieu du
segment [AM].
Compléter un algorithm:
2. On note M, le milieu du segment [AM,].
Determiner les coordonnées du point M,. Traitement
3. On poursuit le processus : M, est le milieu de [AM,]
puis M, est le milieu de [AM,], etc.
Compléter Valgorithme ci-contre pour qu'il affiche les
coordonnées du point M,,.
4, Programmer cet algorithme.
Configurat
EXERCICE
ns du plan Boucle non bor
Test un entier
sy at yy sont des flottants
sy Prend ta valour
Geometrie
dy Prend ta valeur
Pour Ivariant de 1 faire
ln rend la valeur
‘yu rend la valeur
Fin Pour
fe « TANT QUE » (While) -> p. 22
Analyser une situation + Compléter un programme,
On considére un triangle OM,M, isocéle rectangle
My
en M, tel que OM, =10 cm. On note T, ce triangle.
On construit ensuite le triangle OM,M, rectangle
isocéle en M,. OnnoteT, cedeuxleme triangle.
n continue la construction et on obtient les
triangles T,, T,... (voir figure ci-contre).
1. a. Justifier l'égalité OM, = /200.
My ‘| lo
M,
b. En déduire faire of, en cm? du triangle T,. Quel estle rapport “7 ou sf, est'aire en cm? du triangle T, ?
2. On admet que aire de chaque triangle est le double de I'aire du triangle précédent.
a. Convertir 5 m2 en cm2
b. Compléter le programme ci-contre, écrit en langage Python,
pour quill affiche le numéro N du premier triangle dont Iaire est
supérieure ou égale a5 m2.
a50
Nev
hie,
PRIME ernneored
Partie 3» Géomérie « Géométrie plane 41 BSGeometric
Equations de droites Instruction congitionnelle (if) p.
EXERCICE &Y
1, Compléter 'algorithme suivant pour qu'l affiche lorsqu’ll existe le coefficient directeur de la droite (AB) &
Partir de la saisie des coordonnées des points A et B.
Compléter un algorithme + Programmer un algorithme
i momnra enn
Variables
Entrée Saisie yy Ty CL Yp
Traitement Si.
et sortie
[Alors Afficher « La droite (AB) n'a pas de coefficient directeur »
Sinon Affecter & ala valeur
Alficher a
Fin Si
2, Programmer cet algorithme, CZ
Equations de droites Instruction conditionnelle (If) > p.14
EXERCICE 78 nen _[reresen coin et
On considére la droite d, d’équation y = 2x + 3 et la droite d, d’équation y = ax + 5 of a est un nombre réel.
Ecrie un algorithme permettantd'affiche sles droites det, sont sécantes ou non a partir de la salsle
du réela.
Variable aestun flottant
Entrée Saisira
Traitement
et sortie
Algorithme - Variables ~ Affectation ~> p.3
Fonctions ~ p. 26
Equations de droites
EXERCICE
Analyser une situation + Ecrire un programme
On considére les droites d, et d, d’équations respectives y = 3x +b, ety
1, Justifier que les droites d, et d, sont sécantes.
+ by.
2. Soit (x,;,) le couple des coordonnées du point |, Intersection des droites d, et d,, Montrer que x, = b, -b,.
3. Programmer une fonction d’arguments b, et b, qui retourne les coordonnées du point |. CI
Equations de droites Boucle bornée « POUR » (For) > p. 18
EXERCICE BY
Compleéter un algorithme
Soit A(2 ; 4) et B(- 6; 0) deux points du plan.
1, Déterminer une équation de la droite (AB).‘each Laptop ede
2. Déterminer l'ordonnée du point C de la droite (AB) ayant pour abscisse - 2.
Lordonnéedupaint Cest 2.
3. Compléter 'algorithme ci-dessous pour qu'llaffiche ordonnée de chaque point de la droite (AB) d’abscisse
entiére comprise entre 0 et 8.
Testun enter
yest un flottant
Pour [variant de a
yy prond la valour:
laficher y
Fin Pour
Fe — p.26
exerRcice & snares
Soit A(1; 3), B(4; 7), Clxciy¥¢) et Dlxp yp) quatre points du plan.
1, On suppose dans cette question que x¢=~2et ye=
Déterminer les coordonnées du point D pour que le quadrilatére ABDC soit un parallélogramme.
Ecrire un programme
2. Démontrer que le quadrilatére ABDC est un parallélogramme si et seulement six, =x-+3 et yn=ye+4.
3. Ecrire le programme d'une fonction d’arguments x, et y, retournant les coordonnées du point D tel que
Je quadrilatére ABDC soit un parallélogramme a partir de la saisie des coordonnées du point C. Ca
[Algorithme - Variables - Affectation -> p.2
Soe:
Dans un repre, on considare les vecteurs ii(-3 ;5) et (a; b) ola et b sont deux réels.
Ecrire un algorithme
Pour tout réel k on définit le vecteur w= i+ kv.
1. Déterminer en fonction de a, b et k les coordonnées du vecteur iv.
2. En.utilisant la structure ci-dessous, écrire un algorithme permettant d’afficher les coordonnées du vecteur if
partir de la saisie des coordonnées du vecteur Vet du réel k.
ys Ye b LE sont des flottants
Saisir a, Detk
Partie 3» Géométrie ® Géométrie plane
GeometrieGeometric
© Géométrie dans l’espace
Géométrie dans tespace Algorithme Variables ~ Affectation -» p. 3
EXERCICE BY
Comprendre un algorithme * Modifier un algorithme
Une boite en forme de pavé droit a pour dimensions a, b etc.
On donne 'algorithme ci-contre.
1. Onsaisita =3, b= 5 et.
b,c, X sont des flottants
Saisie a,b,c
= 10. Quel est affichage en sortie ? Affecter a Xlavaleur ax bc
Alfcher X
2, Que fait cet algorithme ?|
3. Modifier cet algorithme afin qu'il affiche en sortie l'aire de la surface laterale de cette boite,
Géométrie dans (espace [Boucle non bornée « TANT QUE » (While) > p. 22
ex p.3
exercice &B Suaigues Fonetions -> p. 26
Compléter un programme
Dans une résidence universitaire, ily a 150 chambres de 12 m? et 250 chambres de 18 m?.
1. Calculer la superficie moyenne (en m2) d'une chambre de cette résidence.
2. a. Compléter le programme ci-contre, écrit en langage Python,
afin que Ia fonction moyenne 2 retourne la moyenne de deux valeurs
X1 et X2 deffectits respectifs N1 et N2.
b. Comment peut-on afficher avec cette fonction moyenne 2
la superficie moyenne calculée dans la question 1?
(00,1 x2,N2)
Statistiques et probabiltes
Wes/N
return (i)
Statistiques Boucle non bornée « TANT QUE » (While) -» p. 22
p. 26
Compléter un programme * Modifier un programme
for i im range(.. ~~ ssoud
2, Quelles modifications faut-il apporter a cette fonction afin qu’elle andint (0,1)
retourne la fréquence de « Pile » obtenus ?
return(P)
3. Quelles modifications faut-il apporter a cette fonction afin qu’elle simule m lancers successifs ?
Simulation d'une expérience aléatoire f Instruction conditionnelle (If) -> p. 4
eXeERCICE BY
Lalgorithme ci-contre simule un jeu
opposant Fatima a Maél :ces deux
enfants lancent chacun séparément un
dé équilibré.
Comprendre un algorithme
‘Act B sont des entiers
‘A prend pour valour un enti aléatoire compris entre 1 ot
2B prend pour valeur un entier aléatoire compris entre 1 et
SiA>B
1. Quel est 'affichage en sortie quand : [Alors Afficher A
a. A prend la valeur 6 et Bla valeur 5? [Sinon Afficher B
b.A prend la valeur 3 et B la valeur 4?
ae
b.
2, Decrire la regie au jeu que simute cet aigoritnme.
0 Echantillonnage Boucle bornée « POUR » (For) -> p.18
Comprendre un algorithme * Programmer un algorithme
On considere I'algorithme ci-dessous.
1. Onsaisit en entrée
Que fait cet algorithme ?
1N.TetR sont des entiers
Demander la valeur de N
Pour variant de 1 aN faire
[Affecter & Run enter aléatoire compris entre 1 et
Aficher R
Fin Pour
2. Programmer cet algorithme.‘each Laptop ede
Fin Si
d= eae a
g
Une boite contient 5 billes rouges, Golerae 8
8billes noires et 10 billes jaunes. Affecter&R un enter albatoire compris entre 1 ot. 8
On tire au hasard une bille dans la peau SiRS5 a
Rottetetionsnofeisaicouleun. et sortie [Alors Afficher « la bill tirée est rouge» -
1. Compléter I'algorithme ci-contre Isinon Si a
afin de simuler cette experience Alors Affichor 8
aleatore. Sinen Aficher 4
2. Programmer cet algorithm: Fini é
i
u
Boucle bornée « POUR » (For) -> p. 18
Echantillonnage Instruction conditionnelle (I -> p. 14
EXERCICE
Comprendre un programme + Modifier un programme
Le programme ci-contre, écrit en langage Python, simule la répétition
d'une expérience aléatoire. ee
1. On suppose que la variable R prend successivement les valeurs for i in range(1,11):
3,5,1,4,2,3,2,5,1,2 Rerandint(1,5)
Quelle valeur est affichée ? if R
print(s)
2. Préciser ce que fait ce programme.
3. Donner une expérience aléatoire que peut simuler ce programme.
4. Quelles modifications doit-on apporter a ce programme pour afficher la fréquence de « 5 » obtenus ?
EXERCICE Gy
On lance deux dés équilibrés. On calcule le produit des numéros apparus sur la face supérieure
de chacun des dés. Ecrire un programme qui simule cette expérience aléatoire.
Analyser une situation + Ecrire un programi
Partie 4 + Statistiques et probabilités m Echantillonnage et probabilités 47 SBStatistiques et probabiltes
deme 9,
On lance un dé équilibré a quatre faces jusqu'a ce que ’on obtienne
le numéro 4 sur sa face supérieure.
‘On veut écrire un programme qui donne en sortie le nombre delancers de dé | Rrrandint(\,")
nécessaires afin dobtenitr 4 (on dit que Cest le « temps d’attente » while, :
pour obtenir le 4). Ne
1. Compléter le programme c-contre, écrit en langage Python. Re
2. Modifier ce programme afin que cette épreuve soit répétée 200 fois aia a
et que l'on affiche en sortie la moyenne de ces 200 temps d'attente
our obtenit le numéro 4.
[Instruction conditionnelle (If) >
ERCICE
On veut savoir si une piace de monnaie est truquée. Pour cela, on la lance N fois (avec N’> 25)
et on siintéresse ala fréquence d’apparition du c6té « Pile » de la piéce.
1. On fait hypothése que la piéce n’est pas truquée. Déterminer un intervalle de fluctuation au seuil de 95%
de la fréquence de « Pile » dans les échantilions de taille NV.
2. Sur N lancers, le nombre de « Pile » obtenus est n. On souhaite que la fonction piece truquée, dont on
donne le programme en langage Python ci-dessous, donne une régle au seuil de 95 % pour décider si une
pice de monnaie est truquée ou non.
Compléter ce programme.
(and est Fécriture dans le langage Python du connecteur « et »en raisonnement logique.)
def piece truquée(n,N)
i
i
|Programmation avec Scilab et Xcas
Scilab sil Xeas | 23
‘Quand on ouveele logiciel, une fenétre | Uédlteur apparait Vécran au démarrage.
appelée console apparaitalécran. Dans le menu [Lon choisit
Onsalsitle programme dans léditeut
fa 7” ‘Cliquer sur [Annuier] pour un programme,
eee Owitedeuren quant sr [or [pour une enon
programme On vas Taligne aprés chaque instruction, mais on peut taper plusieurs instructions
surla méme ligne en les séparant par un point-vrgule.
SaisirA Azinput("A= input(A) ou saisir(A)
spt) ou avec le module «lycée > -
Afficher A oe print(A) ouafficher(A)
pr eeale dispoui") print(oui") ou affcher‘ou'")
Affecter 8 Blavaleur de A BoA BA
Ecrire des commentaires On écrit es commentaires sur une ligne, précédés de /
TestersiA =BIsiA=B ASB AcoB ASB. AB
TestersiA = B/siA =B 25-8 ACB po=8 ACB
AetB/AouB ARB AB ActB AouB
Si {condition ©) iooaee ee si {condition C}
Alors tinstructions A} = alos (instructions A}
Sinon struction Sacto sinoninstucton
end
Pour variant de 1m foristin pourkde Tjusquen
{instructions} {instructions} “aire instructions}
Fin Pour end fpour
Tant que (condition Cy while (condition Ch ‘antique (condition C)
{instructions} {instructions} ‘ire {instructions}
Fin Tant que end frantque
aa fenciony Taba Vidiac
une fonction f ve onan retourne «I
Racine carrée dex sartte) sat
xa puissance n xn
x epi pi
Reste dela division
area restelo.t) irem(ab)
Pies tirage_reel(2,0) hasardiab)
Se tirage_entier(1,2,b) hasard(1ab)
Longueur dune chaine
aes length) dimi©)
Extraire un caractére d'une eae 7
Parair wicreaeed part(Cl renvoie lek élément de | Ck renvoie le (k-+1}¢ élément de C
Concaténation de deux bei’ "oig"donne"SBcdehs?
onemieneton de oes abcd "ea" donne abcde
r liquer sur [> ou sur ie
(Exéeaterun programme ee Gliquer sur HKUn CE
pour la rentrée 2017
La collection Indice vous accompagne pour une mise en ceuvre
des aménagements du programme de la classe de Seconde
de mathématiques qui seront appliqués a la rentrée 2017.
CAHIER
Une nouvelle édition du manuel avec un nouveau ——_Une nouvelle édition du cahier d'algorithmique 2*
chapitre Algorithmique et programmation et une _entiérement remis a jour pour initier vos éleves a
mise a jour des autres chapitres, conformément —_'algarithmique et 8 la programmation, en particulier
‘aux aménagements du programme, avec le langage Python,
OFFERT
Version numérique
avec les corrigés a projeter
Affichez les corrigés en un clic
sans connexion Internet.
Démonstrations et détails de l'offre
sur www.bordas-indice.fr
SPECIMEN ENSEIGNANT
IBeN 978-2-04733528 z=S
obraanar!s35zea
www.editions-bordas.fr