Chapitres Maths en Terminale Générale
Cours sur les algorithmes au programme de Maths en Terminale
Résumé de cours Exercices et corrigés
Cours en ligne de Maths en Terminale
Revoyez le cours au programme de maths en Terminale sur les algorithmes grâce à ce cours en ligne en terminale, vous pouvez aussi le reviser à l’aide de la recherche d’un prof de maths à domicile. Dans ce cours vous trouverez, des définitions de cours, des explications de cours ainsi que des exemples d’algorithmes. Le cours complet au programme de terminale ainsi que tous les exercices corrigés se trouvent dans l’application mobile gratuite PrepApp.
1. Affectation, égalités, inégalités en algorithmique en Terminale
affectation à la variable de (une donnée ou le résultat d’opérations sur des variables)
Comparer deux variables et à valeurs réelles
Elles sont égales
Elles ne sont pas égales
Le contenu de est plus petit (resp plus grand) que celui de : (resp )
Le contenu de est strictement plus petit (resp plus grand) que celui de : (resp )
Utiliser deux conditions :
Condition1 Condition2 : vraie si les deux conditions sont vraies
Condition1 Condition2 : vraie lorsque l’une au moins est vraie
Négation d’une condition
(condition) qui est vraie (resp. Fausse) lorsque condition est fausse (resp. vraie)
COURS DE MATHS
Nous avons recruté pour vous les meilleurs professeurs particuliers de maths
S'EXERCER ET APPRENDRE
Avis Google France ★★★★★ 4,8 sur 5
2. Définir une fonction en algorithmique en Terminale
2.1. Syntaxe :
def NomDeLaFonction (parametres) :
Instruction 1
Derniere Instruction
return (… , … , … )
Il peut y avoir 0, 1 ou plusieurs paramètres.
Le « return » final renvoie les résultats de la fonction s’il y en a et rien s’il est seul.
Il est possible quand il y a des tests avec des conditions s’excluant mutuellement d’écrire plusieurs « return » dans la même fonction.
Il est indispensable de respecter l’indentation.
On appelle la fonction par
NomDeLaFonction (….) en introduisant les paramètres dans l’ordre de définition.
2.2. Que font ces fonctions en algorithmique ?
Exemple :
Les paramètres et sont réels
def f(a , b) :
a = a + b
b = a – b
a = a – b
return (a , b)
Qu’obtient- on en appelant f(28 , 5 ) ?
Réponse de l’exemple :
(5,28)
Plus généralement, si contient et contient
après la première instruction,
contient et contient
après la deuxième instruction,
contient
et contient
après la troisième instruction,
contient et contient
La fonction a échangé les contenus des variables et .
2.3. Utiliser le package maths en algorithmique
Il faut importer le package math
import math
Il permet d’obtenir :
une valeur approchée de : math.pi
et si est une variable réelle
: math.sqrt{x}
: math. exp (x)
: math.sin(x)
: math.cos(x)
: math.fabs(x)
: math.log(x)
la partie entière de : math.trunc(x) (c’est un entier)
3. Test conditionnel pour les algorithmes en Terminale
Respecter l’indentation dans toutes les rédactions suivantes :
Si Condition alors …
Syntaxe :
if Condition :
Instruction1
Instruction finale
Si Condition alors … sinon …
Syntaxe :
if Condition :
Instruction1
Instruction finale
else
Autre Instruction1
Autre Instruction finale
if … elif …. else …
Syntaxe
if Condition1 :
Series d’Instruction1
elif Condition 2 :
Serie d’Instruction2
elif Condition 3 :
….
else :
série d’instructions finales.
Exemple :
Que fait la fonction suivante si et sont des variables réelles ?
def Mystere (a , b):
c b
if a b :
c a
return c
Réponse de l’exemple :
Elle renvoie le maximum des contenus des variables et .
En effet la valeur provisoire de est celle de .
Si la variable a une valeur supérieure à celle de , on place la valeur de dans .
A l’issue de la manipulation, contient le maximum des variables et .
4. Boucles pour les algorithmes en Terminale
4.1. Boucles for en algorithmique en Terminale
Syntaxe Si sont entiers, on effectue la suite d’instructions pour les valeurs à la valeur
for k in range (a , b) :
Instruction1
Instruction finale
range (b) = range(0 , b)
Exemple :
étant une variable entière et une variable réelle, quel est le résultat de cette fonction ?
def f (n , a) :
x = 1
for k in range (n):
x = a * x
return x
Réponse de l’exemple :
La fonction multiplie l’entier 1 , fois (pour par : on obtient .
4.2. Boucles while en algorithmique en Terminale
Syntaxe
while condition do :
Instruction1
Instruction finale
Exemple :
Que fait la fonction suivante :
def f(A) :
S 0
n 0
while S A :
n n
S S 1/n
return n
Réponse de l’exemple :
La fonction f calcule les valeurs successives de et détermine le plus petit entier tel que . Vous verrez certainement cette somme dans le cours sur les suites en terminale.
Attention à ne pas utiliser un nombre trop grand
f(10) renvoie 12 367
f(20) met assez longtemps à renvoyer 27 2400 600
4.3. Comment choisir entre une boucle for et une boucle while ?
On sait le nombre d’itérations à faire : en général une boucle for est plus simple
On ne sait pas le nombre d’itérations à faire : il faut utiliser une boule while.
Une boucle for peut toujours être remplacée par une boucle while.
PROF DE MATHS PARTICULIER
Des cours de qualité et enseignants aguerris
Préparer des concours ou s'exercer
Avis Google France ★★★★★ 4,9 sur 5
5. Manipulations de listes en algorithmique
C’est une variable Python dans laquelle on peut mettre plusieurs variables
par exemple [2,5,3.14, 1.414 , python, 3] est une liste
5.1. Définir une liste pour des algorithmes en Terminale
On peut créer une liste vide
liste = []
ou par la donnée des premiers éléments
liste = [1 , 2 , 3]
et ajouter le contenu de la variable V à la fin
liste.append(V)
(cela peut être fait avec une boucle)
liste en compréhension :
liste = [expression de f , for k in range (debut, fin)]
5.2. Manipuler une liste en algorithmique
liste [0] est le premier terme de la liste
est le ème terme
est le dernier terme
len(liste) donne le nombre de termes de liste
5.3. Représenter un ensemble de points pour les algorithmes en Terminale
Il faut importer un package :
import matplotlib.pyplot as pl
Pour représenter les points
Former
a) la liste des abscisses
b) la liste des ordonnées
demander
pl.scatter(Lx , Ly)
on peut choisir la couleur avec par exemple
pl.scatter(Lx , Ly , color = ‘red’)
Cela peut être plus simple pour les points
Introduire la liste
Suite
demander (pour des points en rouge)
pl.plot (Suite , ‘r.’)
6. Représenter une fonction en algorithmique en Terminale
Je ne donne pas les fonctions les plus efficaces mais simplement un minimum de compléments qui permettent de tracer des courbes, en restant au plus proche du programme de terminale.
Si vous voulez tracer des courbes représentative, il est indispensable de charger le package matplotlibpyplot grâce à l’instruction
import matplotlib.pyplot as plt
Explication du principe
: on ne peut tracer que la restriction d’une courbe à un segment
: on définit avant la fonction que que l’on veut tracer par
def : f(x) : etc…
: on décide l’intervalle sur lequel on veut représenter la fonction et le nombre de points qui vont servir à tracer cette fonction. (prendre au moins égal à 5000.
: on définit deux listes de points : la liste des abscisse (abs) et la liste des ordonnées (ord).
Pour cela dans on place la liste des et dans la liste des images âr de ces points.
La courbe sera remplacée par des segments joignant le point au suivant .
(plus le nombre de points est grand, meilleur est le rendu).
et c’est l’appel à plt.plot(abs, ord) qui trace la courbe.
Cas où la fonction admet une limite infinie en un ou plusieurs points de . N’hésitez pas revoir le cours sur les limites en terminale.
Il faut imposer en plus la fenêtre de représentation.
Pour les , on le fait avec plt.xlim(a, b) (ce qui est logique)
Pour les , j’ai arbitrairement mis plt.ylim(-5 , 5) : vous pourrez éventuellement modifier cette place de valeur de dans la deuxième fonction.
6.1. Représenter une fonction sans point de discontinuité
Définir avant une fonction
import matplotlib.pyplot as plt
def graphe(f,a,b, n):
abs = []
ord =[]
pas = (b – a) /n
x = a
for k in range (n + 1) :
abs.append(x)
ord.append (f(x))
x = x + pas
plt.plot(abs,ord)
return
Fermer la fenêtre graphique avant de relancer
N’hésitez pas à revoir le cours sur la continuité en terminale avant de vous attaquer à ce type d’algorithme.
6.2. Représenter une fonction avec au moins un point de discontinuité
Cas d’une fonction admettant des asymptotes verticales (elles seront automatiquement tracées , lorsque les limites à droite et à gauche sont de signe contraire)
Définir avant une fonction
import matplotlib.pyplot as plt
def graphe(f,a,b, ymin, ymax , n):
abs = []
ord =[]
pas = (b – a) /n
x = a
for k in range (n + 1) :
abs.append(x)
ord.append (f(x))
x = x + pas
plt.xlim(a,b)
plt.ylim(ymin,ymax)
plt.plot(abs,ord)
return
Fermer la fenêtre graphique avant de relancer
ajustez au mieux les valeurs ymin et ymax à la vue du graphique.
Vous pouvez commencer avec ymin = – 10 et ymax = 10
Pour des révisions complètes sur l’ensemble des chapitres de maths en Terminale, entraînez-vous également sur les annales de maths au bac. Pour les élèves qui souhaitent être accompagnés dans leurs révisions et leur préparation au bac, il est aussi possible de suivre des cours particuliers de maths à domicile. Entre les différentes sessions de cours particuliers, les élèves de Terminale peuvent aussi revoir et se tester sur les chapitres de maths en ligne de Terminale, comme par exemple :