Eléments de Programmation - Thème 3
©Equipe enseignants 1i-001
UPMC – Licence 1 – 2014/2015
Table des matières
Exercice 1 : Somme des impairs 1
Exercice 2 : Calcul du PPCM 2
Exercice 3 : Fonction mystère 4
Exercice 4 : Nombres premiers 5
Exercice 5 : Suite de Fibonacci 6
Exercice 6 : Encadrements 8
Exercice 7 : Approximation de la racine carrée d’un nombre 10
Exercice 8 : Lancers de dés (TME) 12
Exercice 1 : Somme des impairs
Question 1
Donner une définition de la fonction
somme_impairs_inf
telle que
somme_impairs_inf(n)
renvoie la somme des entiers impairs inférieurs ou égaux à n.
Par exemple :
>>> somme_impairs_inf(1)
1
1
>>> somme_impairs_inf(2)
1
>>> somme_impairs_inf(5)
9
Question 2
Donner une définition de la fonction
somme_premiers_impairs
telle que
somme_premiers_impairs(n)
renvoie la somme des npremiers entiers impairs.
Par exemple :
>>> somme_premiers_impairs(1)
1
>>> somme_premiers_impairs(2)
4
>>> somme_premiers_impairs(5)
25
Remarque
: comme les exemples ci-dessus le suggérent, la somme des
n
premiers impairs vaut
n2
(le démontrer est un bon exercice mathématique). On exploitera cette propriété dans les jeux
de tests (rappel : l’opérateur d’élévation à la puissance est ** en Python).
Question 3
Effectuer la simulation de boucle pour l’application
somme_premiers_impairs(5)
donc pour
n=5.
Exercice 2 : Calcul du PPCM
Cet exercice sur le plus petit commun multiple illustre la phase de réflexion préalable nécessaire
à la résolution d’un problème de calcul répétitif.
Question 1
Sans utiliser l’opérateur
%
, donner une définition de la fonction
reste
qui, étant donnés un
entier naturel
a
et un entier naturel
b
non nul, renvoie le reste de la division euclidienne de
a
par b.
Par exemple :
2
>>> reste(11,4)
3
>>> reste(21,7)
0
>>> reste(0,3)
0
Question 2
Donner une définition de la fonction
est_divisible
qui, étant donnés un entier naturel
a
et un
entier naturel
b
non nul, renvoie la valeur
True
si
a
est divisible par
b
et la valeur
False
sinon.
Par exemple :
>>> est_divisible(11,4)
False
>>> est_divisible(21,7)
True
>>> est_divisible(0,3)
True
Question 3
Donner une définition de la fonction
ppcm
qui, étant donnés deux entiers naturels
a
et
b
non
nuls, renvoie le plus petit entier naturel non nul qui est un multiple commun à aet b.
Par exemple :
>>> ppcm(2,3)
6
>>> ppcm(6,8)
24
>>> ppcm(12,15)
60
Question 4
Effectuer la simulation de boucle pour l’application ppcm(6, 8) donc pour a=6 et b=8.
3
Exercice 3 : Fonction mystère
Le but de cet exercice est de réussir à déterminer ce que fait une fonction, sans en connaître ni
le nom, ni la spécification mais simplement en étudiant son implémentation.
Soit la fonction «mystère» fci-dessous :
def f(x, y):
"""
??? mystère !"""
#z:?
z=0
#w:?
w=x
while w <= y:
z=z+w*w
w=w+1
return z
Question 1
Compléter cette définition en donnant la signature de la fonction ainsi que les types à déclarer
pour les variables, en supposant que les paramètres xet ysont entiers.
Question 2
Selon les principes vus en cours, effectuer une simulation de boucle correspondant à l’évaluation
de l’application :
f(3,6)
donc pour x=3 et y=6.
Quelle est la valeur retournée par cette application ?
Question 3
En supposant qu’on évalue
mystere(x, y)
avec
xy
. Pour quelle valeur de w, la boucle
va-t-elle s’arrêter ?
4
Question 4
Que pensez-vous de l’application f(5, 3) ?
Quelle est la valeur retournée ? En déduire une hypothèse d’appel pertinente pour la fonction
mystère.
Question 5
En déduire une définition complète et plus lisible de cette fonction, en particulier :
proposer un nom plus pertinent pour la fonction
renommer les paramètres et expliquer leur rôle dans la description de la fonction
renommer les variables et expliquer leur rôle dans le corps de la fonction
proposer un jeu de tests pour valider la fonction.
Exercice 4 : Nombres premiers
Le but de cet exercice est d’écrire une fonction qui teste si un nombre est premier ou non. Ceci
permet d’étudier les alternatives dans les boucles ainsi que les sorties anticipées de fonction.
On rappelle qu’un entier naturel
n
est dit premier s’il n’existe aucun entier naturel autre que 1
et nlui-même qui le divise.
Par convention, 1n’est pas un nombre premier.
Question 1
Donner une définition de la fonction
divise
qui, étant donné deux entiers
n
et
p
renvoie
True
si ndivise p,False sinon.
Par exemple :
>>> divise(1,4)
True
>>> divise(2,4)
True
>>> divise(3,4)
False
>>> divise(4,2)
False
5
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !