Cahier D Algo. Algorithmique Et Programmation en Python Version Corrigée Pour L Enseignant Exercices Et TP [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

re

SPÉCIALITÉ AVEC UN MÉMENTO DÉTACHABLE

PROGRAMME 2019 C O L L E C T I O N B A R B A Z O

CAHIER d’ALGO VERSION CORRIGÉE POUR L’ENSEIGNANT EXERCICES ET TP SPÉCIAL E 2019 RM RÉFO E LYCÉ

Cahier numérique élève OFFERT avec le papier

Cahier numérique interactif

(voir au dos)

PRIX PUBLIC 2019 : 6,50 €

Algorithmique et programmation en Python

Cahier numérique enseignant gratuit : N jeteste.fr/5547576

Site collection

Les principales opérations en langage Python La multiplication et la division sont prioritaires sur l’addition et la soustraction. Syntaxe a+b a*b a/b a ** b sqrt(a) a // b a%b

Opération Addition de a et b. (Si les variables a et b sont des chaînes de caractères, on parle de concaténation.) Multiplication de a et b. (Si la variable a ou b est une chaîne de caractères, on parle de répétition.) Division de a par b. Élévation de a à la puissance b. Racine carrée de a. (Il faut importer sqrt() depuis la bibliothèque math.) Quotient de la division euclidienne de a par b. Reste de la division euclidienne de a par b.

Affecter des valeurs aux variables Syntaxe

Rôle Affecte (stocke) simultanément la valeur 1.4 dans la variable x et la valeur 3.65 dans la x,y = 1.4,3.65 variable y (équivaut aux instructions x = 1.4 et y = 3.65). x,y = 3 *x+y, 4 *x-2 *y Affecte aux variables x et y les valeurs 3x+y et 4x-2y simultanément. x=x+1 Incrémente la variable x de 1.

Tests, conditions et opérateurs de comparaison en langage Python Syntaxe if condition : instruction(s) if condition : instruction(s) 1 else : instruction(s) 2 if condition 1 : instruction(s) 1 elif condition 2 : instruction(s) 2 else : instruction(s) 3 a == b a != b a < b (ou a > b) a = b) condition 1 and condition 2 condition 1 or condition 2

Rôle Teste la condition. Si la condition est vérifiée, exécute la (ou les) instruction(s) indentées. Teste la condition. Si la condition est vérifiée, exécute la (ou les) instruction(s) 1, sinon, exécute la (ou les) instruction(s) 2.

Teste la condition 1. Si la condition 1 est vérifiée, exécute la (ou les) instruction(s) 1, sinon, teste la condition 2. Si la condition 2 est vérifiée, exécute la (ou les) instruction(s) 2, sinon exécute la (ou les) instruction(s) 3. Teste si a est égal à b. Teste si a est différent de b. Compare si a est strictement inférieur à b (ou si a est strictement supérieur à b). Compare si a est inférieur ou égal à b (ou si a est supérieur ou égal à b). Teste si la condition 1 ET la condition 2 sont vérifiées. Teste si la condition 1 OU la condition 2 est vérifiée.

Les boucles en langage Python Syntaxe

Rôle

while condition : instruction(s) for variable in range(n) : instruction(s) for variable in range(n,m) : instruction(s) for variable in range(n,m,k) : instruction(s) for caractere in chaine : instruction(s)

Exécute en boucle la (ou les) instruction(s) tant que la condition est vérifiée. Exécute en boucle la (ou les) instruction(s) pour une variable allant de 0 à n–1. Exécute en boucle la (ou les) instruction(s) pour une variable allant de n à m–1. Exécute en boucle la (ou les) instruction(s) pour une variable allant de n à m–1 avec un pas de k. Exécute en boucle la (ou les) instruction(s) pour chaque caractere de la chaîne de caractères chaine.

Créer une fonction en langage Python Syntaxe def nom(p1,p2) : instruction(s) return resultat

Commentaires Une fonction est un programme qui porte un nom et qui peut utiliser plusieurs paramètres (p1,p2,...) ou aucun paramètre. Le mot-clé return est obligatoire à la fin d’une fonction. Le resultat renvoyé par une fonction peut être réutilisé dans un autre programme ou une autre fonction.

re

SPÉCIALITÉ

PROGRAMME 2019 C O L L E C T I O N B A R B A Z O

CAHIER d’ALGO Algorithmique et programmation en Python Éric Barbazo

Sommaire

Introduction

PARTIE 1

Démarrage

1

Variables, fonctions et instruction conditionnelle ......................................................

8

2

Boucles bornées et non bornées......................................................................................

10

3

Listes .........................................................................................................................................

12

4

Graphiques ..............................................................................................................................

14

PARTIE 2

Entraînement et TP

Fonctions ..................................................................................................................................

16

TP Fonctions associées Approximation par des polynômes .............................................

18

Trinômes, équations et inéquations ................................................................................

20

TP Polynômes du second degré Trajectoire d’un projectile .................................................

22

Nombre dérivé et tangente ................................................................................................

24

TP Application de la dérivation Étude d’une demi-ellipse .................................................

26

4

Définition et génération des suites ..................................................................................

28

5

Suites et notion de limite ....................................................................................................

30

TP Suites numériques Évolution d’une situation au cours du temps ............................

32

Trigonométrie .........................................................................................................................

34

TP Fonction exponentielle Approcher le nombre e .............................................................

36

7

Produit scalaire, parallélisme, orthogonalité et colinéarité ....................................

38

8

Variable aléatoire ..................................................................................................................

40

TP Variables aléatoires Jeu du loto...........................................................................................

42

1

2

3

6

450 g éq. CO2 2 › Sommaire

4

Découvrir l’algorithmique et la programmation ...................

© Hachette Livre 2019, 58 rue Jean Bleuzen, CS 700007, 92178 Vanves Cedex. www.hachette-education.com ISBN 978-2-01-786608-4 Tous droits de traduction, de reproduction et d’adaptation réservés pour tous pays.

Sommaire

PARTIE 3 1

Vers l’épreuve

D’après Polynésie juin 2012 ..............................................................................................

44

• Variables et instructions élémentaires • Boucle bornée

2

D’après Asie juin 2012 .........................................................................................................

44

• Boucle non bornée • Recherche de racine

3

D’après Antilles-Guyane juin 2012 ..................................................................................

44

• Boucle non bornée • Instruction conditionnelle • Algèbre

4

D’après Pondichéry avril 2012..........................................................................................

45

• Notion de fonction • Génération de nombres aléatoires • Probabilités

5

D’après Pondichéry avril 2013..........................................................................................

45

• Notion de fonction • Suites

6

D’après Pondichéry mai 2018 ...........................................................................................

46

• Boucles bornée et non bornée • Suites

7

D’après Antilles-Guyane juin 2016 ..................................................................................

46

• Liste • Boucle bornée • Résolution d’équation

8

D’après Métropole septembre 2016 ...............................................................................

47

• Instruction conditionnelle • Simulation d’une expérience aléatoire • Probabilités

9

D’après Métropole-La Réunion juin 2018 ......................................................................

48

• Variables et affectation • Boucle non bornée • Fonction exponentielle

Les fichiers des scripts sont disponibles dans le manuel numérique et sur le site www.lycee.hachette-education.com/barbazo/cahier-1re

Fabrication : Miren Zapirain Mise en pages & schémas : STDI Couverture : Guylaine Moi Maquette intérieure : Anne-Danielle Naname Édition : Alexandre Bertin

Nous remercions Mme Katia Odiot pour ses précieux conseils et suggestions.

Introduction

Découvrir l’algorithmique et la programmation 1 Les notions de base en algorithmique et en programmation ▶ Un algorithme est un ensemble d’instructions qui s’enchainent les unes après les autres, dans un ordre logique et bien déterminé. ▶ Une instruction est une série d’actions contenant des mots clés et des connecteurs logiques. Les instructions font également intervenir des variables. ▶ Un algorithme peut s’écrire en langage naturel (structure logique écrite en français) ou en

langage informatique (structure logique écrite dans un langage spécifique que les ordinateurs peuvent interpréter). ▶ La programmation est la mise au point d’un programme (aussi appelé script) dans un langage informatique pouvant être compris et utilisé par un ordinateur. Il existe plusieurs langages de programmation  : Python, Scilab, C++, etc.

2 Les principales structures algorithmiques en langage naturel L’affectation de variable ▶ Pour

affecter une valeur à une variable, c’est-à-dire donner une valeur à une variable, on utilise, en langage naturel, la syntaxe variable ← valeur. Exemple : base ← 10 signifie que la variable base reçoit la valeur 10.

Les instructions conditionnelles aiguiller dans différentes directions l’exécution d’un algorithme, on peut avoir recours à des instructions conditionnelles qui permettent de déterminer si les instructions qui suivent doivent être, ou non, exécutées. ▶ Pour

La syntaxe d’une instruction conditionnelle en langage naturel Si condition alors instruction(s) 1 Sinon instruction(s) 2 Fin Si

Exemple : Si prix > 200 alors prix ← prix × 0,8 Sinon prix ← prix × 0,9 Fin Si

La boucle bornée doit répéter une ou plusieurs instructions un nombre défini de fois connu à l’avance, on utilise une boucle bornée. ▶ Lorsqu’on

La syntaxe d’une boucle bornée en langage naturel Pour variable allant de valeur minimale à valeur maximale instruction(s) Fin Pour

Exemple : Pour 𝑖 allant de 3 à 100 somme = somme + i Fin Pour

