Vous êtes sur la page 1sur 52

de

2
Pr
og
ra
m
m
e
2
0
1
9

e
ic
d
n
on
I
cti
C o ll e
Programmation en PYTHON

On saisit le programme dans l’éditeur.

Créer un nouveau

On va à la 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.

from lycee impor t* avec EduPython

Impor ter un module from nom_du_module impor t*

pour la bibliothèque lycée

Afficher A print(A)

Affecter à B la valeur de A B=A

Écrire des commentaires On écrit les commentaires sur une ligne, précédés de #

Tester si A = B / si A ≠ B A==B A!=B

A>=B A<=B
Tester si A ≥ B / si A ≤ B

A et B / A ou B A and B A or B

Si {condition C} if {condition C}:

Il n’y a pas d’instruction de fin : c’est l’indentation

Alors {instructions A} {instructions A}

(le décalage vers la droite) qui indique les instructions

Sinon {instructions B} else:

faisant par tie de la structure conditionnelle.

Fin Si {instructions B}

L’instruction for i in range(n) fait parcourir à la variable i tous

les entiers de 0 à n – 1.

L’instruction for i in range(n ,n) fait parcourir à la variable i


0

tous les entiers de n à n – 1.


Pour i variant de 1 à n 0

for i in range(1,n+1):
L’instruction for i in range(n ,n,p) fait parcourir à la variable i
{instructions} 0

{instructions}
lesentiers de n jusqu’à l’entier immédiatement inférieur
Fin Pour 0

ou égal à n – 1 avec un pas de p

Comme pour if, on utilise l’indentation pour indiquer

les instructions faisant par tie de la boucle.

Tant que {condition C}

while {condition C}: Comme pour if et for, on utilise l’indentation pour indiquer

{instructions}

{instructions} les instructions faisant par tie de la boucle.

Fin Tant que

def f(a,b,c,…):

Définition On peut aussi écrire:

y= ….

d’une fonction f return y au lieu de return(y)

return(y)

Racine carrée de x sqr t(x) dans la bibliothèque lycée ou le module math

x à la puissance n x**n

π pi dans la bibliothèque lycée ou le module math

Reste de la division

a%b avec la bibliothèque lycée fmod(a,b) pour la calculatrice NumWorks

de a par b

Nombre décimal aléatoire

uniform(a,b) avec la bibliothèque lycée ou le module random

compris entre a et b

Entier aléatoire compris

randint(a,b) avec la bibliothèque lycée ou le module random

entre a et b

Longueur d’une chaîne

de caractères C / len(C) C[k] renvoie le (k + 1) élément de C

Extraireuncaractère de C

Concaténation de deux

“abcd” + “efg” donne “abcdefg”

chaînes de caractères

Booléens True ( Vrai) False (Faux)

Exécuter un programme Onglet Exécuter


de

2
Pr
og
ra
m
m
e
2
0
1
9

e
ic
d
n
on
I
cti
C o ll e

Catherine Lebert

Michel Poncy

Denis Vieudrin
e r i a m m o S
A. Algorithme – Variables – Affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

B. Programmation d’un algorithme en langage Python . . . . . . . . . . . . . . . . . . . . . . . 8

C. Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

D. Instruction conditionnelle (If ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

E. Boucle bornée (For) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

F. Boucle non bornée ( While) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

A. Fonctions de référence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

B. Généralités sur les fonctions – Variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

A. Statistiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

B. Échantillonnage et probabilités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

La première partie du cahier comprend toutes les bases de l’algorithmique et de la pro-

grammation : variables, affectation, fonctions, instr uction conditionnelle, boucle bornée

et non bornée, avec l’utilisation du langage de programmation P y thon.

Les exercices de cette par tie ne nécessitent pas de connaissances spécifiques de la classe de

Seconde, même si les notions abordées ont toute leur place en Seconde.

Les quatre autres parties proposent des exercices sur les quatre grands thèmes du nou-

veau programme de la classe de Seconde : Ensembles et nombres, 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 et de programmation mobilisées dans l’exercice.

Cette nouvelle édition :

 tient compte des nouveaux programmes de Seconde à la rentrée 2019 ;

 utilise le langage Py thon préconisé par ce programme ;

 respecte l’évolution de l’écriture des algorithmes conforme aux directives de septembre

2017 avec la suppression de la déclaration des variables, la suppression des entrées-sor ties

et un aménagement de la syntaxe (utilisation du symbole pour l’affectation).

Crédit iconographique p. 26 Beboy/Fotolia.

Les pictos mentionnent les corrigés des programmes Python des exercices disponibles

gratuitement sur lesite indice.editions-bordas.fr et dans la version vidéoprojetable

ducahier. Pour chaque exercice, vous pourrez accéder à 5 fichiers différents :

 un fichier pour un poste informatique (utilisable avec EduP y thon, Idle, P yzo…)

 un fichier pour la calculatrice Ti 83 Premium CE de Texas Instruments

 un fichier pour les calculatrices Graph90+E et Graph35+EII de Casio

 un fichier pour la calculatrice Numworks

 un pdf avec les captures d’écran de ces 4 fichiers

© BORDA S/SEJER – Paris, 2019 ISBN 978-2-04-733725-7


esab

1
A
Algorithme – Variables – Affectation

eitrap
 Algorithme et notion de variable

ed
Un algorithme est une suite finie d’instructions à appliquer dans un ordre déterminé à un nombre fini

snoitoN
de données pour arriver, en un nombre fini d’étapes, à un certain résultat.

Pour stocker un résultat, on utilise une variable. On peut se représenter une variable comme une « boîte », un

emplacement de la mémoire d’un ordinateur… Pour pouvoir accéder à son contenu, on lui donne un nom.

E x e m p l e 1 : u n p r o g r a m m e d e c a l c u l

On peut ici utiliser une variable, que l’on nomme X, qui contient les résultats
Choisir le nombre 7

obtenus à la fin de chaque étape du programme de calcul.

Multiplier ce nombre par 2

Ajouter 3 au résultat

7 14 17

X X X

Une variable est désignée par un nom. Elle contient une valeur. On utilise quatre types de valeurs:

–entier (nombre entier relatif) ;

–flottant (nombre à virgule) ;

–chaîne de caractères: suite ordonnée de caractères, un caractère étant un chiffre, une lettre, un symbole…

–booléen: variable qui ne prend que deux valeurs (Vrai ou Faux), sa valeur est en général donnée par un test.

Remarques:

1) "Année" est une chaîne de cinq caractères. On dit que c’est une chaîne de longueur 5.

Le premier caractère de cette chaîne est A, son deuxième caractère est n, son troisième est n…

2) Les chaînes de caractères peuvent «s’ajouter», c’est-à-dire se mettre bout-à-bout (on parle aussi de concaté-

nation de chaînes de caractères). Par exemple, "Année" + "2017" = "Année2017"

3) La variable b contenant le test (6.4) est de type booléen, sa valeur est Vrai

 L’affectation

Lorsque l’on donne une valeur à une variable X, on écrit l’instruction : X ……

On lit: «X reçoit ……» ou «X prend la valeur …….»

La nouvelle valeur remplace la valeur précédente.

Algorithme correspondant au programme de calcul de l’exemple1:

La variable X contient d’abord 7. X 7

X 2X
La valeur de X est ensuite multipliée par 2: elle devient donc 2X

X X + 3
Elle est enfin augmentée de 3: elle devient donc X+3.

E x e m p l e 2 : u n a u t r e a l g o r i t h m e

A et valeur de la variable B
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

après l’exécution de chaque instruction :


A B

A 3 3 La valeur de A est 3 et B n’a pas encore de valeur.

B A +1 Comme la valeur de A est 3, la valeur de B est : 3 + 1, soit 4

3 4

La valeur de A ne change pas : elle reste égale à 3

A A + B Comme la valeur de A est 3 et que celle de B est 4, la nouvelle valeur


7 4

de A est : 3 + 4, c’est-à-dire 7

La valeur de B ne change pas : elle reste égale à 4

Par tie 1  Notions de base Algorithme – Variables – Affectation 3


esab
1
eitrap

E X E R C I C E 1
Comprendre un algorithme

On donne deux algorithmes S et S , où la variable A S S


ed

1 2 1 2

est une chaîne de caractères. A "bonjour" A "bonsoir"


snoitoN

A "bonsoir" A "bonjour"

1. a. Après l’exécution des instructions de S , la valeur de la variable A est: . . . . .bonsoir


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Après l’exécution des instructions de S , la valeur de la variable A est: . . . . .bonjour


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. L’ordre dans lequel on écrit des instructions a-t-il de l’importance?

Oui,
. l’ordre
. . . . . . . . dans
. . . . . . . . . . . . . . . . . . . . . . lequel on
. . . . . . . . . . . . . . . . . . écrit
. . . . . . . . . des instructions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .a
. . .de l’importance.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 2
Comprendre un algorithme

Soit deux variables A et B

A 1

1. Justifier qu’à l’issue des instructions ci-contre, la valeur de la variable B est égale à 12.
B 3

A A + B

B A × B

À
. . . .l’issue
. . . . . . . . . . . .de la
. . . . . . . . . .3 instruction,
. . . . . . . . . . . . . . . . . . . . . . . . . . la
. . . . valeur de
. . . . . . . . . . . . . . . . . .A
. . . . est 1
. . . . . . . . . .+ 3,
. . . . soit
. . . . . . . . . . .4 et
. . . . . . . .la
. . . . valeur de
. . . . . . . . . . . . . . . . . .B
. . . .est
. . . . . . 3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

À
. . . .l’issue
. . . . . . . . . . . .de la
. . . . . . . . . .dernière
. . . . . . . . . . . . . . . .instruction,
. . . . . . . . . . . . . . . . . . . . . .la
. . . .valeur
. . . . . . . . . . . . de B
. . . . . . est
. . . . . . . . . .4
. . .× 3,
. . . . . . . .soit 12.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On ajoute l’instruction C (A = 12). Quel est le type de la variable C? Quelle est la valeur de la variable C?

C
. est
. . . . . . . . . .de type
. . . . . . booléen.
. . . . . . . . . Comme
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A n’est
. . . . . . . . . . . . . . pas égal
. . . . . . . . . . . . . . . .à
. . . 12, C
. . . . . . . . . . .contient
. . . . . . . . . . . . . . . .la
. . . . valeur False
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 3
Comprendre un algorithme

1. a. Joe a écrit la valeur de la variable X après l’exécution de chaque instruction de l’algorithme ci-dessous.

Deux valeurs sont fausses. Corriger son travail.

Correction
X

X 4 4 4

X 2X 8 8

faux
X X + 3 7 8
. . . . . . . . . . .+ 3
. . . . =
. . . . . . 11
. . . . . . . . . . .

faux
X X × X 16 11
. . . . . . . . . .×
. . . .11
. . . . .=
. . . .121
. . . . . . . . .

b. On remplace la première instruction par « X a », a étant un réel donné.


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Quelle est, parmi les valeurs ci-dessous, celle de la variable X après l’exécution de ces instructions ?

2 2 2

 2a + 3 
 (2a + 3)  2(a + 3)

2. a. Écrire la valeur de la variable X après l’exécution de chaque instruction


X

de l’algorithme ci-contre.

X 4 . . . . . . . . . . . . 4
. . . . . . . . . . . . . .

b. On remplace la première instruction par « X a », a étant un réel

X X + 3 4
. . . . . . +
. . . . . . 3 =
. . . . . . .7
. . . . . . .

donné.

X X × X 7
. . . . . ×
. . . . . .7 =
. . . . . . . 49
. . . . . . . .

Quelle est la valeur de la variable X, après l’exécution de ces instructions ?

X 2X . . . 2 ×
. . . . . . . 49 =
. . . . . . . . . 98
. . . . . . .

La
. valeur
. . . . . . . . . . . . . . . . .de
. . . . .X est
. . . . . . . . . . .2(a +
. . . . . . . . . . 3)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4
esab

1
eitrap
E X E R C I C E 4
Comprendre et modifier un algorithme

On donne ci-contre un algorithme.

ed
A 10

B 15
1. Quelles sont les variables utilisées ?

snoitoN
P A + B

Les
. . . . . . . variables sont
. . . . . . . . . . . . . . . . . . A,
. . . . . . . . . B,
. . . . . P
. . . . . . . . et
. . . . .T
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

P 2P

T (P .100)

2. a. Déterminer la valeur de P après l’exécution de la dernière instruction.

Après
. . . . . . . . . . . .la
. . . .troisième
. . . . . . . . . . . . . . . . . .instruction, la
. . . . . . . . . . . . . . . . . . . . . . . . . .valeur
. . . . . . . . . . . . de P
. . . . . . . . . est 10
. . . . . . . . . . . .+ 15,
. . . . . . . . . . soit
. . . . . . . .25.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Après
. . . . . . . . . . . .la
. . . .dernière
. . . . . . . . . . . . . . . . instruction,
. . . . . . . . . . . . . . . . . . . . . .la
. . . . valeur de
. . . . . . . . . . . . . . . . . .P est
. . . . . . . . . .2
. . .× 25,
. . . . . . . . . .soit 50.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. On considère un rectangle de largeur 10cm et de longueur 15cm. À quoi correspond cette valeur de P ?

La
. valeur
. . . . . . . . . . . . . . . . .de
. . . . .P
. . . .correspond au
. . . . . . . . . . . . . . . . . . . . . . . . . . .périmètre
. . . . . . . . . . . . . . . . . . .du
. . . . . .rectangle.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Quelle est la valeur de la variable T?

Comme
. . . . . . . . . . . . . . .P
. . . .n’est pas
. . . . . . . . . . . . . . . . .strictement
. . . . . . . . . . . . . . . . . . . . . .supérieur
. . . . . . . . . . . . . . . . . .à
. . . 100, T
. . . . . . . . . contient
. . . . la
. . . . . . . . . . . . . . . . valeur
. . . . . . . . . . . . . . . .False
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Modifier la dernière instruction afin que la valeur de P, après l’exécution de cette instruction, soit égale

àlamoyenne des nombres 10 et 15.

On
. remplace
. . . . . . la
. . . . . . . . . . . . . . . . . . dernière
. . . . . . . . . . . . . . . . . . . .instruction par
. . . . . . . . . . . . . . . . . . . . . «
. . . . . . . . .P
. . . . . . . . . . . . P/2 ».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 5
Comprendre et compléter un algorithme

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 B

A B

1. a. Dans chacun des cas suivants, écrire la valeur de la variable A et celle de la variable B après l’exécution

de chaque instruction.

A B A B

5 7 5 7

A B
⇒ . . . . . . .7. . . . . . . . . . . . . . .7. . . . . . . .
B A
⇒ . . . . . . .5. . . . . . . . . . . . . . .5. . . . . . . .

A B
B A ⇒ 7 7
⇒ 5 5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Ces deux algorithmes permettent-ils d’échanger les valeurs de A et de B ?


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Non,
. . . . . . . . . .ces deux
. . . . . . . algorithmes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ne
. . . . . .le
. . . .permettent
. . . . . . . . . . . . . . . . . . . . . .pas.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On crée une nouvelle variable : C. Compléter l’algorithme ainsi que le tableau ci-dessous, afin qu’après

l’exécution de la dernière instruction, la valeur de A soit égale à 7 et que celle de B soit égale à 5.

A B C

5 7

C A ⇒ 5
. . . . . . .5 7 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .

A B ⇒ 5
. . . . . . .7 7 . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .


B . . .C 5
. . . . . . .7 5
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Algorithme – Variables – Affectation 5


Chaînes de caractères
esab
1
eitrap

E X E R C I C E 6
Comprendre un algorithme

Dans l’algorithme ci-contre, les variables C, C1, C2, C3 et S


ed

C "MOT"

er
contiennent des chaînes de caractères.
C1 1 caractère de C
snoitoN

C2 2 caractère de C

1. Que contient la variable S après l’exécution de cet algorithme?

C3 3 caractère de C

C1
. . . . . . .reçoit
. . . . . . . . . . . M, C2
. . . . . . . . . . . .reçoit
. . . . . . . . . . . O
. . . . et C3
. . . . . . . . . . . reçoit T.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

S C3 + C2 + C1

Donc
. la
. . . . . . . . . . . . . .variable S
. . . . . . . . . . . . . . . . . . .contient
. . . . . . . . . . . . . . . .TOM.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. À la fin de cet algorithme, on ajoute l’instruction «S S + S ». Que contient la variable S après

l’exécution de cette dernière instruction?

S
. . . .contenait
. . . . . . . . . . . . . . . . . . TOM. Comme
. . . . . . . . . . . S
. . . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . .S +
. . . . . . . S,
. . . . .elle
. . . . . . . contient
. . . . . . . . . . . . . . . . désormais
. . . . . . . . . . . . . . . . . . . .TOMTOM.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Aire et volume

E X E R C I C E 7
Comprendre et modifier un algorithme

On considère un carré de côté C (en centimètres) que l’on agrandit en ajoutant

K
K centimètres à chacun de ses côtés.

Dans l’algorithme ci-dessous, les variables A, B, C, D et K contiennent des nombres positifs.

C
A C × C

C C + K

C K

B C × C

D B A

1. a. Si les variables C et K contiennent respectivement 10 et 3 avant l’exécution

de cet algorithme, que contient la variable D à la fin de son exécution?

A
. reçoit
. . . . . . . . . . . . . . .100, C
. . . . . . . . . . . . .reçoit
. . . . . . . . . . . 13 et
. . . . . . . . . .B
. . . . reçoit 169.
. . . . . . . . . . . . . . . . . . . . Donc D
. . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 169–100.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

À
. . . .la
. . . . fin
. . . . . .de l’exécution
. . . . . . de
. . . . . . . . . . . . . . . . . . . . . . . . . .cet
. . . . . . algorithme, la
. . . . . . . . . . . . . . . . . . . . . . . variable
. . . . . . . . . . . . . . . . . . .D contient
. . . . . 69.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Quel est le rôle de cet algorithme?

Il
. calcule
. . . . . . . . . . . . . . . .la
. . . . différence entre
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . l’aire
. . . . . . . . . . du
. . . . . .carré
. . . . . . . . . .agrandi
. . . . . . . . . . . . . . .et l’aire
. . . . . du
. . . . . . . . . . . . . . . carré
. . . . . . . . . . initial: il
. . . . . . . . . . . . . . . . .calcule
. . . . . . . . . . . . . donc
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

l’aire
. . . . . . . . . . de
. . . . . .la
. . . .surface
. . . . . . . . . . . . . .colorée en
. . . . . . . . . . . . . . . . . . . .orange.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On considère désormais un cube de côté C (en centimètres) que l’on agrandit en ajoutant K centimètres

àchacun de ses côtés.

a. Quelles instructions de l’algorithme faut-il modifier pour que la variable D contienne la différence entre

lasurface latérale du cube après agrandissement et celle avant agrandissement?

On
. remplace
. . . . . . «A
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C
. . . .× C
. . . . . . . .»
. . . .par
. . . . . . . . «A 6
. . . . . . . . . . . . . . . . . . .×
. . . C ×
. . . . . . . .C
. . . .»
. . . . et
. . . . . . «B C
. . . . . . . . . . . . . . . . . . . .×
. . .C »
. . . . . par
. . . . . . . . . . . .«B
. . . . . . . . . . . . . . .6
. . .× C
. . . . . . . .×
. . .C ».
. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

b. Quelles instructions de l’algorithme faut-il modifier pour que la variable D contienne la différence entre

levolume du cube après agrandissement et celui avant agrandissement?

On
. remplace
. . . . . . «A
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C
. . . .× C
. . . . . . . .»
. . . .par
. . . . . . . . «A
. . . . . . . . . . . . . . . .C. . . .×
. . . C ×
. . . . . . . .C
. . . .»
. . . . et
. . . . . . «B C
. . . . . . . . . . . . . . . . . . . .×
. . .C »
. . . . . par
. . . . . . . . . . . .«B
. . . . . . . . . . . . . . .C
. . . .× C
. . . . . . . .×
. . .C ».
. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Dans cette question, les cubes sont remplis d’eau. Reprendre la question précédente en exprimant

lesvolumes en litres.

On
. peut
. . . . . . . . . . . . . . .remplacer «A
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .C
. . . .× C
. . . . . . . .». . . .par
. . . . . . . . «A C
. . . . . . . . . . . . . . . . . . . .×. . .C ×
. . . . . . . .C/1000» et
. . . . . . . . . . . . . . . . . . . «B
. . . . . . . . . . . . . . . . . . . . .C
. . . .× C
. . . . »
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

par
. «B
. . . . . . . . . . . . . . . . . . . . . . .C
. . . .× C
. . . . ×
. . . . . . .C/1000».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6
esab

1
eitrap
E X E R C I C E 8
Compléter un algorithme

Julien parcourt 60 km sur une route nationale à la vitesse moyenne de 80 km/h

ed
D1 60

et 350 km sur une autoroute àla vitesse moyenne de 110 km/h.


D2 350

snoitoN
V1 80
1. Compléter l’algorithme ci-contre pour qu’à la fin de son exécution,

V2 110
la variable T contienne la durée du trajet de Julien (en heures).

T1 . . . . . . . . . . .D1/V1
. . . . . . . . . . . . . . . . . . .

T2 . . . . . . . . . .D2/V2
. . . . . . . . . . . . . . . . . . . .

T T1 + T2

2. À 80 km/h, la consommation de carburant est de 4 litres aux 100 km et à 110 km/h, elle est de 6 litres

aux 100 km.

a. Calculer la quantité de carburant consommé sur la portion de route nationale.

. . . . . . . . . ×60=2,4. Il
. . . . . . . . . . . . . . . . . . . . . . . . .faut
. . . . . . . .2,4 litres
. . . . . . . de
. . . . . . . . . . . . . . .carburant
. . . . . . . . . . . . . . . . . . .pour parcourir
. . . . . . . . . . . . . . . . . . . . . . . . . . .les
. . . . . .60 kilomètres
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100 D1 60

sur
. . . . . . .la
. . . . route
. . . . . . . . . . .nationale.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
D2 350

C1 . . . 4*D1/100
. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C2 . . . . . .6*D2/100
. . . . . . . . . . . . . . . . . . . . . . .

b. Compléter l’algorithme ci-contre pour qu’à la fin de son exécution, la variable M


C C1 + C2

contienne la consommation moyenne de carburant (en litres aux 100 km)

M 100*C/(D1
. . . . . . . . . . . . . . . . . . . . .+ D2)
. . . . . . . . .

sur le trajet de Julien.

E X E R C I C E 9
Comprendre un algorithme

On donne ci-dessous trois algorithmes.

1 2 3
A Z 1 Z Z 1 Z Z 1

B A² A Z² B Z²

C Z + 1 Z Z + 1 A Z + 1

D C² B Z² C A²

Z B + D Z A + B Z B + C

1. Dans chaque cas, déterminer ce que contient la variable Z à la fin de l’exécution de l’algorithme lorsqu’elle

contient en début d’algorithme la valeur 3.

Pour le premier algorithme: .


Z . . .a
. . . la
. . . . valeur 3;
. . . . . . . . . . . . . . . . . .A. . . .reçoit
. . . . . . . . . . . Z 1,
. . . . . . . . et
. . . . . . . . donc
. . . . . . . . . . 2;
. . . . . B
. . . . reçoit A²,
. . . . . . . . . . . . . . . . . . et
. . . . .donc
. . . . . . . . . .4;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C
. reçoit
. . . . . . . . . . . . . . .Z +1,
. . . . . . . . . . . et
. . . . .donc
. . . . . . . . . .4;
. . . . .D
. . . . reçoit C²
. . . . . . . . . . . . . . . . . et
. . . . .donc
. . . . . . . . . .16.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Enfin,
. Z
. . . . . . . . . . . reçoit
. . . . B
. . . . . . . . . . . +
. . . . . . .D et
. . . . . . . . . donc
. . . . . . . . . .4+16:
. . . . . . . . . . . . . .en fin
. . . . . . d’algorithme,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Z contient
. . . . 20.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pour le deuxième algorithme: .


Z . . .a
. . . la
. . . . valeur 3;
. . . . . . . . . . . . . . . . . .Z reçoit
. . . . . . . . . . . . . . .Z
. . . . . . .1,
. . . . et
. . . . .donc 2;
. . . . . . . . . . . . . . .A
. . . .reçoit
. . . . . . . . . . . Z² et
. . . . . . . . . .donc
. . . . . . . . . .4;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Z
. . . .reçoit Z
. . . . . . . . . . . . . . .+1 et
. . . . . . . . . . . donc
. . . . . . . . . . 3; B
. . . . . . . . . reçoit Z²
. . . . . . . . . . . . . . . . .et
. . . . donc
. . . . . . . . . . 9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Enfin,
. Z
. . . . . . . . . . . reçoit
. . . . A
. . . . . . . . . . . . . . .+
. . . B
. . . . et
. . . . .donc
. . . . . . . . . .4+9: en
. . . . . . . . . . . . . . . . .fin
. . . . . .d’algorithme,
. . . . . . . . . . . . . . . . . . . . . . . . .Z
. . . .contient
. . . . . . . . . . . . . . . . 13.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Pour le troisième algorithme: .


Z . . .a
. . . la
. . . . valeur 3;
. . . . . . . . . . . . . . . . . .Z reçoit
. . . . . . . . . . . . . . .Z
. . . . . . .1,
. . . . et
. . . . .donc 2;
. . . . . . . . . . . . . . .B
. . . .reçoit
. . . . . . . . . . . Z²
. . . . . et
. . . . .donc
. . . . . . . . . .4;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A
. reçoit
. . . . . . . . . . . . . . .Z +1
. . . . . . . . . . et
. . . . .donc
. . . . . . . . . .3;
. . . . .C
. . . .reçoit A²
. . . . . . . . . . . . . . . . .et donc
. . . . . 9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Enfin,
. Z
. . . . . . . . . . . reçoit
. . . . B+C
. . . . . . . . . . . et
. . . . . . . . . . . . . . . . donc
. . . . . . . . . .4+9:
. . . . . . . . . . . .en
. . . . . fin
. . . . . .d’algorithme, Z
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . contient
. . . . . . . . . . . . . . . . 13.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Lorsque la variable Z contient la valeur a au début de l’un de ces algorithmes, a étant un nombre,

ellecontient (a 1)² + (a + 1)² à la fin de l’exécution.

Quel est cet algorithme? Justifier.

C’est
. . . . . . . . . .le
. . . . premier algorithme():
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Z
. . . .a
. . .la
. . . . valeur a;
. . . . . . . . . . . . . A
. . . . . . . . .reçoit
. . . . . . . . . . .a
. . . . . . .1;
. . . . .B
. . . .reçoit
. . . . . . . . . . . A²
. . . . . .et donc
. . . . . . . . . . . . . . (a
. . . . . . . . 1)²;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

