Académique Documents
Professionnel Documents
Culture Documents
BENGHAZOUANI
TD N°4
Les fonctions et les procédures
EXERCICE 1 :
Ecrire un programme se servant d'une fonction F pour afficher la table de valeurs de la fonction définie par
f(x) = sin(x) + log(x) - où x est un entier compris entre 1 et 10.
EXERCICE 2 :
Ecrire la fonction « def NCHIFFRES (N) »qui obtient une valeur entière N (positive ou négative) du type
entier comme paramètre et qui fournit le nombre de chiffres de N comme résultat.
Ecrire un petit programme qui teste la fonction NCHIFFRES:
Exemple:
Introduire un nombre entier : 6457392
Le nombre 6457392 a 7 chiffres.
EXERCICE 3:
Ecrire un programme qui construit et affiche le triangle de Pascal en calculant les coefficients binomiaux:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Pour N =5
1. Ecrire une fonction « def factorielle(N) » qui calcul la factorielle d’un nombre entier N
2. Ecrire une fonction « def combinaison(p,q) » qui calcul le coefficient binomial en utilisant la
formule suivante :
EXERCICE 4 :
Ecrire une fonction « def binaire(N) » qui donne la représentation d’un nombre entiers N en binaire sur 1 octet
(on suppose que 0<=N<256 )
Exemple : binaire6) donne '00000110'
Exercice N °5 :
On désire calculer l'exponentielle de x en utilisant la série exponentielle de x
𝑥 𝑥2 𝑥3
𝑒𝑥 = 1 + + + +⋯ , −∞ < 𝑥 < ∞
1! 2! 3!
Question N° 1 :
Ecrire une fonction itérative PUISSANCE qui reçoit X et N comme paramètre d’entrée et calcul XN
1
CPGE MED 5 MPSI S.BENGHAZOUANI
Question N° 2 :
Ecrire une fonction Factorielle qui reçoit N comme paramètre et calcul la factorielle de N .
Question N° 3 :
Ecrire une fonction serie_expon qui développe la série jusqu'à un indice n; elle reçoit en paramètre les
valeurs de x et de n.
Question N° 4 :
Ecrire un programme principal qui saisit un nombre flottant et une valeur entière et affiche son
exponentielle.
Exercice 6 :
Exercice 7 :
b
La fonction f: f(x)=exp(-x2) n’est pas intégrable de façon analytique ; cependant l’intégrale I = f ( x)dx peut être
a
Exercice 8 :
Rédiger une fonction heure_to_sec(h, m, s) qui prend en arguments trois entiers représentant une durée
exprimée en heures/minutes/secondes et qui retourne cette durée exprimée en secondes.
Rédiger une fonction sec_to_heure(s) qui prend en argument un nombre entier de secondes et qui affiche
cette durée au format hh:mm:ss.
En déduire une fonction duree(h1, m1, s1, h2, m2, s2) qui prend en arguments six entiers représentant
deux dates d1 et d2 et qui affiche la durée de d2 − d1 au format hh:mm:ss (on supposera d1 < d2 ).
Exercice 9:
Ecrire une fonction en python permettant de trouver et d’afficher le plus grand diviseur strict p d’un entier n fournie
comme paramètre de cette fonction. Cette fonction retourne -1 si p n’est pas trouvé.
2
CPGE MED 5 MPSI S.BENGHAZOUANI
Exercice 10 :
Ecrire une fonction PlusGranDivPrem(n) : permettant de trouver et de retourner le plus grand diviseur premier p de
l’entier n passé en paramètres. Cette fonction retourne 1 si n=1.
PlusGranDivPrem(100) =5 ; PlusGranDivPrem(16) =2 ;
PlusGranDivPrem(7) =7
Exercice 11 :