La boucle non bornée ▶ Lorsqu’on doit répéter une ou plusieurs instructions un nombre inconnu de fois, on utilise une boucle non bornée qui est parcourue jusqu’à ce qu’une certaine condition ne soit plus vraie.

La syntaxe d’une boucle non bornée en langage naturel Tant que condition faire instruction(s) Fin Tant que

4 › Découvrir l’algorithmique et la programmation

Exemple : Tant que M > 0 faire M←M–1 Fin Tant que

Introductio

n

3 Le logiciel EduPython et le langage Python ▶ Python est un langage de programmation qui peut être utilisé dans plusieurs environnements : EduPython, Pyso, Spyder, etc.

▶ Dans ce cahier, l’environnement utilisé est celui d’EduPython, un logiciel gratuit et téléchargeable en ligne à l’adresse : https://edupython.tuxfamily.org/

L’interface du logiciel EduPython Bouton permettant d’exécuter le script

Éditeur : zone d’écriture des programmes et des fonctions

Console : zone où le programme s’exécute

▶ L’éditeur permet d’écrire des programmes. Après l’écriture d’un programme ou d’une fonction, on l’exécute avec l’icône . Après l’exécution d’un programme, on peut utiliser la console pour connaître le contenu des variables calculées. ▶ La console permet de dialoguer directement avec le programme à l’aide du clavier. L’utilisateur saisit des instructions dans la console, tape sur la touche entrée et le programme affiche une donnée à l’écran en réponse. La console est ainsi le lieu où s’affichent les données des programmes écrits dans l’éditeur.

Exemple : Programme saisi dans l’éditeur et exécuté

Instruction saisie dans la console et affichage

La console peut aussi être utilisée comme une puissante calculatrice. Exemple : calcul de 2450

Introduction ‹ 5

Introduction 4 Les principales structures algorithmiques en Python ▶ Un langage informatique utilise une syntaxe qui lui est propre. Certains mots utilisés en langage naturel se traduisent en langage informatique par des mots clés, uniquement employés par ce langage. ▶ Python est un langage dont la base linguistique est anglo-saxonne. Sa syntaxe est donc constituée de mots anglais.

L’instruction conditionnelle if ▶ Le mot français Si du langage naturel se traduit par le mot anglais if en langage Python. ▶ Le mot français Alors du langage naturel ne se traduit pas par un mot en anglais en langage Python,

mais par un retour à la ligne, appelé indentation. ▶ Le mot français Sinon du langage naturel se traduit par le mot anglais else en langage Python. ▶ Une instruction conditionnelle peut exécuter une, deux ou plusieurs instructions selon la situation étudiée.



L’instruction conditionnelle en langage Python ci-dessous n’a qu’une seule condition. Si la condition n’est pas réalisée, le script n’effectue pas l’instruction.

Exemple :

Le programme affecte à la variable y une valeur égale à quatre fois celle de la variable x lorsque cette variable x est inférieure ou égale à 3. Rien ne se produit si la variable x est strictement supérieure à 3.



L’instruction conditionnelle en langage Python ci-dessous a une condition et une alternative. Si la condition est réalisée, le script effectue l’instruction 1 ; si la condition n’est pas réalisée, il effectue l’instruction 2.

Exemple :

Le programme affecte à la variable y une valeur égale à quatre fois celle de la variable x lorsque cette variable x est inférieure ou égale à 3. Sinon, il affecte à y la valeur 3x + 6. Dans cette instruction conditionnelle, tous les cas sur x sont étudiés.

La boucle bornée for ▶ Le mot français Pour du langage naturel se traduit par le mot anglais for en langage Python. ▶ La fonction range() permet d’énumérer le nombre de passages dans la boucle.

La boucle non bornée while ▶ Le mot français Tant que en langage naturel se traduit par le mot anglais while en langage Python.

6 › Découvrir l’algorithmique et la programmation

Introductio

n

5 Les bibliothèques de Python ▶ Certaines fonctions spécifiques au langage Python sont rangées dans des bibliothèques. Pour pouvoir les utiliser, on peut importer entièrement la bibliothèque ou seulement la ou les fonction(s) souhaitée(s).

• L’étoile * permet d’importer toutes les fonctions d’une bibliothèque. Exemple : from math import* importe toutes les fonctions de la bibliothèque math.

• On peut importer d’une bibliothèque seulement les fonctions dont on a besoin. Exemple : from math import sqrt importe la fonction racine carrée de la bibliothèque math.

le nom de la bibliothèque est très long, on peut lui définir un alias en ajoutant as suivi de quelques lettres formant l’alias. On peut ensuite utiliser toutes les fonctions de la bibliothèque en faisant précéder leur nom de l’alias.

▶ Lorsque

Exemple : import matplotlib.pyplot as plt L’instruction plt.plot(x,y) permet d’importer la fonction plot de la bibliothèque matplotlib.pyplot en utilisant l’alias plt. Type de bibliothèque

Nom de la bibliothèque math

from math import*

random

from random import*

matplotlib.pyplot

import matplotlib.pyplot as plt

pylab numpy

import pylab as pb import numpy as np

Principales fonctions mathématiques Fonctions des probabilités Fonctions graphiques

Syntaxe d’importation

6 Les graphiques ▶ Le langage Python est un langage informatique

qui permet de réaliser des calculs qui sont trop longs et compliqués à faire manuellement, mais c’est également un traceur de courbes. Les graphiques permettent en général de conjecturer des solutions d’équations ou d’inéquations, de déterminer des coordonnées de points ou de faire de la géométrie. ▶ Pour réaliser des graphiques avec le langage Python, il faut utiliser plusieurs bibliothèques : matplotlib.pyplot, ou pylab et numpy. ▶ Lorsqu’on exécute un script de tracé de graphique, l’affichage se réalise dans une fenêtre qui s’ouvre indépendamment de l’environnement EduPython. Il faut fermer cette fenêtre après l’avoir visualisée.

Introduction ‹ 7

papier & crayon

Démarrage

d é b ra

nché

1. Variables, fonctions et instruction conditionnelle MÉMO Quand on programme en Python, on utilise des variables, des fonctions et des instructions. Les variables peuvent être de types différents : numériques entières, numériques flottantes (rationnelles ou réelles), listes, chaînes de caractères ou booléennes. Ne pas oublier l’indentation, c’est-à-dire le décalage du texte vers la droite, qui indique le début et la fin des instructions conditionnelles, des boucles et des instructions de la fonction. Langage naturel

Python

Variable De type numérique

rayon ← 2

De type chaîne de caractères

jour ← "lundi"

De type booléen

resultat ← vrai

Instruction conditionnelle Si condition1 Faire …….. Sinon Si condition2 Faire …….. Sinon Faire ……… Fin Si Fonction informatique Chaque fonction possède un nom, renvoie un résultat et peut avoir aucun, un ou plusieurs arguments.

1 Une fondation attribue des bourses à des étudiants

2 On considère la fonction f

selon leur revenu imposable. Si ce revenu est supérieur ou égal à 30 000 € par an, l’étudiant n’a pas de bourse. Si le revenu est supérieur ou égal à 15 000 € et strictement inférieur à 30 000 € par an, le montant annuel de la bourse est égal à 1 500 € auquel on retranche 5 % du revenu. Si le revenu imposable est strictement inférieur à 15 000 €, le montant est égal à 1 200 € auquel on retranche 3 % du revenu. Compléter la fonction bourse ci-dessous, qui détermine le montant annuel de la bourse en fonction du revenu de l’étudiant.

définie par le programme ci-contre.

1 2 3 4 5 6 7 8

def bourse(revenu): if revenu>=30000 : montant=0 elif 15000 2

if x== 3 : resultat=False else:

5 6