C
. reçoit
. . . . . . . . . . . . . . .a
. . .+ 1;
. . . . D
. . . . . . . . . reçoit C²
. . . . . . . . . . . . . . . . .et donc
. . . . . (a
. . . . . . . . . . . . . .+ 1)².
. . . . Enfin,
. . . . . . . Z
. . . . . . . . . . . reçoit
. . . . . . . . . . . . . . .B +
. . . . . . .D et
. . . . . . . . . donc
. . . . . . . . . .(a
. . . . . . . .1)²
. . . . . .+ (a
. . . . . . . .+ 1)².
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Algorithme – Variables – Affectation 7


esab
1

B
Programmation d’un algorithme en langage Python
eitrap

Les algorithmes peuvent être programmés sur un ordinateur ou une calculatrice avec un langage de
ed

programmation adapté.
snoitoN

Programmer un algorithme, c’est le traduire dans un langage compréhensible par un logiciel donné.

Cette page est consacrée à la découverte des premières notions du langage de programmation Python.

 La programmation en Python

Quand on ouvre l’interface d’une distribution Python, on découvre deux fenêtres: une fenêtre d’édition des pro-

grammes, l’éditeur, et une fenêtre où le programme s’exécute, la console

Dans la console, on peut:

– faire des calculs, définir des variables

et les intégrer dans des calculs;

– écrire et exécuter un programme;

– exécuter un programme saisi dans

l’éditeur et demander les valeurs prises

par les variables de ce programme.

 Les commandes de base

a) Créer un nouveau programme: dans , choisir .

On peut aussi choisir directement dans certaines versions.

b) Instruction d’affectation: c a s’écrit en code Python: c = a

c) Pour séparer deux instructions successives d’un programme, on peut soit aller à la ligne ; soit séparer ces

deux instructions parun point-virgule (;).

d) Pour exécuter un programme, cliquer sur (sur ou sur F5 selon les versions).

Remarque: on peut écrire un commentaire dans un programme en le précédant du symbole #. Ce texte n’est pas pris

en compte lors de l’exécution du programme.

e) Pour tester l’égalité de deux valeurs, on utilise l’opérateur = =

Exemple: on saisit dans la console c = 3, puis c==5. On affecte à la variable c la valeur 3, puis on teste si celle – ci est

égale à 5. C’est faux, donc le résultat affiché est: False.

Remarque: l’instruction print(a) permet d’afficher la valeur de la variable a dans un programme.

 Les commandes de calcul

Certaines commandes nécessitent un module math pour être obtenues. On l’obtient avec la commande

frommathimport* ou, avec EduPython, en choisissant le modèle Lycée après .

Les symboles opératoires +, , ×, / s’écrivent respectivement en Python: +, -, *, /

x à la puissance ns’écrit: x**n

Le reste de la division de a par bs’écrit : a%b (ou fmod(a,b) avec la calculatrice NumWorks).

Avec le module math:

La racine carrée de x (x ≥ 0)s’écrit : sqrt(x) et le nombre π s’écrit : pi


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

 Chaînes de caractères et booléens

Les chaînes de caractères se définissent à l’aide de guillemets doubles ou simples.

Par exemple: "papa" ou 'papa'.

Obtenir la longueur d’une chaîne de caractères C len(C)

Extraire un caractère d’une chaîne de caractères C C[k] renvoie le (k+1) élément de C

Concaténer deux chaînes de caractères "abcd" + "efg" donne "abcdefg"

 Le booléen Vrai est: True. Le booléen Faux est: False

8
esab

1
eitrap
E X E R C I C E 10
Utiliser des chaînes de caractères  Calculer dans la console

1. On saisit dans la consolel’instruction: A = 'pa', puis les instructions B = A + A et C = B + 'maman'.

ed
Quelestl’affichage quand on demande B? Quand on demande C?

snoitoN
Quand
. on
. . . . . . . . . . . . . . . . . . demande
. . . . . . . . . . . . . . . . . . B,
. . . . .on obtient:
. . . . . . . . . . . . . . . . . . . . . .'papa'. Quand
. . . . . . . . . . . . . on
. . . . . . . . . . . . . demande
. . . . . . C,
. . . . . . . . . . . . . . . . . . . . . .on obtient:
. . . . . . . . . . . . . . . . . . . . . .'papamaman'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On saisit dans la console: D = A + 'radis'. Quel est l’affichage quand on demande dans la console len(D), puis

D[2]?

D
. . . .a
. . . pour
. . . . . . . . . .valeur
. . . . . . . . . . . .'paradis'.
. . . . . . . . . . . . . . . . . Quand
. . . . . . . . . . . . . on
. . . . . .demande
. . . . . . . . . . . . . . . . . . len(D),
. . . . . . . . . . . . . on
. . . . . .obtient
. . . . . . . . . . . . . . 7. Quand
. . . . . on
. . . . . . . . . . . . . . . . . . demande D[2],
. . . . . . . . . . . . . . . . . . . . . . . . . . . .on obtient
. . . . . . . . . . . . . . . . . . . .r.
. . . . . . . . . . . .

E X E R C I C E 11
Comprendre et compléter un programme

On considère le programme ci-contre écrit dans l’éditeur.

1. On demande les valeurs des variables x, y et z dans la console après exécution

de ce programme. Qu’obtient-on?

On
. obtient:
. . . . . . . . . . . . . . . . . . . . . .z
. . .= 121,
. . . . . . . . . . . .y
. . .= 60,5
. . . . et
. . . . . . . . . . . . .x
. . .=
. . . .1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter ce programme afin qu’une variable de type booléen teste si z est pair.

On
. saisit
. . . . . . . . . . . . . . . .l’instruction: t=(z%2==0).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

La
. valeur
. . . . . . . . . . . . . . . . .de
. . . . .t
. . .est
. . . . . .True si
. . . . . . . . . . . . .z
. . . est pair,
. . . . . . . False
. . . . . . . . . . . . . . . . . . . sinon.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Aire et périmètre

E X E R C I C E 12
Programmer un calcul

1. Écrire dans la console les instructions qui permettent de calculer l’aire d’un triangle rectangle sachant que

les deux côtés de l’angle droit ont pour mesures respectives 2 et 5.

On
. écrit
. . . . . . les
. . . . . . . . . instructions
. . . . . . . . . . . . . . . . . . . . . . . . . . . .suivantes:
. . . . . . . . . . . . . . . . . . . .a=2;
. . . . . . . . . . . .b=5;
. . . . . . . . . . . .aire=a*b/2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

En
. . . . . .saisissant
. . . . . . . . . . . . . . . . . .aire,
. . . . . . . . .suivi
. . . . . . . . . de
. . . . . .Entrée, on
. . . . . . . . . . . . . . . . . . . obtient la
. . . . . . . . . . . . . . . . . . .valeur
. . . . . . . . . . . . de l’aire.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter ce programme par les instructions nécessaires au calcul du périmètre de ce triangle.

On
. saisit
. . . . . . . . . . . . . . . .d’abord:
. . . . . . . . . . . . . . . . .from math
. . . . . . . . . . . . . . . . . . . . import* (ou
. . . . . . . . . . . . . . . . . . . . . . modèle
. . . . . . . . . . . . . . .Lycée
. . . . . . . . . . . dans
. . . . . . . . . .EduPython).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Puis
. . . . . . . . .on écrit
. . . . . . les
. . . . . . . . . instructions:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .c=sqrt(a**2+b**2); périm=a+b+c.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 13
Comprendre un programme  Analyser une situation
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

On considère le programme ci-contre.

1. Quelle valeur obtient-on pour w dans la console?

On
. obtient
. . . . . . . . . . . . . . . . . . . .0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On modifie la première ligne avec: x = 3; y = 1.

Quelle valeur obtient-on pour w?

On
. obtient
. . . . . . . . . . . . . . . . . . . .encore
. . . . . . . . . . . . . 0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2

3. Factoriser x – y , puis expliquer les résultats trouvés.

2 2

x
. . . . .–
. . . y
. . . . .= (x
. . . . . . . .–
. . . y) (x
. . . . . . . . .+
. . . .y),
. . . . .donc
. . . . . . . . . .v
. . .= (x
. . . . . . . .–
. . .y
. . . )u:
. . . . . . .ainsi,
. . . . . . . . . . v
. . . est divisible
. . . . . . . . . . . . . . . . . . . . . . .par u,
. . . . . . . . . . . donc
. . . . . . . . . . le
. . . . reste
. . . . . . . . . . de
. . . . . .la
. . . .division
. . . . . . . . . . . . . . . de v
. . . . . . par
. . . u
. . . . . . . . . .est
. . . . . . 0.
. .

Par tie 1  Notions de base Programmation d’un algorithme en langage Python 9


esab
1

C
Les fonctions
eitrap

On peut simplifier l’écriture des programmes en utilisant des fonctions, sur le modèle des fonctions numériques étu-
ed

diées en mathématiques.
snoitoN

 Exemple de fonctions

E x e m p l e 1 : c a l c u l d ’ u n e d i s t a n c e d ’ a r r ê t

-1

La distance d’arrêt d (en mètres) d’un véhicule roulant à une vitesse v (exprimée en km.h ) sur une route

sèche peut être évaluée par la formule : d = 0,005v + 0,278v

deux points

La distance d dépend de la variable v. Pour programmer ce calcul,

on va ainsi définir une fonction, comme en mathématiques: on lui

donne un nom, arrêt et on dit qu’elle a pour argument v.

En lan gage Pyth on, on d éfini t ce tte f onct ion par la c omman de

def suivi du nom de la fonction, puis de son argument v, suivi de

deux points. indentation

Les autres instructions sont indentées par rapport à la première ligne.

Après le calcul de d, on renvoie le résultat par la commande return

-1

Pour calculer la distance d’arrêt d’un véhicule roulant à 90 km.h , on saisit arrêt (90) dans la console :

on trouve environ 65,5 m.

E x e m p l e 2 : c a l c u l d e l a s u r f a c e d e l a p e a u

La surface S en mètres carrés de la peau d’un adulte est donnée approximativement par la formule :

L × M

S = , où L est la taille de la personne exprimée en mètres et M sa masse exprimée en kilogrammes.

Pour programmer ce calcul, on définit une fonction appelée surf qui aici

deux arguments L et M et qui retourne S, celle-ci sera écrite surf(L,M)

dans le programme.

Pour calculer la surface corporelle d’un adulte de 1,80 m et 75 kg, on saisit surf(1.8,75) dans la console :

on trouve environ 1,94 m

 Définition – Programmation

Une fonction est un bloc d’instructions qui a reçu un nom et dont le fonctionnement dépend d’un certain nombre

de paramètres (les arguments de la fonction). La fonction renvoie un résultat (au moyen de la commande

return); le programme s’arrête après return

Programmation d’une fonction en langage Python


def nom_fonction(liste des arguments):

La programmation d’une fonction commence toujours par def,

bloc d’instructions

suivi du nom que l’on donne à la fonction, suivi des arguments

return(résultat)

de la fonction: cette ligne se termine par deux points (:).

Les deux points marquent le démarrage du bloc d’instructions définissant la fonction: toutes ces instructions sont

indentées, c’est-à-dire décalées vers la droite par rapport à la première ligne.

On ajoute en tête de chaque ligne du bloc le même nombre d’espaces.


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Pour renvoyer la valeur de la variable d, on peut écrire: return(d) ou return d.

On peut utiliser une fonction dans la console en donnant des valeurs aux arguments (dans le bon ordre).

Propriétés

Une fonction ne renvoie qu’un seul résultat (ce peut être une liste de résultats).

Une fonction peut n’avoir aucun argument.

Par exemple, la fonction essai() ci-contre peut être utilisée dans

un programme où on résout des équations.

 Une fonction peut être appelée dans un autre programme : il suffit pour cela de l’insérer dans une instruction en

saisissant son nom et les valeurs des arguments.

10
Fonctions affines

esab

1
eitrap
E X E R C I C E 14
Comprendre une fonction

1. Soit f la fonction programmée ci-contre en langage Python.

ed
a. Que renvoie f(1)? f(–2)? f(–1)
. . . . . . . . . . .renvoie 3
. . . . . . . . . . . . . . . ×
. . . . . .1 –
. . . . 1
. . . . . .= 2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

snoitoN
f(–2)
. . . . . . . . . . .renvoie 3
. . . . . . . . . . . . . . . ×
. . . . . . (–2)
. . . . . . . . .– 1
. . . . =
. . . . . . –7.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Que permet de faire cette fonction?

Cette
. . . . . . . . . . .fonction
. . . . . . . . . . . . . . . . permet de
. . . . . . . . . . . . . . . . . . . .calculer
. . . . . . . . . . . . . . .l’image
. . . . . . . . . . . . . . d’un réel
. . . . . . . . . . . . . . . . .x
. . . par
. . . . . . . la fonction
. . . . . numérique
. . . . . . . . . . . . . . . . qui
. . . . . . . . . . . . . . . . . . . . . à
. . . . . . . . . x associe
. . . . 3x
. . . . . . . . . . . . . . . . . . .–
. . . 1.
. . . . . . . . . . . . . . . . . . .

2. On a programmé une nouvelle fonction nommée affine

a. Quels sont les arguments de cette fonction?

Cette
. . . . . . . . . . .fonction
. . . . . . . . . . . . . . . .a
. . . trois arguments:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .a,
. . . .b
. . . et
. . . . .x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Quel va être l’affichage si on demande affine(1,2,3) dans la console?

affine(1,2,3)
. . . . . . . . . . . . . . . . . . . . . . . renvoie
. . . . . . . . . . . . . . .1×3
. . . . . . . . . .+ 2
. . . . . . .= 5;
. . . . l’affichage
. . . . . sera
. . . . . . . . . . . . . . . . . . . . . . . . . . . .5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Que retourne l’instruction affine(2,1,3) = 7 dans la console?

affine(2,1,3)
. . . . . . . . . . . . . . . . . . . . . . . renvoie
. . . . . . . . . . . . . . .les
. . . . . .valeurs
. . . . . . . . . . . . . .2
. . .× 3
. . . . +
. . . . . .1
. . .= 7
. . . . . . .donc affine(2,1,3)
. . . . . . . . . . renvoie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . True
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pourcentages

E X E R C I C E 15
Comprendre une fonction

A B
En prévision des soldes, un commerçant s’apprête à modifier ses étiquettes.

A
1. Calculer le prix que doit inscrire le commerçant sur l’étiquette % %
0 0
3 6
– –

30
40
. . . . . .–
. . .40 ×
. . . . . . . . . . . . . . . . . .= 40
. . . . . . . . .–
. . . 12 =
. . . . . . . . . 28.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .€ . . . . . . . . . . . . .€

100

Le
. commerçant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . doit inscrire
. . . . . . . . . . . . . . . . . . . . . . .28
. . . . . euros.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Voici le programme d’une fonction écrit en langage Python.

a. Quelle est la valeur affichée dans la console quand on saisit solde(40, 30)?

30
40
. . . . . .–
. . .40 ×
. . . . . . . . . . . . . . . . . .= 28.
. . . . . . . . . .La
. . . . .valeur
. . . . . . . . . . . . affichée
. . . . . . . . . . . . . . . .est
. . . . . . 28.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

100

b. Quel est le rôle de ce programme? Ce


. . . . . .programme
. . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . . le prix
. . . . . d’un
. . . . . . . . article
. . . . . . . . . . . . . . . . . . . . .soldé, lorsque
. . . . . . . . . . . . . . . . . . . . . . . . . .l’on
. . . . . . . .saisit
. . . . . . . . . . . . . . .

comme
. . . . . . . . . . . . . . .arguments de
. . . . . . . . . . . . . . . . . . . . . . . . . .la
. . . . fonction
. . . . . . . . . . . . . . . . solde
. . . . . . . . . . .l’ancien
. . . . . . . . . . . . . . . prix
. . . . . . . . et la
. . . . . . . . .remise
. . . . . . . . . . . . .effectuée.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B
c. Que doit saisir le commerçant afin de compléter l’étiquette ?

Le
. commerçant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . doit saisir
. . . . . . . . . . . . . . . . . . .solde(55,
. . . . . . . . . . . . . . . . . 60)
. . . . . . .dans la
. . . . . . . . . . . . . .console.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Calcul algébrique

E X E R C I C E 16
Programmer une fonction

-1

Bainbridge a proposé une formule donnant la vitesse de nage V d’un poisson (en cm.s ) en fonction de sa

longueur L (exprimée en cm) et de la fréquence f des battements de sa queue par seconde: V = L (3 f − 4) .

4
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

1. Calculer la vitesse d’un poisson qui mesure 16 cm et qui avance avec 15battements de queue parseconde.

1
-1
V = × 16 × (3 × 15 − 4) , soit
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .V =
. . . . . . . . 164
. . . . . . . .cm.s
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Programmer une fonction permettant d’obtenir la vitesse de nage


def vitesse(L,f):

def V=L*(3*f-4)/4

de queue.

def return(V)

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?

On
. demande
. . . . . . . . . . . . . . . . . . . . . . . .vitesse(30,20)
. . . . . . . . . . . . . . . . . . . . . . . . . .dans la
. . . . . . . . . . console.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Les fonctions 11


esab
1
eitrap

E X E R C I C E 17
Comprendre une fonction

On donne ci-contre deux programmes écrits en langage Python


ed

1. Qu’obtient-on si on saisit b()+ b()+ b() dans la console?


snoitoN

On
. obtient:
. . . . . . . . . . . . . . . . . . . . . .'. . bonjour bonjour
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .bonjour
. . . . . . . . . . . . . . . .'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Qu’obtient-on si on saisit message("Mael","Lola") dans la console?

On
. obtient:
. . . . . . . . . . . . . . . . . . . . . .'. . bonjour Mael
. . . . . . . . . . . . . . . . bonjour
. . . . . . . . . . . . . . . . . . . . . . . . .Lola
. . . . . . . .'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 18
Analyser une situation  Écrire le programme d’une fonction

Le droit d’entrée journalier dans un parc aquatique est 37€ pour un adulte et 28€ pour un enfant.

1. Un groupe est formé de x adultes et de y enfants. Quel est le prix payé par le groupe?

Le
. prix
. . . . . payé
. . . . . . . . . . . . . . . . . par
. . . . . . . le groupe
. . . . . est:
. . . . . . . . . . . . . . . . . . . . . .37
. . . . .× x
. . . . . . .+ 28
. . . . . . . . .×
. . . y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Programmer une fonction dont les arguments sont le nombre

def
. . . . . . . . .parcaqua(x,y):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

d’adultes et le nombre d’enfants d’un groupe et qui retourne le prix

. . . . . . . . .return(37*x+28*y)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

payé par le groupe à l’entrée de ce parc aquatique.

Périmètre et aire d’un triangle

E X E R C I C E 19
Écrire le programme d’une fonction

1. Programmer en langage Python une fonction dper de paramètres

def
. . . . . . . . .dper(a,b,c):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

les côtés d’un triangle a, b, c et qui retourne le demi-périmètre

. . . . . . . . .d=(a+b+c)/2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

decetriangle.

. . . . . . . . .return(d)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a + b + c

Le
. demi-périmètre
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .d’un
. . . . . . . . . triangle de
. . . . . . . . . . . . . . . . . . . . .côtés
. . . . . . . . . . a, b,
. . . . . c
. . . . est:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Le mathématicien grec Héron d’Alexandrie a établi la formule

def
. . . . . . . . .héron(a,b,c):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

suivante qui donne l’aire s d’un triangle decôtés a, b, c

. . . . . . . . .p=dper(a,b,c)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

et de demi-périmètre p: s = p(p − a) ( p b) ( p c)

. . . . . . . . .s=sqrt(p*(p-a)*(p-b)*(p-c))
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Programmer le calcul de l’aire d’un triangle de côtés a, b, c,

. . . . . . . . .return(s)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

en faisant appel à la fonction dper

Géométrie dans l’espace

E X E R C I C E 20
Comprendre et compléter une fonction

On rappelle que le volume d’une pyramide est donné par la formule:

V = × ba se × ha ut eu r .

On a programmé ci-contre une fonction appelée volpyr


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

1. Que retourne cette fonction?

Cette
. . . . . . . . . . .fonction
. . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .le
. . . . volume
. . . . . . . . . . . . . . .d’une
. . . . . . . . . . . pyramide dont
. . . . . . . . . . . . . . . . . . . . . . . . . . . .on connait
. . . . . . . . . . . . . . . . . . . . l’aire
. . . . . . . . . . de
. . . . . .la
. . . .base
. . . . . . . . . et
. . . . .la
. . . . hauteur.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter, en faisant appel à la fonction volpyr, le programme de la fonction ci-dessous afin qu’elle renvoie

le volume d’une pyramide de base rectangulaire à partir de la longueur et de la largeur de sa base, ainsi que de

sa hauteur.

def volpyrect(longueur,largeur,hauteur):

V=volpyr(longueur*largeur,hauteur)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(V)

12
Calcul algébrique

esab

1
eitrap
E X E R C I C E 21
Programmer un algorithme  Analyser une situation

On considère l’algorithme ci-contre, dans lequel la variable N

ed
2

A ←

est un entier non nul, et les variables A et B sont de type flottant.


N

snoitoN
1 1 1 1

1. Programmer cet algorithme en utilisant une fonction d’argument N


B ← + + +

N 2N 3N 6N

et qui retourne la valeur de C

C ← (A = B)

def
. . . . . . . . .som(N):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .A=2/N
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .B=1/N+1/(2*N)+1/(3*N)+1/(6*N)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .C=(A==B)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .return(C)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Faire fonctionner ce programme pour N= 5, N=10, N= 50, N=110, N= 2017. Que constate-t-on?

Ledémontrer.

En
. . . . . .demandant
. . . . . . . . . . . . . . . . . . . . . .som(5),
. . . . . . . . . . . . . . som(10),
. . . . . . . . . . . . . . . . .som(50) …,
. . . . . . . . . . . . . . . . . . . . . . on
. . . . . .constate que
. . . . . . . . . . . . . . . . . . . . . . . . pour
. . . . . . . . . .ces valeurs
. . . . . . . de
. . . . . . . . . . . . . . . . . . .N. . . . la fonction
. . . . . som
. . . . . . . . . . . . . . . . . . . . . . . . renvoie
. . . . . . . . . . . . . . . . . . .

True,
. . . . . . . . . . .donc
. . . . . . . . . .A. . . .et B
. . . . . sont
. . . . égaux.
. . . . . . . . . On
. . . . . . . . . . . . . . . . . . .conjecture
. . . . . . . . . . . . . . . . . . . .que
. . . . . . . .pour
. . . . . . . . . toute
. . . . . . . . . . . valeur de
. . . . . . . . . . . . . . . . . .N,
. . . . .A et
. . . . . . . . .B
. . . .sont
. . . . . . . . .égaux.
. . . . . . . . . . . . .Pour démontrer
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 1 6 3 2 1 12 2

cette
. conjecture,
. . . . . . . . . . on
. . . . . . . . . . . . . . . . . . . . . . . . . . peut
. . . . . . . . . .simplifier B
. . . . . . . . . . . . . . . . . . :. . .
. . . . B =
. . . . . . . . . . . . .+
. . . . . . . . . . .+
. . . . . . . . . . . +
. . . . . . . . . . . .= +
. . . . . . . . . . . . . . . . . . . . . . .+. . . . . . . . . . .+ =
. . . . . . . . . . . . =
. . . . . . . . . . . . . . . . . . . . .= A
. . . . . . . . . . . . .

N 2N 3N 6N 6N 6 N 6 N 6 N 6 N N

Géométrie dans l’espace

E X E R C I C E 22
Comprendre et modifier un programme

Une boîte en forme de pavé droit a pour dimensions a, b et c.

On donne le programme ci-dessous, écrit en langage Python.

1. Que retourne boite(3,5,10) ? boite(3,5,10)


. retourne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 ×
. . . . . . .5
. . . ×
. . . .10, soit
. . . . . . . . . . . . . .150.
. . . . . . . . . . . . . . . . . . . . . .

2. Que fait ce programme ? .


Il calcule
. . . . . . . . . . . . . . . .le
. . . . volume
. . . . . . . . . . . . . . .de la
. . . . . . boîte
. . . . . . . . . . . . . .à
. . .partir
. . . . . . . . . . . des dimensions
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . de
. . . . . .ses arêtes.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Modifier ce programme afin que la fonction boite retourne l’aire de la surface latérale de cette boîte.

On
. remplace
. . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .«
. . .d=a*b*c
. . . . . . . . . . . . . . . .»
. . .par
. . . . . . .l’instruction
. . . . . . . . . . . . . . . . . . . . . . .« d=2*a*b+2*a*c+2*b*c
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Calcul algébrique

E X E R C I C E 23
Compléter et comprendre une fonction

1. Compléter le programme de la fonction f ci-contre, écrit en langage


def
. . . . . . . . .f(b):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a=b-1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

consécutifs a, b, c (dans cet ordre) et du terme central.


c=b+1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

On complète les instructions: a=b-1, puis d=a*b*c+b


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .c=b+1
. . . . . . . . . . . . .et d=a*b*c+b
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(d)
2. On donne le programme ci-contre, écrit en langage Python.

Déterminer ce que renvoie g(2), puis g(5).

f(2)
. renvoie
. . . . . . . . . . . . . . . . . . . . .1 ×
. . . . . . .2
. . .×
. . . .3
. . .+ 2
. . . . . . .= 8,
. . . . . . . . .soit g(2)
. . . . . . . . . . . . . . . .renvoie 8
. . . . . . . . . . . . . . . . . .–. . .8
. . .=
. . . .0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

f(5)
. renvoie
. . . . . . . . . . . . . . . . . . . . .4 ×
. . . . . . .5
. . .×
. . . .6
. . .+ 5
. . . . . . .= 125,
. . . . soit
. . . . . . . . . . . . . . . . . g(5)
. . . . . . . . renvoie
. . . . . . . . . . . . . . .125 –
. . . . . . . . . . .125 =
. . . . . . . . . . . 0.
. . . . . . . . . . . . . . .

3. Que peut-on conjecturer? Démontrer cette conjecture.

On
. conjecture
. . . . . . . . . . . . . . . . . . . . . . . . . .que e
. . . . . . . . =
. . . . . .0
. . . pour toute
. . . . . . . . . . valeur
. . . . . . . . . . . . . . . . . . . . . . .de
. . . . . b, soit
. . . . . . . . . . . .f
. .(b)
. . . . . .renvoie b
. . . . . . . . . . . . . . . . . ..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 3 3

On
. calcule:
. . . . . . . . . . . . . . . . . . . . .f
. .(b) =
. . . . . . . . . (b –
. . . . . . . .1)
. . . .b (b
. . . . . . . .+ 1)
. . . . . . . .+ b
. . . . . . .=
. . . b (b
. . . . –
. . . . . . . . .1)
. . . .+ b
. . . . . . .=
. . . b
. . . . .–
. . .b +
. . . . . . .b
. . .= b
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Les fonctions 13


