• Aucun résultat trouvé

CAHIER d ALGO. Algorithmique et programmation en Python VERSION CORRIGÉE POUR L ENSEIGNANT EXERCICES ET TP

N/A
N/A
Protected

Academic year: 2022

Partager "CAHIER d ALGO. Algorithmique et programmation en Python VERSION CORRIGÉE POUR L ENSEIGNANT EXERCICES ET TP"

Copied!
52
0
0

Texte intégral

(1)

CAHIER d’ALGO

Algorithmique

et programmation en Python

VERSION CORRIGÉE POUR L’ENSEIGNANT E X E R C I C E S E T T P

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

SPÉCIALITÉ

Site collection Cahier

numérique

Cahier numérique élève OFFERT

avec le papier (voir au dos)

SPÉCIAL RÉFORME LYCÉE 2019

PRIX PUBLIC 2019 :

6,50 €

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

(2)

La multiplication et la division sont prioritaires sur l’addition et la soustraction.

Syntaxe Opération

a + b Addition de a et b. (Si les variables a et b sont des chaînes de caractères, on parle de concaténation.) a * b Multiplication de a et b. (Si la variable a ou b est une chaîne de caractères, on parle de répétition.) a / b Division de a par b.

a ** b Élévation de a à la puissance b.

sqrt(a) Racine carrée de a. (Il faut importer sqrt() depuis la bibliothèque math.) a // b Quotient de la division euclidienne de a par b.

a % b Reste de la division euclidienne de a par b.

Affecter des valeurs aux variables

Syntaxe Rôle

x,y = 1.4,3.65 Affecte (stocke) simultanément la valeur 1.4 dans la variable x et la valeur 3.65 dans la 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 Rôle

if condition :

instruction(s) Teste la condition. Si la condition est vérifiée, exécute la (ou les) instruction(s) indentées.

if condition : instruction(s) 1 else :

instruction(s) 2

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.

if condition 1 : instruction(s) 1 elif condition 2 :

instruction(s) 2 else :

instruction(s) 3

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.

a == b Teste si a est égal à b. a != b Teste si a est différent de b.

a < b (ou a > b) Compare si a est strictement inférieur à b (ou si a est strictement supérieur à b).

a <= b (ou a >= b) Compare si a est inférieur ou égal à b (ou si a est supérieur ou égal à b).

condition 1 and condition 2 Teste si la condition 1 ET la condition 2 sont vérifiées.

condition 1 or condition 2 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) Exécute en boucle la (ou les) instruction(s) tant que la condition est vérifiée.

for variable in range(n) :

instruction(s) Exécute en boucle la (ou les) instruction(s) pour une variable allant de 0 à n–1.

for variable in range(n,m) :

instruction(s) Exécute en boucle la (ou les) instruction(s) pour une variable allant de n à m–1.

for variable in range(n,m,k) :

instruction(s) Exécute en boucle la (ou les) instruction(s) pour une variable allant de n à m–1 avec un pas de k.

for caractere in chaine :

instruction(s) 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 Commentaires

def nom(p1,p2) : instruction(s) return resultat

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.

(3)

CAHIER d’ALGO

Algorithmique

et programmation en Python

Éric Barbazo

PROGRAMME 2019

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

SPÉCIALITÉ

(4)

Sommaire

2 › Sommaire

Introduction

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

PARTIE 1 Démarrage

Variables, fonctions et instruction conditionnelle ... 8

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

Listes ... 12

Graphiques ... 14

PARTIE 2 Entraînement et TP

Fonctions ... 16

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

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

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

Nombre dérivé et tangente ... 24

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

Défi nition et génération des suites ... 28

Suites et notion de limite ... 30

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

Trigonométrie ... 34

Fonction exponentielle TP Approcher le nombre e ... 36

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

Variable aléatoire ... 40

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

2 3 4

1

2

3

4 5

6

7 8

450 g éq. CO2

© 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.

(5)

PARTIE 3 Vers l’épreuve

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

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

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

• Boucle non bornée • Recherche de racine

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

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

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

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

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

• Notion de fonction • Suites

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

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

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

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

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

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

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

• Variables et aff ectation • Boucle non bornée • Fonction exponentielle

1

2

3

4

5

6

7

8

9

Les fi chiers 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

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

(6)

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écifi que 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’aff ectation de variable

Pour aff ecter une valeur à une variable, c’est-à-dire donner une valeur à une variable, on utilise, en langage naturel, la syntaxe variablevaleur.

Exemple : base ← 10 signifi e que la variable base reçoit la valeur 10.

Les instructions conditionnelles

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

La syntaxe d’une instruction

conditionnelle en langage naturel Exemple :

Si prix > 200 alors prix ← prix × 0,8 Sinon

