Informatique – MP Faidherbe TP1 : Une reprise en

publicité
Informatique – MP Faidherbe
TP1 : Une reprise en douceur !
Alix Goguey - [email protected]
année 2012-2013
1
Introduction
Pour ce premier TP de l’année, je vous propose une reprise en douceur ! Le Caml
n’étant très certainement pas le langage que nous pratiquons le plus pendant les vacances, il nous sera utile de ré-apprendre à le parler. Ça revient assez vite vous verrez.
La scéance d’aujourd’hui consistera donc en une suite d’exercices simples ayant pour but
de programmez. Je vous promets pour la suite des sujets qui mettront beaucoup plus à
l’épreuve votre âme de codeur.
La page https://groups.google.com/d/forum/tp-info-faidherbe-2012 est dédié au service après-vente. Je vous invite à y faire un tour (sur invitation seulement,
laissez-moi vos mails). Les énoncés et corrigés des TP seront mis en ligne régulièrement.
N’hésitez pas à créer un sujet pour poser une question utile à tous. Vous pouvez même
vous entraider ! Si la question est plus spécifique/personnelle, un simple mail à mon attention suffira (précisez "TP Faidherbe" dans l’objet du mail). Aucune question n’est
stupide ! Dans la mesure de ma disponibilité j’y répondrai volontier. Je suis également à
votre disposition pour vous aider dans vos TIPE (dans la mesure de mes compétences).
2
2.1
La suite d’exercices
Montons crescendo
Exercice 1 : Implémentez les fonctions min et max comparant 2 entiers.
Exercice 2 : Implémentez de même les fonctions minList et maxList renvoyant le
minimum et le maximum d’une liste d’entier.
Exercice 3 : Implémentez la fonction intList prenant en paramètre un entier n et
initialisant une liste avec les n premiers entiers naturels non nuls.
Exercice 4 : Implémentez la fonction diviseur prenant en paramètre un entier n renvoyant la liste des diviseurs positifs entiers de n.
1
2.2
Le crible d’Eratostène
Le crible d’Eratost‘ene est un procédé qui permet de trouver tous les nombres premiers inférieurs à un certain entier naturel donné n. Etant donné une liste d’entier, le but
est d’éliminer au fur et à mesure les multiples (on élimine les multiples de 2, puis de 3, · · · ).
Exercice 5 : Implémentez la fonction suppMult qui prend en paramètre un entier k et
une liste d’entiers naturels non nuls l et renvoyant la liste l où tous les multiples de k
auront été enlevés (on gardera k s’il existe).
Exercice 6 : Implémentez la fonction nbPremier qui prend en paramètre un entier
naturel non nul n et renvoyant la liste des nombres premiers inférieurs ou égaux à n.
2.3
Faisons des Maths
Exercice 7 : Implémentez la fonction estPremier qui prend en paramètre un entier
naturel non nul n et renvoyant un booléen true si n est un nombre premier ou un booléen
false sinon.
Exercice 8 : Implémentez la fonction premierEntreEux qui prend en paramètre 2 entiers
naturels non nuls a et b et renvoyant un booléen true si a et b sont premiers entre eux
ou un booléen false sinon.
Exercice 9 : Implémentez la fonction decompFP qui prend en paramètre un entier naturel
non nul n et renvoyant la décomposition en facteur premier du nombre n.
Un nombre parfait est un entier naturel n tel que la somme des diviseurs entiers
positifs de n est égale à 2n.
Exercice 10 : Implémentez la fonction estParfait qui prend en paramètre un entier
naturel non nul n et renvoyant un booléen true si n est un nombre parfait ou un booléen
false sinon.
On dit qu’un entier naturel est un nombre sublime lorsque le nombre de ses diviseurs
et la somme de ses diviseurs sont tous deux des nombres parfaits.
Exercice 11 : Implémentez la fonction estSublime qui prend en paramètre un entier
naturel non nul n et renvoyant un booléen true si n est un nombre sublime ou un booléen
false sinon.
Exercice 12 : Implémentez la fonction pgcd prenant en paramètre deux naturels non
nuls a et b renvoyant P GCD(a, b).
2
Exercice 13 : Implémentez les fonctions ppcm1 et ppcm2 prenant en paramètre deux
naturels non nuls a et b renvoyant P P CM (a, b). Note : l’une des implémentations utilisera
la fonction pgcd, l’autre parcourant naïvement une liste d’entier.
Exercice 14 : Implémentez la fonction evalSQRT
√ qui prend en paramètre un entier
naturel non nul n et renvoyant un encadrement de n (p2 ≤ n < q 2 ). Si c’est trop facile,
implémentez la fonction evalSQRT2 qui
√ prend en paramètre 2 entiers naturels non nuls n
et k et renvoyant un encadrement de n à k chiffres après la virgule.
3
Téléchargement