esab
1

D
Instruction conditionnelle (If)
eitrap

 Structure d’une instruction conditionnelle


ed
snoitoN

E x e m p l e : d é v e l o p p e m e n t d e p h o t o s

Un site internet de développement de photos propose le tirage sur papier des photos au tarif de 0,11€

l’unité ; le tarif passe à 0,08€ l’unité pour une commande d’au moins 200 photos.

On veut créer un algorithme donnant le montant dépensé pour un nombre n de tirages.

Pour cela, on doit introduire une instruction conditionnelle dans l’algorithme :

– si le nombre de photos n est strictement inférieur à 200, le montant dépensé est n × 0,11, puisque

le prix d’une photo est alors 0,11€ ;

– si le nombre de photos n est supérieur ou égal à 200, le montant dépensé est n × 0,08, puisque le

prix d’une photo est alors 0,08€

On définit deux variables : l’une n représente le nombre de tirages, l’autre M le montant dépensé

Début de l’instruction conditionnelle : si n est inférieur à 200


Si n < 200

alors le montant dépensé M est 0,11 × n


Alors M 0,11 × n

sinon le montant dépensé M est 0,08 × n


Sinon M 0,08 × n

Fin de l’instruction conditionnelle


Fin Si

C’est la structure alternative « Si… Alors… Sinon… » qui permet d’écrire l’instruction conditionnelle dans l’al-

gorithme : un test est effectué sur une condition C, et le résultat du test décide de l’exécution de la phase de

traitement.

Si {condition C}

Alors {instructions A} Si la condition C est vérifiée, seules les instructions A sont exécutées.

Sinon {instructions B} Si la condition C n’est pas vérifiée, seules les instructions B sont exécutées.

Fin Si

Remarque : on peut aussi utiliser la structure incomplète : « Si… Alors… » ; dans ce cas, si la condition C n’est

pas vérifiée, l’exécution de l’algorithme continue après le Fin Si

 Programmation

Programmation d’une instruction conditionnelle:

Python Remarques

if {condition C} :
Si {condition C}
En langage Python, il n’y a pas d’instruction

Alors {instructions A} {instructions A}


pourindiquer la fin de l’instruction conditionnelle:

Sinon {instructions B} c’est l’indentation qui décale vers la droite


else :

lesinstructions A et B.
Fin Si
{instructions B}
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Programme relatif à l’algorithme vu en exemple:

Dans le programme ci-contre, une première indentation indique

lesinstructions faisant partie de la fonction photo, et dans le programme

decette fonction, une seconde indentation indique les instructions A et B

del’instruction conditionnelle.

L’instruction return(M) permet de renvoyer le contenu delavariableM

Le "else" est aligné avec le "if" qui lui correspond.

Le fait de taper ":" puis "Entrée" pour passer à la ligne provoque l’indentation

automatique dans l’éditeur.

14
esab

1
eitrap
E X E R C I C E 24
Comprendre un algorithme

On considère l’algorithme ci-contre dans lequel X et Y sont des variables entières. Si X est un multiple de 3

ed
X
Quelle est la valeur de la variable Y en fin d’algorithme pour les valeurs suivantes

Alors Y

snoitoN
3
de la variable X ?

Sinon Y X – 3

a. X = 17 b. X = 108 c. X= 87 d. X = 2 786

Fin Si

a. Si
. X
. . . . . . . .= 17,
. . . . . . . . . .alors Y
. . . . . . . . . . =
. . . . . . . 14.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Si
. X
. . . . . . . .= 108,
. . . . . . . . . . . . comme 108
. . . . . . . . . . . . . . . . . . . . . . est multiple
. . . . . . . . . . . . . . . . . . . . . . .de
. . . . . 3, alors
. . . . . . . . . . . . . .Y
. . . .= 36.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Si
. X
. . . . . . . .= 87,
. . . . . . . . . .comme
. . . . . . . . . . . . . . 87 est
. . . . . . . . . . . .multiple
. . . . . . . . . . . . . . . . de
. . . . . .3,
. . . .alors Y
. . . . . . . . . . =
. . . . . . . 29.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

d. Pour
. . . . . . . . . .X
. . . .= 2
. . . . . . .786, alors
. . . . . . . . . . . . . . . . . .Y
. . . .=
. . . .2783,
. . . . . . . . . . . .car
. . . . . . 2786
. . . . . . . . . . . n’est
. . . . . . . . . .pas
. . . . . . .multiple
. . . . . . . . . . . . . . . . de
. . . . . .3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 25
Compléter et modifier un algorithme

Un groupe de personnes souhaite réserver un chalet pour les sports d’hiver. Le prix de lalocation à la semaine

est 800€.

Le forfait pour skier toute la semaine est de 220€ par personne, mais il existe un tarif « groupe » à180€

parpersonne à partir de 5 personnes d’unmême groupe.

1. a. Quel est le prix payé par un groupe de 4 personnes ?

800
. . . . . . . .+ 220
. . . . . . . . . . . ×
. . . .4,
. . . .soit 1
. . . . . . . . . . .680 €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Quel est le prix payé par un groupe de 6 personnes ?

800
. . . . . . . .+ 180
. . . . . . . . . . . ×
. . . .6,
. . . .soit 1
. . . . . . . . . . .880 €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter l’algorithme ci-contre afin que la variable P contienne

Si N ⩾ 5
en fin d’algorithme le prix payé par le groupe pour la semaine, selon

le nombre N de personnes du groupe. Alors P 800


. . . . . . . .+ 180
. . . . . . . . . . . ×
. . . .N. . . . . . . . .

Sinon P 800
. . . . . . . .+ 220
. . . . . . . . . . . ×
. . . .N. . . . . . . . .
3. Comment doit-on modifier cet algorithme afin qu’une variable Q

Fin Si
contienne en fin d’algorithme le prix que doit payer chaque membre

du groupe ?

On
. définit
. . . . . . une
. . . . . . . . . . . . . nouvelle
. . . . . . . . . . . . . . . . . . . . . . . .variable Q
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

P
Après
. Fin
. . . . . . . . . . . Si,
. . . . . . . . . . . .on ajoute
. . . . . . . . . . . . . . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . .:
. .« Q
. . . . . . . . . . . . . . . . . . . . . .».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 26
Compléter et programmer un algorithme

Lorsque c’est l’été en France, il y a cinq heures de décalage avec le Brésil, c’est-à-dire qu’il est 5h à Rio deJaneiro

quand il est 10h à Paris.

Si p ⩾ 5

1. Quelle heure est-il à Rio :

Alors r p
. . . .–
. . .5
. . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

a. quand il est 19 h à Paris ? b. quand il est 2 h à Paris ?


Sinon r p
. . . .+ 19
. . . . . . . . . . . . . . . . . . . . . . . . . . .

Fin Si
Il
. est
. . . . . . . . .14
. . . . . h à
. . . . . . .Rio.
. . . . . . . . . . . . . . . . . . . . . . . . . . Il
. . . .est
. . . . . . 21 h
. . . . . . . . .à
. . .Rio.
. . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter l’algorithme ci-contre afin que la variable r contienne


def
. . . . . . . . .hRio(p):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

en fin d’algorithme l’heure àRiodeJaneiro quand on donne

. . . . . . . . .if
. . . . . .p>=5:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

à la variable p la valeur de l’heure à Paris.

. . . . . . . . . . . . . . . r=p-5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Programmer cet algorithme en langage Python.


else:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . r=p+19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(r)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Instruction conditionnelle (If ) 15


esab
1
eitrap

E X E R C I C E 27
Comprendre un programme  Analyser une situation

On donne le programme ci-contre, écrit en langage Python à l’aide


ed

d’une calculatrice.
snoitoN

1. Que retourne la fonction loc quand on saisit dans la console :

a. loc(162); b. loc(625).

a. 162
. . . . . . . .⩽
. . . . .250, donc
. . . . . . . . . . . . . . . . . . c
. . .=
. . . .75 :. la
. . . . . . fonction
. . . . . . . . . . . . . . . . . . . . .loc
. . . . . .retourne
. . . . . . . . . . . . . . . . .75.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. 625
. . . . . . . .>
. . . . .250, donc
. . . . . . . . . . . . . . . . . . c
. . .=
. . . .75 +
. . . . . . . . .0,28 ×
. . . . . . . . . . . . 375
. . . . . . . .= 180
. . . . . . . . . . .:
. . la
. . . . fonction loc
. . . . . . . . . . . . . . . . . retourne
. . . . . . 180.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. L’agence de location de voitures LyonCar

utilise le programme ci-dessus afin de calculer

le coût c de la location d’une voiture pour x

75
Tarif de location : ……………… €

kilomètres parcourus.

Ce tarif permet de parcourir ……250


……… km

Compléter les informations manquantes dans Chaque kilomètre supplémentaire coûte …0,28
…… €

la plaquette ci-contre diffusée par l’agence.

E X E R C I C E 28
Analyser une situation  Écrire un programme

Un club sportif fait fabriquer des tee-shirts au nom du club. Chaque tee-shirt est facturé 4€ mais ils sont

facturés 3,50€ l’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 p le prix payé par le club.

1. Calculer p dans les cas suivants :

def
. . . . . . . . .prix(n):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a. n = 40 ; b. n = 130.
. . . . . . . . .if
. . . . . .n<100:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . p=n*4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a. Pour
. . . . . . . . . .n
. . .=
. . . .40, on
. . . . . . . . . . . .a
. . .:
. .p
. . .=
. . . .40 ×
. . . . . . . . .4,
. . . .soit 160
. . . . . . . . . . . . . . . €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

else:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Pour
. . . . . . . . . .n
. . .=
. . . .130, on
. . . . . . . . . . . . . . a :. p
. . . . =
. . . . . . . 130
. . . . . . . .×
. . . 3,5,
. . . . . . . .soit 455
. . . . . . . . . . . . . . .€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . p=n*3.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Écrire ci-contre le programme d’une fonction d’argument n

return(p)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

le prix payé par le club pour un nombre n detee-shirts commandés.

Triangle rectangle

E X E R C I C E 29
Exécuter, comprendre et compléter un programme

1. On a programmé une fonction f dans le langage Python.

a. Que renvoie f(3,4,5)? f(3,4,5)


. . . . . . . . . . . . . .renvoie
. . . . . . . . . . . . . . .0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Que renvoie f(5,4,3)? f(5,4,3)


. . . . . . . . . . . . . .renvoie
. . . . . . . . . . . . . . .32.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Que renvoie f(a,b,c) lorsque a, b, c sont les longueurs des trois côtés d’un triangle rectangle?
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

f(a,b,c)
. . . . . . . . . . . . . .renvoie 0
. . . . . . . . . . . . . . . seulement
. . . . . . . . . . . . . . . . . . . . . . .dans le
. . . . . . . . . . cas
. . . . . . . . . . où
. . . . . .c. . .représente
. . . . . . . . . . . . . . . . . . . . la longueur
. . . . . . . . . . . . . . . . . . . . . .du
. . . . . .plus grand
. . . . . . . . . . . . . . . . . . . . côté
. . . . . . . . .du triangle.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter le programme de la fonction


def f(a,b,c):

trirec, en faisant appel à la fonction f, afin

return(a**2+b**2 c**2)

que la fonction trirec renvoie si le triangle

def trirec(a,b,c):

ABC de côtés entiers a, b, c est ou non un

if f(a,b,c)==0
. . . . . . . . . . . . . . . . . . . . . . . . . . . or f(a,c,b)==0
. . . . . . . . . . . . . . . . . . . . . . . . . . . or f(b,c,a)==0
. . . . . . . . . . . . . . . . . . . . . . . . . . .:

triangle rectangle.

return("triangle rectangle")

(or est l’écriture dans le langage Python du

else:return("triangle non rectangle")

connecteur ou vu en raisonnement logique.)

16
esab

1
eitrap
E X E R C I C E 30
Comprendre un programme

On donne le programme suivant, écrit en langage Python.

ed
(or est l’écriture dans le langage Python du connecteur

snoitoN
ou vu en raisonnement logique.)

1. a. Qu’obtient-on si on demande réponse("oui") ?

On
. obtient:
. . . . . . . . . . . . . . . . . . . . . .'oui'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Qu’obtient-on si on demande réponse("yes") ?

On
. obtient:
. . . . . . . . . . . . . . . . . . . . . .'mauvaise
. . . . . . . . . . . . . . . . . . .réponse'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Décrire ce que fait ce programme. .


Ce. . . . .programme
. . . . . . . . . . . . . . . . . . . . . . demande de
. . . . . . . . . . . . . . . . . . . . . . . .répondre
. . . . . . . . . . . . . . . . . .par
. . . . . . .oui ou
. . . . . . . . . . . . par
. . . . . . . non.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Si
. l’utilisateur
. . . . . . . . . . . . . . . . . . . . . . . . . répond
. . . . . . . . . . . . . . correctement, la
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .réponse s’affiche,
. . . . . . . . . . . . . . . . sinon
. . . . . . . . . . . . . . . . . l’affichage
. . . . . . . . . . . est:
. . . . . . . . . . . . . . . . . . . . mauvaise
. . . . . . . . . . . . . . . . . . . . . . . . . .réponse.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 31
Compléter et écrire un programme

1. Compléter la fonction mini, dont on donne le programme incomplet

def mini(a,b):

ci-contre en langage Python, afin qu’elle retourne en sortie le plus petit

if(. a<b
. . . . . . . . . . . . . . . . . .):

de deux nombres.

return(. a
. . . . . . )
. . . . . . . .

2. Programmer une fonction mini4 permettant de déterminer le plus

else:

mini

return(. b
. . . . . . )
. . . . . . . .

définie dans la première question.

def mini4(a,b,c,d):

e=mini(a,b)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

f=mini(c,d)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(. mini(e,f)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)

Géométrie dans l’espace

E X E R C I C E 32
Analyser une situation  Compléter un programme

2 cm
mc 21

Une carafe est constituée d’un cylindre de révolution de hauteur 4cm et de rayon 8cm,

surmonté d’un autre cylindre de révolution de hauteur 12cm et de rayon 2cm.

3
mc 4

1. Calculer, en cm , le volume d’eau dans la carafe quand la hauteur d’eau est

xcentimètres, où x est un nombre réel compris entre 0 et 4.

3 2
8 cm
Le
. volume
. . . . . . . . . . . . . . . . . . . d’eau
. . . . . . . . . . . est, en
. . . . . . . . . . . . .cm
. . . . . . . .:. .π
. . .× 8
. . . . ×
. . . . . . . .x
. . .= 64πx
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Montrer que le volume d’eau dans la carafe quand la hauteur d’eau dans la carafe est x centimètres, où x est

un nombre réel compris entre 4 et 16, est égal à 4 πx + 240 π (en cm ).

La
. hauteur
. . . . . . . . . . . . . . . . . . . .d’eau
. . . . . . . . . . .dans le
. . . . . . . . . . . . . .cylindre
. . . . . . . . . . . . . . . supérieur est
. . . . . . . . . . . . . . . . . . . x
. . . . . . . . .–
. . .4,
. . . . donc
. . . . . . . . . . le volume
. . . . . . . . . . . . . . . . . . .d’eau
. . . . . . . . . . .est, en
. . . . . . . . . . . . .cm :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

256π + . . .π × . . .2 ×. . . (x – . . .4)
. . . . =
. . . .4πx
. . . . . . . .+ 240π
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Compléter le programme de la fonction vol_eau ci-dessous, écrit en langage Python, afin qu’elle retourne le

volume d’eau dans la carafe (en cm ) selon la hauteur d’eau h versée.

def vol_eau(. h
. . . . . . ):
. . . . . . . .

if. h<=4
. . . . . . . . . . . . . . . . . . . .:

return(. 64*pi*h
. . . . . . . . . . . . . . . . . . . . . . . . . .)

else:

return(. 4*pi*h+240*pi
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)

Par tie 1  Notions de base Instruction conditionnelle (If ) 17


esab
1

E
Boucle bornée (For)
eitrap

 Structure de la boucle « POUR »


ed

On peut répéter un bloc d’instructions un certain nombre de fois fixé au départ : on utilise alors la boucle « POUR ».
snoitoN

E x e m p l e : c r o i s s a n c e d ’ u n v i l l a g e

Un village compte aujourd’hui 2 300 habitants. Le village étant en pleine croissance, sa population aug-

mente chaque année de 150 habitants.

On souhaite élaborer un algorithme donnant le nombre d’habitants 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 l’opération qui consiste à

ajouter 150 à P : le nombre de répétitions (ou « itérations ») est connu au départ puisque c’est le nombren

d’années.

On parle de « calcul itératif ».

La variable P est initialisée à 2 300.


P 2 300

Début de la boucle : k prend la valeur 1…


Pour k variant de 1 à n

P P + 150 On ajoute 150 à P pour avoir la nouvelle valeur de P

Fin Pour Fin de la boucle : si k est inférieur à n, k augmente de 1,

sinon on sort de la boucle.

On suppose que n = 3.

k P

Avant le début de la boucle 2 300 Au début, la variable P est initialisée à 2 300.

re

Fin de la 1 itération 1 2 450 k = 1 et on ajoute 150 à P donc P = 2 300 + 150 = 2 450.

Fin de la 2 itération 2 2 600 k = 2 et on ajoute 150 à P donc P = 2 450 + 150 = 2 600.

Fin de la 3 itération 3 2 750 k = 3 et on ajoute 150 à P donc P = 2 600 + 150 = 2 750.

La variable k contrôle le nombre de répétitions. Dans l’exemple ci-dessus, k prend pour valeur initiale 1 et pour

valeur finale n en augmentant de 1 à chaque fois (cette augmentation constante est appelée « pas »).

 Programmation

Programmation de la boucle bornée:

Python Remarques

L’instruction for k in range(d, n+1) fait parcourir

Pour k variant de d à n for k in range(d, n +1):

à la variable k tous les entiers de d à n

{instructions} {instructions}

Lorsque d = 0, on peut remplacer range(d, n+1)

Fin Pour

par range(n+1)

En langage Python, les deux points « : » marquent le début du bloc d’instructions de la boucle for. Il n’y a pas

d’instruction de fin de boucle for : c’est l’indentation (le décalage vers la droite) qui indique les instructions

faisant partie de la boucle.


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Programme relatif à l’algorithme vu en exemple:

On peut programmer cet algorithme en langage Python à l’aide d’une fonction:

Dans ce programme, une première indentation indique les instructions

faisant partie de la fonction population, et dans le programme de cette

fonction, une seconde indentation indique l’unique instruction faisant

partie de la boucle for

L’instruction return(P) permet de renvoyer le contenu de la variable P:

ainsi lorsque l’on saisit population(3) dans la console, la valeur 2 750est

renvoyée.

18
esab

1
eitrap
E X E R C I C E 33
Comprendre un algorithme

1. Compléter le tableau ci-dessous et en déduire la valeur que contient la variable A en fin d’algorithme.

ed
I A

snoitoN
A 100 Avant le début de la boucle . . . . . . 100
. . . . . . . . . . . .

re
Pour I variant de 1 à 4 Fin de la 1 itération 1 . . . . . . 125
. . . . . . . . . . . .

e
A A 25 Fin de la 2 itération 2 . . . . . . 150
+
. . . . . . . . . . . .

e
Fin Pour Fin de la 3 itération 3
. . . . . . . . . . . . . . . . . . . . . . . . 175
. . . . . . . . . . . .

Fin de la 4 itération 4
. . . . . . . . . . . . . . . . . . . . . . . . 200
. . . . . . . . . . . .

La valeur que contient la variable A en fin d’algorithme est: 200


. . . . . . . . . . . . . . .

2. Si l’instruction « Pour I variant de 1 à 4 » est remplacée par « Pour I variant de 0 à 3 », quelle valeur contient

la variable A en fin d’algorithme?

La
. valeur
. . . . . . . . . . . . . . . . .que contient
. . . . . . . . . . . . . . . . . . . . . . . .la
. . . .variable A
. . . . . . . . . . . . . . . . ne
. . . . . . . . . dépend
. . . . . . . . . . . . . . .pas
. . . . . . . des valeurs
. . . . . . . . successives
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . prises par
. . . . . . . . . . . . la
. . . . . . . . . . .variable
. . . . . . . . . . . . . . . I,
. . . . . . . . . . . . . . . . . . . . . . . . .

mais
. . . . . . . . . .seulement
. . . . . . . . . . . . . . . . . . . .du nombre
. . . . . . . . . . . . . . . . . . . . .de valeurs
. . . . . . que
. . . . . . . . . . . . . . cette
. . . . . . . . variable
. . . . . . . . . . . . . . . . . . . . . . . . .I a
. . . prise.
. . . Il
. . . . . . . . . . . . . .y. . .a. . .quatre
. . . . . . . . . . . . .entiers
. . . . . . . . . . . . . entre
. . . . . . . . . . .1
. . . et
. . . . .4. . . . . . . . . . . . . . . . . . . . . . . .

et
. . . . .quatre
. . . . . . . . . . . . .entiers entre
. . . . . . . . . . . . . . . . . . . . . . . .0
. . . et
. . . . .3,
. . . . donc
. . . . . . . . . .la
. . . . valeur que
. . . . . . . . . . . . . contient
. . . . . . . . la
. . . . . . . . . . . . . . . . . . . .variable
. . . . . . . . . . . . . . .A
. . . . est également
. . . . . . . . . . . . . . . . . . . . . . . . . . . 200
. . . . . . . .dans ce
. . . . . . . . . . cas.
. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 34
Comprendre la fonction range

Cet exercice est un QCM. Pour chaque question, choisir la ou les bonne(s) réponse(s).

1. En langage Python, lors de l’instruction for k in range(2,7), k prend les valeurs:

 2 et 7 
 2; 3; 4; 5et 6  2; 3; 4; 5; 6 et 7  2; 3; 4; 5; 6; 7et 8

2. En langage Python, lors de l’instruction for k in range(5), k prend les valeurs:


 0; 1; 2; 3 et 4  0; 1; 2; 3;4et 5  1; 2; 3et 4  1; 2; 3; 4et 5

3. En langage Python, lorsque l’on veut que la variable k prenne successivement toutes les valeurs entières

de0 à 33, on peut utiliser l’instruction:

 for k in range(0,33) 
 for k in range(0,34)  for k in range(33) 
 for k in range(34)

4. En langage Python, lors de l’instruction for k in range(2,29), k prend:

 29 valeurs  28 valeurs 
 27 valeurs  26 valeurs

E X E R C I C E 35
Comprendre le rôle de l’indentation
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Déterminer la valeur de la variable d après exécution du programme dans chacun des cas ci-dessous.

d = . . . . .16
. . . . . . . . . . d = . . . . .12
. . . . . . . . . . d = . . . . . . .9
. . . . . . . . d = 5
. . . . . . . . . . . . . . .

Par tie 1  Notions de base Boucle bornée (For) 19


esab
1
eitrap

E X E R C I C E 36
Comprendre un programme

On considère le programme ci-contre, écrit en langage Python.


ed

1. Que contient la variable A après exécution du programme?


snoitoN

A
. contient
. . . . la
. . . . . . . . . . . . . . . . . . . .phrase:
. . . . . . . . . . . . . . . Je
. . . . .dis:
. . . . . . . .bravo bravo
. . . . . . . . . . . . . . . . . . . . . . .bravo bravo!
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Comment modifier ce programme pour que la phrase que contient

lavariable A après exécution duprogramme comporte huit fois le mot «bravo»?

On
. peut
. . . . . . . . . . . . . . .remplacer
. . . . . . . . . . . . . . . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . .range(1,5) par
. . . . . . . . . . . . . . . . . . . . range(1,9)
. . . . . . . . . . . . . . . . . . . . . . . . . . puisque i. .prend
. . . . . . . . . . . . . . . . alors
. . . . . . . . . . . . . . . . . . . . . successivement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

les
. . . . . . valeurs entières
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .de 1
. . . . . . à
. . . . . .8.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 37
Compléter et programmer un algorithme

Mme Langlois effectue un unique versement de 20 000 euros sur un livret d’épargne.

Le capital est augmenté chaque année de 100 euros par le versement d’intérêts.

1. Déterminer le capital disponible au bout d’un an sur le livret d’épargne de MmeLanglois.

Le
. capital
. . . . . disponible
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .au
. . . . . bout
. . . . . . . . . .d’un
. . . . . . . . .an est
. . . . . . . . . . . .20
. . . . .100€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter l’algorithme ci-contre pour que la variable C contienne,


C . . . . . .20
. . . . . 000
. . . . . . . . . . . . . . . . . . . . . . . . . .

en fin d’algorithme, le capital disponible sur le livret au bout de 15ans.

Pour I variant de 1 à . . 15
. . . . . . . . . . . . . .

3. En utilisant l’algorithme ci-dessus, programmer en langage Python

C . . . . .C
. . . . +
. . . .100
. . . . . . . . . . . . . . . . .

une fonction sans argument retournant le capital disponible au bout de 15ans.

Fin Pour

def capital():

C=20000

for i in range (1,16):

C=C+100

return(C)

Le
. capital
. . . . . disponible
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .au
. . . . . bout
. . . . . . . . . .de
. . . . . 15ans
. . . . . . . . . . . . .est
. . . . . . 21 500€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chaînes de caractères

E X E R C I C E 38
Compléter et modifier un programme

On veut programmer en langage Python une fonction qui a pour argument un mot ou une phrase

et qui renvoie en sortie le nombre defois où la lettre «e» se trouve dans ce mot ou cette phrase.

Dans la fonction ci-contre, len(ph) calcule la longueur de la chaîne


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

def edansphrase(ph):

decaractères ph.

s=len(ph)

1. Compléter le programme ci-contre.

n=0

2. Modifier cette fonction afin qu’elle renvoie la fréquence de la lettre


for i in range(. 0,s
. . . . . . . . . . . . . . . . . .):

«a» dans la phrase ou le mot.

if ph[i]=="e":

On
. change
. . . . . . . . . . . . . . . . . . . .le
. . . .texte
. . . . . . . . . . «ph[i]=="e"»
. . . . . . . . . . . . . . . . . . . . . . . . . . en
. . . . . .«ph[i]=="a"». Avant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . la dernière
. . . . . . . . . . . . . . . . . . . . . . . . n=n+1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(n)
ligne,
. on
. . . . . . . . . . . . . . . . introduit
. . . . . . . . . . . . . . . . . la ligne:
. . . . . f=n/s,
. . . . . . . . . . . . . . . . . . . . . . . puis on
. . . . . . . . . . . . . . change l’instruction
. . . . . . . . . . . . . . . return(n)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

en
. . . . . .return(f).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20
esab

1
eitrap
E X E R C I C E 39
Exécuter et comprendre un programme

La fonction fac, dont l’argument a est un entier naturel non nul, est programmée ci-dessous en langage Python.