{

def g(x):

3 4

f (x) =

resultat= 1/(x-3) return resultat

Définir f ( x ) Si x < −2 alors Afficher non défini Sinon faire Retourner 2x + 4 Fin Si

4 On considère la fonction g définie pour tout réel x par g ( x ) = x 2 − 2x − 3 et l’algorithme ci-dessous d’une fonction mystere en langage naturel. Définir mystere ( x ) Si −1≤ x ≤ 3 alors y = −g ( x ) Sinon y = g( x ) Fin Si Retourner y

5 On considère la fonction inverse_f suivante.

1. Que retourne cette fonction mystere lorsque x = 4 ? 5 2. Que retourne cette fonction mystere lorsque x = 1 ? 4 3. Écrire l’expression mathématique de la fonction définie par la fonction mystere. x ! x 2 − 2x − 3 4. Écrire la fonction mystere en langage Python sans utiliser d’instruction conditionnelle.

1. Expliquer l’instruction de la ligne 3. Comme on ne peut pas utiliser de comparaison de flottants, on utilise isclose pour déterminer si x n’est pas une valeur interdite pour f.

2. Que renvoie l’instruction suivante écrite dans la console ? 1 Elle renvoie False car – 1 est une valeur interdite pour . f 16 › Fonctions

ordinateur

99 . Quel est l’écart entre ces deux valeurs ? 70 99 On trouve 2 < . L’écart vaut environ 7.215191261922271×10−5. 70

6 1. En utilisant la console Python, comparer les nombres 2 et

2. En utilisant la console Python, comparer les nombres On en déduit que

99 140 − 2 et − 2 . Que peut-on en déduire ? 70 99 140 99 est une meilleure approximation de 2 que . 99 70

N , où N et D sont deux entiers naturels non nuls à deux chiffres, qui soient de D 99 meilleures approximations de 2 que . 70 n ←100 On a écrit l’algorithme ci-contre en langage naturel. 3. On cherche les fractions

a. Quelles valeurs prennent les variables N et D dans cet algorithme ? À quelles fractions correspondent ces valeurs ? N et D prennent toutes les valeurs comprises entre 1 et 99. Elles correspondent aux fractions formées par deux entiers compris entre 1 et 99.

Pour N allant de 1 à n −1 faire Pour D allant de 1 à n −1 faire N 99 − 2< − 2 faire Si D 70 Afficher N et D Fin Si Fin Pour Fin Pour

b. Traduire cet algorithme en Python. Quels résultats donne-t-il ? Qu’en déduit-on ? L’algorithme ne donne aucune solution. Il n’y a pas de 99 meilleures approximations que par des fractions 70 dont le numérateur et le dénominateur ont deux chiffres. c. Quelle modification doit-on apporter à l’algorithme pour qu’il cherche s’il existe des meilleures approximations par des fractions dont le numérateur et le dénominateur aient trois chiffres ? Quels résultats a-t-on ? Il suffit de prendre n = 1000. On trouve 140-99 ; 239-169 ; 280-198 ; 338-239 ; 379-268 ; 420-297 ; 437-309 ; 478-338 ; 519-367 ; 536-379 ; 560-396 ; 577-408 ; 618-437 ; 635-449 ; 659-466 ; 676-478 ; 700-495 ; 717507 ; 734-519 ; 758-536 ; 775-548 ; 799-565 ; 816-577 ; 833-589 ; 840-594 ; 857-606 ; 874-618 ; 898-635 ; 915-647 ; 932-659 ; 939-664 ; 956-676 ; 973-688 ; 980-693 ; 997-705. 4. Modifier l’algorithme pour qu’il détermine la meilleure approximation parmi toutes les fractions dont le numérateur et le dénominateur sont des nombres entiers à trois chiffres.

5. Quelle est la fraction obtenue ?

816 577 Entraînement ‹ 17

Travaux Fonctions associées

Objectifs

pratiques

• Utiliser les fonctions mathématiques de référence et les fonctions associées • Utiliser les boucles bornées et les fonctions informatiques

Approximation par des polynômes

Dans tout ce TP, on considère la fonction f définie pour tout réel x ≥ −1 par : f ( x ) = 1+ x .

PARTIE

1

Une approximation par des polynômes de degré 1 et 2

1

Écrire une fonction Python qui renvoie les valeurs de la fonction f.

2

On considère les deux fonctions définies par les scripts ci-dessous.

Quelles sont les expressions mathématiques et la nature de ces deux fonctions ? On notera g la fonction définie par poly1 et h la fonction définie par poly2. x x x2 g ( x ) = 1+ ; h ( x ) = 1+ − 2 2 8 g est une fonction affine et h une fonction polynôme du second degré.

3

a. Compléter les résultats obtenus en utilisant les trois fonctions. f (0,01) ≈ 1.004987562112089.

g (0,01) = 1.005.

h (0,01) = 1.0049875

b. Que peut-on dire des résultats trouvés avec les deux fonctions polynômes par rapport à l’image de 0,01 par la fonction f ? Les résultats trouvés sont très proches du résultat obtenu avec la fonction f.

4

On donne la fonction ci-dessous.

a. Que faut-il écrire dans la console pour déterminer l’écart entre les valeurs de f ( x ) et g ( x ) pour x = 0,01 ? Quel est cet écart ?

18 › Approximation par des polynômes

b. Que faut-il écrire dans la console pour déterminer l’écart entre les valeurs de f ( x ) et h ( x ) pour x = 0,01 ? Quel est cet écart ?

PARTIE

2

Une approximation par des polynômes de degré n On veut déterminer des polynômes de degré n qui donnent des valeurs approchées de 1+ x avec une précision encore plus grande. On peut démontrer que, lorsque x est voisin de 0, on a : x x2 (1× 3 × 5 × …× (2n − 3)) n 1+ x ≈ 1+ − + …+ ( −1)n−1 x 2 × 4 × 6 × …× 2n 2 8 Dans cette partie, on prend x = 0,01.

1

Recopier la fonction produit_impair ci-contre qui calcule le produit des i −1 premiers entiers impairs et compléter. produit_impair(2)= 1

2

Compléter la fonction produit_pair ci-dessous qui calcule le produit des i premiers entiers pairs. 1

def produit_pair(i):

2

P= 1

3

for k in range(1, i+1

4 5

3

):

P=P* 2*k return P

Compléter la fonction poly ci-dessous qui calcule la valeur du polynôme de degré n qui approxime 1+ x en un réel x. 1

def poly(x,n):

2

S=1

3

for k in range(1, n+1 ):

4 5

4

produit_impair(5)= 105

S=S+(-1)**( k-1 )*produit_impair( k )/produit_pair( k )*x** k return S

Que saisir dans la console pour retrouver la valeur de poly1(0.01) avec la fonction poly ? Il faut saisir

5

Que saisir dans la console pour retrouver la valeur de poly2(0.01) avec la fonction poly ? Il faut saisir

6

Quelle instruction saisir dans la console pour déterminer une valeur approchée de f (0,01) en utilisant un polynôme de degré 4 ? Combien trouve-t-on ? Il faut saisir

7

Modifier la fonction ecart en une fonction ecart2, d’arguments deux fonctions, un réel x et un entier n, pour qu’elle donne la différence entre les deux valeurs de la question 5. Ces valeurs sont-elles proches ?

En utilisant la fonction ecart2 , on trouve : Les valeurs diffèrent d’environ 10−12. Travaux pratiques ‹ 19

papier & crayon

Entraînement

déb r

anch

é

2. Trinômes, équations et inéquations 1 Écrire en Python la fonction

discriminant dont on déterminera les arguments et qui permet de calculer le discriminant du trinôme P ( x ) = ax 2 + bx + c.

2 Compléter l’algorithme ci-contre écrit en langage naturel d’une fonction racine qui permet d’afficher les racines d’un polynôme du second degré lorsqu’elles existent.

Définir racine(a,b,c) delta = b2 − 4ac Si delta < 0 faire retourner « pas de racine Sinon Si delta = 0 faire retourner − b 2a Sinon retourner −b − Δ 2a Fin Si

3 On considère la fonction mystere suivante.

1. Que renvoie la fonction après avoir écrit dans la console l’instruction suivante ?

»

, −b + Δ 2a

2. Que renvoie la fonction après avoir écrit dans la console l’instruction suivante ?

Elle renvoie True. 3. Que fait cette fonction mystere ? Elle teste si le quatrième argument x est solution

Elle renvoie False.

4 On considère la fonction signe suivante.

de l’équation ax 2 + bx + c = 0. 4. Quelle inéquation est définie par les instructions des questions 1 et 2 ? C’est l’inéquation 3x 2 + 5x −1> 0.

1. Que renvoie la fonction avec l’instruction suivante écrite dans la console ?

5. Résoudre cette inéquation et retrouver la cohérence des résultats des questions 1 et 2. Δ = 37. Δ est positif, donc le trinôme 3x 2 + 5x −1

Elle renvoie True. 2. Que renvoie la fonction avec l’instruction suivante écrite dans la console ?

possède deux racines : −5 − 37 −5 + 37 x1 = ≈ −1,85 et x2 = ≈ 0,18. 6 6 Le trinôme est du signe de a = 3, donc strictement positif sur l’intervalle :

Elle renvoie False.

]−∞ ; x1[ ∪ ]x2 ; + ∞[.

3. Quel est le rôle de cette fonction ?

On retrouve bien que 4 est solution de l’inéquation

Elle teste si le nombre x est solution de l’inéquation

(pour la question 1) et 0 n’est pas solution de

ax 2 + bx + c > 0.

l’inéquation (pour la question 2).

20 › Trinômes, équations et inéquations

ordinateur

5 On considère le trinôme du second

+ bx + c. degré P ( x ) = On suppose que Δ > 0. On note x1 et x2 les deux racines de P ( x ). ax 2

1. Rappeler l’expression de x1 et x2 en fonction de a, b et Δ. −b − Δ −b + Δ x1 = et x2 = 2a 2a b c 2. Montrer que x1 + x2 = − et x1x2 = . a a −b − Δ −b + Δ 2b b x1 + x2 = + =− =− 2a 2a 2a a 2 2 −b − Δ −b + Δ ( −b ) − Δ x1x2 = × = 2a 2a 4a2 b2 − Δ b2 − b2 + 4ac = = car Δ = b2 − 4ac 4a2 4a2 On trouve donc x1x2 =

3. On considère la fonction signe_racines ci-dessous.

Quel est le message retourné par l’instruction suivante ? « les racines sont de même signe » 4. De quelle équation s’agissait-il dans la question précédente ? L’équation 4x 2 + 2x + 3 = 0. 5. Modifier la fonction ci-dessus en une fonction signe_racines2 pour qu’elle affiche le signe des racines lorsqu’elles sont de même signe et toujours le message « les racines sont de signe contraire » lorsque c’est le cas.

4ac c = après 4a2 a

simplification.

6 On considère l’équation du second degré :

(E) : + bx + c = 0, où a, b et c sont des nombres entiers naturels. ax 2

1. Écrire une fonction nommée crible qui compte le nombre d’équations ( E ) qui ont deux solutions distinctes pour tous les entiers possibles a, b et c compris entre 0 et 50 inclus.

2. Modifier crible en une fonction crible2 qui calcule la fréquence des équations de type ( E ) ayant deux solutions distinctes pour tous les entiers possibles a, b et c compris entre 0 et un entier donné N inclus.

3. Pour N = 100, quel résultat trouve-t-on ? Combien de boucles fait-on avec les instructions des lignes 3à5? On trouve une fréquence d’environ 26 %. On fait 1 030 301 boucles. Entraînement ‹ 21

Travaux

Objectifs

pratiques

Polynômes du second degré

• Déterminer les coefficients de polynômes du second degré • Utiliser les propriétés d’une parabole

Trajectoire d’un projectile

Un projectile est lancé avec une vitesse !" ! initiale V0 d’intensité V0 (en m·s–1), à une hauteur h (en mètre) et avec un angle α (en degré) comme indiqué sur le schéma. On suppose que V0 = 10 m⋅s −1, α = 30° et h = 2m. L’équation de la trajectoire du projectile est donnée par : g y=− 2 x 2 + tan( α ) x + h, 2V0 cos2 ( α ) où x est l’abscisse du projectile, y son ordonnée et g l’intensité de la pesanteur. On prend g = 9,8 m⋅s −2.

y

2,6 2,4

V0

2,2

α

2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0

PARTIE

1

x

Mise en place des calculs de trajectoire

1

Écrire une fonction image qui retourne l’image d’un nombre x par la fonction polynôme du second degré, définie pour tout réel x par f ( x ) = ax 2 + bx + c. Cette fonction image doit avoir comme arguments les coefficients de f et la valeur de x.

2

À quelle fonction polynôme du second degré correspond l’instruction image(2,3,1,6) ? Quel résultat est retourné ? Pour quelle valeur de x ? L’instruction correspond à la fonction f définie par f ( x ) = 2x 2 + 3x +1. Le résultat retourné est 91. C’est l’image du réel 6.

3

4

La trajectoire du projectile est une parabole. Compléter la fonction suivante pour qu’elle retourne la hauteur du projectile lorsqu’il a une abscisse x. La fonction image est celle de la question 1. 1

from math import cos,tan,pi

2

def hauteur( V0 ,alpha,h,x):

3

a=-4.9/(V0**2*(cos(alpha*pi/180))**2)

4

b=tan(alpha*pi/180)

5

c= h

6

return image( a , b , c , x )

Expliquer le calcul Il convertit l’angle α en radian pour pouvoir calculer cos ( α ).

22 › Trajectoire d’un projectile

PARTIE

2 1

Impact de la trajectoire En utilisant le script suivant, déterminer graphiquement une valeur approchée de la distance x où le projectile touche le sol.

On lit x ≈ 11,5. Le projectile touche le sol à environ 11,5 m.

2

On veut calculer une valeur approchée de cette distance x. Pour cela, on a commencé à écrire la fonction impact ci-dessous. Compléter le script de la fonction. 1 2

x=0

3

y=2

4

while y>0.01:

5

x=x+0.1

6

y=hauteur( V0 , alpha , h , x )

7

3

def impact(V0,alpha,h):

return x

En utilisant la fonction impact, déterminer une valeur approchée de l’abscisse du projectile lorsqu’il touche le sol. On trouve

4

Écrire l’équation à résoudre et donner les valeurs approchées des deux solutions puis la valeur approchée de l’abscisse de l’impact. g 0,049 On doit résoudre − 2 x 2 + tan( α ) x + h = 0, soit − x 2 + tan(30) x + 2 = 0. 2V0 cos2 ( α ) cos2 (30)  Δ = tan(30)2 +

2 0,392 ⎛ 1 ⎞ + 0,392 = 1 + 2 × 0,392 = 0,856. = 2 3 3 cos2 (30)  ⎝ 3 ⎠ ⎛ 3⎞ ⎜⎝ 2 ⎟⎠

Le discriminant est positif, donc il y a deux solutions : − tan(30) − 0,856 x1 = qui est négative ce qui est impossible ici ; 0,098 − cos2 (30)  x2 =

− tan(30) − 0,856 ≈ 11,499. 0,098 − cos2 (30) 

Travaux pratiques ‹ 23

papier & crayon

Entraînement

déb r

anch

é

3. Nombre dérivé et tangente 1 On considère la fonction f définie, pour tout réel

x, par f ( x ) = x 2 + 3. 1. On a écrit l’algorithme suivant en langage naturel. h ←1 Pour i allant de 1 à 4 Faire f (2 + h ) − f (2) d← h h h← 10 Fin Pour

2 On considère la fonction suivante.

Compléter le tableau d’état suivant, en exécutant pas à pas cet algorithme. i

1

2

3

4

d

5

4,1

4,01

4,001

0,1

0,01

0,001

0,0001

1

h

2. Quelle conjecture peut-on faire pour f ′(2) ? f ′ (2) = 4

1. On écrit dans la console l’instruction. Compléter le tableau d’état ci-dessous avec les résultats que l’on obtiendrait dans la console. On arrondira les valeurs au millième. i

1

2

3

h

0.1

0.01

0.001

y

6.1

6.01

6.001

image

[6.1]

[6.1, 6.01]

[6.1, 6.01, 6.001]

2. Que peut-on conjecturer ? On conjecture que f ′ (1) = 6, où f est la fonction définie par f ( x ) = x 2 + 4x −1.

3 1. En économie, on considère une fonction f, définie et dérivable sur ℝ, représentant le coût (en euro) de

fabrication de x objets par mois. On suppose que f ( x ) = 0,01x 2 + 0,02x + 4. On appelle coût marginal, le coût de fabrication d’un objet supplémentaire. On note fm la fonction coût marginal. Que vaut fm ( x ) ? fm ( x ) = f ( x +1) − f ( x ) 2. Écrire, en langage naturel, une fonction cout_marginal, d’arguments f et x, qui renvoie le coût marginal de x objets fabriqués. Définir cout_marginal(f, x) Retourner f (x+1) – f (x) 3. Calculer le coût marginal pour x = 10 000 et le comparer avec f ′ (10 000). fm (10 000) = f (10 001) − f (10 000) = 200,03. Par ailleurs, f ′ ( x ) = 0,02x + 0,02 donc f ′ (10 000) = 200,02. On a : fm (10 000) ≈ f ′ (10 000).

24 › Nombre dérivé et tangente

ordinateur

4 On considère la fonction f définie pour tout réel x

2. Tester cette fonction avec a = 1 et h = 0,01 et enfin avec a = 1 et h = 0,001. Quels résultats trouve-t-on ? Quelle conjecture peut-on faire ?

par :

f ( x ) = x 2 + x − 2. On a écrit la fonction Python suivante.

On obtient 3.0100000000000016 puis 3.0009999999993653. On conjecture que f ′ (1) = 3. 3. Comparer avec la valeur exacte de f ′ (1).

1. Quel résultat s’affiche dans la console en écrivant l’instruction ci-dessous ?

On calcule : f (1+ h ) − f (1) 1+ 2h + h2 +1+ h − 2 = = h + 3. h h On fait tendre h vers 0 et on trouve f ′ (1) = 3. On

3.100000000000005

trouve avec Python une valeur très proche de la valeur exacte.

5 On considère la fonction f dérivable

sur ℝ telle que le nombre dérivé en tout réel x vaut f ′ ( x ) = 2x. L’équation de la tangente au point A ( a ; f ( a )) est : y = f ′ ( a ) ( x − a ) + f ( a ), soit y = f ′ ( a ) h + f ( a ) en posant h = x − a ou encore x = a + h. On a alors, pour tout réel x et pour tout h assez petit : f ( a + h ) ≈ f ( a ) + hf ′ ( a ) On se place sur l’intervalle [0;2] que l’on divise en 100 parties égales. On pose h = 0,02. On a écrit le script ci-contre.

y

y = f'(a)(x – a) + f(a) 𝒞f

f(a + h) hf '(a) + f(a)

f(a)

0

A

a a+h

x

1. Recopier ce script et le lancer. Qu’obtient-on ? On obtient deux courbes proches l’une de l’autre. 2. Compléter le tableau ci-dessous avec les premières valeurs de x et y calculées par le script. i

1

2

3

x

0

0.02

0.04

0.06

y

0

0.06

0.14

0.26

3. À quoi servent les instructions des lignes 16 et 17 ? Elles créent la liste des abscisses et la liste des ordonnées. 4. À quelle courbe représentative appartiennent les points définis lignes 18 et 19 ? La fonction carré. Entraînement ‹ 25

Objectifs

pratiques

Travaux

Application de la dérivation

• Déterminer un maximum • Déterminer le coefficient directeur d’une tangente

Étude d’une demi-ellipse

On considère la fonction f définie sur [ −3; 3] par f ( x ) =

PARTIE

3 9 − x2 . 5

1

Tracé de la courbe représentative de f

1

Expliquer pourquoi la fonction f est bien définie sur [ −3; 3]. Le polynôme 9 − x 2 a pour racines −3 et 3. Il est du signe du coefficient de x2, soit du signe de 1, donc positif, sur l’intervalle [ −3; 3]. La fonction est bien définie sur cet intervalle.

2

Compléter le script ci-contre pour tracer la courbe représentative de la fonction f.

3

La courbe obtenue est une moitié d’ellipse. Conjecturer les variations de la fonction f sur [ −3; 3], la valeur du maximum de f et la valeur en laquelle il est atteint.

1

import matplotlib.pyplot as plt

2

import numpy as np

3

plt.axis([-3,3,0,2])

4

plt.grid()

5

x=np.linspace( -3 , 3 ,100)

f semble croissante sur [ −3; 0]

6

y= 3/5*np.sqrt(9-x**2)

et décroissante sur [0; 3]. f a un maximum

7

plt.plot( x , y )

8

plt.show()

environ égal à 1,8, atteint en 0.

4

Écrire une fonction Python, nommée f qui renvoie les valeurs de f ( x ).

5

Compléter la fonction maximum ci-contre pour qu’elle renvoie, avec un pas h donné, une valeur approchée du maximum de la fonction f et de la valeur en laquelle est atteint ce maximum. 1 2

a=-3

3

m= f(a)

4

while am:

7

m= f(a)

8

6

def maximum(h):

return a,m

En utilisant la fonction précédente, retrouver le résultat de la question 3 qui concerne le maximum. On prendra h = 0,1.

Le maximum est environ 1,8. Il est atteint en 0.

26 › Étude d’une demi-ellipse

PARTIE

2 1

Étude de tangentes Conjecturer graphiquement la valeur du coefficient directeur de la fonction f au point d’abscisse 0. On conjecture f ′ (0) = 0.

2

Écrire le script d’une fonction nbre_derive qui renvoie une valeur approchée du nombre dérivé de la fonction f en un réel a donné.

3

En utilisant la fonction nbre_derive, déterminer une valeur approchée de f ′ (0). On conjecture f ′ (0) = 0.

4

15 . On utilisera la fonction 34 ⎛ 15 ⎞ . nbre_derive pour déterminer une valeur approchée de f ′ − ⎝ 34 ⎠ 15 ⎞ . On utilise la fonction nbre_derive pour déterminer une valeur approchée de f ′ ⎛ − ⎝ 34 ⎠

Déterminer une équation de la tangente au point d’abscisse −

15 ⎞ 15 ⎞ 15 ⎞ 27 On trouve f ′ ⎛ − . ≈ 1. De plus, la valeur exacte de f ⎛ − est f ⎛ − = ⎝ ⎠ ⎝ ⎠ ⎝ ⎠ 34 34 34 5 34 15 ⎞ 27 102 L’équation est alors y = 1⎛ x + , soit y = x + . + ⎝ ⎠ 34 5 34 5 34

5

En utilisant la fonction nbre_derive, conjecturer le coefficient directeur de la tangente au point d’abscisse −3. Comment interpréter ce résultat pour la tangente à la courbe représentative de la fonction f au point d’abscisse −3 ? On trouve f ′ ( −3) ≈ 146969.39064714126. Le coefficient directeur est très grand. On peut conjecturer que la tangente est verticale au point d’abscisse −3.

PARTIE

3

Démonstration On admet que, pour tout réel x appartenant à ]−3; 3[ , f ′ ( x ) = − 15 ⎞ . Déterminer la valeur exacte de f ′ ⎛ − ⎝ 34 ⎠ 15 ⎞ On a f ′ ⎛ − = ⎝ 34 ⎠

3x 5 9 − x2

.

45 45 45 34 34 = 1. = 34 = 225 81 5 × 9 5 9− 5 34 34 34

15 ⎞ 27 . = On a calculé, à la question 4, f ⎛ − ⎝ ⎠ 34 5 34 On retrouve donc la même équation de tangente. Travaux pratiques ‹ 27

papier & crayon

Entraînement

déb r

anch

é

4. Définition et génération des suites 1 On considère la suite définie pour

2. Que renvoie l’instruction rang_n(5) ? Quelle valeur renvoie-t-elle ?

tout entier naturel n par : un = 2n2 − n +1.

Elle renvoie la valeur du rang 5 de la suite.

1. Écrire la fonction python rang_n qui permet de retourner le terme de rang n de cette suite pour une valeur de n donnée.

3. Compléter la fonction ci-dessous pour qu’elle renvoie la liste des termes jusqu’au terme de rang n de la suite.

Elle renvoie la valeur 46.

1 2

2 On considère la suite définie par

u0 = 3 et, pour tout entier naturel n, par : un+1 = 2un − 4.

def suite(n): return [ 2*i**2-i+1 for i in range( n+1 )]

2. Quel terme de la suite renvoie l’instruction rang_n(4) et quelle valeur renvoie-t-elle ? Elle renvoie le terme de rang 4 de la suite, soit le terme u4. La valeur renvoyée est −12.

1. Compléter le script de la fonction ci-contre qui renvoie le terme de rang n de la suite.

3. On considère le script ci-contre. Que calcule la fonction mystere ?

1

Elle calcule la somme des termes

def rang_n(n):

2

u=3

3

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

4 5

de la suite du rang 0 au rang n. u=2*u-4

return u

4. Quelle valeur renvoie l’instruction mystere(2) ? Elle renvoie la valeur 5.

3 On considère la suite géométrique de premier terme 1 u0 = et de raison q = 2. 3 1. Quelle est la forme explicite de cette suite ? 1 u n = × 2n 3 2. On admet qu’on peut trouver des termes de la suite aussi grands que l’on veut. Compléter la fonction seuil ci-contre qui détermine le plus petit entier n pour lequel un ≥ 1 000.

4 On considère la suite définie par u0 = 1 et, pour tout entier naturel n, par : un+1 = −3un + 2n + 4. 1. Que vaut u3 ? u3 = −1

1

def seuil():

2

n=0

3

u= 1/3

4

while u 0,01 faire n ← n +1 u ←1/(n + 5)

a. Expliquer les deux premières lignes. On initialise la variable n à 0 et la variable u au 1 premier terme de la suite qui est = 0,2. 5 b. Que fait cet algorithme ? L’algorithme calcule le plus petit entier naturel n tel

On conjecture que la suite tend vers 0.

que un ≤ 0,01.

3 On considère la somme S = 1+ 2 + …+ n, où n est un

entier naturel donné. Soit A un nombre réel. Écrire une fonction somme, d’argument A, qui calcule le premier rang à partir duquel la somme S dépasse A.

4 On considère l’algorithme ci-contre.

2. Comment obtenir la valeur de n après utilisation de l’algorithme ?

1. Que fait cet algorithme ?

On écrit dans la console la variable n pour obtenir

Cet algorithme calcule les

sa valeur.

termes des deux suites ( un ) et ( v n ) jusqu’au premier terme de la suite ( un )

3. Donner l’expression de chaque suite définie par l’algorithme.

strictement supérieur au terme de même rang de

u0 = 10 000 et, pour tout n, un+1 = 1,02un

la suite ( v n ).

v0 = 10 000 et, pour tout n, v n+1 = v n + 750

30 › Suites et notion de limite

ordinateur

5 On considère la suite ( un ) définie, pour tout entier

2n +1 . n +2 1. Écrire une fonction nommée u qui renvoie le terme de rang n de la suite pour une valeur donnée de l’entier n en argument. naturel n, par un =

2. Conjecturer la limite de ( un ) lorsque n tend vers +∞.

Qu’obtient-on ? On obtient les 100 premiers points représentant la suite. 4. On admet que, pour tout n, on a un < 2. Compléter la fonction ecart ci-contre, d’argument un réel epsilon, pour qu’elle calcule le plus petit entier n tel que l’écart entre tous les termes de la suite et la limite trouvée à la question 1 soit inférieur à epsilon. 1

def ecart(epsilon):

En utilisant cette fonction avec n = 10 000, on

2

n=0

conjecture que la limite de la suite est 2.

3

while 2-u(n) >= epsilon :

3. Recopier le script ci-dessous et le lancer.

4 5

6 On considère la suite ( un ) définie pour tout entier naturel n > 0 par un =

( −1)

n

. n 1. Compléter le script ci-dessous pour qu’il affiche le nuage des 100 premiers termes de la suite. 1

import matplotlib.pyplot as plt

2

x=[ n for n in range( 1 ,101 )]

3

y =[(-1)**n/n

4

plt.scatter(x,y)

5

plt.show()

n= n+1 return n

2. Conjecturer la limite de la suite ( un ). La suite semble tendre vers 0. 3. En s’inspirant de l’exercice précédent, écrire une fonction ecart, d’argument un réel epsilon, pour qu’elle détermine le premier rang à partir duquel l’écart entre tous les termes de la suite et la limite trouvée à la question 1 soit inférieur à epsilon.

for n in range( 1 ,101 )]

7 On considère la suite ( un ) définie par u0 = 1 et, pour tout entier naturel n, un+1 = 1+ un . 1. Écrire une fonction suite, d’argument n, qui calcule le terme de rang n de la suite.

2. Écrire une fonction liste_suite qui affiche la liste des n +1premiers termes de la suite pour une valeur de n en argument.

3. Conjecturer la convergence de la suite et une valeur approchée de sa limite. Cette limite est-elle un nombre connu ? On conjecture que la suite converge vers un réel environ égal à 1,618, valeur approchée du nombre d’or. Entraînement ‹ 31

Travaux Suites numériques

Objectifs

pratiques

• Étudier des suites (variations, limite) pour traiter un problème d’évolution

Évolution d’une situation au cours du temps D’après baccalauréat, Liban 2015 enseignement de spécialité

Pour étudier la probabilité qu’un fumeur arrête de fumer, on modélise la situation fumeur-non fumeur de la manière suivante : • si le fumeur ne fume pas un jour donné, il ne fume pas le jour suivant avec une probabilité de 0,9 ; • s’il fume un jour donné, il fume le jour suivant avec une probabilité de 0,6. On note pn la probabilité que le fumeur ne fume pas le jour n et qn la probabilité que le fumeur fume le jour n. On admet que l’on peut calculer les termes des suites ( pn ) et ( qn ) avec les égalités : • p0 = 0 ; • q0 = 1 ; p = 0,9pn + 0,4qn . • et pour tout entier naturel n ≥ 1 : n+1 qn+1 = 0,1pn + 0,6qn

{

PARTIE

1

Modélisation

1

On considère la fonction fume suivante :

a. Expliquer la ligne 5. On calcule simultanément les valeurs de p et q pour que les valeurs précédentes de p et q soient utilisées en même temps. b. Que retourne la fonction fume ? Elle retourne la probabilité que le fumeur fume le jour n.

2

Écrire une fonction ne_fume_plus qui retourne la probabilité que le fumeur ne fume plus le jour n.

ou

3

Quelle est la probabilité que le fumeur ne fume plus au bout de 30 jours ? La probabilité est d’environ 0,8.

32 › Évolution d’une situation au cours du temps

PARTIE

2 1

2

Étude de la suite ( pn) Compléter le programme suivant, afin qu’il affiche le nuage des vingt premiers termes des suites ( pn ) et ( qn ). On veut les termes de la suite ( pn ) en rouge, avec le marqueur « > » et les termes de la suite ( qn ) en bleu avec le marqueur « * ». 1

import matplotlib.pyplot as plt

2

x=[n for n in range( 20 )]

3

y=[ ne_fume_plus(n) for n in range( 20 )]

4

z=[fume(n) for n in range( 20 )]

5

plt.scatter( x , y ,c="r",marker=">")

6

plt.scatter( x,z,c="b",marker="*" )

7

plt.show()

Conjecturer les variations de la suite ( pn ). La suite semble croissante.

3

Donner une relation entre pn et qn. En déduire que pn+1 = 0,5pn + 0,4. On a pn + qn = 1. On en déduit que pn+1 = 0,9pn + 0,4 (1− pn ) = −0,5pn + 0,4.

4

4 On pose un = pn − . Montrer que, pour tout entier naturel n, ( un ) est une suite géométrique 5 1 de raison − . Quel est son premier terme ? 2 4 1 4 4 1 4 1⎛ 8 1 un+1 = pn+1 − = pn + − = pn − = pn − ⎞ = un . La suite ( un )n est une suite ⎝ ⎠ 5 2 10 5 2 10 2 10 2 1 4 4 géométrique de raison . Son premier terme est u0 = p0 − = − . 2 5 5

5

Exprimer pn en fonction de n. 4 4 1 n 4 4⎛ 1 n⎞ pn = un + = − × ⎛ ⎞ + = ⎜ 1− ⎛ ⎞ ⎟ 15 5 ⎝ 2⎠ 5 5 ⎝ ⎝ 2⎠ ⎠

6

Conjecturer avec la console la limite de la suite ( pn ) lorsque n tend vers l’infini. On écrit dans la console 4/5*(1-0.5**1000). On conjecture que la limite de la suite ( pn ) est 0,8.

7

8

On considère que le fumeur a réellement 80 % de chance de ne pas fumer un jour donné, lorsque la différence entre la valeur de pn et 0,8 est strictement inférieure à 1 %. Compléter la fonction certitude pour qu’elle renvoie le premier jour où on peut considérer que le fumeur à 80 % de chance de ne pas fumer.

1

def certitude():

2

n=0

3

while abs(0.8-ne_fume_plus(n)) >= 0.01

4 5

n = n+1 return n

Quelle valeur trouve-t-on ? On trouve n = 7. À partir du 7e jour, on considère que le fumeur a 80 % de chances d’arrêter de fumer. Travaux pratiques ‹ 33

papier & crayon

Entraînement

déb r

anch

é

6. Trigonométrie 1 On considère la fonction convertir suivante, dont le script est écrit en langage naturel.

2. Que fait cette fonction ? Elle convertit en radian la mesure d’un angle

definir convertir(alpha) retourner alpha*π/180

exprimé en degré.

1. Quelle valeur renvoie cette fonction si on l’utilise pour alpha = 60 ? π La fonction renvoie la valeur . 3

3. Écrire en langage naturel, le script de la fonction convertir2 qui convertit en degré la mesure d’un angle exprimé en radian. definir convertir2(alpha) retourner alpha*180/π

2 On considère la fonction suivante.

3. Écrire le script d’une fonction, nommée tour, qui détermine le nombre entier de tours, dans le sens positif, qui séparent les deux points-image des réels x1 et x2, dans le cas où les deux pointsimage sont identiques. On pourra utiliser la fonction image précédente.

1. Quel résultat retourne cette fonction si on l’utilise π 9π avec les valeurs x1 = et x2 = ? 2 2 Elle retourne la phrase « même point image ». 2. Que fait cette fonction ? Elle teste si deux réels x1 et x2 ont le même point image ou non sur le cercle trigonométrique.

3 On découpe le cercle trigonométrique en quatre quarts de cercles comme sur la figure ci-dessous. 1 2

1

Compléter la fonction suivante pour qu’elle renvoie le numéro du quart de cercle auquel appartient le point-image d’un réel x donné. 1

from math import cos,sin

2

def quart(x):

3 4 –1

1

0

5 6 7 8

3

4

9 10

–1

34 › Trigonométrie

11

if cos(x)>0

and sin(x)>0 :

resultat=1 elif cos(x)0 : resultat=2 elif cos(x) d1 donc le point M n’est pas bien placé. M1 H d1

d

M2

d2

4. Donner une valeur approchée de la distance de A à la droite d. Arrondir au centième. On trouve que cette distance est d’environ 7,07.

A

7 Dans un repère (O, I, J ) orthonormé du plan, on 1 !" !⎛ ⎞ ⎜ 2 considère le vecteur u0 ⎟ . On appelle K le point ⎜ 1⎟ ⎜⎝ ⎟⎠ K (1;1) . 2 On considère la fonction ci-contre. Cette fonction utilise la fonction produit_scalaire de l’exercice 5. 1. Recopier cette fonction et l’utiliser avec n = 1000. Qu’affiche-t-elle ? Elle affiche des points dans le triangle IKJ.

2. Justifier par un calcul la conjecture. Les points affichés sont les extrémités des vecteurs de coordonnées ⎛ x ⎞ tels que : 1 x + 1 y > 1, ce qui équivaut à y > −x +1. Ce sont donc ⎝ y⎠ 2 2 2 les points du carré situés au-dessus de la droite d’équation y = −x +1. Entraînement ‹ 39

papier & crayon

Entraînement

déb r

anch

é

8. Variable aléatoire 1 On considère la fonction ci-contre. 1. À quoi sert l’instruction de la ligne 1 ? Elle sert à importer la fonction random() de la bibliothèque random. 2. Que renvoie la fonction random() ? Elle renvoie un nombre réel aléatoire compris entre 0 et 1. 4. Déterminer une expérience aléatoire qui pourrait utiliser la fonction gain ci-dessus.

3. Expliquer pourquoi la variable somme est une variable aléatoire. Quelle est la loi de la variable aléatoire somme définie par la fonction ci-dessus ?

Une urne contient deux boules blanches, trois

La valeur de la variable somme dépend du résultat

boules rouges et cinq boules noires.

de la fonction random(). Elle est donc aléatoire.

Un joueur tire au hasard une boule de l’urne. Il

La loi de cette variable aléatoire est :

gagne 45 € s’il tire une boule rouge, 30 € s’il tire

somme probabilité

0 0,2

30 0,5

une boule noire et 0 € s’il tire une boule blanche.

45 0,3

Déterminer la loi de la variable aléatoire Gain du joueur.

2 On considère deux dés à six faces, parfaitement

équilibrés. On considère la variable aléatoire X qui prend pour valeurs la somme des deux dés.

1. Compléter la fonction somme_des pour qu’elle renvoie la valeur de la variable aléatoire somme des deux dés.

1

from random import randint

2

def somme_des():

3

de1= randint(1,6)

4

de2= randint(1,6)

5

somme= de1+de2

6

return somme

2. On considère la fonction ci-contre. Expliquer ce que l’instruction de la ligne 9 permet de créer. L’instruction crée une liste de n résultats lorsqu’on simule n lancers des deux dés. 3. Que renvoie la fonction mystere ? La fonction mystere renvoie la moyenne de l’échantillon obtenu qui donne une valeur approchée de l’espérance mathématique de la variable aléatoire. 4. Compléter le tableau suivant et déterminer le résultat que renvoie la fonction mystere. Somme des dés Probabilités

2

3

4

5

6

7

8

9

10

11

12

1 36

1 18

1 12

1 9

5 36

1 6

5 36

1 9

1 12

1 18

1 36

La fonction mystere renvoie une valeur approchée de 40 › Variable aléatoire

252 , soit 7. 36

ordinateur

3 Une variable aléatoire X prend pour valeurs les nombres entiers impairs de 1 à 99 inclus. La probabilité de chaque valeur est identique.

1. Compléter la fonction valeurs ci-contre qui renvoie la liste de toutes les valeurs prises par la variable aléatoire X. 2. Compléter la fonction ci-contre pour qu’elle renvoie l’espérance mathématique de la variable aléatoire X.

1

def valeurs(): valeurs=[ 2*i+1 for i in range(50)]

2 3 1

return valeurs def esperance():

2

somme=0 valeurs=[ 2*i+1 for i in range(50) ]

3

3. Déterminer l’espérance mathématique de X en utilisant la fonction.

for i in range( 50 ):

4

somme= somme + 1/50*valeurs[i]

5 6

return somme

4 On lance un dé équilibré à six faces. On considère le jeu suivant. On lance le dé. Si on obtient 6, on gagne 2 €. Si on obtient 1 ou 5, on gagne 1 €. Sinon, on ne gagne rien du tout. On note G la variable aléatoire qui prend pour valeurs le gain du joueur.

1

from random import randint

2

def partie():

1. Compléter la fonction partie ci-contre qui simule une partie de ce jeu, c’est-à-dire le gain du joueur après un lancer du dé.

6

2. Compléter la fonction simul qui simule n parties de ce jeu et renvoie la liste des gains dans une liste. On utilisera la fonction partie de la question 1. 1

de=randint(1,6)

4

if de== 6 :

5 7 8 9 10

G= 2 elif de==1 or de==5 : G=1 else: G=0 return G

def simul(n): gains=[ partie()

2 3

3

for i in range( n )]

return gains

3. La loi de la variable aléatoire G est la suivante. Valeurs de G

0

1

2

Probabilité

1 2

1 3

1 6

On donne la fonction ci-contre. a. Quels sont les arguments de cette fonction et de quel type sont-ils ? Les arguments sont liste et proba, de type listes. b. Que calcule la fonction avec la boucle des lignes 5 et 6 ? Elle calcule l’espérance mathématique de la variable aléatoire dont les valeurs sont dans la liste liste. c. Tester cette fonction avec les listes du tableau donné. Que trouve-t-on ? 2 On trouve l’espérance et l’écart type de la variable G : E ( G ) = et σ ( G ) ≈ 0,745 3 Entraînement ‹ 41

Travaux Variables aléatoires

pratiques

Objectifs • Modéliser et simuler des variables aléatoires

Jeu du loto

Dans un jeu de type loto, un joueur peut gagner différentes sommes d’argent : 1 • 10 000 000 € avec une probabilité de ; 16 000 000 1 ; • 100 000 € avec une probabilité de 800 000 1 ; • 10 000 € avec une probabilité de 4 000 • 0,00 € avec une probabilité p.

PARTIE

1

Gagner au loto

1

Calculer la valeur exacte de p. On donnera le résultat sous la forme d’une fraction. 1 1 1 15 995 979 p = 1− − − = . 16 000 000 800 000 4 000 16 000 000

2

On note X la variable aléatoire égale au gain d’un joueur. On considère la fonction loto ci-dessous.

a. Saisir ou ouvrir cette fonction et l’utiliser avec n = 10 000 000. Quels résultats renvoie-telle ? Un exemple de résultat : (0.9997475, 0.0002505, 1.9e-06, 1e-07) b. Les résultats sont-ils cohérents avec les conditions du jeu ? 15 995 979 1 ≈ 0.9997475 ; ≈ 0.0002505 ; On retrouve que 4 000 16 000 000 1 1 ≈ 1.9e − 06 ; ≈ 1e − 07 800 000 16 000 000 c. Expliquer la ligne 9.

1 de gagner 10 000 €. On doit donc choisir un nombre 4 000 entier aléatoirement entre 15 995 980 et 15 999 979, soit un nombre sur les 4 000 entiers

On veut une probabilité égale à

de cet intervalle. 42 › Jeu du loto

2

Gagner rarement ou pas ? On s’intéresse à l’évènement de la partie 1 : « gagner le gros lot au loto », de probabilité 1 . 16 000 000 On considère l’expérience aléatoire suivante : On joue au loto. Soit on gagne le gros lot, soit on considère qu’on ne gagne rien du tout. 1 L’évènement G : « Gagner le gros lot au loto. » a une probabilité p = 16 000 000 L’évènement G : « Ne pas gagner au loto. » a une probabilité q = 1− p . On décide de jouer tous les jours. On appelle n le nombre de jours joués au loto, de manières indépendantes. On note X la variable aléatoire qui compte le nombre de fois où on a gagné le gros lot parmi les n parties jouées.

1

On modélise les n parties par l’arbre de probabilités suivant. Quelle est la probabilité de ne jamais gagner le gros lot au cours Partie 3 des n parties ? Partie 2 G p

La probabilité de ne jamais gagner Partie 1

le gros lot se calcule avec la dernière branche. Elle vaut (1− p ) . n

2

Quelle est la probabilité de l’évènement « On gagne au moins une fois parmi les n parties. » ?

p

1–p

L’évènement se traduit par P ( X ≥ 1) = 1− P ( X = 0) = 1− (1− p )n .

3

G

G

p

G

1–p

G

p

G

1–p

G

G

G G G

G

G G G G

Compléter la fonction attente suivante qui calcule le plus petit entier naturel n tel que la probabilité de gagner au moins une fois le gros lot parmi les n parties jouées soit au moins égale à 50 % 1

def attente():

2

p=0

3

n=0

4

while 1-(1-1/16000000)**n < 0.5 :

5

n=n+1

6

p=1-(1-1/16000000)**n

7

4

Partie n

return n

Utiliser cette fonction pour estimer la valeur de n. Cela fait-il beaucoup de temps à attendre ? On exprimera le résultat en années.

© Gustavo Frazao/Shutterstock

PARTIE

On trouve n = 11090 355. Soit plus de 30 384 années.

Travaux pratiques ‹ 43

Vers l’épreuve Les exercices suivants sont des sujets de baccalauréat. Ils ont été réécrits pour travailler l’algorithmique et la programmation.

1 D’après Polynésie juin 2012

• Variables et instructions élémentaires • Boucle bornée

On considère l’algorithme suivant écrit en langage naturel.

Compléter le tableau d’état suivant et donner la valeur de la variable U après utilisation de cet algorithme. k

n ←3 U ←0 Pour k allant de 0 à n −1 Faire U ← 3U − 2k + 3 Fin Pour

U

0

0

1

2

3

10

29

La valeur de U après exécution de l’algorithme est 29.

2 D’après Asie juin 2012

• Boucle non bornée • Recherche de racine

On considère la fonction mystere définie par le programme ci-contre. On utilise cette fonction en écrivant dans la console mystere(4,9,2). Compléter le tableau d’état suivant. Les valeurs successives de u et v seront arrondies au millième. n

a

b

u

v

0

4

9

4

9

1

6,5

6,964

6,5

6,964

2

6,732

6,736

6,732

6,736

3 D’après Antilles-Guyane juin 2012

• Boucle non bornée • Instruction conditionnelle • Algèbre

On considère le programme ci-contre écrit en langage Python. 1. Combien de fois le corps de la boucle while est-il répété ? Justifier la réponse. 12 ≈ 3,4. Le corps de la boucle while est donc répété trois fois. 2. Quels résultats le programme affiche-t-il ? Compléter le tableau suivant. N

A N

A int ⎛⎜ ⎞⎟ ⎝ N⎠

A A − int ⎛⎜ ⎞⎟ = 0 ? ⎝ N⎠ N

Affichage

1

12

12

OUI

1,12

2

6

6

OUI

2,6

3

4

4

OUI

3,4

3. Que donne l’algorithme dans le cas général, avec une valeur entière de A ? L’algorithme affiche tous les diviseurs de l’entier A. 44 › Vers l’épreuve

4 D’après Pondichéry avril 2012

• Notion de fonction • Génération de nombres aléatoires • Probabilités

Un groupe de 50 coureurs, portant des dossards numérotés de 1 à 50, participe à une course cycliste qui comprend 10 étapes, et au cours de laquelle aucun abandon n’est constaté. À la fin de chaque étape, un groupe de 5 coureurs est choisi au hasard pour subir un contrôle antidopage. Ces désignations de 5 coureurs à l’issue de chacune des étapes sont indépendantes. Un même coureur peut donc être contrôlé à l’issue de plusieurs étapes. On considère la fonction groupe définie ci-dessous.

1. Parmi les listes suivantes, lesquelles ont pu être obtenues avec la fonction groupe ? Justifier la réponse. L1 = {2;11; 44 ;2;15} L2 = {8;17; 41; 34 ; 6} L3 = {12;17;23;17;50} L4 = {45;19; 43;21;18} Les listes L2 et L4 sont des résultats possibles, car tous les éléments des listes sont distincts. 2. Que permet de réaliser cette fonction concernant la course cycliste ? Cette fonction permet de choisir au hasard un groupe de 5 coureurs à l’issue d’une étape.

5 D’après Pondichéry avril 2013

• Notion de fonction • Suites

Dans une entreprise, on s’intéresse à la probabilité qu’un salarié soit absent durant une période d’épidémie de grippe. On désigne, pour tout entier naturel n supérieur ou égal à 1, par En l’évènement « Le salarié est absent pour cause de maladie la n-ième semaine ». On note pn la probabilité de l’évènement En. On admet que pour tout entier naturel n supérieur ou égal à 1, pn = 0,05(1− 0,2n ). 1. En utilisant la console, conjecturer la limite de la suite ( pn ) lorsque n tend vers +∞. On écrit dans la console 0.05(1− 0.2n ) avec une valeur grande de l’entier n, par exemple n = 10 000. On conjecture que la limite vaut 0,05. 2. On admet que la suite ( pn ) est croissante. On considère la fonction ci-contre. Quelle valeur renvoie cette fonction lorsqu’on l’utilise avec K = 3 ? La fonction renvoie la valeur 4. 3. À quoi correspond la valeur retournée J ? Le nombre J qui est affiché en sortie de programme est le rang du premier terme de la suite ( pn ) qui s’approche de la limite 0,05 à 10− K près, où K est un entier fixé au départ. Vers l’épreuve ‹ 45

Vers l’épreuve 6 D’après Pondichéry mai 2018 Dans une usine, un four cuit des céramiques à la température de 1 000 °C. À la fin de la cuisson, il est éteint et il refroidit. On s’intéresse à la phase de refroidissement du four, qui débute dès l’instant où il est éteint. La température du four est exprimée en degré Celsius (°C). La porte du four peut être ouverte sans risque pour les céramiques dès que sa température est inférieure à 70 °C. Sinon, les céramiques peuvent se fissurer, voire se casser. Pour un nombre entier naturel n, on note Tn la température en degré Celsius du four au bout de n heures écoulées à partir de l’instant où il a été éteint. On a donc T0 = 1000. La température Tn est calculée par l’algorithme suivant. T ←1000 Pour i allant de 1 à n T ← 0,82 × T + 3,6 Fin Pour

• Boucles bornée et non bornée • Suites

1. Déterminer la température du four, arrondie à l’unité, au bout de 4 heures de refroidissement. On pourra remplir le tableau d’état suivant. n

0

1

2

3

4

T

1 000

823,6

679

560

463

2. Écrire la formule de récurrence qui définit cette suite. T0 = 1 000 et Tn+1 = 0,82Tn + 3,6 3. Compléter la fonction froid suivante qui détermine le nombre d’heures au bout duquel le four peut être ouvert sans risque pour les céramiques. 1

def froid():

2

T= 1000

3

n= 0

4

while T>=70 :

5

n= n+1

6

T=0.82*T+3.6

7

return n

7 D’après Antilles-Guyane juin 2016

• Liste • Boucle bornée • Résolution d’équation

On considère l’équation 7x − 3y = 1, où x et y sont deux nombres entiers relatifs. 1. Compléter le programme de la fonction solutions ci-contre pour qu’elle affiche la liste de tous les couples ( x ; y ) solutions de cette équation et vérifiant −5 ≤ x ≤ 10 et −5 ≤ y ≤ 10.

1

2. En utilisant le programme, déterminer tous les couples solutions.

4

for y in range( -5 , 11 ):

5

if 7*x-3*y==1

2

couples=[]

3

for x in range(-5 , 11 ):

6 7

46 › Vers l’épreuve

def solutions():

:

couples.append([x,y]) return couples

8 D’après Métropole septembre 2016

• Instruction conditionnelle • Simulation d’une expérience aléatoire • Probabilités

On dispose d’un dé équilibré à six faces numérotées de 1 à 6 et de deux pièces A et B ayant chacune un côté pile et un côté face. Un jeu consiste à lancer une ou plusieurs fois le dé. Après chaque lancer de dé, si l’on obtient 1 ou 2, alors on retourne la pièce A, si l’on obtient 3 ou 4, alors on retourne la pièce B et si l’on obtient 5 ou 6, alors on ne retourne aucune des deux pièces. Au début du jeu, les deux pièces sont du côté face. 1. Dans le programme de la fonction jeu ci-dessous, 0 code le côté face d’une pièce et 1 code le côté pile. Si a code le côté de la pièce A à un instant donné, alors 1− a code le côté de la pièce A après l’avoir retournée.

On exécute l’instruction jeu(3). En supposant que les valeurs aléatoires générées successivement pour d sont 1, 6 et 4, compéter le tableau ci-dessous contenant l’état des variables au cours de l’exécution de la fonction. Variables

i

d

a

b

0

0

1

1

0

1

0

1

1

2

Initialisation 1er 2e

passage boucle Pour

1

passage boucle Pour

2

6

1

3e passage boucle Pour

3

4

1

s

2. Ce programme permet-il de décider si, à la fin, les deux pièces sont du côté pile ? À la fin de ce programme, si s = 2, on peut affirmer que les deux pièces sont du côté pile. Si s = 0 ou s = 1, alors au moins une pièce est du côté face.

Vers l’épreuve ‹ 47

Vers l’épreuve 9 D’après Métropole-La Réunion juin 2018

• Fonction exponentielle • Boucle non bornée • Variables et affectation

Pour un individu qui pratique un test d’effort, on modélise la fréquence cardiaque pendant la phase de récupération suivant le test par la fonction : f ( t ) = 200e −0,163t, où le temps t est donné en minute (min) et f ( t ) en battement par minute. 1. Justifier que la fonction g est décroissante. On calcule la dérivée de la fonction f : f ′ ( t ) = 200 × ( −0,163)e −0,163t = −32,6e −0,163t. Pour tout t, e −0,163t > 0 donc f ′ ( t ) < 0. La fonction f est donc décroissante. 2. Quelle est la fréquence cardiaque de la personne une minute après la fin du test d’effort. Arrondir à l’entier le plus proche. On calcule f (1) ≈ 170. La fréquence cardiaque est d’environ 170 battements cardiaques au bout d’une minute de récupération. 3. La durée de récupération, exprimée en minute, est la durée de temps comprise entre l’instant de fin du test et l’instant où la fréquence cardiaque devient inférieure ou égale à 115 battements par minute. Compléter la fonction nommée temps_recup ci-dessous pour qu’elle renvoie le temps de récupération, arrondi à la minute. 1

from math import exp

2

def temps_recup():

3

t= 0

4

f= 200

5

while f>115 :

6

t=t+1

7

f= 200*exp(-0.163*t)

8

return t

4. À l’aide de la calculatrice, déterminer la durée t de récupération. La durée de récupération est de 4 minutes.

Les principales fonctions informatiques Syntaxe

Rôle

Commentaires

Fonctions mathématiques sqrt(a) Racine carrée de a. exp(x) pi

Exponentielle d’un nombre réel x.

e sin(a) cos(a) round(a,b) isclose(a,b) min(a,b) max(a,b)

Équivaut à la constante mathématique π. Constante e, image de 1 par la fonction exponentielle. Sinus d’un nombre a. Cosinus d’un nombre a. Renvoie la valeur a avec une précision de b nombres après la virgule. Détermine si les valeurs a et b sont proches l’une de l’autre. Renvoie le paramètre le plus petit parmi a et b. Renvoie le paramètre le plus grand parmi a et b.

Il faut importer sqrt(), exp, pi, e, sin et cos depuis la bibliothèque math.

round(a) renvoie un entier puisque b=0, c’est-àdire aucun chiffre après la virgule. Il faut importer isclose() depuis la bibliothèque math ou numpy.

Probabilités randint(a,b) random() uniform(a,b) choice ("chaine")

Renvoie un nombre entier aléatoire compris entre deux entiers a et b inclus. Renvoie un nombre décimal aléatoire strictement compris entre 0 et 1. Renvoie un nombre décimal aléatoire compris entre deux nombres décimaux a et b. Renvoie aléatoirement un des éléments de la chaîne de caractères "chaine".

Il faut importer randint(), random(), uniform() et choice() de la bibliothèque random.

Reconnaît ou convertit le nombre ou la chaîne de caractères x en un entier. Reconnaît ou convertit le nombre ou la chaîne de caractères x en nombre flottant. Reconnaît ou convertit le nombre x en chaîne de caractères.

int(2.76) convertit la valeur 2.76 en donnant sa troncature : l’entier 2. float("235.76") convertit la chaîne de caractères "235.76" en nombre flottant : 235.76. str(176) convertit la valeur 176 en '176', une chaîne constituée des caractères 1 ; 7 et 6.

Conversion int(x) float(x) str(x)

Listes Syntaxe L = [] L = [3,"oui",False] L = [3,4.2,[0,1,2]] L[0] L[k] L[-1] len(L) L.append(objet) L.insert(rang,objet) L1+L2

Rôle Liste vide. Exemple de listes contenant des objets de types différents. Premier objet de la liste ou objet de rang 0 k + 1-ième objet de la liste ou objet de rang k. Dernier objet de la liste. Longueur ou nombre d’objets d’une liste. Ajoute un objet en fin de liste. Insère un objet au rang k. Concatène (rassemble) deux listes.

Graphiques Syntaxe

Rôle Commentaires grid() Affiche une grille dans un repère. Affiche un repère gradué de a à b sur l’axe des axis(a,b,c,d) abscisses et de c à d sur l’axe des ordonnées. Définit l’intervalle dans lequel varie x et le nombre Il faut importer les bibliothèques linspace(a,b, nbrepoints) pylab et numpy ou matplotlib. de points calculés pour tracer la courbe. pyplot. plt.plot(x,y) Trace le point de coordonnées (x ; y). plt.scatter(x,y) Trace un nuage de points. plt.show() Montre le graphique dans une nouvelle fenêtre.

COLLECTION BARBAZO Un cahier complet pour traiter l’algorithmique et la programmation en Python avec le nouveau programme

LE CAHIER NUMÉRIQUE INTERACTIF

Idéal pour la vidéoprojection en classe ! Affichez la correction en un clic • Tous les fichiers Python • Les zones de réponses à compléter • Bouton Afficher/Masquer le corrigé N À découvrir sur jeteste.fr/5547576 N Gratuit pour l’enseignant si vous équipez 100 % de la classe

SPÉCIAL RÉFORME LYCÉE 2019 Une licence du cahier numérique offerte à chaque élève pour un an Offre valable jusqu’au 31/12/2019, si vous équipez 100 % de la classe en cahiers papier Cahiers numériques offerts à commander sur jeteste.fr/5547576

en cahiers papier ou numériques

LE SITE COLLECTION

Idéal pour préparer ses cours ! Les fichiers Python en téléchargement direct N www.lycee.hachette-education.com/barbazo-prof/cahier-1re

Équipement 100 % cahiers numériques Informations sur jeteste.fr/5547576

Dans la même collection : EN MAI

DANS VOS CASIERS !

96/9662/3 (48 3558 5)

SPECIMEN Commercialisation interdite