prix prix × 0,9 Fin Si

Si condition alors instruction(s) 1 Sinon

instruction(s) 2 Fin Si

La boucle bornée

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

La syntaxe d’une boucle bornée en langage naturel Exemple :

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

Pour variable allant de valeur minimale à valeur maximale instruction(s)

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 Exemple :

Tant que M > 0 faire M ← M – 1 Fin Tant que Tant que condition faire

instruction(s) Fin Tant que

4 › Découvrir l’algorithmique et la programmation

(7)

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

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

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 affi che une donnée à l’écran en réponse.

La console est ainsi le lieu où s’affi chent les données des programmes écrits dans l’éditeur.

Exemple :

Programme saisi dans l’éditeur et exécuté Instruction saisie dans la console et affi chage

La console peut aussi être utilisée comme une puissante calculatrice.

Exemple : calcul de 2450

Bouton permettant d’exécuter le script

Console : zone où le programme s’exécute Éditeur : zone d’écriture des programmes et des fonctions

(8)

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’eff ectue pas l’instruction .

Exemple :

Le programme aff ecte à 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 eff ectue l’instruction 1 ; si la condition n’est pas réalisée, il eff ectue l’instruction 2.

Exemple :

Le programme aff ecte à 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 aff ecte à 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

(9)

5 Les bibliothèques de Python

Certaines fonctions spécifi ques 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.

Lorsque le nom de la bibliothèque est très long, on peut lui défi nir 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.

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 Syntaxe d’importation

Principales fonctions mathématiques math from math import*

Fonctions des probabilités random from random import*

Fonctions graphiques matplotlib.pyplot

pylab numpy

import matplotlib.pyplot as plt

import pylab as pb import numpy as np

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’affi chage 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.

(10)

Démarrage

branché

8 › Variables, fonctions et instruction conditionnelle MÉMO

1. Variables, fonctions et instruction conditionnelle

On considère la fonction f défi nie par le programme ci-contre.

1. Compléter l’expression de f x( ) ci-dessous.

f x( )= sisixx six

⎧⎨

⎩⎪

2. Modifi er la fonction ci-dessus pour qu’elle retourne l’image d’un réel x par la fonction f défi nie pour tout réel x par f x( )= x2−1six∈ −1;