ed
snoitoN
1. a. Que renvoie fac(3)?

Puisque
. . . . . . . . . . . . . . . .a. . .+ 1
. . . . . . .= 4,
. . . . l’entier
. . . . i. .
. . . . . . . . . . . . . . varie de
. . . . . . . . . . . . . . .1
. . .à
. . . 3. Le
. . . . . . . . . .nombre
. . . . . . . . . . . . . . .b
. . . vaut
. . . . . . . . .1 au
. . . . . . . . .départ,
. . . . . . . . . . . . . .

puis
. . . . . . . . .1
. . .×
. . . .1. . .= 1,
. . . . . . . .puis 1
. . . . . . . . . ×
. . . . . .2 =
. . . . . . .2,
. . . . puis
. . . . . . . . .2
. . .× 3
. . . . . . .= 6.
. . . . . . . .Ainsi, fac(3)
. . . . . . . . . . . . . . . . . . . . . .renvoie 6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Que renvoie fac(6)?

Après
. . . . . . . . . . . .la
. . . .valeur
. . . . . . . . . . . . initiale
. . . . . . . . . . . . . .1,
. . . .b
. . .prend
. . . . . . . . . . . .successivement
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . les
. . . . . . valeurs
. . . . . . . . . . . . . . 1, 2,
. . . . . 6,
. . . . . . . .24, 120
. . . . . . . . . . . . . .et 720.
. . . . . Donc
. . . . . . . . . . . . . . . . . . .fac(6)
. . . . . . . . . . .renvoie 720.
. . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Comment peut-on calculer le produit 1 × 2 × 3 × 4 × 5en utilisant la fonction fac?

On
. saisit
. . . . . . . . . . . . . . . .fac(5)
. . . . . . . . . . .dans la
. . . . . . . . . . . . . .console.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Que calcule cette fonction pour un entier a non nul ?

Pour
. . . . . . . . . .un entier
. . . . . . . . . . . . . . . . .a non
. . . . nul,
. . . . . . . . . . . . . . . cette fonction
. . . . . . . . . . . calcule
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . le
. . . . produit
. . . . . . . . . . . . . . .des
. . . . . . . entiers 1,
. . . . . . . . . . . . . . . . . .2,
. . . . 3…
. . . . . . . .jusqu’à a
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 40
Compléter et programmer un algorithme

En prévision d’une course de vélo, Fanny suit le programme d’entraînement suivant sur douze samedis : elle

parcourt 25 kilomètres le premier samedi, puis augmente chaque semaine de 11 kilomètres la distance parcourue.

1. Déterminer la distance D parcourue le deuxième samedi et la distance totale T parcourue au bout

dedeuxsamedis d’entraînement.

D
. . . . .= 25
. . . . . . . . .+ 11
. . . . . . . . .= 36.
. . . . . . . . . . Le
. . . . . deuxième
. . . . . . . . . . . . . . . . . . . samedi,
. . . . . . . . . . . . . . . Fanny
. . . . . . . . . . . . parcourt
. . . . . . . . . . . . . . . . .36
. . . . . kilomètres.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Le
. premier
. . . . . . . . . . . . . . . . . . . .samedi,
. . . . . . . . . . . . . . .Fanny
. . . . . . . . . . . .parcourt 25
. . . . . . . . . . . . . . . . . . . . . .kilomètres,
. . . . . . . . . . . . . . . . . . . . . le deuxième
. . . . . . . . . . . . . . . . . . . . . . . samedi elle
. . . . . . . . . . . . . . . . . . . . . .parcourt 36
. . . . . . . . . . . . . . . . . . . . . .kilomètres,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

donc
. . . . . . . . . . la distance
. . . . . totale
. . . . . . . . . . . . . . . . . . . . . . . . . . . parcourue
. . . . . . . . . . . . . . . . . . . .au bout
. . . . . . . . . . . . . . .de deux
. . . . . . samedis
. . . . . . . . . . . . . . . . . . . . . . . . . est
. . . . . .T
. . . .= 25
. . . . . . . . .+ 36,
. . . . . . . . . . soit
. . . . . . . .61
. . . . . kilomètres.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter l’algorithme ci-dessous afin que la variable T contienne en fin d’algorithme la distance totale

parcourue au bout des douze samedis d’entraînement.

D . . . . . .25
. . . . . . . . .

T . . . . . .25
. . . . . . . . .

Pour I variant de 2 à 12

D . . . . . .D +
. . . . . . . . 11
. . . . . . . . .

T . . . . . .T
. . . .+ D
. . . . . . . . . . . . .

Fin Pour

3. Programmer une fonction sans argument en langage Python qui retourne la distance totale parcourue
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

à la fin des douze samedis d’entraînement.

def distance():

def D=25

La
. distance
. . . . . totale
. . . . . . . . . . . . . . . . . . . . . . . . . . . parcourue
. . . . . . . . . . . . . . . . . . . .à
. . .la
. . . . fin
. . . . . .des
. . . . . . . douze
. . . . . . . . . . . . samedis
. . . . . . . . . . . . . . . .d’entraînement
. . . . . . . . . . . . . . . . . . . . . . . . . . .
def T=25

def for i in range(2,13): est 1 026


. . . . . . . . . . . . . . . . . kilomètres.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def D=D+11

def T=T+D

def return(T)

Par tie 1  Notions de base Boucle bornée (For) 21


esab
1
eitrap

E X E R C I C E 41
Analyser une situation et compléter un programme

L’an prochain, Oscar consacrera 1 800€ à ses loisirs, puis pour faire des économies, il prévoit à partir del’année
ed

suivante de réduire chaque année de 5 % les dépenses de ce secteur.


snoitoN

1. Calculer le budget loisirs B d’Oscar dans deux ans.

Le
. budget
. . . . . loisirs
. . . . . . . . . . . . . . . . . . . . . . . . .B
. . . . d’Oscar dans
. . . . . . . . . . . . . . . . . . . . . . . . deux
. . . . . . . . . . ans
. . . . . . . sera
. . . . . . . . .de
. . . . . 1
. . . 710€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Quel budget total aura-t-il consacré à ses loisirs au cours des deux prochaines années ?

Ce
. . . . . .budget
. . . . . . . . . . . . . .total sera
. . . . . . . . . . . . . . . . . .de :. .
. . . . . . 1 . . 800
. . . . . . . .+ 1
. . . . 710
. . . . . . . . . .=
. . . .3 510€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Compléter le programme ci-dessous écrit en langage Python afin que la fonction budget retourne

lebudget total T qu’Oscar aura consacré à ses loisirs au cours desdixprochaines années s’il respecte son plan

d’économies.

def budget():

def B=1800
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def T=0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def for i in range (1,. 11


. . ):
. . . . . .

def def T=T+B


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def def B=0.95*B


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def return(T)

E X E R C I C E 42
Comprendre et programmer un algorithme

Soit n un entier naturel non nul. On pose S = 1 + 2 + … + n

1. Calculer les sommes 1 + 2 ; 1 + 2 + 3 et 1 + 2 + 3 + 4, puis calculer S lorsque n = 5.

1
. +
. . . . . .2 =
. . . . . . .3
. . .; 1
. . . . . . .+ 2
. . . . +
. . . . . .3 =
. . . . . . .6
. . .; 1
. . . . . . .+ 2
. . . . +
. . . . . .3 +
. . . . . . .4
. . .=
. . . .10
. . . . . ; 1
. . . . . . .+ 2
. . . . +
. . . . . .3 +
. . . . . . .4
. . . +
. . . .5
. . .=
. . . .15.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On considère l’algorithme ci-dessous.

S 0

Pour i variant de 1 à n

S S + i

Fin Pour

Exprimer en fonction de n, la valeur que contient la variable S en fin d’algorithme.

La
. valeur
. . . . . . . . . . . . . . . . .que contient
. . . . . . . . . . . . . . . . . . . . . . . .la
. . . .variable S
. . . . . . . . . . . . . . . . . . .est
. . . . . . celle de
. . . . . . . . . . . . . . . la
. . . . somme 1
. . . . . . . . . . . . . . . . . .+ 2
. . . . +
. . . . . .3 +
. . . . . . .4
. . .+
. . . .… +
. . . . . . . . .n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Programmer une fonction d’argument n S de l’algorithme précédent.

Endéduire la somme des 1 000premiers entiers naturels non nuls.


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

def somme(n):

def S=0

def for i in range(1,n+1):

def def S=S+i

def return(S)

La
. somme
. . . . . . . . . . . . . . . . . . .des
. . . . . . .1
. . .000 premiers
. . . . . . . . entiers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . non
. . . . . . . . nuls est
. . . . . . . . . . . . . . .:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
. +
. . . . . .2 +
. . . . . . .3
. . .+
. . . .…
. . . . . +
. . . .1
. . .000 =
. . . . . . . . . . . 500 500.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22
esab

1
eitrap
E X E R C I C E 43
Analyser une situation et écrire un programme

On empile des sphères, formant ainsi une pyramide de base carrée.

ed
1. Déterminer le nombre de sphères nécessaires pour constituer une pyramide

snoitoN
de deux « niveaux ».

er e

Il
. faut
. . . . . . . . . . .cinq sphères:
. . . . . . . . . quatre
. . . . . . . . . . . . . . . . . au
. . . . . . . . . . . . . . . . . .1 niveau
. . . . . . . . . . . . . . . . . . .et une
. . . . . . . . . . . . au
. . . . . .2 niveau.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Déterminer le nombre de sphères nécessaires pour constituer une pyramide de cinq « niveaux ».

e e e e er

Il
. faut
. . . . . . . . . . .55
. . . . . sphères:
. . . . . . . . . . . . . . . . . une
. . . . . . . . au 5
. . . . . . . . . . niveau, 4
. . . . . . . . . . . . . . . au
. . . . . . . .4
. . . .,
. .9
. . .au 3
. . . . . . . . .,
. . 16 au
. . . . . . . . . . .2
. . . . .et 25
. . . . . . . . . .au
. . . . .1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Sachant qu’il faut 140 sphères pour construire une pyramide de sept « niveaux », déterminer le nombre de

sphères nécessaires pour construire une pyramide de huit « niveaux ».

140
. . . . . . . .+ 8
. . . . =
. . . . . . . .204,
. . . . . . . . .donc
. . . . . . . . . .il
. . .faut
. . . . . . . . 204
. . . . . . . .sphères.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. En utilisant la structure ci-dessous, compléter le programme de la fonction nb_sphères d’argument

unentier naturel non nul N et qui retourne le nombre B de sphères nécessaires pour constituer une pyramide

comportant N « niveaux ».

def nb_sphères(. N
. . . . ):
. . . . .

def B=0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def for i in range (1,N+1):

def def B=B+i**2


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def return(B)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Diviseur d’un entier

E X E R C I C E 44
Comprendre et modifier un programme

1. À l’aide d’une calculatrice, on a programmé en langage Python la fonction nbdv dont l’argument est unentier

naturel a non nul. (Rappel: a%i donne le reste de la division dea par i.)

a. Que signifie l’instruction a%i==0? a%i==0


. teste
. . . . . . . . . . . . . . . si
. . . . . . . . . . l’entier
. . . . . . . . . . . . . . . . .a est
. . . . divisible
. . . . . . . . . . . . . . . . . . . . . .par
. . . . . . .i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Que renvoie nbdv(6)?

Puisque
. . . . . . . . . . . . . . . .a. . .+ 1
. . . . . . .= 7,
. . . . l’entier
. . . . i. .
. . . . . . . . . . . . . . varie de
. . . . . . . . . . . . . . .1
. . .à
. . . 6. Pour
. . . . . . . . . . . . . .i
. .=
. . . .1,
. . . .le
. . . . test
. . . . . . . . a%i==0 est
. . . . . . . . . . . . . . . . . . . . . .vérifié,
. . . . . . . . . . . . . donc
. . . . . . . . . .n prend
. . . . . . . . . . . . . . . la valeur
. . . . . . . . . . . . . . . . .1.
. . . . . . . . . . . . . . .

Puis
. . . . . . . . .le
. . . .test
. . . . . . . .est
. . . . . . vérifié quand
. . . . . . . . . . . . . . . . . . . . . . . . .i vaut
. . . 2,
. . . . . . . . . 3
. . . . . . .et 6,
. . . . . donc
. . . . nbdv(6)
. . . . . . . . . . . . . . . . . . . . . . . . .renvoie 4.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Que renvoie cette fonction pour un entier naturel a non nul?

Cette
. . . . . . . . . . .fonction
. . . . . . . . . . . . . . . . renvoie
. . . . . . . . . . . . . . .le
. . . .nombre de
. . . . . . . . . . . . . . . . . . . . .diviseurs
. . . . . . . . . . . . . . . . .(positifs)
. . . . . . . . . . . . . . . . .de
. . . . .a
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

2. Écrire le programme d’une fonction nbpremier d’argument un entier naturel n non nul qui retourne

lenombre de nombres premiers inférieurs ou égaux à n. On pourra utiliser la fonction nbdv de la question 1.

On rappelle qu’un entier naturel a est dit premier si et seulement s’il a exactement deux diviseurs positifs.

def nbpremier(n):

def c=0

def for a in range(1,n+1):

def if nbdv(a)==2:

def defc=c+1

def return(c)

Par tie 1  Notions de base Boucle bornée (For) 23


esab
1

F
Boucle non bornée (While)
eitrap

 Structure de la boucle « TANT QUE »


ed

On peut répéter un bloc d’instructions tant qu’une condition reste vérifiée : on utilise alors la boucle TANT QUE.
snoitoN

E x e m p l e : l e s r e b o n d s d ’ u n e b a l l e

Une balle lâchée d’une hauteur de 90 centimètres rebondit chaque fois qu’elle touche le sol au x de la hau-

teur du rebond précédent.

On souhaite élaborer un algorithme donnant le nombre de rebonds au bout duquel la hauteur atteinte par

la balle est strictement inférieure à 1 centimètre.

On définit la variable H égale à la hauteur du rebond exprimée en centimètres. On doit répéter plusieurs

fois l’instruction « H prend la valeur × H », sans savoir à l’avance le nombre de ces répétitions.

Pour cela, on teste si la variable H est supérieure ou égale à 1 en début de boucle et le traitement dans la

boucle est réalisé tant que cette condition est vérifiée.

Pour compter le nombre de rebonds effectués par la balle, on introduit un « compteur » R : il est initialisé

à 0, et , chaque fois que la boucle est parcourue, sa valeur augmente d’une unité.

La variable H est initialisée à 90, qui est la hauteur initiale.


H 90

R 0 Le nombre R de rebonds est initialisé à 0.

Tant que H ⩾ 1 On entre dans la boucle si la hauteur H est supérieure ou égale à 1 cm.

3
3
À chaque rebond, la hauteur est multipliée par
H × H

5 5

R R + 1 Il y a un rebond de plus, donc R augmente d’une unité.

Fin Tant que


On revient au début de la boucle pour tester si la hauteur H est

ou non supérieure à 1 cm.

C’est la boucle « Tant que… » qui permet de répéter ce calcul.

Condition

Étapes H R
Cette boucle est utilisée lorsque l’on veut recommencer un
vérifiée

même bloc d’instructions jusqu’à valider une condition de sor-


Avant le début de la boucle 90 0 Oui

tie donnée à l’avance.


er

1 passage dans la boucle 54 1 Oui

Avec une hauteur initiale de 90 cm, les valeurs des variables R


e

2 passage dans la boucle 32,4 2 Oui

et H (en centimètres) sont données ci-contre.

… … … …

C’est la structure itérative avec fin de boucle conditionnelle.

 Programmation

Programmation de la boucle non bornée :

Python Remarques

En langage Python, il n’y a pas d’instruction de fin de

Tant que {condition C}


while {condition C} :
boucle while : c’est l’indentation (le décalage vers la

{instructions}

droite) qui indique les instructions faisant partie de


{instructions}
Fin Tant que

la boucle.
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Programme relatif à l’algorithme vu en exemple :

On peut programmer cet algorithme en langage Python à l’aide d’une fonction:

 Dans le programme ci-contre, une première indentation indique les

instructions faisant partie de la fonction rebonds, et dans le programme

de cette fonction, une seconde indentation indique les instructions faisant

partie de la boucle while

L’instruction return(R) permet de renvoyer le contenu de la variable R:

ainsi, lorsque l’on saisit rebonds() dans la console, la valeur 9 est renvoyée.

24
esab

1
eitrap
E X E R C I C E 45
Comprendre un algorithme

Dans l’algorithme ci-contre, la variable m contient un nombre entier.

ed
m . . . . . . . . . . . . . . .

Selon la question posée, elle prendra différentes valeurs en début d’algorithme.

Tant que m > 9

snoitoN
1. a. Si, en début d’algorithme, la variable m reçoit 5, quelle valeur contient-elle en fin
m m – 9

d’algorithme?
Fin Tant que

Elle
. . . . . . . .contient
. . . . . . . . . . . . . . . .la
. . . . valeur 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Si en début d’algorithme, la variable m reçoit 15, quelle valeur contient-elle en fin d’algorithme?

Elle
. . . . . . . .contient
. . . . . . . . . . . . . . . .la
. . . . valeur 6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Dans cette question, la valeur que reçoit la variable m en début d’algorithme est 30.

Compléter le tableau suivant et en déduire la valeur de m après l’exécution de cet algorithme.

Étapes m Condition vérifiée?

Avant la boucle 30 oui

er

1 passage dans la boucle . . . . . 21


. . . . . . . . . oui
. . . . . . . . . . . . . . . .

2 passage dans la boucle . . . . . 12


. . . . . . . . . oui
. . . . . . . . . . . . . . . .

3
. . . . .passage
. . . . . . . . . . . . . . . .dans
. . . . . . . . . la boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . 3
. . . . . . . . . . . . . . non
. . . . . . . . . . . . . . . .

En fin d’algorithme, la valeur de m est: 3


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. La variable m peut-elle contenir 21 en fin d’algorithme?

Non,
. . . . . . . . . .car
. . . . . . tant
. . . . . . . . .que la
. . . . . . . . . . . .valeur
. . . . . . . . . . . . de m
. . . . . . . . . .est
. . . . . . strictement
. . . . . . . . . . . . . . . . . . . . . . supérieure à
. . . . . . . . . . . . . . . . . . . . . 9,
. . . . . . .on reste
. . . . . . dans
. . . . . . . . . . . . . . . . . . . la boucle
. . . . . «Tant
. . . . . . . . . . . . . que».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Ainsi,
. . . . . . . . . . . la valeur
. . . . . . . . . . . . . . . . .de
. . . . .m en
. . . . . . . . . . fin
. . . . . .d’algorithme est
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .inférieure ou
. . . . . . . . . . . . . . . . . . . . . . . . égale
. . . . . . . . . . .à
. . . 9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. Quelles valeurs peut recevoir la variable m en début d’algorithme pour que la boucle «Tant que» soit

parcourue?

La
. valeur
. . . . . . . . . . . . . . . . .de
. . . . .m
. . . . .en
. . . . . début
. . . . . . . . . . . .d’algorithme doit
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .être
. . . . . . . .strictement
. . . . . . . . . . . . . . . . . . . . . .supérieure
. . . . . . . . . . . . . . . . . . . . à 9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 46
Comprendre un algorithme

En 2014, Carole verse sur son livret d’épargne 3 000 €.

S 3 000

Chaque année, la somme disponible sur le livret est multipliée par 1,03.

A 2014

L’algorithmeci-contre permet de calculer l’année à partir de laquelle Carole disposera

Tant que S < 3 500

pourlapremière fois d’au moins 3 500 €.

S S × 1,03

1. Quelle variable contient les valeurs successives de l’épargne disponible ?


A A + 1

Fin Tant que


C’est
. . . . . . . . . .la
. . . . variable
. . . . . . . . . . . . . . . .S. . . qui
. . . . . . .contient
. . . . . . . . . . . . . . . . les
. . . . . . valeurs
. . . . . . . . . . . . . . successives de
. . . . . . . . . . . . . . . . . . . . . . . . . . . l’épargne disponible.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Quel est le rôle de la variable A ?

La
. variable
. . . . . . . . . . . . . . . . . . . .A
. . . . contient les
. . . . . . . . . . . . . . . . . . . . . . valeurs successives
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .des
. . . . . . . années,
. . . . . . . . . . . . . . .depuis
. . . . . . . . . . . . . 2014
. . . . . . . . . . jusqu’à
. . . . . . . . . . . . . . l’année solution.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Compléter le tableau suivant et en déduire la valeur que contient la variable A après l’exécution de cet algorithme.

Étapes S A Condition vérifiée?


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Avant la boucle 3 000 . . .2014


. . . . . . . . . . . oui

er

1 passage dans la boucle . . . . .3


. . .090
. . . . . . . . . . . . . .2015
. . . . . . . . . . . oui
. . . . . . . . . . . . . . . .

2 passage dans la boucle 3


. . . . . . 182,7
. . . . . . . . . . . . . . . .2016
. . . . . . . . . . . oui
. . . . . . . . . . . . . . . .

3
. . . . .passage
. . . . . . . . . . . . . . . .dans
. . . . . . . . . la boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
. . .278,18
. . . . . . . . . . . . . . . . 2017
. . . . . . . . . . . . . . . . .oui
. . . . . . . . . .

4
. . . . .passage
. . . . . . . . . . . . . . . .dans
. . . . . . . . . la boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
. . .376,53
. . . . . . . . . . . . . . . . 2018
. . . . . . . . . . . . . . . . .oui
. . . . . . . . . .

5
. . . . .passage
. . . . . . . . . . . . . . . .dans
. . . . . . . . . la boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
. . .477,82
. . . . . . . . . . . . . . . . 2019
. . . . . . . . . . . . . . . . .oui
. . . . . . . . . .

6
. . . . .passage
. . . . . . . . . . . . . . . .dans
. . . . . . . . . la boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
. . .582,16
. . . . . . . . . . . . . . . . 2020
. . . . . . . . . . . . . . . . .non
. . . . . . . . . .

En fin d’algorithme, la valeur de A est : . . . . .2


. . .020
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Boucle non bornée ( While) 25


Géométrie dans l’espace
esab
1
eitrap

E X E R C I C E 47
Analyser une situation  Compléter et programmer un algorithme

Une ampoule destinée à recevoir du sérum est constituée d’un corps


ed

r
cylindrique de hauteur 100mm et de deux demi-sphères de rayon r
snoitoN

millimètres. On veut déterminer à partir de quelle valeur entière du rayon,

exprimé en millimètres, le volume de l’ampoule dépasse 20centilitres.

100 mm

4
3 2 3

1. Montrer que le volume de l’ampoule, exprimé en mm , est égal à 100πr + πr

3 2

Le
. volume
. . . . . . . . . . . . . . . . . . . du
. . . . . .cylindre
. . . . . . . . . . . . . . . en
. . . . . .mm est
. . . . . . . . . . :. . .100
. . . . . . . . . . . . .×
. . . .πr
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 4
3 3

Le
. volume
. . . . . . . . . . . . . . . . . . . de chaque
. . . . . . . . . . . . . . . . . . . .demi-sphère
. . . . . . . . . . . . . . . . . . . . . . . .en
. . . . . mm
. . . . . . . . . .est
. . . . . . . . . . . . . . . . . . πr ,. .
. . . . . . . d’où le
. . . . . . . . . . . . .résultat
. . . . . . . . . . . . . . .annoncé.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 3

2. Compléter l’algorithme ci-dessous afin qu’en fin d’algorithme, la variable r ait la valeur cherchée.

3.
r 0

posée.
V 0

Tant que . . . .V ⩽
. . . . . . . . .200000
. . . . . . . . . . . . . . . . . . . . .

def ampoule():

r . . . .r
. . .+ 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

r=0 2 3

V . . . 100
. . . . . . . .×
. . .π . . .r
. . .× . . . .+ π
. . . . ×
. . . r
. . . . . .4/3
. . . .× . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

V=0
Fin Tant que

while V<=200000:

La
. fonction
. . . . . ampoule
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .retourne 23,
. . . . . . . . . . . . . . . . . . . . . . .donc
. . . . . . . . . .le
. . . . volume
. . . . . . . . . . . . .

r=r+1

de
. . . . . .l’ampoule
. . . . . . . . . . . . . . . . . . .dépasse
. . . . . . . . . . . . . . . .20
. . . . . centilitres
. . . . . . . . . . . . . . . . . . . pour
. . . . . . . . . . . . . . . . . . . . . . . .

V=100*pi*r**2+pi*r**3*4/3

return(r) un
. . . . . .rayon de
. . . . . . . . . . . . . . . . .23 mm.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 48
Comprendre un algorithme

er

Le 1 janvier 2015, David a reçu 90€ d’étrennes, puis chaque année, celles-ci augmentent de 5€.

David décide de ne pas dépenser cet argent avant de disposer de 700€.

er

1. Déterminer le montant E des étrennes que David reçoit le 1 janvier 2016.

David
. . . . . . . . . . . .reçoit
. . . . . . . . . . . 95 €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. En déduire la somme totale T dont il dispose en 2016.


E 90

T 90
T
. . . .= 90
. . . . . . . . .+
. . . .95
. . . . .=
. . . .185. En
. . . . . . . . . . . . . .2016,
. . . . . . . . . . .il
. . . dispose
. . . . . . . . . . . . . . .de 185
. . . . . . . . . . . . . €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A 2015

3. L’algorithme ci-contre permet de calculer l’année à partir de laquelle David disposera

Tant que T < 700

d’au moins 700€.

E E+5

T T + E

A A + 1

a. Faire fonctionner cet algorithme en complétant letableau ci-dessous:


Fin Tant que

Étapes E T A Condition vérifiée ?

Avant la boucle 90 90 2015 oui

er

1 passage dans la boucle 95 185 2016 oui


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

2 passage dans la boucle 100 . . . . . . . . . . .285


. . . . . . . . . . . . . . . . 2017
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . .

3 passage dans la boucle . . . . . . . . . . .105


. . . . . . . . . . . . . . . . . . . . . . . . . . . 390
. . . . . . . . . . . . . . . . . . . . . . . . . .2018
. . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 passage dans la boucle . . . . . . . . . . .110


. . . . . . . . . . . . . . . . . . . . . . . . . . . 500
. . . . . . . . . . . . . . . . . . . . . . . . . .2019
. . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 passage dans la boucle . . . . . . . . . . .115


. . . . . . . . . . . . . . . . . . . . . . . . . . . 615
. . . . . . . . . . . . . . . . . . . . . . . . . .2020
. . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 passage dans la boucle . . . . . . . . . . .120


. . . . . . . . . . . . . . . . . . . . . . . . . . . 735
. . . . . . . . . . . . . . . . . . . . . . . . . .2021
. . . . . . . . . . . . . . . . . non
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. En déduire à partir de quelle année, David pourra dépenser son argent.

