Programmes en Python Sur Les Suites Numériques - CORRIGE

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

Suites numériques et programmation en Python

Exercice 1 :
u0  2
On considère la suite arithmétique définie par :  .
un1  un  4
1) Réaliser un programme Python afin de calculer la valeur d’un rang n saisi par l’utilisateur.
2) Réaliser un programme Python afin de déterminer à partir de quel rang un  55000 .
3) Réaliser un programme Python afin de déterminer la somme des termes u0  u1  ...  un à partir de la
valeur d’un rang n saisi par l’utilisateur.
4) Réaliser un programme Python afin de déterminer à partir de quel rang u0  u1  ...  un  1000 000 .

Exercice 2 :
v0  7
On considère la suite géométrique définie par :  .
vn1  vn  2
1) Réaliser un programme Python afin de calculer la valeur d’un rang n saisi par l’utilisateur.
2) Réaliser un programme Python afin de déterminer à partir de quel rang vn  83000 .
3) Réaliser un programme Python afin de déterminer la somme des termes v0  v1  ...  vn à partir de la
valeur d’un rang n saisi par l’utilisateur.
4) Réaliser un programme Python afin de déterminer à partir de quel rang v0  v1  ...  vn  1234567 .
CORRIGE – Notre Dame de La Merci - Montpellier
Exercice 1 :
u0  2
On considère la suite arithmétique définie par :  .
un1  un  4
1) Réaliser un programme Python afin de calculer la valeur d’un rang n saisi par l’utilisateur.
1 def valeur_suite(n):
2 u=2
3 for i in range(1,n+1):
4 u+=4 # u=u+4
5 return u

7 n=int(input("Veuillez saisir le rang désiré : "))


8 valeur=valeur_suite(n)
9 print("Le rang de la suite est : ",valeur)
si n  20 , le programme renvoie : Le rang de la suite est : 82
Le corps du programme principal est écrit dans les lignes 7 à 9 :
Ligne 7 : la variable n va recevoir la valeur saisie par l’utilisateur qui sera un entier
 la commande int en abréviation du mot integer,
la commande input demande à l’utilisateur de saisir une valeur
Ligne 8 : la variable ‘valeur’ va recevoir la réponse de la fonction appelée ‘valeur_suite’
on envoie le paramètre n en appelant cette fonction
Ligne 9 : la commande ‘print’ affiche le résultat
La fonction appelée valeur_suite reçoit en paramètre la valeur saisie par l’utilisateur
Ligne 1 : la commande def annonce la fonction qui reçoit un paramètre et se termine par « : »
Ligne 2 : le décalage s’appelle une indentation.
On initialise la variable locale u à la valeur initiale 2.
Ligne 3 : Avec la boucle de répétition for, on va calculer successivement tous les termes de la suite
et stocker la réponse dans la variable u.
Ligne 4 : la commande += signifie que l’on va ajouter 4 à son ancienne valeur
Ligne 5 : La commande return renvoie la réponse au programme principal, ce qui est préférable à
la commande print qui afficherait directement la réponse mais ne permettrait pas de la
manipuler dans le programme principal.
2) Réaliser un programme Python afin de déterminer à partir de quel rang un  55000 .
1 def seuil_suite(n):
2 u=2
3 i=0
4 while u<n:
5 u+=4
6 i+=1
7 return i
9 M=int(input("Veuillez saisir la valeur à atteindre : "))
10 rang=seuil_suite(M)
11 print("Le rang à partir duquel la suite dépasse la valeur",M, "est",rang)
si M  5 , le programme renvoie : Le rang à partir duquel la suite dépasse la valeur 20 est 5
si M  55000 Le rang à partir duquel la suite dépasse la valeur 55000 est 13750
Explications sur la fonction utilisée :
Dans la fonction appelée, on utilise une boucle tant_que (while)
la variable i ne va pas augmenter toute seule avec une boucle while, il faut donc l’initialiser
puis gérer son augmentation à chaque pas de la boucle avec : i+=1
3) Réaliser un programme Python afin de déterminer la somme des termes u0  u1  ...  un à partir de la
valeur d’un rang n saisi par l’utilisateur.
def somme_suite(n):
u=2
S=2
for i in range(1,n+1):
u+=4
S+=u
return S
n=int(input("Veuillez saisir le rang de la somme des termes : "))
somme=somme_suite(n)
print("La somme des termes est ",somme)
Dans la fonction, on initialise le premier terme u à 2 et la somme S à calculer à 2.
Dans la boucle for, on calcule chaque terme de la suite u que l’on ajoute ensuite à la somme S.
si n  3 , le programme renvoie : La somme des termes est 32 , car  2  6  10  14  32