[

+ ∞

[

3x+3 six∈ −∞

]

;−1

[

{

.

2

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 fl ottantes (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 fi n des instructions conditionnelles, des boucles et des instructions de la fonction.

Langage naturel Python

Variable

De type numérique

De type chaîne de caractères De type booléen

rayon ← 2 jour ← "lundi"

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.

Une fondation attribue des bourses à des étudiants 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.

1 def bourse(revenu):

2 if : 3 montant=

4 elif :

5 6 else : 7

8 return

1

revenu>=30000

15000<=revenu<30000 montant=1500-0.05*revenu montant=1200-0.03*revenu

montant 0

3x−4

[

2;+ ∞

[

−x+4

]

−1;2

[

2x+7

]

−∞;−1

]

(11)

1. On considère la fonction ci-dessous.

Recopier le script et écrire le résultat ci-dessous.

a.

a.

b.

b.

c. Que teste cette fonction ?

2. On a modifi é la fonction précédente comme ci-dessous.

Recopier le script et écrire le résultat ci-dessous.

a.

a.

b.

b.

3. Expliquer ce que renvoie la fonction test2.

On considère le programme ci-dessous écrit avec deux fonctions.

1. Combien la fonction signe possède-t-elle d’arguments ? Lesquels ?

3

4

2. Quel est le résultat renvoyé par l’instruction 2. Quel est le résultat renvoyé par l’instruction

?

3. Que réalise la fonction signe ?

4. On écrit dans la console l’expression suivante.On écrit dans la console l’expression suivante.

Que permet l’instruction lambda ?

5. Écrire le script d’une fonction que l’on appellera racine qui renvoie comme résultat la valeur f x( ) pour une fonction f donnée calculée en un réel x donné lorsque le calcul est possible et renvoie comme résultat le mot ‘non défi ni’ sinon. On n’oubliera pas d’importer la fonction sqrt de la bibliothèque math.

6. On donne f défi nie pour tout réel x par : f x( )= −3x+4.

Utiliser la fonction racine pour déterminer les valeurs de f x( ) avec les valeurs de x données.

a. x= −5

b. x=10 False

False True

True

Elle teste si un nombre est divisible par 3 ou non.

Le test d’égalité n%3==0 renvoie directement un booléen. Ainsi, il n’est pas nécessaire d’utiliser une instruction conditionnelle.

‘positif’

Elle renvoie le signe de f x( ) avec la fonction f donnée et le réel x donné.

Elle permet de défi nir ponctuellement une fonction au lieu de la redéfi nir dans l’éditeur.

La fonction signe possède deux arguments : une fonction f et un nombre x.

(12)

Démarrage

branché

10 › Boucles bornées et non bornées MÉMO

2. Boucles bornées et non bornées

On considère la fonction ci-dessous.

Expliquer ce que fait la boucle non bornée while. 3

Pour écrire certains programmes, il est parfois utile de répéter une ou plusieurs instructions un nombre défi ni de fois. Lorsque le nombre de répétitions est connu à l’avance, on utilise une boucle bornée for.

Pour d’autres programmes, il est parfois nécessaire de répéter une ou plusieurs instructions un nombre inconnu de fois. Lorsque le nombre de répétitions n’est pas connu à l’avance, on utilise une boucle non bornée qui est parcourue jusqu’à ce qu’une certaine condition ne soit plus vérifi ée. Tant que cette condition est vérifi ée, la boucle continue.

Langage naturel Python

Boucle bornée

Boucle avec des valeurs numériques

Boucle dans une chaîne de caractères

Pour variable allant de … à … Faire Instructions

Fin Pour

Pour caractere dans chaine Faire Instructions

Fin Pour Boucle non bornée

Tant que condition Faire …

Fin Tant que

On veut calculer une valeur approchée de la somme 1+1

3+ 1

⎛3

⎝ ⎞

2+…+ 1

⎛3

⎝ ⎞

20

. Compléter la fonction pour qu’elle renvoie cette somme.

1 def somme():

2 S=1

3 for i in range( , ):

4 5 return S

Compléter la fonction suivante qui compte le nombre d’espaces dans une phrase écrite par l’utilisateur.

1 def compte_espace(phrase):

2 nbre=0

3 for in : 4 if caractere=="":

5 nbre=

6 return nbre

1

2

S=S+(1/3)**i 1 21

nbre+1 caractere phrase

Tant que la variable Pile est diff érente de 1, on choisit un nombre aléatoire parmi 0 et 1. La variable nbre augmente tant que la variable Pile est diff érente de 1.

(13)

On veut calculer, pour tout entier naturel n>0, la somme S égale à :

S=1−1 2+1

3−1

4+…+ −1( )n+1×1n. Compléter la fonction somme ci-dessous.

1 def somme(n):

2 S=

3 for k in range( , ):

4 5 return

Dans une culture bactérienne constituée de N bactéries, on suppose qu’à chaque seconde, 2 % des bactéries meurent.

© Pornsuda Thaisa/Shutterstock

1. Écrire une fonction bacteries qui renvoie le nombre de bactéries encore vivantes après n secondes, n entier naturel.

2. Une culture contient 1 million de bactéries.

Combien de bactéries sont encore vivantes après 10 secondes ? Arrondir le résultat à l’unité.

3. En écrivant une fonction appelée moitie, déterminer le nombre de secondes qu’il faut au minimum pour que le nombre de bactéries soit strictement inférieur à la moitié de la population initiale.

4

5

La conjecture de Syracuse est non encore démontrée à ce jour. Elle s’énonce comme suit : Soit n un entier naturel. Si n est pair, on le divise par 2, sinon on le multiplie par 3 et on ajoute 1. On recommence ce processus avec le résultat obtenu.

La conjecture de Syracuse affi rme que l’on obtient toujours 1 au bout d’un nombre fi ni d’itérations.

1. Compléter la fonction Syracuse qui répond à la conjecture et la tester pour plusieurs valeurs de n.

1 def Syracuse(n):

2 resultat=n

3 while resultat!= : 4 if resultat%2== : 5 resultat=resultat//2 6 else:

7 8 return resultat

2. Modifi er la fonction Syracuse en une fonction Syracuse2 afi n de compter le nombre d’itérations nécessaires jusqu’à l’obtention de 1. Ce nombre d’itérations s’appelle le temps de vol de n.

3. Soit N un entier donné.

Écrire une fonction Maximum qui renvoie l’entier n entre 1 et N pour lequel le temps de vol est le plus grand et le temps de vol correspondant.

6

0

S=S+(-1)**(k+1)*1/k S

1 n+1

1

resultat=3*resultat+1 0

817 072 sont encore vivantes après 10 s.

(14)

Démarrage

branché

12 › Listes MÉMO

3. Listes

On considère la fonction ci-dessous.

1. Que retourne l’instruction mystere(4) écrite dans la console ? et l’instruction mystere(9) ?

2. Que réalise cette fonction ? 3

Lorsqu’on a besoin de garder et d’utiliser plusieurs variables au cours d’un programme, on utilise des listes pour les stocker. Une liste est une collection d’objets de diff érents types (variables numériques, chaînes de caractères, booléens, listes, etc.). Une liste est une variable que l’on peut nommer comme on le souhaite. Dans les exemples ci-dessous, la variable liste est nommée L.

Python Listes

Liste vide

Liste 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 Ajouter un objet en fi n de liste

Insérer un objet au rang k

Concaténer (rassembler) deux listes Remarques :

Les listes contiennent des objets de types diff érents, contrairement aux chaînes de caractères qui ne contiennent que des objets de type chaîne.

La boucle bornée for element in liste possède la même syntaxe que pour la chaîne de caractères. La variable element va prendre les valeurs successives des objets de la liste.

On considère la liste suivante, écrite dans la console.

On considère la liste suivante, écrite dans la console.

1. Qu’affi chent les instructions suivantes lorsqu’elles sont écrites dans la console ?

a.

a. b. b.

2. Que faut-il écrire dans la console pour que la liste soit la suivante lorsqu’on l’affi che ?

liste soit la suivante lorsqu’on l’affi che ?

On considère les deux listes suivantes.

Qu’affi che l’instruction

Qu’affi che l’instruction ? 1

2

L’instruction mystere(4) retourne 3 L’instruction mystere(9) retourne 0.

Elle retourne le nombre d’occurences de la valeur dans la liste.

‘nuit’ 4

(15)

1. a. Écrire dans l’éditeur l’instruction : b. Quel est le contenu de la liste L ?

c. Expliquer cette instruction.

2. Créer la liste appelée carres, des carrés des huit premiers entiers non nuls.

1. Compléter la fonction somme ci-dessous pour qu’elle calcule la somme des éléments d’une liste de nombres.

1 def somme(liste):

2 S=0

3 for i in range( ):

4 S=

5 return

2. Compléter la fonction moyenne ci-dessous qui calcule la moyenne d’une liste L1 de valeurs dont les eff ectifs sont dans une liste L2.

1 def moyenne(liste,effectifs):

2 m=0

3 for i in range( ):

4 m=m+

5 m=m/

6 return

1. On considère la fonction suivante.

Que renvoie cette fonction lorsqu’on écrit, dans la console, l’instruction

Que renvoie cette fonction lorsqu’on écrit, dans la

console, l’instruction ?

2. Que réalise cette fonction ? 4

5

6

3. On lance n fois une pièce de monnaie équilibrée, où n est un entier naturel. On note 1 l’obtention de « Pile » et 0 l’obtention de « Face » au cours des n lancés.

Compléter la fonction ci-dessous qui renvoie la liste des résultats des n lancés et le nombre de « Pile » obtenus. On utilisera la fonction echantillon de la question 1.

1 def nombre_PILE(n):

2 L=

3 nbre_PILE=0

4 for i in range( ):

5 nbre_PILE=

6 return ,

1. On a écrit en langage naturel l’aff ectation de la liste suivante à une variable L de type liste :

L←[4,2, 8,5,1, 0, 45,12, 4,1, 32,17]

Que faut-il écrire dans la console pour créer la variable L et lui aff ecter la liste ci-dessus ?

2. Écrire dans la console l’instruction Écrire dans la console l’instruction

et recopier ci-dessous le résultat obtenu. Que fait l’instruction sorted ?

3. La liste L a-t-elle été modifi ée ?

4. Écrire l’instruction dans la console. Que s’affi che-t-il ?

5. Rappeler la variable L dans la console. L est-elle identique à la liste initiale ?

6. Expliquer la diff érence entre les deux instructions sorted(L) et L.sort().

7 Cette instruction crée la liste des cubes des

entiers de 0 à 9, soit des dix premiers entiers.

S+liste[i]

S

len(liste)

somme(eff ectifs) m

liste[i]*eff ectifs[i]

len(liste)

Elle crée un échantillon aléatoire de 0 et de 1 de taille n.

echantillon(n)

L nbre_PILE len(L)

nbre_PILE+L[i]

Elle affi che la liste classée dans l’ordre croissant.

On appelle L dans la console et on voit que la liste initiale n’est pas modifi ée.

Rien ne s’affi che.

La liste initiale est modifi ée. L est la liste triée.

sorted(L) classe la liste dans l’ordre croissant mais ne modifi e pas la liste initiale.

L.sort() classe la liste dans l’ordre croissant mais modifi e la liste qui devient cette nouvelle liste classée.

(16)

Démarrage

branché

14 › Graphiques MÉMO

4. Graphiques

Compléter le script pour qu’il affi che le nuage de 500 points défi nis par : en abscisses, des nombres aléatoires x compris entre 1 et 10 ; en ordonnée, le carré des nombres x.

1 import matplotlib.pyplot as plt 2 from random import randint

3 x=[randint( , ) for i in range( )]

4 y=[ for i in range( )]

5 plt.plot( , ) 6 plt.grid() 7 plt.show()

2

Le langage Python permet de faire des graphiques de natures diff érentes : nuages de points, courbe représen- tative d’une fonction, diagramme en boîtes, etc. Il est nécessaire pour ça d’importer les bibliothèques suivantes.

Python Graphique obtenu

Avec la bibliothèque pylab

Python Graphique obtenu

Avec les bibliothèques matplotlib.pyplot et numpy

Utilisation de listes et de matplotlib.pyplot.

Compléter le script ci-dessous pour qu’il affi che le graphe de la fonction f défi nie par f x( )=3x +1 sur l’intervalle

[ [

1;10

] ]

.

1 import matplotlib.pyplot as plt 2 import numpy as np

3 x=np.linspace( , ,100) 4 y=

5 6 7

1

1 10 500

x[i]**2 500

x y

1 10

3/x + 1 plt.grid() plt.plot(x,y) plt.show

(17)

On considère la fonction f défi nie sur ℝ par : f x( )= x21+4.

1. Compléter le script suivant et déterminer une valeur approchée au dixième des solutions de l’équation f x( )=0,1.

1 import pylab as pb

2 pb.axis([ , ,-0.3,0.3]) 3 pb.grid()

4 x=pb.linspace( , ,100) 5 y=

6 pb.plot( , ) 7 pb.hlines(0.1,-4,4) 8 pb.show()

2. À quoi sert l’instruction de la ligne 7 ?

On veut tracer un nuage de 1 000 points dont les coordonnées sont des valeurs réelles aléatoires appartenant à l’intervalle

[ ]

0;1.

1. Recopier le script suivant et le lancer.Recopier le script suivant et le lancer.

Qu’obtient-on ?

2. On modifi e le script précédent comme ci-dessous.

Qu’obtient-on en le lançant ? Qu’obtient-on en le lançant ? 3

4

Les méthodes dites de Monte-Carlo permettent de calculer des valeurs approchées d’aires ou des fréquences de points appartenant à des domaines plans, en utilisant des tirages aléatoires de points.

On considère la fonction montecarlo ci-dessous.

1. Recopier cette fonction et la tester en écrivant l’instruction montecarlo(0.5). Quels résultats renvoie-t-elle ?

2. Expliquer les instructions des lignes 6 et 7.

3. Expliquer l’instruction conditionnelle des lignes 10 à 12.

4. Quel est le rôle de la variable nbre ?

5. Calculer l’aire du quart de cercle de rayon 0,5.

Que renvoie l’instruction de la ligne 14 ? 5

On trouve x1≈ −2,4 et x2≈2,4.

Elle permet de tracer la droite d’équation y=0,1.

On obtient un nuage de points qui sont reliés entre eux par des segments.

Elle renvoie un nuage de points à l’intérieur d’un cercle de rayon 0,5. Et elle renvoie un nombre.

On crée deux listes de 10 000 coordonnées aléatoires comprises entre 0 et 1.

On teste si les points de coordonnées

(

x;y

)

sont

dans le cercle de rayon R. Si oui, on trace le point et on incrémente de 1 la variable nbre.

On obtient un nuage de points qui ne sont plus reliés.

-3 3

-3 3 1/(x**2+4)

x y

Elle compte le nombre de points dans le quart de disque.

L’aire vaut environ 0,196.

Elle renvoie la fréquence des points qui sont à l’intérieur du cercle de centre O et de rayon R.

Cette fréquence est proche de l’aire du disque pour R=0,5.

(18)

débranch é

Entraînement

16 › Fonctions

1. Fonctions

On considère la fonction inverse_f suivante.

5

1. Expliquer l’instruction de la ligne 3.

2. Que renvoie l’instruction suivante écrite dans la console ? On considère la fonction suivante.

1

1. Quels résultats sont retournés lorsqu’on écrit les instructions

suivantes dans la console ?

2. Quelle est l’expression mathématique de la fonction f défi nie par la fonction précédente ?

On considère la fonction g défi nie pour tout réel x par g x( )=x22x3 et l’algorithme ci-dessous d’une fonction mystere en langage naturel.

Défi nir mystere( )x Si −1≤x≤3 alors y= −g x( ) Sinon

y=g x( ) Fin Si

Retourner y

4

1. Que retourne cette fonction mystere lorsque x=4 ?

2. Que retourne cette fonction mystere lorsque x=1 ? 3. Écrire l’expression mathématique de la fonction défi nie par la fonction mystere.

4. Écrire la fonction mystere en langage Python sans utiliser d’instruction conditionnelle.

On considère la fonction f définie par f x( )= 2x+4. Écrire en langage naturel l’algorithme d’une fonction qui retourne les valeurs de

f x( ) lorsque c’est possible.

3

On considère la fonction g définie pour tout réel x≠3 par g x( )= x13.

Compléter la fonction ci-contre pour qu’elle retourne l’image d’un réel x par la fonction g.

2

1 def g(x):

2 if x== :

3 resultat=False 4 else:

5 resultat=

6 return resultat 3

1/(x-3)

Défi nir f x( )

Si x< −2 alors

Affi cher non défi ni Sinon faire

Retourner 2x+4

Fin Si

5 4

x! x2−2x−3

−6

−1

f x( )= 3x−1six≤2

−2x+4 six>2

{

Elle renvoie False car – 1 est une valeur interdite pour 1 f.

Comme on ne peut pas utiliser de comparaison de fl ottants, on utilise isclose pour déterminer si x n’est pas une valeur interdite pour f.

(19)

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

70. Quel est l’écart entre ces deux valeurs ?

2. En utilisant la console Python, comparer les nombres 99

70− 2 et 140

99 − 2. Que peut-on en déduire ?

3. On cherche les fractions N

D, où N et D sont deux entiers naturels non nuls à deux chiff res, qui soient de meilleures approximations de 2 que 99

70.

On a écrit l’algorithme ci-contre en langage naturel.

a. Quelles valeurs prennent les variables N et D dans cet algorithme ? À quelles fractions correspondent ces valeurs ?

b. Traduire cet algorithme en Python. Quels résultats donne-t-il ? Qu’en déduit-on ?

c. Quelle modifi cation doit-on apporter à l’algorithme pour qu’il cherche s’il existe des meilleures approxima- tions par des fractions dont le numérateur et le dénominateur aient trois chiff res ? Quels résultats a-t-on ?

4. Modifi er 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 chiff res.

5. Quelle est la fraction obtenue ?

6

n←100

Pour N allant de 1 à n−1 faire Pour D allant de 1 à n−1 faire

Si N

D− 2 < 99

70− 2 faire Afficher N et D

Fin Si

Fin Pour Fin Pour On trouve 2<99

70. L’écart vaut environ 7.215191261922271×10−5.

On en déduit que 140

99 est une meilleure approximation de 2 que 99 70.

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.

L’algorithme ne donne aucune solution. Il n’y a pas de meilleures approximations que 99

70 par des fractions dont le numérateur et le dénominateur ont deux chiff res.

Il suffi t 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 ; 717- 507 ; 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.

816 577

(20)

Travaux pratiques

18 › Approximation par des polynômes

Approximation par des polynômes

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

Une approximation par des polynômes de degré 1 et 2 Écrire une fonction Python qui renvoie les valeurs de la fonction f.

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

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

Quelles sont les expressions mathématiques et la nature de ces deux fonctions ? On notera g la fonction défi nie par poly1 et h la fonction défi nie par poly2.

a. Compléter les résultats obtenus en utilisant les trois fonctions.

f(0,01)≈ g(0,01)= h(0,01)= 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 ?

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 ?

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 ? Fonctions associées

PARTIE 1

1

2

3

4

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

• Utiliser les boucles bornées et les fonc- tions informatiques

g x( )=1+2x ; h x( )=1+2xx82

g est une fonction affi ne et h une fonction polynôme du second degré.

1.004987562112089. 1.005. 1.0049875

Les résultats trouvés sont très proches du résultat obtenu avec la fonction f.

(21)

avec une précision encore plus grande.

On peut démontrer que, lorsque x est voisin de 0, on a : 1+x ≈1+x

2−x2

8 +…+ −1( )n−1(3×5×…×(2n3)) 2×4×6×…×2n xn Dans cette partie, on prend x=0,01.

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

produit_impair(2)= produit_impair(5)=

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

1 def produit_pair(i):

2 P=

3 for k in range(1, ):

4 P=P*

5 return P

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

1 def poly(x,n):

2 S=1

3 for k in range(1, ):

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

5 return S

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

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

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 ?

Modifi er 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 ?

1

2

3

4

5

6

7

1 105

1

2*k

i+1

k-1 k k k

n+1

Il faut saisir

Il faut saisir

Il faut saisir

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

(22)

débranch é

Entraînement

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

Écrire en Python la fonction discriminant dont on déterminera les arguments et qui permet de calculer le discriminant du trinôme P x( )=ax2+bx+c.

1

On considère la fonction signesigne suivante.

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

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

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

4. Quelle inéquation est défi nie par les instructions des questions 1 et 2 ?

5. Résoudre cette inéquation et retrouver la cohé- rence des résultats des questions 1 et 2.

4

On considère la fonction mysteremystere suivante.

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

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

3. Que fait cette fonction mystere ?

3

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

2

Défi nir racine(a,b,c)

delta=b2−4ac Si delta<0 faire

retourner « » Sinon Si faire

retourner Sinon

retourner ,

Fin Si

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

Elle teste si le quatrième argument x est solution de l’équation ax2+bx+c=0.

Elle renvoie True.

Elle renvoie False.

pas de racine delta=0

b 2a

−b− Δ 2a

−b+ Δ 2a

C’est l’inéquation 3x2+5x−1>0.

Elle teste si le nombre x est solution de l’inéquation ax2+bx+c>0.

Elle renvoie False.

Elle renvoie True.

Δ =37. Δ est positif, donc le trinôme 3x2+5x−1 possède deux racines :

x1= −5− 37

6 ≈ −1,85 et x2= −5+ 37 6 ≈0,18.

Le trinôme est du signe de a=3, donc strictement positif sur l’intervalle :

−∞;x1

] [

]

x2;+ ∞

[

.

On retrouve bien que 4 est solution de l’inéquation (pour la question 1) et 0 n’est pas solution de l’inéquation (pour la question 2).

(23)

On considère l’équation du second degré : ( )E : ax2+bx+c=0,

où a, b et c sont des nombres entiers naturels.

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

2. Modifi er 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 ?

6

On considère le trinôme du second degré P x( )=ax2+bx+c.

On suppose que Δ >0. On note x1 et x2 les deux racines de P x( ).

1. Rappeler l’expression de x1 et x2 en fonction de a, b et Δ.

2. Montrer que x1+x2= −b

a et x1x2= c a.

5

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

Quel est le message retourné par l’instruction suivante ? Quel est le message retourné par l’instruction suivante ?

4. De quelle équation s’agissait-il dans la question précédente ?

5. Modifi er la fonction ci-dessus en une fonction signe_racines2 pour qu’elle affi che 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.

x1+x2= −b− Δ

2a + −b+ Δ 2a = −2b

2a= −b a x1x2= −b− Δ

2a × −b+ Δ

2a = −( )b 2− Δ2 4a2

=b2− Δ

4a2 =b2b2+4ac

4a2 car Δ =b2−4ac On trouve donc x1x2=4ac

4a2 =c

a après simplifi cation.

x1= −b− Δ

2a et x2= −b+ Δ

2a « les racines sont de même signe »

L’équation 4x2+2x+3=0.

On trouve une fréquence d’environ 26 %.

On fait 1 030 301 boucles.

(24)

Travaux pratiques

22 › Trajectoire d’un projectile

• Déterminer les coeffi cients de poly- nômes du second degré

• Utiliser les propriétés d’une parabole

Trajectoire d’un projectile

Un projectile est lancé avec une vitesse initiale V!"!0

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 :

y= − g

2V02cos2( )α x2+tan( )α x+h, où x est l’abscisse du projectile, y son or- donnée et g l’intensité de la pesanteur.

On prend g=9,8 m⋅s−2.

Mise en place des calculs de trajectoire

Écrire une fonction image qui retourne l’image d’un nombre x par la fonction polynôme du second degré, défi nie pour tout réel x par f x( )=ax2+bx+c.

Cette fonction image doit avoir comme arguments les coeffi cients de f et la valeur de x.

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

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( ,alpha,h,x):

3 a=

4 b=tan(alpha*pi/180) 5 c=

6 return image( , , , )

Expliquer le calcul Expliquer le calcul Polynômes du second degré

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

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

α V0 y

x

PARTIE 1

1

2

3

4

L’instruction correspond à la fonction f défi nie par f x( )=2x2+3x+1. Le résultat retourné est 91. C’est l’image du réel 6.

V0

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

h

a b c x

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

(25)

tance x où le projectile touche le sol. où le projectile touche le sol.

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 def impact(V0,alpha,h):

2 x=0 3 y=2

4 while y>0.01:

5 x=x+0.1

6 y=hauteur( , , , ) 7 return

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

É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.

2

3

4

On trouve

On doit résoudre − g

2V02cos2( )α x2+tan( )α x+h=0, soit − 0,049

cos2( )30  x2+tan 30( )x+2=0.

Δ =tan 30( )2+cos0,3922( )30  = 13

⎛⎝ ⎞

2+ 0,392 3 2

⎝⎜

⎠⎟

2 =1 3+2

3×0,392=0,856.

Le discriminant est positif, donc il y a deux solutions : x1= −tan 30( ) 0,856

− 0,098 cos2( )30  

qui est négative ce qui est impossible ici ;

x2= −tan 30( ) 0,856

− 0,098 cos2( )30  

≈11,499.

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

V0 alpha h x

x

(26)

débranch é

Entraînement

24 › Nombre dérivé et tangente

On considère la fonction f définie, pour tout réel x, par f x( )=x2+3.

1. On a écrit l’algorithme suivant en langage naturel.

h←1

Pour i allant de 1 à 4 Faire df(2+h)−f( )2

h hh Fin Pour10

1

Compléter le tableau d’état suivant, en exécutant pas à

pas cet algorithme.

i d h

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

1. En économie, on considère une fonction f, défi nie et dérivable sur ℝ, représentant le coût (en euro) de fabrication de x objets par mois. On suppose que f x( )=0,01x2+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 ?

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.

3. Calculer le coût marginal pour x=10 000 et le comparer avec f

(

10 000

)

.

3

3. Nombre dérivé et tangente

On considère la fonction suivante.

2

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 h y image

2. Que peut-on conjecturer ?

1 5 0,1 1

2 4,1 0,01

3 4,01 0,001

4 4,001 0,0001

f ( )2 =4

1 0.1 6.1 [ ]6.1

2 0.01 6.01 6.1, 6.01

[ ]

3 0.001 6.001 6.1, 6.01, 6.001

[ ]

On conjecture que f′( )1 =6, où f est la fonction défi nie par f x( )=x2+4x1.

fm( )x = f x( +1) f x( )

Défi nir cout_marginal(f, x) Retourner f(x+1) – f(x)

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

)

.

(27)

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

f x( )=x2+x2.

On a écrit la fonction Python suivante.

On a écrit la fonction Python suivante.

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

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

3. Comparer avec la valeur exacte de f′( )1.

4

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( )(xa)+ f a( ),

soit y= ′f a( )h+ f a( ) en posant h=xa 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.

1. Recopier ce script et le lancer. Qu’obtient-on ?

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

y 0

3. À quoi servent les instructions des lignes 16 et 17 ?

4. À quelle courbe représentative appartiennent les points défi nis lignes 18 et 19 ?

5

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

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

f(a)

a + h a A

0 x

y

On obtient 3.0100000000000016 puis

3.0009999999993653. On conjecture que f′( )1 =3.

3.100000000000005

On calcule : f(1+h) f( )1

h =1+2h+h2+1+h−2

h =h+3.

On fait tendre h vers 0 et on trouve f′( )1 =3. On trouve avec Python une valeur très proche de la valeur exacte.

On obtient deux courbes proches l’une de l’autre.

0.02 0.04 0.06

0.06 0.14 0.26

Elles créent la liste des abscisses et la liste des ordonnées.

La fonction carré.

(28)

Travaux pratiques

26 › Étude d’une demi-ellipse

• Déterminer un maximum

• Déterminer le coeffi cient directeur d’une tangente

Étude d’une demi-ellipse

On considère la fonction f défi nie sur

[

−3;3

]

par f x( )=35 9x2. Tracé de la courbe représentative de f

Expliquer pourquoi la fonction f est bien défi nie sur

[

−3;3

]

.

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

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.

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

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

1 def maximum(h):

2 a=-3 3 m=

4 while a<0:

5 a=a+

6 if f(a)>m:

7 m=

8 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.

Application de la dérivation

PARTIE 1

1

2 3

4

5

6

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( , ,100) 6 y=

7 plt.plot( , ) 8 plt.show()

Le polynôme 9−x2 a pour racines −3 et 3. Il est du signe du coeffi cient de x2, soit du signe de 1, donc positif, sur l’intervalle

[

−3;3

]

. La fonction est bien défi nie sur cet intervalle.

f semble croissante sur

[

−3;0

]

et décroissante sur

[ ]

0;3. f a un maximum environ égal à 1,8, atteint en 0.

x y

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

f(a) h f(a)

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

Références

Documents relatifs

Question : En quels points de sa trajectoire Déclia doit-il tirer pour atteindre successivement ses trois ennemis?. Exercice

Prendre un nombre x, lui retrancher 1, mettre le résultat au carré, multiplier le tout par 2 et enfin ajouter

Représentons la courbe représentative de la

Si la courbe d'une fonction admet un centre de symétrie, alors il nous suffit de l'étudier que sur une partie de son intervalle de définition... Faire un dessin à

[r]

En déduire la limite de la fonction f en +. a) Étudier les variations de la fonction f sur son ensemble

Dresser le tableau de variations de la fonction f en précisant les limites de f.. Déterminer la limite de la fonction f

Il a 100 mètres de barrière à disposition et seuls les trois côtés ne jouxtant pas la rivière doivent être fermés. Quelles sont les dimensions de l’enclos pour avoir une