L’année
. cherchée
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .est
. . . . . . 2021.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26
esab

1
eitrap
E X E R C I C E 49
Analyser une situation, compléter un programme et écrire un algorithme

Une entreprise de forage creuse des puits dans le désert afin d’atteindre la nappe d’eau phréatique.

ed
Cette entreprise facture le premier mètre creusé 100€, le second mètre 140€ et ainsi de suite en augmentant

snoitoN
le prix de chaque nouveau mètre creusé de 40€.

1. Calculer le prix M du troisième mètre creusé, puis le prix total S d’un puits de trois mètres de profondeur.

Prix
. . . . . . . . du
. . . . . .troisième
. . . . . . . . . . . . . . . . . . mètre
. . . . . . . . . . . .:
. .M
. . . . .= 180€.
. . . . . . . . . . . . . . . On a
. . . . . . . S
. . . . . .= 100
. . . . . . . . . . .+
. . . .140 +
. . . . . . . . . . . 180
. . . . . . . .= 420€.
. . . . . . . . . . . . . . . . . . . . . . . . . . .

def puits(H):

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

M=100

2. Compléter le programme de la fonction puits ci-contre, d’argument la S=100

profondeur H d’un puits (en mètres), afin qu’elle retourne le prix (en euros) de N=1

ce puits. Utiliser ce programme pour déterminer le prix d’un puits de8mètres


while N<H:

de profondeur, puis celui d’un puits de 12 mètres de profondeur.


M=M+40

S=. S+M
Un
. puits
. . . . . . de
. . . . . . . . . . . . . . .8
. . . mètres
. . . . . . . . . . . . . .de
. . . . . profondeur
. . . . . . . . . . . . . . . . . . . . . .coûte
. . . . . . . . . . .1
. . .920 €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . .

N=. N+1
. . . . . . . . . . . . . . . . . . . . .

Un
. puits
. . . . . . de
. . . . . . . . . . . . . . .12 mètres
. . . . . . . . . . . . . . . . . . .de profondeur
. . . . . . . . . . . . . . . . . . . . . . . . . . . coûte 3
. . . . . . . . . . . . . . 840
. . . . . . . .€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(. S
. . . . )
. . . . . .

3. Une organisation humanitaire dispose d’un budget de 4 000 €.

a. En utilisant le programme de la question 2, déterminer la profondeur M . . . . . .100


. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

maximale d’un puits que peut financer l’organisation.


S . . . . . .100
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pour
. . . . . . . . . .H
. . . .=
. . . .12, le
. . . . . . . prix
. . . . est
. . . . . . . . . . . . . .de 3
. . . . . . . . 840
. . . . . . . .€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N 0

Tant que . . . . .S ⩽
. . . . . . . .4 000
. . . . . . . . . . . . . . . . . . . .
Pour
. . . . . . . . . .H
. . . .=
. . . .13, le
. . . . . . . prix
. . . . est
. . . . . . . . . . . . . .de 4
. . . . . . . . 420
. . . . . . . .€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

M
. M
. . . . . . . . . . . . . . . . .+
. . . .40
. . . . . . . . . . . . . . . . . . .

La
. profondeur
. . . . . . . . . . . . . . . . . . . . . . . . . . maximale
. . . . . . . . . . . . . . . . . . .est
. . . . . . de
. . . . . .12
. . . . . mètres.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

S
. . . . . . . . . . . .S +
. . . . . . .M
. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

N
. . . . . . . . . . . . .N +
. . . . . . . .1
. . . . . . . . . . . . . . . . . . . .

b. Compléter l’algorithme ci-contre afin que la variable N contienne,

Fin Tant que

en fin d’algorithme, cette profondeur maximale.

E X E R C I C E 50
Compléter un programme

En 2016, les rejets polluants d’un groupe industriel sont évalués à 5 000 tonnes.

Le groupe est contraint de réduire ses rejets polluants de 8 % chaque année jusqu’à ce que ceux-ci

nedépassent pas 2 000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 ?

La
. quantité
. . . . . . . . . . . . . . . . . . . . .de rejets
. . . . . . polluants
. . . . . . . . . . . est
. . . . . . . . . . . . . . . . . . . . . . . .multipliée chaque
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .année
. . . . . . . . . . . .par
. . . . . . .0,92.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. La fonction polluants, programmée ci-contre en langage Python,

def polluants(r,n):

apourarguments la quantité annuelle r de polluants rejetés (en tonnes)

while r>2000:
. . . . . . . . . . . . . . . . . . . . . . . . . .

etl’année n correspondant à ces rejets polluants. Compléter ce programme

r=r*0.92
afin que la fonction polluants retourne en quelle année le groupe industriel

n=. n+1
. . . . . . . . . . . . . . . . . . . . .
atteindra pour la première fois son objectif.
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

return(. n
. . . . )
. . . . . .

3. Utiliser ce programme pour déterminer en quelle année l’objectif sera

atteint.

polluants(5000,2016)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .renvoie 2027.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

L’objectif
. . . . . . . . . . . . . . . . . . sera donc
. . . . . . . . . atteint
. . . . . . . . . . . . . . . . . . . . . . .en
. . . . . 2027.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 1  Notions de base Boucle non bornée ( While) 27


esab
1
eitrap

E X E R C I C E 51
Comprendre un programme

On donne ci-dessous deux fonctions mot1 et mot2 programmées en langage Python.


ed

Les variables A et B contiennent des chaînes de caractères.


snoitoN

1. Que retourne mot1("pa","pi")? mot1("pa","pi")


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .retourne:
. . . . . . . . . . . . . . . . . . .'papipapipapi'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Que retourne mot2("pa","pi")? mot2("pa","pi")


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .retourne:
. . . . . . . . . . . . . . . . . . .'papipapapapi'.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 52
Comprendre un programme

On donne ci-dessous trois fonctions calc1, calc2 et calc3 programmées en langage Python.

Les variables a, b et n contiennent des nombres entiers.

1. Compléter les calculs ci-dessous afin de déterminer ce que retourne calc1(5,1).

Avant le passage dans la boucle: n reçoit 0


. . . . . . . . . .,
. a reçoit 5
. . . . . . . . . . ,
. b reçoit 1
. . . . . . . . . . .

er

Lors du 1 passage dans la boucle: n reçoit 6


. . . . . . . . . .,
. a reçoit 10
. . . . . . . . . . ,
. b reçoit 3
. . . . . . . . . . . et n reçoit: 3
. ×
. . . . . . 6=18
. . . . . . . . . . . . . . . .

Lors du 2 passage dans la boucle: n reçoit 13


. . . . . . . . . .,
. a reçoit 20
. . . . . . . . . . ,
. b reçoit 9
. . . . . . . . . . . et n reçoit: 9
. ×
. . . . . . 13=117
. . . . . . . . . . . . . . . .

La condition n <20 n’étant plus vérifiée, on sort de la boucle: calc1(5,1)retourne 117


. . . . . . . . . . .

2. Que retourne calc2(5,1)?

Avant le passage dans la boucle: n reçoit 0


. . . . . . . . . .,
. a reçoit 5
. . . . . . . . . . ,
. b reçoit 1
. . . . . . . . . . .

er

Lors du 1 passage dans la boucle: n


. . . .reçoit
. . . . . . . . . . . 6,
. . . . . . . . . . . . . . a reçoit
. . . . . . . . . . . . . . .10,
. . . . . . . . . . . . . . b reçoit
. . . . . . . . . . . . . . .3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lors
. . . . . . . . .du 2
. . . . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle: n
. . . . . . . . . . . . . . . . . . . . . .reçoit 13,
. . . . . . . . . . . . a
. . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 20, b
. . . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . .9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lors
. . . . . . . . .du 3
. . . . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle: n
. . . . . . . . . . . . . . . . . . . . . .reçoit 29,
. . . . . . . . . . . . a
. . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 40, b
. . . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . .27.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

La condition
. . . . . . . . . . . . . . . . . . . . . . . .n<20
. . . . . . . . . . . . n’étant
. . . . . . . . . . . . . . plus
. . . . . . . . .vérifiée, on
. . . . . . . . . . . . . . . . . . . . . sort
. . . . . . . . de la
. . . . . . . . . .boucle.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

n
. . . .reçoit
. . . . . . . . . . . alors:
. . . . . . . . . . . .27
. . . . .× 29
. . . . . . . . .=
. . . .783. Donc
. . . . . . . . . . . . . . . . . . .calc2(5,1)retourne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .783.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Que retourne calc3(5,1)?

Avant
. . . . . . . . . . . .le
. . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle:
. . . . . . . . . . . . . . n
. . . . . . . . . . .reçoit 0,
. . . . . . . . . . . . a
. . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 5, b
. . . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . .1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

er

Lors
. . . . . . . . .du 1
. . . . . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle: n
. . . . . . . . . . . . . . . . . . . . .reçoit 6,
. . . . . . . . . . . . a
. . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 10.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lors
. . . . . . . . .du 2
. . . . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle: n
. . . . . . . . . . . . . . . . . . . . . .reçoit 11,
. . . . . . . . . . . . a
. . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 20.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lors
. . . . . . . . .du 3
. . . . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle: n
. . . . . . . . . . . . . . . . . . . . . .reçoit 21,
. . . . . . . . . . . . a
. . . . . . . . . . . . . . . . .reçoit
. . . . . . . . . . . 40.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

La condition
. . . . . . . . . . . . . . . . . . . . . . . .n<20
. . . . . . . . . . . . n’étant
. . . . . . . . . . . . . . plus
. . . . . . . . .vérifiée, on
. . . . . . . . . . . . . . . . . . . . . sort
. . . . . . . . de la
. . . . . . . . . .boucle.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b reçoit
. . . . . . . . . . . . . . .alors 3
. . . . . . . . . . . . .et n
. . . . . . . .reçoit:
. . . . . . . . . . . . .3
. . . ×
. . . .21
. . . . .=
. . . .63.
. . . . . . Donc calc3(5,1)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .retourne
. . . . . . . . . . . . . . . . .63.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28
esab

1
eitrap
E X E R C I C E 53
Comprendre un programme

Une petite ville organise chaque année un loto. En 2016, le nombre de participants à ce loto était de 200

ed
etchaque participant devait payer 5 €. On fait l’hypothèse que d’une année sur l’autre, il y a 15 nouveaux

snoitoN
participants etque la participation augmente de 0,50 €.

On donne ci-contre un programme écrit en langage Python.

1. a. Que retourne loto(2016,200,5)?

loto(2016,200,5)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .2019.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. À quoi correspond cette valeur?

Il
. s’agit
. . . . . . . . . . . . . de
. . . . . .la
. . . .première année
. . . . . . . . . . . . . . . . . . où
. . . . . . . . . . . . la
. . . . . . recette
. . . . . . . . . . . . . . . . . dépassera 1
. . . . . . . . . . . . . . . . . . . . 500
. . . . . . . . . . €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On ajoute l’instruction «a=a 1» après la boucle while, comme sur la vue d’écran ci-contre.

Que retourne désormais loto(2016,200,5)? À quoi correspond cette valeur?

loto(2016,200,5)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .2018.
. . . . . . . . . . .Cela
. . . . . . . . .correspond
. . . . . . . . . . . . . . . . . . . . . à la
. . . . dernière
. . . . . . . . . . . . . . . . . . . .année
. . . . . . . . . . . .où
. . . . . .la
. . . .recette
. . . . . . . . . . . . . . . . . . . .

sera
. . . . . . . . .inférieure ou
. . . . . . . . . . . . . . . . . . . . . . . . égale
. . . . . . . . . . .à
. . .1
. . .500 €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

E X E R C I C E 54
Comprendre et compléter un programme

On donne ci-contre une fonction mult1 programmée en langage Python.

L’argument n de cette fonction contient un entier naturel non nul inférieur à 100.

1. Déterminer ce que retourne mult1(21) en complétant le tableau ci-dessous.

mult1(21)
. . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .105
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Quel est le rôle de cette fonction?

Cette
. . . . . . . . . . .fonction
. . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .le
. . . . plus
. . . . . . . . .petit multiple
. . . . . . . . . . de
. . . . . . . . . . . . . . . . . . . . .n supérieur
. . . . ou
. . . . . . . . . . . . . . . . . . . . . . . égal
. . . . . . . . .à
. . . 100.
. . . . . . . . . . . . . . . . . . . .

Étapes c k Condition vérifiée ?

Avant la boucle 1 21 oui

er

1 passage dans la boucle . . . . . . . . . . . . .2


. . . . . . . . . . . . . . . . . . . . . . . . . . 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . .

2 passage dans la boucle . . . . . . . . . . . . .3


. . . . . . . . . . . . . . . . . . . . . . . . . . 63
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . .

3 passage dans la boucle . . . . . . . . . . . . .4


. . . . . . . . . . . . . . . . . . . . . . . . . . 84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . oui
. . . . . . . . . . . . . . . . . . .

4 passage dans la boucle . . . . . . . . . . . . .5


. . . . . . . . . . . . . . . . . . . . . . . . . 105
. . . . . . . . . . . . . . . . non
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. a. Compléter le programme de la fonction mult2 ci-contre afin que

def mult2(n):

cette fonction retourne la même valeur que la fonction mult1

k=n

b. Dans la console, on a exécuté la fonction mult1 pour différentes


while k<100:

valeursden. Vérifier que la fonction mult2 renvoie les mêmes résultats.

k=k+n
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

return(k)

>>> mult2(1)

100

>>> mult2(2)

100

>>> mult2(3)

102

>>> mult2(7)

105

>>> mult2(23)

115

Par tie 1  Notions de base Boucle non bornée ( While) 29


serbmon
2

Ensembles et nombres
eitrap

Intervalles Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 55
Compléter un programme  Écrire un programme
te

On rappelle qu’en langage Python, and est le connecteur logique et, or est le connecteur logique ou
selbmesnE

1. Compléter le programme suivant, écrit en langage Python, afin que la fonction test retourne un booléen de