4) Réaliser un programme Python afin de déterminer à partir de quel rang u0  u1  ...  un  1000 000 .
def seuil_somme_suite(n):
u=2
S=2
i=0
while S<n:
i+=1
u+=4
S+=u
print("i=",i,"u=",u,"S=",S)
return i
M=int(input("Veuillez saisir le seuil de la somme des termes à atteindre : "))
seuil=seuil_somme_suite(M)
print("La somme des termes dépasse la valeur",M,"à partir du rang",seuil)
La commande print("i=",i,"u=",u,"S=",S) est facultative, elle permet de mieux comprendre le
fonctionnement du programme, puis on peut la retirer.
si on saisit M  20 , on obtient :
i= 1 u= 6 S= 8
i= 2 u= 10 S= 18
i= 3 u= 14 S= 32
La somme des termes dépasse la valeur 20 à partir du rang 3
si on saisit M  1000 000 tout en retirant la ligne print("i=",i,"u=",u,"S=",S), on obtient :
La somme des termes dépasse la valeur 1000000 à partir du rang 707.

Exercice 2 :
v0  7
On considère la suite géométrique définie par :  .
vn1  vn  2
1) Réaliser un programme Python afin de calculer la valeur d’un rang n saisi par l’utilisateur.
def valeur_suite(n):
v=7
for i in range(1,n+1):
v*=2 # v=v*2
return v
n=int(input("Veuillez saisir le rang désiré : "))
valeur=valeur_suite(n)
print("Le rang de la suite est : ",valeur)
si n  5 , le programme renvoie : Le rang de la suite est : 224
2) Réaliser un programme Python afin de déterminer à partir de quel rang vn  83000 .
def seuil_suite(n):
v=7
i=0
while v<n:
v*=2
i+=1
return i
M=int(input("Veuillez saisir la valeur à atteindre : "))
rang=seuil_suite(M)
print("Le rang à partir duquel la suite dépasse la valeur",M, "est",rang)
si M  5 , le programme renvoie : Le rang à partir duquel la suite dépasse la valeur 100 est 4
3) Réaliser un programme Python afin de déterminer la somme des termes v0  v1  ...  vn à partir de la
valeur d’un rang n saisi par l’utilisateur.
def somme_suite(n):
v=7
S=7
for i in range(1,n+1):
v*=2
S+=v
return S
n=int(input("Veuillez saisir le rang de la somme des termes : "))
somme=somme_suite(n)
print("La somme des termes est ",somme)
si n  3 , le programme renvoie : La somme des termes est 105 , car  7  14  28  56  105
si n  100 : La somme des termes est 17747108403195211620953844875257
4) Réaliser un programme Python afin de déterminer à partir de quel rang v0  v1  ...  vn  1234567 .
def seuil_somme_suite(n):
v=7
S=2
i=0
while S<n:
i+=1
v*=2
S+=v
print("i=",i,"v=",v,"S=",S)
return i
M=int(input("Veuillez saisir le seuil de la somme des termes à atteindre : "))
seuil=seuil_somme_suite(M)
print("La somme des termes dépasse la valeur",M,"à partir du rang",seuil)
si M  3 , le programme renvoie : i= 1 v= 14 S= 16
i= 2 v= 28 S= 44
i= 3 v= 56 S= 100
La somme des termes dépasse la valeur 100 à partir du rang 3
si M  1234567 : La somme des termes dépasse la valeur 1234567 à partir du rang 17

Vous aimerez peut-être aussi