valeur True lorsque le nombre x appartient à l’intervalle ]2;7[.

def test(x):

return(x>. 2
. . . . . . . . . . . . . . . and x<. 7
. . . . . . . . . . . . . .)

2. En utilisant les connecteurs logiques and et or, écrire le programme d’une fonction test2 d’argument

un nombre x, et qui retourne un booléen de valeur True si le nombre x appartient à la réunion des intervalles

[1; 9] et [14; 20[.

def
. . . . . . . . .test2(x):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .return((x>=1 and
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x<=9) or
. . . . . . . . . . . . . . . . . . .(x>=14 and
. . . . . . . . . . . . . . . . . . . . . . .x<20))
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Arithmétique Boucle bornée (For) ➙ p. 18

E X E R C I C E 56
Analyser une situation  Compléter un programme

2 2 2 2

On se propose de déterminer le chiffre des unités du nombre S = 1 + 2 + 3 + … + n

1. On suppose n = 2022.

2 2 2 2

a. Déterminer le chiffre des unités de la somme 1 + 2 + 3 + … + 10 , puis le chiffre des unités de la somme

2 2 2 2

1 + 2 + 3 + … + 2020

2 2 2 2

1
. . . . .+
. . . .2 +
. . . . . . . .3
. . . . .+ …
. . . . . . . . .+ 10
. . . . =
. . . . . . . . . . 385,
. . . . . . . . .donc
. . . . . . . . . .le
. . . . chiffre
. . . . . . . . . . . . .des
. . . . . . .unités
. . . . . . . . . . . . de
. . . . . .cette
. . . . . . . . . .somme
. . . . . . . . . . . . . . est 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2 2 2 2 2 2 2

Le
. chiffre
. . . . . . . . . . . . . . . . . des unités
. . . . . . . . de
. . . . . . . . . . . . . . . . . chacune
. . . . . . . . . . . . . . . . des autres
. . . . . . . . . . . . . . . . . . . .sommes
. . . . . . . . . . . . . . . .11 +
. . . . . . . . . . 12
. . . . . . .+
. . . .13
. . . . . . .+ …
. . . . . . . . .+ 20
. . . . ,. .21
. . . . . . +
. . . . . . . . . . 22
. . . . . . .+
. . . .23
. . . . . . .+ …
. . . . . . . . .+ 20
. . . . ,. . . . . . . .
. . . . . .

2 2 2 2

………,
. . . . . . . . . . . . . . . .2011
. . . . . . . . . . . +
. . . .2012 +
. . . . . . . . . . . . . . .2013 +
. . . . . . . . . . . . . . .… +
. . . . . . . . . 2020
. . . . . . . . . . . .est
. . . . . .aussi
. . . . . . . . . .5
. . . puisque
. . . . . . . . . . . . . . . .les
. . . . . .divers éléments
. . . . . . . . . . . . de
. . . . . . . . . . . . . . . . . . . . . . .ces sommes.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ont
. même
. . . . . . . . . . . . . . . . . . .chiffre des
. . . . . . . . . . . . . . . . . . . .unités.
. . . . . . . . . . . . .Le
. . . . . nombre de
. . . . . . . . . . . . . . . . . . . . .ces
. . . . . . .sommes
. . . . . . . . . . . . . . . .est
. . . . . . 202,
. . . . . . . . .et puisque
. . . . . . . . . . . . . . . . . . . .5
. . .×
. . . .202 =
. . . . . . . . . . . 1010,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2 2 2

le
. chiffre
. . . . . . . . . . . . . . . . des unités
. . . . . . . . de
. . . . . . . . . . . . . . . . . la somme
. . . . . 1
. . . . . . . . . . . . . . . . . .+
. . . .2 +
. . . . . . . . 3
. . . . .+ …
. . . . . . . . .+
. . . .2020
. . . . . . . . . . . est 0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. En déduire le chiffre des unités de la somme S.

2 2 2 2 2 2

S
. =
. . . . . .1
. . . . .+ 2
. . . . . . . .+
. . . .3 +
. . . . . . . .…
. . . . . .+ 2020
. . . . . . . . . . . . . . .+2021
. . . . . . . . . . . . . .+2022
. . . . . . . . . . . . ..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2

Le
. chiffre
. . . . . . . . . . . . . . . . . des unités
. . . . . . . . de
. . . . . . . . . . . . . . . . . 2021 est
. . . . . . . . . . . . . . . . . .1,
. . . .celui de
. . . . . . . . . . . . . . . 2022 est
. . . . . . . . . . . . . . . . . .4,
. . . . donc
. . . . . . . . . .celui de
. . . . . . . . . . . . . . .S
. . . est 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

2. Compléter le programme ci-contre, afin que la fonction unités

def unités(. n
. . ):
. . . .

retourne le chiffre des unités de S pour un entier n donné, n ≥1.

s=0

Vérifier le résultat trouvé en 1

for i in range(1,. n+1


. . . . . . . . . .):
.

unités(2022)
. . . . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .la
. . . . valeur 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

s=s+i**2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

u=s%10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(u)

30
Intervalles Instruction conditionnelle (If) ➙ p. 14

serbmon

2
E X E R C I C E 57

eitrap
Compléter un algorithme

1. Dans l’algorithme , x et a sont des variables de type flottant et C Si . . . .x ⩾


. . . . . . . .a
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

est une chaîne de caractères. Compléter cet algorithme pour que la


Alors C «x ∈ [a; +∞[ »

variable C contienne la bonne informationaprès son exécution.

te
Sinon C «x ∉ [a; +∞[ »

Fin Si 

selbmesnE
2. Dans l’algorithme , x, a et b sont des variables de type flottant

telles que a <b et C est une chaîne de caractères.


Si . . . .x ⩾
. . . . . . . .a
. . . et
. . . . .x
. . .⩽
. . . . .b. . . . . . . . . . . . . . . . . . . . . . . . . . . .

Compléter cet algorithme pour que la variable C contienne la bonne


Alors C . . . . «x
. . . . . .∈
. . . .[a;
. . . . . . b] »
. . . . . . . . . . . . .

information après exécution de l’algorithme.


Sinon C «x ∉ [a; b] »

Fin Si 

Vitesse Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 58
Compléter un programme

Un automobiliste roule d’abord à 90 km/h pendant deux heures, puis roule à 120 km/h.

On veut élaborer le programme d’une fonction retournant la distance qu’il a parcourue, en kilomètres, au bout

d’un temps t exprimé en heures.

1. Calculer la distance parcourue dans chacun des cas suivants:

a. t = 1,5 h b. t = 3,5 h

a.
. La
. . . . . . . . . .distance
. . . . . . . . . . . . . . . .parcourue est,
. . . . . . . . . . . . . . . . . . . . . . . . . . .en kilomètres:
. . . . . . 90
. . . . . . . . . . . . . . . . . . . . . . . . . . .× 1,5
. . . . . . . . . .=
. . . .135.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b.
. Il
. . . . . . . .parcourt
. . . . . . . . . . . . . . . . 180
. . . . . . . .kms en
. . . . . . . . . . . . . .2
. . .heures, puis
. . . . . . . . . . . . . . . . . . . . . . .pendant
. . . . . . . . . . . . . . . . l’heure
. . . . . . . . . . . . . .et demie
. . . . . . . . . . . . . . . . .restante,
. . . . . . . . . . . . . . . . .il
. . .parcourt 120
. . . . . . . . . . . . . . . . . . . . . . . .×
. . . .1,5 kms,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

soit180kms.
. . . . . . . . . . . . . . . . . . . . . . . . .Il
. . . parcourt
. . . . . . . . . . . . . . . . .ainsi
. . . . . . . . . 360
. . . . . . . .kms.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def dis(t):

2. Compléter le programme ci-contre afin qu’il retourne le nombre

if t<=2
. . . . . . . . . . . . . . . . . . . . . . . . :

de kilomètres parcourus pour un temps t de parcours exprimé en heures.

d=90*t
. . . . . . . . . . . . . . . . . . . . . . . .

else:

d=180+120*(t-2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(d)

Affectations ➙ p. 3

Calcul littéral Fonctions ➙ p. 10

E X E R C I C E 59
Programmer un algorithme  Analyser une situation

Soit a et b deux réels strictement positifs. On considère l’algorithme ci-contre.


x 1/a + 1/b

y 1/(a + b)
1. Programmer cet algorithme avec une fonction d’arguments a et b et qui retourne un

z x – y
booléen de valeur True quand le nombre z est strictement positif.

def
. . . . . . . . .comp(a,b):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

x=1/a+1/b
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

y=1/(a+b)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

z=x-y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(z>0)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

2. a. Faire fonctionner ce programme pour diverses valeurs de a et b. En déduire une conjecturesur la

comparaison des nombres x et y

On
. conjecture
. . . . . . . . . . . . . . . . . . . . . . . . . .que z
. . . . . . . . est
. . . . . . . . .toujours
. . . . . . . . . . . . . . . .positif, donc
. . . . . . . . . . . . . . que
. . . . . . . . . . . . . . . . .x est
. . . . . . . . . .supérieur
. . . . . . . . . . . . . . . . . .à
. . .y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Démontrer cette conjecture.

2 2 2 2

1 1 b + a b + a 1 (b + a) (a + b) ab a + b + 2ab − ab a + b + ab

x = + = , d’où: z = = = =
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

a b ab ab a + b ab (a + b) ab (a + b) ab (a + b)

2 2

Puisque
. . . . . . . . . . . . . . . .a. . .et b
. . . . . . . .sont strictement
. . . . . . . . . positifs,
. . . . . . . . . . . . . . . . . . . . . . a
. . . . . . . . . . . . . . . ,. .
. . . . b . . .,
. . ab et
. . . . . . . . . .a +
. . . . . . .b
. . . sont
. . . . . . . . . strictement
. . . . . . . . . . . . . . . . . . . . . .positifs.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

On
. en
. . . . . . . . . . .déduit
. . . . . . . . . . . . .que
. . . . . . . .z est
. . . . . . . . .strictement
. . . . . . . . . . . . . . . . . . . . . .positif, et
. . . . . . . . . . . . . . . . . .donc
. . . . . . . . . .x
. . .est
. . . . . . toujours strictement
. . . . . . . . . . . . . . . . . supérieur
. . . . . . . . . . . . . . . . . . . . . . à
. . . . . . . . . . . . . . . . . . y
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 2  Ensembles et nombres 31


Affectations ➙ p. 3

Calcul algébrique Fonctions ➙ p. 10


serbmon
2

E X E R C I C E 60
eitrap

Comprendre une fonction  Analyser une situation

1. Dans ce programme, écrit en langage Python, que renvoie f(2, 5), puis f(8, 6)?

Pour
. . . . . . . . . .calculer
. . . . . . . . . . . . . . .f(2,
. . . . . . .5),
. . . . . on
. . . . . .calcule successivement
. . . . . . . . . . . . . . u
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .= (2+5)
. . . . =49,
. . . . . . . . . . . . . . . . . . . . . . . puis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
te

v
. . . =
. . . .(2
. . . .– 5)
. . . . =
. . . . . . . . .9
. . . et
. . . . .w
. . . .=
. . . (49
. . . . . . .–
. . . 9)/4
. . . . . . . . =
. . . .10.
. . . . . . Ainsi,
. . . . . . . . . . . f(2,
. . . . . . .5) renvoie
. . . . . . . . . . . . . . . . . . . 10.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
selbmesnE

Pour
. . . . . . . . . .f(8,
. . . . . . .6),
. . . . . on
. . . . . .obtient
. . . . . . . . . . . . . .u =
. . . . . . .196,
. . . . . . . . .v =
. . . . . .4
. . . et
. . . . .w
. . . .=
. . . 48.
. . . . . . .Ainsi: f(8,
. . . . . . . . . . . . 6)
. . . . . . . . . . .renvoie 48.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Que peut-on conjecturer? Démontrer cette conjecture pour f(a, b).

On
. peut
. . . . . . . . . . . . . . .conjecturer que
. . . . . . . . . . . . . . . . . . . . . . f(a,
. . . . . . . . . . . . . . b)
. . . . .=. . .a ×
. . . . . . .b
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2 2 2 2 2

En
. . . . . .effet:
. . . . . . . . . . .u
. . . .=. . . (a +
. . . . . . . .b)
. . . . . .= a
. . . . . . . .+ 2ab
. . . . +
. . . . . . . . . . .b
. . . . . .et
. . . . . .v. . .=. . . (a –
. . . . . . . .b)
. . . . . .=
. . . a
. . . . .–
. . . 2ab
. . . . . . . .+ b
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 2 2 2 2 2 2 2

D’où:
. . . . . . . . . . . .u. . .– v
. . . . =
. . . . . .a +
. . . . . . . .2ab +
. . . . . . . . . . .b
. . . . .–
. . .(a
. . . . . .–
. . . 2ab
. . . . . . . .+ b
. . . . . . .) =
. . . . . .a +
. . . . . . . . 2ab
. . . . . . . .+ b
. . . . . . . .–
. . . a
. . . . .+ 2ab
. . . . . . . . . . .– b
. . . . . . . .= 4ab
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4 ab

On en w = = ab
. . . . . . . . . . . .déduit:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Affectations ➙ p. 3

Équations Fonctions ➙ p. 10

E X E R C I C E 61
Comprendre et compléter un programme

On considère l’équation 2x – 180x + 2002 = 0. On admet que cette équation a deux solutions entières

comprises entre 0 et 100.

1. On donne le programme d’une fonction equa1 et ce qu’elle retourne.

Expliquer pourquoi la fonction equa1 ne retourne qu’une valeur.

Le
. programme
. . . . . . . . . . . . . . . . . . . . . . . . . . .s’arrête après
. . . . . . . . . . . . . . . return.
. . . . . . . . . . . . . . . . . . . . . . . .Donc
. . . . . . . . . . pour k=13,
. . . . . . . . . . . . . . . . . . . . . . . la
. . . . condition «2k
. . . . . . . . . . . . . . . . . . . –
. . . . . . . . . . . . .180k
. . . . . . . . . .+ 2002
. . . . =
. . . . . . . . . . . . . 0»
. . . . . . est vérifiée.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Le
. programme
. . . . . . . . . . . . . . . . . . . . . . . . . . .retourne
. . . . . . . . . . . . . . . . .13
. . . . . et
. . . . .s’arrête.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. a. Compléter le programme de la fonction equa2 ci-contre afin

qu’elle retourne la solution qui appartient à l’intervalle [a; b], a et b

def equa2(a,b):

étant deux entiers donnés en arguments.

for k in range(. . . .a
. . . . . ,. . b+1
. . . . . . . ):
b. Exécuter ce programme afin de déterminer les deux solutions de

2
if 2*k**2 180*k+2002==0:
l’équation 2x – 180x + 2002 = 0.

return(k)

On
. saisit
. . . . . . . . . . . . . . . .equa2(0,100). La
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .valeur
. . . . . . . . . . . . retournée
. . . . . . . . . . . . . . . . . . . est 13.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

On
. saisit
. . . . . . . . . . . . . . . .ensuite
. . . . . . . . . . . . . . equa2(14,100).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . La valeur
. . . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 77. Il
. . . . . . . . . .s’agit de
. . . . . . . . . . . . . . . .la
. . . . deuxième
. . . . . . . . . . . . . . . . . . . solution
. . . . . . . . . . . . . . . .de l’équation.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Arithmétique Boucle bornée (For) ➙ p. 18

E X E R C I C E 62
Comprendre un programme

On considère la fonction g ci-contre écrite en langage Python.


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

La fonction min utilisée renvoie le plus petit des nombres saisis

en argument.

1. On saisit g(2,3) dans la console. Quel nombre est renvoyé?

Le
. minimum
. . . . . . . . . . . . . . . . . . . . . . . de 2
. . . . . . . . .et 3
. . . . . est
. . . . . . . . .2.
. . . . Dans
. . . . . . . . . . la boucle
. . . . . for,
. . . . . . . . . . . . . k
. . . . . . . . . .prend
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

successivement
. les
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . valeurs
. . . . . . 1
. . . . . . . . . . . . . . . . .et 2.
. . . . . . . . .Pour
. . . . . . . . .k =
. . . . . . . 1:
. . . . . 1 divise
. . . . . . . . . . . . . . .2
. . . et
. . . . .3
. . .donc
. . . . . . . . . .p
. . .prend
. . . . . . . . . . . .la
. . . . valeur 1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pour
. . . . . . . . . .k
. . .=
. . . .2,
. . . .2
. . . divise
. . . . . . . . . . . .2
. . . mais pas
. . . . . . . . . . . . . . . . .3
. . .donc
. . . . . . . . . .p
. . .ne change
. . . . . . . . . . . . . . . . . . . .pas.
. . . . . . . .Le
. . . . . nombre renvoyé
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . est 1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Reprendre la question 1 lorsque l’on saisit g(4,6); g(9,6).

g(4,6)
. . . . . . . . . . . .renvoie 2;
. . . . . . . . . . . . . . . g(9,6)
. . . . . . . . . . . . . . . . renvoie
. . . . . . . . . . . . . . .6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32
seuqirémun

3
A
Fonctions de référence

eitrap
Fonction affine Fonctions ➙ p. 10

E X E R C I C E 63
Compléter un programme

Soit g la fonction définie sur ℝ par g(x) = ax + b, où a et b sont des nombres réels et a est non nul.

snoitcnoF
Soit (d) la droite représentative de g dans un repère du plan et A le point d’intersection de (d) et de l’axe

des abscisses.

def inters(a,b):
Compléter le programme ci-contre, écrit en langage Python,

afin que la fonction inters retourne l’abscisse du point A. return(. –b/a


. . . . . . . . . . . . . . . .)

Instruction conditionnelle (If) ➙ p. 14

Fonction affine Boucle non bornée (While) ➙ p. 24

E X E R C I C E 64
Compléter un programme

Un magasin de location de scooters

Moins de 8 heures : 2€ l’heure et 1€ de frais de dossier

affiche les tarifs ci-contre.

À partir de 8 heures : 1,5€ l’heure et 5€ de frais de dossier

1. Calculer le prix à payer pour :

a. 5 heures de location : .
5 ×
. . . . . .2
. . .+
. . . .1
. . .= 11.
. . . . . . . . . . Prix
. . . . . . . .pour 5heures:
. . . . . . . . . . . . . . . . . . . . . . . . . . . .11€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. 20 heures de location : .
20. . . . .×
. . . 1,5 +
. . . . . . . . . . 5 =
. . . . . . . 35. Prix
. . . . . . . pour
. . . . . . . . . . . . . . . . . 20heures:
. . . . . . . . . . . . . . . . . . . . .35€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On note P la fonction qui, au nombre x d’heures de location, associe le prix à payer (en euros).

Compléter les phrases suivantes :

– Si 0 < x < 8, alors P (x) ∙ 2x


. . . . . .+ 1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

– Si x ⩾ 8, alors P (x) ∙ 1,5x


. . . . . . . . .+ 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Dans le programme ci-contre, écrit en langage Python, la fonction


def prix(x):

prix doit retourner le prix à payer pour x heures de location.

if x<8:

Compléter ce programme.

p=. 2*x+1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

else:

p=. 1.5*x+5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(p)

4. Dans cette question, on suppose qu’il n’est possible de louer un scooter qu’un nombre entier d’heures.

a. Compléter le tableau ci-dessous:

Nombre d’heures de location 6 7 8 9 10 15 16 17 18

Prix (en euros) 13


. . . . . . . . . . . . . . . . . .15
. . . . . . . . 17
. . . . . . . . . . . . . . . . . 18,5
. . . . . . . . . 20
. . . . . . . . . . . . . 27,5
. . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . .30,5
. . . . . . . . . . . . . .32
. . . . . . .

b. Étienne souhaite louer un scooter le plus longtemps possible mais il ne dispose que de b euros. Pour chaque
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

valeur de b ci-dessous, indiquer le nombre d’heures de location possible.

Pour b = 15 : il
. peut
. . . . . . . . . . . .louer
. . . . . . . . . . un
. . . . . .scooter pendant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7. . .heures.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pour b = 28 : il
. peut
. . . . . . . . . . . .louer
. . . . . . . . . . un
. . . . . .scooter pendant
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
. . . . . heures.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. En utilisant la fonction prix de la question 3, compléter

def scooter(b):

le programme ci-contre afin que la fonction scooter retourne

x=0

le nombre maximal d’heures de location pour un budget de b euros.

while prix(x)<=b:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Tester ce programme pour b = 15 et b = 28.

x=x+1

return(. . . . .x–1
. . . . . . . . . . )

Par tie 3  Fonctions numériques Fonctions de référence 33


Boucle bornée (For) ➙ p. 18

Fonction affine Instruction conditionnelle (If) ➙ p. 14


seuqirémun
3

E X E R C I C E 65
eitrap

Compléter et programmer un algorithme

10 cm

ABCD est un carré de côté 10 cm, M est un point qui se déplace sur lesegment[AB]

D N C

etN est le point du segment [CD] tel que AM = CN. On pose AM = x, x appartenant

àl’intervalle [0 ; 10]. On note V(x) l’aire de la surface colorée en vert et R(x) l’aire

dela surface colorée enrouge.

mc 01
snoitcnoF

1. Donner l’expression de R(x). Pour tout réel x de [0 ; 10], R(x) ∙ 100


. . . . . . . .–
. . . 10x
. . . . . . . . . . . . . . . . . . . . . . .

En
. . . . . .effet, cette
. . . . . . . . . . . aire
. . . . . . . . . . . . . . . . . est égale
. . . . . . . à
. . . . . . . . . . . la
. . . . . . .somme
. . . . . . . . . . . . . . des
. . . . . . . aires
. . . . . . . . . .des
. . . . . . . triangles
. . . . . . . . . . . . . . . . . superposables
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A M B
10(10 x)
x cm

ADN et R( x ) = 2 × = 10(10 − x ).
. . . . . . . . . . . . . . MBC. Donc
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. a. Compléter l’algorithme ci-dessous afin qu’il calcule la plus grande valeur entière de x telle que l’aire

delasurface verte est inférieure ou égale au quart de l’aire de la surface rouge. Puis écrire le programme

d’unefonction sans argument qui retourne cette valeur de x

def
. . . . . . . . .airesurf():
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pour k variant de 0 à 10

for
. . . . . . . . . . . . . . . . . .k. . . .in range(0,11):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R . . . . 100
. . . . . . . .– 10k
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

V 100 – R R=100–10*k
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Si . . . .V 
. . . . . 0,25R
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V=100–R
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Alors x k
if
. . . . . . . . . . . . . . . . . . . . . . . . .V<=0.25*R:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fin Si

. . . . . . . . . . . . . . . . . . . . . . . . . x=k
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fin Pour

return(x)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Exécuter ce programme et répondre à la question posée.

La
. valeur
. . . . . . . . . . . . . . . . .cherchée
. . . . . . . . . . . . . . . . . est x
. . . . . . . =
. . . . . . 2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fonction carré Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 66
Compléter un programme

1. La courbe ci-contre est celle de la fonction carré sur l’intervalle [–2; 2].

Dans chaque cas, déterminer le minimum m et le maximum M de la fonction

carré sur l’intervalle donné.

a. Sur [1; 2]: m =. 1


. . . . . . . . . et M =. 4
. . . . . . . . .

b. Sur [–2; 1]: m =. 0


. . . . . . . . . et M =. 4
. . . . . . . . .

c. Sur [–2; – 1]: m =. 1


. . . . . . . . . et M =. 4
. . . . . . . . .

0 1

2. On note m le minimum et M le maximum de la fonction carré sur

un intervalle [a; b] donné (avec a < b).

Dire si les phrases suivantes sont vraies ou fausses.

2 2

a. M est le plus grand des deux nombres a et b 


 Vrai  Faux

2 2

b. m est le plus petit des deux nombres a et b .  Vrai 


 Faux

c. Si a et b sont de signes contraires, m est égal à 0. 


 Vrai  Faux

3. On veut créer des fonctions mincarre et maxcarre dont les arguments sont deux nombres a et b (avec a < b)
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

qui retournent respectivement le minimum et le maximum de la fonction carré sur l’intervalle [a ; b].

En utilisant les fonctions internes min et max de Python qui retournent respectivement le plus petit et le

plus grand de deux nombres donnés en arguments, compléter les

programmes, écrits en langage Python, def mincarre(a,b):

des deux fonctions mincarre et maxcarre


if . . . . a<0
. . . . . . . . . and b>0
. . . . . . . . . . . . . :

m=. 0
. . . . . . . . . . . .

def maxcarre(a,b):

else:

. . M=max(a*a,b*b)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

m=min(. a*a,b*b
. . . . . . . . . . . . . . . . . . . . )

return(M)

return(m)

34
Fonction inverse Boucle bornée (For) ➙ p. 18

seuqirémun

3
E X E R C I C E 67

eitrap
Compléter et programmer un algorithme

Dans un repère orthonormé d’unité graphique 1cm, on a tracé la courbe

1
représentative de la fonction inverse sur l’intervalle ]0 ; +∞[. On construit

1 1 1

n rectangles de largeur 1 cm et de hauteurs 1cm, cm, cm, …, cm.

2 3 n

snoitcnoF
La figure ci-contre a été réalisée pour n = 3. 0
1 2 3 4

1. Dans chacun des cas suivants, calculer la valeur exacte de l’aire (en cm ) de la surface formée par n rectangles :

1 1 1 1 11 11
2

a. pour n = 3 : .1
. . . . . .1
. . .+ 1
. . . . . . . . . . . . . .+ 1
. . . . . . . . . . . . . .=
. . . .1 +
. . . . . . . . . . +
. . . . . . . . = .. .
. . . . . . . . . . . L’aire
. . . . . . . . . . est égale
. . . . . . . à
. . . . . . . . . . . cm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 3 2 3 6 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11 1 25 25 2

b. pour n = 4 : . . . . . . .+
. . . . . . . .= .. .
. . . . . . . . . . . L’aire
. . . . . . . . . . est égale
. . . . . . . à
. . . . . . . . . . . cm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 4 12 12

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. a. On donne un algorithme. Le compléter par l’une des instructions


s 0

ci-dessous afin qu’il permette le calcul de l’aire de la surface formée


Pour k variant de 1 à n

par les n rectangles définis dans la question précédente.


.s
. . . . . . . . . . . .s
. . .+ 1/k
. . . . . . . . . . . . . . . . . . . . .

Fin Pour
1 1 1 1

s s s + s s + s s +

k n k s

b. Écrire le programme d’une fonction d’argument n qui retourne l’aire

def
. . . . . . . . .aire(n):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

de la surface formée par n rectangles.

. . . . . . . . .s=0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Quelle est l’aire de la surface formée par cinq rectangles ?


. . . . . . . . .for
. . . . . . . . k in
. . . . . . . . . . .range(1,n+1):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

par dix rectangles ?

s=s+1/k
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

–Pour cinq rectangles, l’aire est d’environ : 2,28


. . . . . . . . .cm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .return(s)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

–Pour dix rectangles, l’aire est d’environ : .


2,93
. . . . . . . .cm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fonction racine carrée Boucle non bornée (While) ➙ p. 24

E X E R C I C E 68
Compléter et modifier un programme

 

Dans un repère orthonormé


(O ; i , j
) , on veut estimer la longueur L de la courbe

1,5
représentative 풞 de la fonction f définie sur l’intervalle [0; 2] par f (x) = x .

1. On place sur 풞 les points O, A, B d’abscisses respectives 0, 1 et 2. Calculer 1

A
la somme OA + AB à 0,001 près et en déduire une première approximation de L.

0,5

2 2

B + (1 − 0)
O(0;
. 0),
. . . . . . . . . . . . . . A(1;
. . . . . . . . . 1), (2 ; 2
).
. . . . . . . . . . . . . . . . . . . . . . . . .D’où: OA = (1 − 0 ) = 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
O

0 0,5 1 1,5 2
2
2

AB = (2 − 1) + 2 − 1 = 4 − 2 2
et
. ( ) Ainsi:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OA
. . . . . . . . . . . . . . . . . .+ AB
. . . . ≈
. . . . . . . . . 2,497
. . . . . . . . . . .à
. . . 0,001
. . . . . . . . . . . près.
. . . . . . . . . . .

2. a. Pour obtenir une meilleure approximation de L, on partage

def long():

l’intervalle [0; 2] en dix parties égales, puis on place sur 풞

L=0;x=0;xx=. 0.2
. . . . . . . . . . . . . .

les points correspondants O, A , A , …, A ; on approxime L par


1 2 10

while xx<=. 2
. . . :
. . . . . . . . . . .

la somme OA + A A + … + A A .
1 1 2 9 10

y=sqrt(x)
Compléter le programme ci-contre, afin que la fonction long

retourne une valeur approchée de L. yy=. sqrt(xx)


. . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

L=. L+sqrt((xx-x)**2+(yy-y)**2)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
b.

du résultat à 0,001 près. x=x+0.2

xx=xx+0.2
. . . . . . . . . . . . . . . . . . . . . . . . .

Une
. valeur
. . . . . . . . . . . . . . . . . . . .approchée
. . . . . . . . . . . . . . . . . . . . du
. . . . . .résultat
. . . . . . . . . . . . . . .à
. . .0,001
. . . . . . . . . . .près
. . . . . . . . .est
. . . . . .2,557.
. . . . . . . . . . . . . . . . . . . . . . . .

return(L)

3. a. Que doit-on modifier si on partage l’intervalle [0; 2]

en 100 parties égales?

On
. remplace
. . . . . . 0.2
. . . . . . . . . . . . . . . . . . . . . . . .par
. . . . . . .0.02 dans
. . . . . . . . . . . . . . . . . . les
. . . . . . trois
. . . . . . . . . instructions où
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.1
. . . . . . .apparaît.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. En n parties égales?

On
. définit
. . . . . . la
. . . . . . . . . . . . . fonction
. . . . . . . . . . . . . . . . . . . .long2(n)
. . . . . . . . . . . . . . . . .et on
. . . . . . . . . . remplace
. . . . . . . . . . . . . . . . . .0.2 par
. . . . . . . 2/n
. . . . . . . dans
. . . . . . . . . . . . . . . .les
. . . . . .trois
. . . . . . . . . instructions où
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 0.2 apparaît.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 3  Fonctions numériques Fonctions de référence 35


Fonction inverse Boucle non bornée (While) ➙ p. 24
seuqirémun
3

E X E R C I C E 69
eitrap

Comprendre un algorithme  Écrire un programme

D C
2

ABCD est un rectangle dont l’aire est égale à 10 cm

On note AB = x, avec x appartenant à l’intervalle [1 ; 10].


2

10 cm

Soit f la fonction qui, à tout réel x de [1 ; 10], associe la longueur BC.


snoitcnoF

10

1. Donner l’expression de f. . .f
. . (x)
. . . . . .=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A B

x
x

2. a. On donne un algorithme. Le faire fonctionner en complétant le tableau ci-dessous.

X Y
Condition Y ⩾ 2

X 1 Avant le début de la boucle 1 10


Vrai car 10 ⩾ 2

Y 10/X
er

Après le 1 passage dans la boucle 2 5


Vrai car 5 ⩾ 2

Tant que Y > 2

Après le 2 passage dans la boucle 3 ≈ 3,3


. . .Vrai
. . . . . . . .car
. . . . . . . . . . . . .⩾
3,3 2
. . . . . . . . . . . . .
X X + 1

Y 10/X Après le
. . . . . . . . . . . . 3
. . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4. . . . . . . .2,5
. . . . . . .
. . .Vrai
. . . . . . . .car
. . . . . . . . . . . . .⩾
2,5 2
. . . . . . . . . . . . .

Fin Tant que e

Après le
. . . . . . . . . . . . 4
. . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5. . . . . . . . . .2
. . . . .
. . .Vrai
. . . . . . . .car 2
. . . . . . . ⩾
. . . 2
. . . . . . . . . . . . . . . .

Après le
. . . . . . . . . . . . 5
. . . . . . . . passage
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . . . . .boucle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6. . . . . .≈ 1,7
. . . . . . . . .
. . .Faux car
. . . . . . . . . . . . . . . .1,7 <
. . . . . . . . . . .2
. . . . . . .

b. Quelle valeur contient la variable X après l’exécution de cet algorithme ?

La
. variable
. . . . . . . . . . . . . . . . . . . .X
. . . . contient la
. . . . . . . . . . . . . . . . . valeur
. . . . . . . . . . . . . . . .6.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. Quel est le rôle de cet algorithme ?

Cet
. . . . . . . algorithme calcule
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .la
. . . . valeur entière
. . . . . . . . . . . . . . . . . . . . . . . . . . du
. . . . . .nombre
. . . . . . . . . . . . . . .x
. . . à partir
. . . . de
. . . . . . . . . . . . . . . .laquelle la
. . . . . . . . . . . . . . . . longueur
. . . . . . . . . . . . . . . . . . . . . BC
. . . . . .devient
. . . . . . . . . . . . . . .strictement
. . . . . . . . . . . . . . . . . . . . . . . . .

inférieure
. . . . . . . . . . . . . . . . . . .à
. . .2 cm.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Écrire le programme d’une fonction qui retourne, au millimètre près,

def
. . . . . . . . .rect():
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

la valeur de x à partir de laquelle la longueur BC devient strictement

. . . . . . . . .X=1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

inférieure à la longueur AB.

. . . . . . . . .Y=10/X
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Quelle est la valeur retournée ?

. . . . . . . . .while Y>=X:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

La valeur retournée est: .


environ
. . . . . . . . . . . . . . 3,2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

X=X+0.1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Y=10/X
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . .return(X)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Boucle bornée (For) ➙ p. 18

Fonction inverse Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 70
Comprendre un programme

Soit f et g les fonctions définies sur l’intervalle [1; +∞[ par f (x) = et g (x) = 5 – x

1. Compléter les tableaux de valeurs des fonctions f et g ci-dessous (arrondir les valeurs à 0,01 près).

x 1 2 3 4 5 6 7 8 9

f (x) 1 0,5 0,33 0,25 0,2 0,17 0,14 0,13 0,11

g (x) 4 3 2 1 0 – 1 – 2 – 3 – 4
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

2. On donne ci-contre un programme écrit en langage Python.

a. Quelle valeur retourne solineq(5) ? Que représente cette valeur ?

solineq(5)
. retourne
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. Il
. . . . . s’agit
. . . de
. . . . . . . . . . . . . . . .la
. . . . plus grande
. . . . . . . . . solution
. . . . . . . . . . . . . . entière
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. de
. . . . . .l’inéquation f
. . . . . . . . . . . . . . . . . . . . . . . . .(x) 
. . . . . . . . . . g(x)
. . . . . . . .sur l’intervalle
. . . . . . . . . . . . . . . . . . . . . . . . . . .[1
. . . .;
. . 9].
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Que retourne solineq(a), a étant un nombre entier compris entre 2 et 9 ?

. solineq(a)
. . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . .la
. . . . plus
. . . . . . . . .grande
. . . . . . . . . . . . . .solution entière
. . . . . . . . . . . . . . . . de
. . . . . . . . . . . . . . . . . . .l’inéquation
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

f
. (x)
. . . . . . .
. . . . .a
. . .–
. . .x sur
. . . . . . . . . .l’intervalle
. . . . . . . . . . . . . . . . . . . . [1
. . . . .;. .9].
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36
Fonction racine carrée et cube Instruction conditionnelle (If) ➙ p. 14

seuqirémun

3
E X E R C I C E 71

eitrap
Compléter un programme

Sur le graphique ci-contre, on a représenté, sur l’intervalle [– 2;2], ladroite

3
représentative de la fonction f définie sur ℝ par f (x) = x et la courbe

représentativede la fonction carré.

1. a. Quels sont les deux nombres réels égaux à leur carré ?

snoitcnoF
1

0
. et
. . . . . . .1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 1 2
b. Quels sont les nombres réels supérieurs à leur carré ?

Les
. . . . . . . nombres
. . . . . . . . . . . . . . . . . supérieurs
. . . . . . . . . . . . . . . . . . . .à leur
. . . . carré
. . . . . . . . sont
. . . . . . . . . . les
. . . . . . . . . nombres
. . . . . . de
. . . . . . . . . . . . . . . . . . . . . .l’intervalle
. . . . . . . . . . . . . . . . . . . .]0 ;. .
. . . . . 1[. . . . . . . . . . . . . .

2. Compléter le programme ci-contre, écrit

enlangage Python, afin que la fonction comp def comp(x):

retourne un message qui compare un nombre réel x


if x==0 or . . .x==1 :
. . . . . . . . . . . .

et son carré.
return(“x égal à son carré”)

else:

if . . . .x>0
. . . . . . . . and x<1
. . . . . . . . . . . . . . . . . .:

return(“x supérieur à son carré”)

return(“x inférieur à son carré”)

Fonction racine carrée et cube Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 72
Compléter un programme

Soit f la fonction définie sur ℝ de la façon suivante:

from lycee import *

si x < 1: f (x) = x ; si x > 1: f (x) = x

def f(x):

1. Déterminer f (–1) et f (4). if . x<1


. . . . . . . . . . . . . .:

. return(x**3)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3

f (–1) = f (4) = 4 = 2
. . . . . . . . . . . . . . .(–1) =
. . . . . . . . . . . . . . –1;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

else:

2. Compléter le programme de la fonction ci-contre qui renvoie l’image

. return(sqrt(x))
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

du réel x par la fonction f

Fonction cube Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 73
Compléter un programme

La courbe représentative ci-contre est celle de la fonction cube

120

1. Déterminer par lecture graphique le plus petit entier naturel

100
dont le cube est supérieur ou égal à 100.

80
3

Le
. plus
. . . . . . . . . . . . . petit entier
. . . . . . . . . . naturel
. . . . . . . . . . . . n
. . . . . . . . . . . . . . . . .tel que
. . . . . . n
. . . . . . . . >100
. . . . . . . . . . . . . . . . .est
. . . . . . 5.
. . . . . . . . . . . . . . . . . . . . . . . . .

60

2. Soit x un réel positif et a le plus petit entier dont le cube est


40

strictement supérieur à x
20

Compléter le programme ci-dessous, écrit en langage Python,

0
afin que la fonction cube retourne la valeur de a
4 2 2 4

20

def cube(x): 40
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

k=0 60

80
while . k**3<=x
. . . . . . . . . . . . . . . . . . . . . . . . .:

100
. k=k+1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

120
return(k)

140

3. Utiliser ce programme pour déterminer, au centimètre près,

le côté du plus petit cube dont le volume est supérieur à 12m

On
. saisit
. . . . . . . . . . . . . . . .dans la
. . . . . . . . . . console
. . . . cube(12000000).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .La
. . . . .valeur
. . . . . . . . . . . . renvoyée
. . . . . . . . . . . . . . . . . .est 229.
. . . . . . . . . . . . . . . Le
. . . . . côté
. . . . . . . . .du
. . . . . .plus petit
. . . . . . . . . . . . . . . . . .cube
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

dont
. . . . . . . . . .le
. . . . volume
. . . . . . . . . . . . . . .est
. . . . . .supérieur
. . . . . . . . . . . . . . . . . . à 12
. . . . . . . . .m
. . . . . .est
. . . . . . 229
. . . . . . . .cm,
. . . . . . . soit
. . . . . . . .2,29 m.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 3  Fonctions numériques Fonctions de référence 37


seuqirémun
3

B
Généralités sur les fonctions – Variations
eitrap

Fonctions: généralités Boucle bornée (For) ➙ p. 18

E X E R C I C E 74
Comprendre un programme

On considère le programme ci-contre écrit en langage Python


snoitcnoF

à l’aide d’une calculatrice.

1. Que retourne modif(3) ?

La
. valeur
. . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 27.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Ce programme permet de retourner l’image d’un nombre réel x par

une fonction f. Déterminer l’expression de f

f
. (x)
. . . . . . .=
. . . .x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fonctions: ensemble de définition Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 75
Compléter et écrire un programme

2 + x

On considère la fonction g définie sur D = ]–1 ; + ∞[ par g(x) =


g

x + 1

1. Compléter le programme ci-dessous écrit en langage Python afin qu’il retourne l’image d’un réel x de D
g

par la fonction g

def g(x):

return(. (2+x**2)/(x+1)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .)

2. Écrire le programme d’une fonction ensdefg, d’argument un nombre réel x, qui retourne un message

d’erreur si x n’appartient pas à l’ensemble de définition de g et l’image de x par g si ce nombre x appartient

à l’ensemble de définition.

def
. . . . . . . . .ensdefg(x):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

if
. . . . . . . . . . x<=–1:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

str(x) renvoie

. . . . . . . . . . . . . . . . return(str(x)+
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ."n’appartient
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .pas
. . . . . . . . à Dg")
. . . . . . . . . . . . . . . . . . .
la chaîne de

caractères "x".

else:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . return(g(x))
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fonctions: courbe représentative Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 76
Compléter un programme

On considère la fonction f définie sur ℝ par f (x) = 2x – 3x + 1 et on note 풞 sa courbe représentative dans
f

un repère.

1. Dans le programme ci-dessous écrit en langage Python, x et y sont des entiers. Compléter ce programme,

afin qu’il retourne si le point de coordonnées (x, y) appartient ou non à 풞 .


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

def appartientCf(x,y):

if y==2*x**3-3*x+1:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return("Le point appartient à Cf")

else:

return("Le point n’appartient pas à Cf")

2. Que retourne appartientCf(–1,2) ?

appartientCf(–1,2)
. renvoie
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . la chaîne
. . . . . de
. . . . . . . . . . . . . . . . . .caractères «
. . . . . . . . . . . . . . . . . . . . . . Le point
. . . . . . . . . . . . . . . . appartient
. . . . . . . . . . . . . . . . . . . . à
. . .풞
. . . . . »
. . ..
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38
Fonctions: tableau de valeurs Boucle bornée (For) ➙ p. 18

seuqirémun

3
E X E R C I C E 77

eitrap
Comprendre un programme  Modifier un programme

On considère la fonction f définie sur l’intervalle [0 ; 10] par f (x) = x + 5x + 3.

1. On considère le programme ci-contre écrit en langage Python.

Quelles sont les valeurs que contient successivement la variable Y ?

snoitcnoF
3
. ;. .
. . . 9 . . .;. .17
. . . . .;
. . 27 ;. .
. . . . . . 39. . . . .;
. .53 ;. .
. . . . . . 69. . . . .;
. .87
. . . . . ;
. . 107
. . . . . . . .;
. .129 ;. .153.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Comment modifier le programme précédent pour que la variable Y contienne successivement les valeurs

manquantes du tableau ci-dessous ?

x 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

f (x)

On
. remplace
. . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .«
. . .Y=i**2+5*i+3
. . . . . . . . . . . . . . . . . . . . . . . . . .»
. . .par
. . . . . . .l’instruction «
. . . . . . . . . . . . . . . . . . . . . . . Y=(0.1*i)**2+5*0.1*i+3».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

On
. peut
. . . . . . . . . . . . . . .aussi
. . . . . . . . . .insérer l’instruction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . «i=0.1*i»
. . . . . . . . . . . . . . . . . . . avant l’instruction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . «Y=i**2+5*i+3».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fonctions: généralités Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 78
Comprendre un programme

Le programme ci-contre, écrit en langage Python, permet de définir une fonction f.

1. Quelle valeur est retournée lorsqu’on saisit dans la console:

a. f(2)? b. f(0)? c. f(–5)? d. f(1.5)?

a. La
. valeur
. . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. La
. valeur
. . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c. La
. valeur
. . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 25.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

d. La
. valeur
. . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. a. Déterminer l’expression f (x) lorsque x ∈ ]–∞; 1[.

f
. (x)
. . . . . . .=
. . . .x²
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Déterminer l’expression f (x) lorsque x ∈ [1; +∞[.

f
. (x)
. . . . . . .=
. . . .2x
. . . . .– 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fonctions: généralités Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 79
Écrire un algorithme  Programmer un algorithme

On considère la fonction f définie sur ℝ par f (x) = –x + 1 si x ⩽ 0 et f (x) = x + 1 si x > 0.

1. Calculer les images par f des réels –5 ; 2 ; –1,7 ; 3 ; 0.

f
. (–5)
. . =
. . . . . . . . . . .6
. . .;
. . .f
. . (2)
. . . . . .= 3
. . . . . . .;
. . .f. .(–1,7)
. . . . . . . . . . .=
. . . .2,7
. . . . . .;
. . .f
. . (3)
. . . . . .= 4
. . . . . . .et f
. . . . . . (0)
. . . . . . .=
. . . .1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter l’algorithme ci-contre pour qu’après son exécution, la variable y


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Si . . . .x ⩽
. . . . . . . .0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

contienne l’image du réel x par la fonction f

Alors . . . .y –
. . . . . . . . . . . . x
. . . . . .+ 1
. . . . . . . .

3. Programmer une fonction d’argument x qui retourne l’image de x par f


Sinon . . . .y x
. . . . . . . . . . . . +
. . . . . . 1
. . . . . . . .

Fin Si

def
. . . . . . . . .f(x):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

if
. . . . . . . . . . x<=0:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . y=–x+1
. . . . . . . . . . . . . . . . . . . . . . . . . . .

else:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . y=x+1
. . . . . . . . . . . . . . . . . . . . . . . . . . .

return(y)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Par tie 3  Fonctions numériques Généralités sur les fonctions – Variations 39


Fonctions: maximum Boucle non bornée (While) ➙ p. 24
seuqirémun
3

E X E R C I C E 80
eitrap

Compléter un algorithme  Programmer un algorithme

On considère la fonction f définie sur [0 ; 100] par f (x) = x + x + 200.

On admet que la fonction f est croissante sur [0 ; 100].

1. Quel est le maximum de f sur l’intervalle [0 ; 100] ?


snoitcnoF

Le
. maximum
. . . . . . . . . . . . . . . . . . . . . . . .de
. . . . .f sur
. . . . . . . . . [0
. . . . .;. .100]
. . . . . . . . .est
. . . . . .f
. .(100)
. . . . . . . . . . =
. . . .1
. . .000
. . . . . . .300.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Compléter l’algorithme ci-dessous pour qu’après exécution, la variable N contienne le plus petit entier

naturel n tel que f (n) ⩾ 15 000.

N 0

Y 200

Tant que . . . .Y
. . . .< 15
. . . . . . . . .000
. . . . . . . . . . .

N . . . .N
. . . . .+ 1
. . . . . . . . . . . . . . .

Y N + N + 200

Fin Tant que

3. n tel que f(n) ⩾ 15 000.

Déterminer cette valeur.

def
. . . . . . . . .entierf():
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

N=0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Y=200
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

while
. . . . . . . . . . . . . . . . . . . . . .Y<15000:
. . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . N=N+1
. . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . Y=N**3+N+200
. . . . . . . . . . . . . . . . . . . . . . . . . . .

return(N)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

On
. obtient
. . . . . . . . . . . . . . . . . . . .n
. . .=
. . . .25.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Instruction conditionnelle (If) ➙ p. 14

Fonctions: maximum
Boucle bornée (For) ➙ p. 18

E X E R C I C E 81
Compléter un algorithme  Modifier et programmer un algorithme

3 2

On considère la fonction f définie sur l’intervalle [0 ; 20] par f (x) = x – 27x + 135x + 7.

On admet que le maximum de la fonction f est atteint pour un entier N de l’intervalle [0 ; 20].

1. Compléter l’algorithme ci-contre pour qu’après exécution, la variableM


M 7

contienne le maximum de f
Pour i variant de 1 à 20

3 2

F i – 27 × i + 135 × i + 7
2. Comment modifier l’algorithme précédent pour qu’après exécution une

nouvelle variable contienne l’entier N pour lequel f atteint son maximum ? Si . . . .F


. . . .>
. . . .M
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Alors . . . .M F
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Avant
. . . . . . . . . . . .la
. . . . boucle Pour,
. . . . . . . . . . . . . . . . . . . . . . . .on ajoute
. . . . . . . . . . . . . . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . .« N
. . . 0
. . . . . . . . . . . . . »,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Fin Si

puis
. . . . . . . . .dans l’instruction
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . conditionnelle «
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alors »,
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fin Pour
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

on
. . . . . .ajoute l’instruction
. . . . . . . . . . . . . «
. . . . . . . . . . . . . . . . . . . . . . . . .N
. . . . . . . . . . . . .i
. . ».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Programmer une fonction sans argument en langage Python

def
. . . . . . . . .maxf():
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

qui retourne le couple (M, N) des valeurs des variables M et N

M=7;N=0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
du second algorithme. Préciser alors ces valeurs.

for
. . . . . . . . . . . . . . . . . .i. . . .in range(1,21):
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

F=i**3–27*i**2+135*i+7
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

if
. . . . . . . . . . . . . . . . . . . . . . . . .F>M:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . M=F;N=i
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

On
. obtient
. . . . . . . . . . . . . . . . . . . .M
. . . . .= 196
. . . . . . . . . . . et N
. . . . . . . . .=
. . . .3.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . return(M,N)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40
eirtémoéG

4
Géométrie

eitrap
Algorithme – Variables – Affectation ➙ p. 3

Vecteurs Fonctions ➙ p. 10

E X E R C I C E 82
Écrire un programme

Soit A(1 ; 3), B(4 ; 7), C(x ; y ) et D(x ; y ) quatre points du plan.
C C D D

1. On suppose dans cette question que x = –2 et y = 5.


C C

Déterminer les coordonnées du point D pour que le quadrilatère ABDC soit un parallélogramme.

AB(3
. . . . . . . . . .;
. .4) et
. . . . . . . . .CD(x +
. . . . . . . . . . . . . . .2 ;. y
. . . . . . . . .– 5).
. . . . . . . . .ABDC
. . . . . . . . . . . est un
. . . . . . . . . . . . parallélogramme si
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . et
. . . . .seulement
. . . . . . . . . . . . . . . . . . . .si AB
. . . . =
. . . . . . . . . CD
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

D D

x + 2 = 3
D

c’est-à-dire
. si
. . . . . . . . . . . . . . . . . . . . . . . . et
. . . . .seulement
. . . . . . . . . . . . . . . . . . . .si
. . . . . . . . . . . . . . . . . . . . . . . . . . d’où
. . . . . . . . . x =
. . . . . . . . .1
. . . et
. . . . .y
. . . . .= 9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

D D

y – 5 = 4
D

2. Démontrer que le quadrilatère ABDC est un parallélogramme si et seulement si x = x + 3 et y = y + 4.


D C D C

x – x = 3
D C

CD(x
. . . . . . . . . . . .–
. . .x
. . . . .;
. .y
. . . . .–
. . .y
. . . .). .donc
. . . . . . . . . .ABDC
. . . . . . . . . . .est un
. . . . . . . . . . . . parallélogramme si
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . et
. . . . .seulement
. . . . . . . . . . . . . . . . . . . .si
. . . . . . . . . . . . . . . . . . . . . . . . . . . .ce
. . . . .qui
. . . . . . .équivaut
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

D C D C

y – y = 4
D C

x = x + 3
D C

à
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

y = y + 4
D C

3. Écrire le programme d’une fonction d’arguments x et y retournant les coordonnées du point D tel que
c c

lequadrilatère ABDC soit un parallélogramme à partir de la saisie des coordonnées du point C.

def parallélogramme(xC,yC):

xD=xC+3

yD=yC+4

return(xD,yD)

Configurations du plan Boucle bornée (For) ➙ p. 18

E X E R C I C E 83
Compléter un algorithme  Programmer un algorithme

Dans un repère orthonormé du plan, on considère les points A(2 ; 5) et M (6 ; 9).


0

1. Déterminer les coordonnées du point M , milieu du segment [AM ].


1 0

M
. . . . . . a pour
. . . . . . . . . . . . .coordonnées (4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .;
. .7).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On note M le milieu du segment [AM ]. Déterminer les coordonnées du point M


2 1 2

M
. . . . . . a pour
. . . . . . . . . . . . .coordonnées (3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .;
. .6).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

x . . . .6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. On poursuit le processus : M est le milieu de [AM ], puis M est M

3 2 4

y . . . .9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
le milieu de [AM ], etc. Compléter l’algorithme ci-contre pour qu’après M
3

exécution, les variables x et y contiennent respectivement l’abscisse


Pour i variant de 1 à . . . . 12
. . . . . . . . . . . . . . . .

M M

et l’ordonnée du point M x . . . . (2 +
. . . . . . . .x
. . . . .)/2
. . . . . . . . . . . . . . . . . . . . . . .
M M
12

y . . . . (5 +
. . . . . . . .y )/2
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
M M
4.

Fin Pour

qui renvoie les coordonnées de M


12

def M12():

xM=6
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

yM=9

for i in range(1,13):

xM=(2+xM)/2

yM=(5+yM)/2

return(xM,yM)

Par tie 4  Géométrie 41


Variables – Affectation ➙ p. 3

Repérage du plan Fonctions ➙ p. 10


eirtémoéG
4

E X E R C I C E 84
eitrap

Comprendre un programme

1. Rappeler les formules permettant de calculer les coordonnées du milieu d’un segment [AB] dans un repère

à partir de celles des points A et B.

x + x y + y
A B A B
Si
. I
. . . . . . est le
. . . . . . . . . . .milieu
. . . . . . . . . . . . du
. . . . . .segment [AB]
. . . . . . . . . . . . . . . . . . . . . . . . .:
. .x =
. . . . . . . . . . . . . . . . . . . . . . . . .et
. . . . . .y
. . . .=
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I I

2 2

2. On considère le programme de la fonction suivante écrit en langage Python.

a. Que renvoie f(3,1) ?

f
. (3,1)
. . renvoie
. . . . . . . . . . . . . . . . . . . . . . . le couple
. . . . . (4,–3).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Interpréter géométriquement le couple de valeurs retourné dans le cas général.

La
. fonction
. . . . . renvoie
. . . . . . . . . . . . . . . . le
. . . . . . . . . . . . . . . couple
. . . . . . . . . . . . . . . . .des
. . . . . . .coordonnées du
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . milieu du
. . . . . . . . . . . . . . . . . . segment
. . . . . . . . . . . . . . . . . [AB],
. . . . . . . . . .où A
. . . . . . . . .est le
. . . . . . . point
. . . . . . . . . . . . . . de
. . . . . .coordonnées
. . . . . . . . . . . . . . . . . . . . . . . . . . .

(5
. . . . .;–7) et
. . . . . . . . . . . .B le
. . . . . . . .point de
. . . . . . . . . . . . . . . .coordonnées (x
. . . . . . . . . . . . . . . . . . . . . . . . . ;. .
. . . . . . y . . . ).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B B

Fonctions ➙ p.10

Repérage du plan Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 85
Comprendre un programme  Écrire un programme

Soit A le point de coordonnées (–1; 2) dans un repère orthonormé.

1. On considère le programme de la fonction L ci-contre écrit

en langage Python.

a. On saisit L(7,17). Quelle est la valeur retournée?

La
. valeur
. . . . . . . . . . . . . . . . .retournée
. . . . . . . . . . . . . . . . . . .est
. . . . . . 17.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Quel est le rôle de cette fonction?

Cette
. . . . . . . . . . .fonction
. . . . . . . . . . . . . . . . permet d’obtenir
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . la
. . . . distance AB
. . . . . . . . . . . . . . . . . où
. . . . . . . . . . .B est
. . . . . . . . . .le
. . . . point
. . . . . . . . . . .de
. . . . . coordonnées
. . . . . . . . . . . . . . . . . . . . . . . . .(
.x. . . .; y
. . . ). .dans
. . . . . . . . . . . . . le repère
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B B

orthonormé.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. On considère le disque ouvert D de centre A et de rayon 5.

a. Le point E de coordonnées (7 ;17) appartient-il à D ? Justifier.

Le
. point
. . . . . . . . . . . . . . .E
. . . n’appartient
. . . . . . . . . . . . . . . . . . . . . . . .pas
. . . . . . . au disque
. . . . . . ouvert
. . . . . . . . . . . . . D
. . . . . . . . . . . . . . . . car
. . . . . . .AE
. . . . .= 17,
. . . . . . . . . . donc
. . . . . . . . . .AE 
. . . . . . 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. En utilisant la fonction précédente, écrire le programme d’une deuxième fonction ayant pour arguments

les coordonnées du point B et qui retourne un booléen de valeur True si B appartient au disque D et de valeur

False si B n’appartient pas à ce disque.


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

def disque(xB,yB):

return(L(xB,yB)<5)

42
Configurations du plan Boucle non bornée (While) ➙ p. 24

eirtémoéG

4
E X E R C I C E 86

eitrap
Analyser une situation  Compléter un programme

On considère un triangle OM M isocèle rectangle M M


0 1 4 5

en M tel que OM =10 cm. On note T ce triangle.


0 0 1

On construit ensuite le triangle OM M rectangle


1 2

T
5

isocèle en M . On note T ce deuxième triangle.


1 2

M T
4
3

On continue la construction et on obtient les


T
6

triangles T , T … ( voir figure ci-contre).


3 4

T
3

1. a. Justifier l’égalité OM = 200


1

M
M 6
2
T O
2
OM
. . . . . . . . . est la
. . . . . . . longueur
. . . . . . . . . . . . . . . . . . . . . de
. . . . . .l’hypoténuse
. . . . . . . . . . . . . . . . . . . . . . . . du
. . . . . .triangle
. . . . . . . . . . . . . . . .

1
T
1

rectangle
. isocèle
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .OM M
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
M M
0 1
1 0

2 2 2 2 2 2
200
On
. a
. . . . . . donc
. . . OM
. . . . . . . . . . . . . . . . . . . .= OM
. . . . . . . . . . . . . .+M M
. . . . . . . . . . . . . .,
. . soit
. . . . . . . .OM
. . . . . . . . . .=
. . . .10
. . . . . . .+ 10
. . . . =
. . . . . . . . . .200
. . . . . . . . .et
. . . . . .OM =
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 0 1 0 1 1


2 2 2

b. En déduire l’aire 풜 en cm du triangle T . Quel est le rapport où 풜 est l’aire en cm du triangle T ?


2 2 1 1


1

200 × 200 200 200


10 10 풜
2

. =
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .=
. . . . . . . . . . . .= . . . . . . . . .=
100
. . . . =
. . . . . . . . . . . . . . . .100
. . . . . . . . .et
. . . . . .풜
. . . . . .=
. . . . . . . . . . . . . . . . . . .=
. . . .50.
. . . . . . On a
. . . . . . . . . . . . . . . . .=
. . . .2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 1

2 2
2 2 풜

2. On admet que l’aire de chaque triangle est le double de l’aire du triangle précédent.

2 2

a. Convertir 5 m en cm

2 2

5
. m
. . . est
. . . . . . . . . . . .équivalent
. . . . . . . . . . . . . . . . . . . . à 50
. . . . 000
. . . . . . . . . . . . cm
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def triangle():

b. Compléter le programme ci-contre, écrit en langage Python, A=50

afin que la fonction triangle retourne le numéro n du premier triangle


n=1

dont l’aire est supérieure ou égale à 5 m².


while A<50000
. . . . . . . . . . . . . . . . . . . . . :

c. Déterminer alors le numéro du premier triangle dont l’aire A= 2*A


. . . . . . . . . . . . . . . . . . . . .

est supérieure ou égale à 5 m².


n= n+1
. . . . . . . . . . . . . . . . . . . . .

return(. n
. . . . . .)
n
. . . .=
. . . 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Équations de droites Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 87
Compléter un algorithme  Programmer un algorithme

1. On considère des points A et B d’un repère du plan. Les variables x ,


A
Si . . . .x
. . . . .≠ x
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

A B

x , y et y , contiennent les coordonnées des points A et B. Compléter


B A B
Alors a . . . . (y
. . . . . .–
. . .y
. . . . )/(x
. . . . . . . . .–
. . .x
. . . . )
. .

B A B A

l’algorithme suivant pour qu’après exécution, la variable a contienne,

Fin Si

lorsqu’il existe, le coefficient directeur de la droite (AB).

2. x , x , y et y et qui retourne la
A B A B

valeur de la variable a

def coeffdir(xA,yA,xB,yB):

if xA!=xB:

a=(yB-yA)/(xB-xA)
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

return(a)

Équations de droites Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 88
Écrire un algorithme

On considère la droite d d’équation y = 2x + 3 et la droite


1
Si . . . .a ≠
. . . . . . .2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

d d’équation y = ax + 5 où a est un nombre réel.


2
Alors . .C
. . . . . . . . . . . . .« d
. . . . . . .et d
. . . . . . . . .sont sécantes
. . . . . . . . . »
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 2

Écrire un algorithme dans lequel la variable C prend pour

Sinon . .C
. . . . . . . . . . . . .« d
. . . . . . .et d
. . . . . . . . .ne
. . . . . sont
. . . . . . . . .pas
. . . . . . .sécantes»
. . . . . . . . . . . . . . . . . . . .

1 2

valeur « d et d sont sécantes » ou « d et d ne sont pas


1 2 1 2

Fin Si

sécantes » suivant la valeur de a

Par tie 4  Géométrie 43


Affectations ➙ p. 3

Équations de droites Fonctions ➙ p. 10


eirtémoéG
4

E X E R C I C E 89
eitrap

Écrire un programme

Soit A(1; 2) un point du plan et u (m ; p) un vecteur non nul. On note (d) la droite passant par A et de vecteur

directeur u

1. Déterminer une équation de la droite (d) sous la forme ax + by + c = 0 où les coefficients a, b et c seront

exprimés en fonction de m et p



Soit
. M(x;
. . . . . . . . . . . . . . . . . y) un
. . . . . . . . . . point
. . . . . . . . . . .du plan.
. . . . . . Le
. . . . . . . . . . . . . . .vecteur . . . . . . . .a
. . . . . . . . . . . . . . . AM . . . pour coordonnées
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (x
. . . . .–1;y–2).
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


 

det (x ) × − (y − 2) × m
(AM ; u
) = − 1 p = px − my + 2m − p.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


 

det
M
. . . . .appartient
. . . . . . . . . . . . . . . . . . . .à
. . .(d)
. . . . . .si et
. . . . . . . . seulement
. . . . . . . . . . . . . . . . . . . . si (AM ; u
) = 0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .ce
. . . . .qui
. . . . . . .équivaut
. . . . . . . . . . . . . . . . .à
. . .px –
. . . . . . my
. . . . . . . . .+ 2m
. . . . . . . . . . – p
. . . . . . .= 0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Une
. équation
. . . . . . . . . . . . . . . . . . . . . . . . .de la
. . . . . . droite
. . . . (d)
. . . . . . . . . . . . . . . . . est: px
. . . . . . . . . . . . . .–
. . . my +
. . . . . . . . . . 2m
. . . . . . .–
. . .p =
. . . . . . .0.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Écrire en langage Python une fonction d’arguments m et p

def equation_droite(m,p):

qui renvoie les coefficients a, b et c de l’équation précédente.

b=-m

c=2*m-p

return(p,b,c)

Équations de droites Boucle bornée (For) ➙ p. 18

E X E R C I C E 90
Compléter un algorithme

Soit A(2;4) et B(–6;0) deux points du plan.

1. Déterminer l’équation réduite de la droite (AB).

0 – 4 1
A
. . . .et B
. . . . . . . .n’ayant pas
. . . . . . . . . . . . . . . . . . . . . .la
. . . .même
. . . . . . . . . . . . abscisse,
. . . . . . . . . . . . . . . . . la
. . . . droite
. . . . . . . . . . . . (AB)
. . . . . . . . .a
. . .pour équation
. . . . . . . . . . y
. . . . . . . . . . . . . . . . . =
. . . . . . ax +
. . . . . . . . . b, avec
. . . . . a
. . . . . . . . . . . .=
. . . . . . . . . . . . . . . . . .=. . . . . . . . . . . . . . . . . . . . . . . . . . .

– 6 – 2 2

1 1
Comme
. . . . . . . . . . . . . . . A
. . . .∈ (AB),
. . . . . . . . . . . . . .4
. . . = ×
. . . . . . . . . . . . .2
. . . +
. . . .b,
. . . . soit
. . . . . . . .4. . .= 1
. . . . . . .+ b
. . . . et
. . . . . . .b =
. . . . . . .3.
. . . . La droite
. . . . . . . . . . . . . . . . . (AB)
. . . . . . . . .a
. . .donc
. . . . . . . . . .pour équation
. . . . . . . . . . y
. . . . . . . . . . . . . . . . . =
. . . . . . . . . .x +
. . . . . . .3.
. . . . . . . . . . . . . . . .

2 2

2. Déterminer l’ordonnée du point C de la droite (AB) ayant pour abscisse –2.

L’ordonnée
. . . . . . . . . . . . . . . . . . . . . .du
. . . . . .point C
. . . . . . . . . . . . . .est
. . . . . . 2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Compléter l’algorithme ci-dessous pour que la variable y contienne


Pour i variant de . . . .0
. . . . . à . . . .8
. . . . .

successivement l’ordonnée de chaque point de la droite (AB) d’abscisse


y . . . . 0,5 ×
. . . . . . . i. .+
. . . 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . .

entière comprise entre 0 et 8.

Fin pour

Équations de droites Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 91
Compléter et exécuter un programme

Le plan est muni d’un repère orthonormé. On considère la droite D d’équation 2x + 3y + 1 = 0.

1. a. A est le point d’abscisse 1 de la droite D. Calculer l’ordonnée de A.

2×1+3y+1=0
. équivaut
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .à. . .3y
. . . . .=
. . . .–3,
. . . . . . . soit
. . . . . . . .y
. . .=–1.
. . . . . . . . . . . L’ordonnée
. . . . . . . . . . . . . . . . . . . . . .de A
. . . . . . . . .est
. . . . . . –1.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. D est-elle parallèle à la droite D′ d’équation 150x + 225y +75=0? Justifier.

 

Un vecteur u( 3 ; 2) . u′ ( 225 ; 150) .


. . . . . . . . . . . . . . . . . . . . .directeur de
. . . . . . . . . . . . . . . . . . . . . . .D
. . . .est Un
. . . . . . . . . . . . . . . . . . . . . . . . . vecteur
. . . . . . . . . . . . . . . . . . . . directeur de
. . . . . . . . . . . . . . . . . . . . . . . D′
. . . . .est
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .



Le determinant u′
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . de
. . . . . .u
. . . . .et
. . . . . . . . . . est égal
. . . . . . . . . . . . . . .à
. . . 0 car
. . . . . . . . . .–3×150–2×(–225)=0. Donc
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .D et
. . . . . . . . D′
. . . . .sont
. . . . . . . . .parallèles.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

c. D et D′ sont-elles confondues? Justifier.

def position(a,b,c):
150×1+225×(–1)+75=0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . donc
. . . . . . . . . .A
. . . .appartient
. . . . . . . . . . . . . . . . . . . .à
. . .D′.
. . . . . . . . . . . . . . . . . . .

d=2*b-3*a
. . . . . . . . . . . . . . . . . . . . .

Les
. . . . . . . droites
. . . . . . . . . . . . . .D et
. . . . . . . . D′
. . . . .sont
. . . . . . . . .parallèles et
. . . . . . . . . . . . . . . . . . . . . . .ont
. . . . . . . un
. . . . . .point commun:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

if d==0:

elles
. sont
. . . . . . . . . confondues.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

if a-b+c
. . . . . . . . . . . . . . . . ==0:

2. On considère une droite Δ d’équation ax+by+c=0 où return("confondues")

a, b et c sont des nombres entiers


return("strictement
. . . . . . . . . . . . . . . . . . . . . . . . .parallèles")
. . . . . . . . . . . . . . . . . . . .

Compléter le programme de la fonction position ci-contre

else:

afin qu’elle retourne un message indiquant la position

return(". . . . .secantes
. . . . . . . . . . . . . . . . . . . . ")

relative de D et Δ

44
sétilibaborp

5
A
Statistiques

eitrap
Algorithme – Variables – Affectation ➙ p. 3

Moyenne pondérée Fonctions ➙ p. 10

E X E R C I C E 92
Compléter un programme

2 2

te
Dans une résidence universitaire, il y a 150 chambres de 12 m et 250 chambres de 18 m

seuqitsitatS
1. Calculer la superficie moyenne (en m ) d’une chambre de cette résidence.

150 12 + 250 18 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .=
. . . .15,75
. . . . . . . . . . .:
. .la
. . . .superficie
. . . . . . . . . . . . . . . . . . .moyenne
. . . . . . . . . . . . . . . . . .est
. . . . . . de 15,75
. . . . . . m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

400

2. a. Compléter le programme ci-contre, écrit en langage Python,

def moyenne_2(X1,N1,X2,N2):

afin que la fonction moyenne_2 retourne lamoyenne de deux valeurs

N=. N1+N2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

X1 et X2 d’effectifs respectifs N1 et N2.

S=. N1*X1+N2*X2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

b. Comment peut-on afficher avec cette fonction moyenne_2


M=S/N

la superficie moyenne calculée dans la question1?

return(M)

On
. peut
. . . . . . . . . . . . . . .demander moyenne_2(12,150,18,250)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dans
. . . . . . . . . .la
. . . . console.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Étendue Fonctions ➙ p. 10

E X E R C I C E 93
Comprendre un programme  Écrire un programme

1. Déterminer l’étendue de la série statistique suivante : 14-2-8-12-25-4.

La
. valeur
. . . . . . . . . . . . . . . . .minimale
. . . . . . . . . . . . . . . . . .est
. . . . . . 2, la
. . . . . valeur
. . . . . . . . . . . . . . . .maximale est
. . . . . . . . . . . . . . . . . . . . . . . . .25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def étendue(v1,v2,v3,v4,v5,v6):

donc
. . . . . . . . . . l’étendue est
. . . . . . . . . . . . . . . . . . . . . . . . .25–2=23.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

m=min(. v1,v2,v3,v4,v5,v6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . )

2. Compléter le programme de la fonction étendue écrit M=max(. v1,v2,v3,v4,v5,v6


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . )

return(. M-m
. . . . . . . . . .)

de la série statistique de six valeurs saisies en arguments.

Instruction conditionnelle (If) ➙ p. 14

Moyenne pondérée Fonctions ➙ p. 10

E X E R C I C E 94
Compléter et modifier un programme

On considère le programme ci-dessous, écrit en langage Python.

def examen(x,y,z,t):

m=. (2*x+2*y+z+t)/6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(m>=10)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Compléter le programme de cette fonction afinque celle-ci retourne un booléen de valeur True

silecandidat àunexamen est reçu, connaissant sesnotes sur 20 aux épreuves représentées par les variables

x,y,z,t

Les deux premières épreuves ont


.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

def examen2(x,y,z,t):

pour coefficient2 et les deux suivantes

m=(2*x+2*y+z+t)/6
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ontpour coefficient 1.

if m>=10:

2. Un candidat non reçu est admis à passer


. . . . . . return("le
. . . . . . . . . . . . . . . . . . . . . . . candidat
. . . . . . . . . . . . . . . . . . .est
. . . . . . . . reçu")
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

un oral de rattrapage sisamoyenne est

else:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

au moins 8.

if
. . . . . . . . . . . . .m>=8:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Modifier cette fonction dans lecadre

return("le
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . candidat
. . . . . . . . . . . . . . . . . . .est
. . . . . . . . admis
. . . . . . . . . . . . .à
. . . . l'oral")
. . . . . . . . . . . . . . . . . . . . . . . . . .

ci-contre afin qu’elle retourne

else:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

deplussiuncandidat est admis ou non

return("le
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . candidat
. . . . . . . . . . . . . . . . . . .n'est pas
. . . . . . . . . . . . . . . . . . . . .admis
. . . . . . . . . . . . à l'oral")
. . . . . . . . . . . . . . . . . .

àpasser cet oral.

Par tie 5  Statistiques et probabilités Statistiques 45


Boucle non bornée (While) ➙ p. 24

Taux d’évolution Fonctions ➙ p. 10


sétilibaborp
5

E X E R C I C E 95
eitrap

Compléter et programmer un algorithme

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 mètre carré est 8€.

L 8

1. Quel sera le prix de location du mètre carré dans un an?


N 0

5
te

8 × 1 + = 8 × 1, 05 = 8 , 4.
( ) Dans
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . un
. . . . . . . . . . . . . . . an, le
. . . . . . . . . . .prix
. . . . . . . .de location
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tant que . . . . .L ⩽
. . . . . . . . 12
. . . . . . . . . . . . . . . . . . .

100
seuqitsitatS

L L
. . . .× 1,05
. . . . . . . . . . . . . . . . . . . . . . . . . .

du
. . . . . . mètre
. . . . . . . . . . . .carré
. . . . . . . . . .sera de
. . . . . . . . . . . . . .8,40
. . . . . . . . .€.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

N N
. +
. . . . . . .1
. . . . . . . . . . . . . . . . . . . . . .

2. On souhaite déterminer dans combien d’années le prix moyen delocation Fin Tant que

dumètre carré dépassera 12€.

a. Compléter l’algorithme ci-dessus afin que la valeur de la variable N en fin d’algorithme soit le nombre

d’années cherché.

b. Programmer en langage Python une fonction sans argument qui retourne la valeur de N

def loyer():

def L=8

def N=0

La
. valeur
. . . . . . . . . . . . . . . . .de
. . . . .N en
. . . . . . . . . . fin
. . . . . .d’algorithme est
. . . . . . . . . . . . . . . . . . . . . . . . . 9.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def while L<=12:

Ainsi,
. . . . . . . . . . . dans
. . . . . . . . . .9
. . .ans,
. . . . . . . . le prix
. . . . . moyen
. . . . . . . . . . . . . . . . . . . . .de location
. . . . . . . . . . . . . . . . . . . . .du
. . . . . .mètre carré
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
L=L*1.05

N=N+1
dépassera
. pour
. . . . . . . . . . . . . . . . . . . . . . . . . . . . la première
. . . . . . . . . . . . . . . . . . . . . .fois
. . . . . . . 12 €.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

def return(N)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Taux d’évolution Boucle non bornée (While) ➙ p. 24

E X E R C I C E 96
Compléter et exécuter un programme

Après son installation, un lundi matin, un aquarium contient 280 litres d’eau et des poissons.

Par évaporation, le volume d’eau dans l’aquarium diminue de 2% par semaine. Compte tenu du nombre

depoissons, cet aquarium doit contenir en permanence au minimum 260 litres d’eau. On ajoute chaque lundi

matin, en une seule fois, 5 litres d’eau pour compenser l’évaporation hebdomadaire de 2%.

On considère la fonction aqua programmée ci-contre qui renvoie

def aqua(n):
le nombre de litres d’eau dans l’aquarium aubout de n semaines.

v=280

1. Compléter ce programme.

for k in
. range(1,n+1)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .:

2. La préconisation concernant le volume d’eau dans l’aquarium est-elle


v=0.98*v+5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

respectée au bout de 52 semaines?

return(v)

La
. fonction
. . . . . aqua
. . . . . . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . . 260,49 pour
. . . . . . . . . . . . . . . . . . . . . . .n =52,
. . . . donc
. . . . . . . . . . la
. . . . . . . . . . . . . .préconisation est
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

respectée
. . . . . . . . . . . . . . . . . . .puisque le
. . . . . . . . . . . . . . . . volume
. . . . . . . . . . . . . . . . . . d’eau
. . . . . . . . . . . est supérieur
. . . . . . . . . . . . . . . . . . . . . . . . .à
. . .260 litres.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Pourcentages Variables – Affectation ➙ p. 3

E X E R C I C E 97
Comprendre un programme
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

Depuis janvier 2019, l’impôt sur les revenus est prélevé à la source, c’est-à-dire, dans la plus grande partie des

cas, sur le salaire des contribuables. Pour un couple, lorsque les revenus sont très différents, le prélèvement

peut être individualisé.

Madame Chopin gagne 4000€ net par mois et Monsieur Chopin gagne 2000€ net par mois. Ils ont opté

pour le prélévement individualisé. L’administration fiscale a calculé les taux qui seront appliqués:

me

13,5% sur le salaire de M Chopin et 6,9% sur le salaire de M.Chopin.

A 4000

Compléter l’algorithme ci-contre afin qu’après son exécution, les variables E, L B 2000

et T contiennent respectivement le montant de l’impôt prélevé sur le salaire E A × 0,135

me

de M Chopin, celui prélevé sur le salaire de M.Chopin et T le taux d’imposition


L B
. . . .×. . . 0,069
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(en %) du couple.
T (E+L)*100/(A+B)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46
sétilibaborp

5
B
Échantillonnage et probabilités

eitrap
Fonctions ➙ p. 10

Échantillonnage Boucle bornée (For) ➙ p. 18

E X E R C I C E 98
Compléter un programme  Modifier un programme

1. Le programme de la fonction donné ci-contre simule 50 lancers def nbre_pile():

te
successifs d’une pièce de monnaie équilibrée. La variable p compte
p=0

seuqitsitatS
le nombre de «Pile» obtenus. Compléter ce programme.
for i in range(. 1,51
. . . . . . . . . . . . . . . . . . . .):

r=randint(0,1)
2. Quelles modifications faut-il apporter à cette fonction afin qu’elle

retourne la fréquence de «Pile» obtenus? p=. p+r


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

return(p)
On
. définit
. . . . . . une
. . . . . . . . . . . . . nouvelle
. . . . . . . . . . . . . . . . . . . . . . . .variable réelle
. . . . . . . . . . . . . . . . f.
. . . . . . . . . . . . . .Puis, après
. . . . . . . . . . la
. . . . . . . . . . . fin
. . . . de
. . . . . . . . . . . . . . . . . . . . . . .

la
. boucle
. . . . . . . . . . . . . . . . .For, on
. . . . . . . . . . . . . introduit l’instruction:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . «f
. . . . . =
. . . .p/50».
. . . . . . . . . . . . . Enfin, on
. . . . . . . . . . . . . . . . . remplace
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

l’instruction
. . . . . . . . . . . . . . . . . . . . . . . «return(p)»
. . . . . . . . . . . . . . . . . . . . . . . par
. . . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . .«return(f)».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Quelles modifications faut-il apporter à cette fonction afin qu’elle simule n lancers successifs?

On
. définit
. . . . . . alors
. . . . . . . . . . . . . . . . . . . . . . la fonction
. . . . . avec
. . . . . . . . . . . . . . . . . . . . . . . . .un argument:
. . . . . . def
. . . . . . . . . . . . . . . . . . . . . . . . . . . nbre_pile(n).
. . . . . . . . . . . . . . . . . . . . . . . . .Puis
. . . . . . . . on
. . . . . .remplace
. . . . . . . . . . . . . . . . . .l’instruction «f
. . . . . . . . . . . . . . . . . . . . . . . . . . . .=. . . p/50»
. . . . . . . . . . . . . . . . . . .

par
. «f
. . . . . . . =
. . . . . . . . p/n».
. . . . . . . . . . . Enfin, on
. . . . . . . . . . . . . . . . . modifie
. . . . . . . . . . . . . . . l’instruction
. . . . . . . . . . . . . . . . . . . . . . .de boucle:
. . . . . . «for
. . . . . . . . . . . . . . . i. .in
. . . . . . . . . . . . . range (1,
. . . . . . . . . . . . . . . . . n+1)».
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Simulation d'une expérience aléatoire Instruction conditionnelle (If) ➙ p. 14

E X E R C I C E 99
Comprendre un programme

Le programme ci-dessous, écrit en langage Python à l’aide d’une calculatrice, simule un jeu opposant Fatima

àMaël : ces deux enfants lancent chacun séparément un dé équilibré.

1. Que retourne la fonction jeu dans chacun des cas suivants :

a. La variable a reçoit la valeur 6 et la variable b la valeur 5.

b. La variable a reçoit la valeur 3 et la variable b la valeur 4.

c. les variables a et b reçoivent la même valeur.

a. La
. fonction
. . . . . jeu
. . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . . 6.
. . . . . . . . . . . . b. La
. fonction
. . . . . . . . . . . . . . . . . . . . .jeu retourne
. . . . . . . . . . . . . . . . . . . . . . . 4.
. . . . . . . . . . . .

c. La
. fonction
. . . . . jeu
. . . . . . . . . . . . . . . . . . . . . . retourne
. . . . . . . . . . . . . . . . . la
. . . . valeur de
. . . . . . . . . . . . . . . . . . la
. . . . variable
. . . . . . . . . . . . . . . .b. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Décrire la règle du jeu que simule ce programme.

Fatima
. . . . . . . . . . . . . .et Maël
. . . . . . . . . . . . . . lancent chacun
. . . . . . . . . . . . . . . un
. . . . . . . . . . . . . . . . . . . dé.
. . . . . . .La
. . . . .valeur
. . . . . . . . . . . . retournée
. . . . . . . . . . . . . . . . . . . est celle
. . . . . . . . . . . . . . . .du
. . . . . .dé
. . . . . de
. . . . . .plus
. . . . . . . . grand
. . . . . . . . . . . . numéro.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Instruction conditionnelle (If) ➙ p. 14

Échantillonnage  Simulation Boucle bornée (For) ➙ p. 18

E X E R C I C E 100
Compléter un programme

On sait que 42 % des Français ont pour groupe sanguin O.


from random import*

def groupe():
1. Compléter le programme de la fonction groupe définie ci-contre

afin que celle-ci simule le choix au hasard d’un Français et qu’elle u=uniform(0,1)

retourne un booléen de valeur True s’il est du groupe O. return(. u<0.42


. . . . . . . . . . . . . . . . . . . .)

2. Compléter le programme de la fonction freqO définie ci-dessous afin que celle-ci simule le choix au hasard
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

d’un échantillon denFrançais et qu’elle retourne la fréquence des personnes degroupe sanguin O dans

cetéchantillon. On pourra appeler la fonction groupe

def freqO(n):

s=0

for i in range(. 1,n+1


. . . . . . . . . . . . . . . . . .):

if groupe()
. . . . . . . . . . . . . . . . . . . . . . . . .:

s=s+1
. . . . . . . . . . . . . . . . . . . . . . . . .

return(. s/n
. . . . . . . . . . . . . )

Par tie 5  Statistiques et probabilités Échantillonnage et probabilités 47


Simulation d'une expérience aléatoire Instruction conditionnelle (If) ➙ p. 14
sétilibaborp
5

E X E R C I C E 101
eitrap

Compléter un programme

Une boîte contient 5 billes rouges, 8 billes noires

def billes():

et 10 billes jaunes. On tire au hasard une bille dans

r=randint(1,. 23)
. . . . .

la boîte et on note sa couleur.

if r<=5:
te

return("la bille tirée est rouge")

cette expérience aléatoire.


seuqitsitatS

if r<=13
. . . . . . . . . . . . . . . . . . .:

return(. "la
. . . . . . . . . .bille
. . . . . . . . . . . . tirée
. . . . . . . . . . . . .est
. . . . . . . . noire"
. . . . . . . . . . . . . . )

else:

return(. "la
. . . . . . . . . .bille
. . . . . . . . . . . . tirée
. . . . . . . . . . . . .est
. . . . . . . . jaune"
. . . . . . . . . . . . . . )

Instruction conditionnelle (If) ➙ p. 14

Échantillonnage Boucle bornée (For) ➙ p. 18

E X E R C I C E 102
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.

1. On suppose que la variable r prend successivement les valeurs:

3, 5, 1, 4, 2, 3, 2, 5, 1, 2.

Quelle valeur est retournée par la fonction exp ?

Puisqu’on
. . . . . . . . . . . . . . . . . . . obtient deux
. . . . . . . . . . . . . . . fois
. . . . . . . . . . . . . . . . . le
. . . . chiffre
. . . . . . . . . . . . .5,
. . . . la valeur
. . . . . retournée
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

par
. la
. . . . . . . fonction
. . . . . . . . . . . . . . . . . . . .exp
. . . . . . . est 2.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Préciser ce que fait ce programme.

Ce
. . . . . .programme
. . . . . . . . . . . . . . . . . . . . . . simule
. . . . . . . . . . . . . 10
. . . . . .fois
. . . . . . . l’expérience
. . . . . . . . . . . . . . . . . . . . . . . aléatoire
. . . . . . . . . . . . . . . . . qui
. . . . . . .consiste
. . . . . . . . . . . . . . . .à
. . .tirer au
. . . . . . . . . . . . . .hasard
. . . . . . . . . . . . . un
. . . . . .entier
. . . . . . . . . . . .entre 1
. . . . . . . . . . . et
. . . . . . . 5,
. . . . . . . . . . . . . . . .

et
. . . . .il
. . . permet
. . . . . . . . . . . . . . de
. . . . . .compter
. . . . . . . . . . . . . . . . le
. . . . nombre de
. . . . . . . . . . . . . . . . . . . . . fois où
. . . . . . . . . . . . . on
. . . . . .obtient
. . . . . . . . . . . . . . 5. Le
. . . . . nombre
. . . . . . . . . . . . . . . . . . . .de 5
. . . . . . . . .obtenus est
. . . . . . . . . . . . . . . . . . . . . .retourné
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

par
. la
. . . . . . . fonction
. . . . . . . . . . . . . . . . . . . .exp.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3. Donner une expérience aléatoire que peut simuler ce programme.

Par
. . . . . . . exemple,
. . . . . . . . . . . . . . . . . .la
. . . .répétition
. . . . . . . . . . . . . . . . . . . dix fois
. . . . . . . . . . . . . . du
. . . . . .tirage au
. . . . . . . . . . . . . . . . .hasard
. . . . . . . . . . . . . et
. . . . .avec
. . . . . . . . . remise
. . . . . . . . . . . . . d’un jeton
. . . . . . . . . . . . . . . . . . . .dans une
. . . . . . . . . . . . . . . . . boîte
. . . . . . . . . . .contenant
. . . . . . . . . . . . . . . . . . . . . . . . . .

cinq
. . . . . . . . .jetons
. . . . . . . . . . . . indiscernables
. . . . . . . . . . . . . . . . . . . . . . . . . . . numérotés
. . . . . . . . . . . . . . . . . . . . .1,
. . . . 2, 3,
. . . . . 4
. . . . . . .et 5.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Boucle bornée (For) ➙ p. 18

Échantillonnage Boucle non bornée (While) ➙ p. 24

E X E R C I C E 103
Compléter un programme  Modifier un programme

On lance un dé équilibré à quatre faces jusqu’à ce que l’on obtienne

def attente():

le numéro 4 sur sa face supérieure.

n=. 1
. . . . . .

On veut écrire le programme d’une fonction qui retourne

r=randint(1,4)
le nombre de lancers de dé nécessaires afin d’obtenir 4

while r!=4 :
(on dit que c’est le « temps d’attente » pour obtenir le 4). . . . . . . . . . . . . .
.tiléd nu tse eésirotua non eipocotohp aL – 9102 sadroB ©

n=. n+1
. . . . . . . . . . . .

1. Compléter le programme ci-contre, écrit en langage Python.

r=. randint(1,4)
. . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Modifier ce programme afin que cette épreuve soit répétée 200 fois

return(n)

d’attente pour obtenir le numéro 4.

def moyattente():

On
. introduit
. . . . . . la
. . . . . . . . . . . . . . . . . . . . .variable
. . . . . . . . . . . . . . . s
. . .(de
. . . . . . .type
. . . . . . . . .entier)
. . . . . . . . . . . . .qui
. . . . . . .totalise
. . . . . . . . . . . . . . les
. . . . . . temps
. . . . . . . . . . . . .

s=0

d’attente
. . . . . . . . . . . . . . . . . .obtenus.
. . . . . . . . . . . . . . . . .Une
. . . . . . . . boucle «
. . . . . . . . . . . . . . . . for »
. . . . . . . . . permet de
. . . . . . . . . . . . . . . . . . . .simuler
. . . . . . . . . . . . . . . . . . . . . . . . . . .
for i in range (1,201):

s=s+attente()
200
. . . . . . . .épreuves. On
. . . . . . . . . . . . . . . . . . . . . . . . .fait
. . . . . . .appel
. . . . . . . . . . .dans chaque
. . . . . . . . . . . . . . . . . . . . . . . .boucle
. . . . . . . . . . . . .à
. . . la fonction
. . . . . . . . . . . . . . . . . . . . . . . .

return(s/200)

attente.
. La
. . . . . . . . . . . . . . . . . . . .moyenne
. . . . . . . . . . . . . . . . . .des
. . . . . . . temps d’attente
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . est alors
. . . . . . . . . . . . . . . .s/200.
. . . . . . . . . . . . . . . . . . . . . . .

48
Programmation en PYTHON avec les calculatrices

Pour créer un programme

➊ Sélectionner l’icône Python àl’aide ➊ Sélectionner le menu apps


➊ Sélectionner le menu Python

(touche ), puis le sous-menu


à l’aide des flèches du curseur,

avec . PyAdaptr
puisvalider avec .

Valider avec .

Sélectionner NEW ( ). ➋ Sélectionner Ajouter un script avec

les flèches du curseur, ➋ Sélectionner Nouv (touche ).

➋ On complète au-dessous

puis .

de«Nomdu script » en donnant ➌ Donner un nom au programme,

unnom auprogramme, ➌ Donner un nom au programme suivi de OK (touche ).

puisonvalide avec . Onsetrouve alors dans l’éditeur.

On se trouve dans l’éditeur, puisdeuxfois sur .

prêtàsaisir les instructions. Onsetrouvealors dans l’éditeur.

Pour saisir un programme

On peut écrire les instructions Utiliser les menus déroulants Dans l’éditeur, on a accès à différents

lettre àlettre ou les chercher accessibles avec la touche menus.

dansCATALOG ( ). Toolbox .

➊ Menu Fns (touche ), avec

Dans le catalogue, on obtient les On passe d’un menu à l’autre

plusieurs onglets, parmi eux :

instructions en tapant la première aveclesflèches du curseur.

l’onglet Ctl permet

lettre de leur nom. On accède aux Pour ouvrir le menu, onlesélectionne

desélectionner toutes

catégories par CAT : et on valide par .

lesinstructions if, for, while…

2 :Built-in : def :return, for, if, while,

➊ Le menu Boucles et tests l’onglet Ops comprend les tests

and, or…

comprend quatre sous-menus: (x==y, x>y…), les connecteurs or,

3 :math : math impor t…

For, If, While et Conditions and et les booléens True, False.

4 :random : random impor t…

(comme x<y, x==y…).  l’onglet Fonc donne accès

On a la barre d’outils suivante :

àdeffonction() et return.

➋ Le menu Modules

l’onglet Modul pour les modules

contientplusieurs modules

math et random.

➊ En sélectionnant ( ), (bibliothèques de fonctions)

ona accès aux symboles suivants: quel’on peut impor ter. ➋ Menu a A # (touche ) :

Parexemple : math, cmath lettresde l’alphabet,

ourandom. La liste desfonctions cer tainssymboles (#, ", …),

➋ Le menu ( ) donne
d’un module s’obtient des connecteurs (and, or)

accès aux lettres, aux chiffres...


ensélectionnant lemodule. etdesbooléens ( True, False).

➌ Par appui sur ,


➌ Le menu Catalogue comprend ➌ Menu Outils (touche ):

onaccède aux onglets suivants :


des fonctions comme min, ilpermet d’insérer

max,sin… uneindentation, une ligne…

➍ En sélectionnant ( ), ➍ Le menu Fonctions comprend ➍ Menu Script (touche ) :

ona accès à if, for et while. lesinstructions deffunction(x): il permet d’accéder

etreturn àtouslesprogrammes

➎ En sélectionnant ( ),

delacalculatrice.

ona accès aux fonctionnalités : La touche permet de revenir

aumenu précédent. On sor t d’un menu

aveclacommande Echap

La touche permet de sor tir

(touche ).

d’unmenu.

Pour exécuter un programme

Le programme étant saisi, On se place dans la console. Dans le gestionnaire de scripts,

onchoisit ( ), puis on tape Pourcela, on choisit choisir à l’aide des touches

lenom de la fonction pour exécuter Consoled’execution, puis . dedéfilement le programme voulu,

le programme dans la console. puis sélectionner le menu Exéc


Pour vous entraîner dans toutes les matières

Le Tout en un

nce
de référe
ion
La collect

Toutes les matières en un seul ouvrage,

pour s’entraîner et réviser à la maison :

✔ L’essentiel des leçons

✔ Des méthodes et des exemples

✔ Des exercices progressifs

✔ Tous les corrigés

Disponible en magasin et sur www.editions-bordas.fr

Un site d’entraînement en ligne

Un site de révisions interactives

pour apprendre à son rythme !

✔ 90000 ressources : fiches de cours, exercices


moc.kcotsrettuhS/yhpargotohP

interactifs, quiz et vidéos pour s’entraîner

sur ordinateur ou sur tablette

✔ Les exercices s’adaptent automatiquement

à votre niveau

✔ Vous pouvez suivre tous vos résultats


segroB
leumaS
©

À découvrir sur soutien.editions-bordas.fr

ISBN 978-2-04-733725-7

Bordas est un éditeur qui s’engage pour

la préservation de l’environnement et qui

utilise du papier fabriqué à partir de bois

9:HSMAOH=XX\WZ\: provenant de forêts gérées de manière

responsable.

Vous aimerez peut-être aussi