Вы находитесь на странице: 1из 5

ESTP TP1

Informatique SA3

2013-2014

Python : squences entires, conditionnelles, boucles

Les squences entires (range )

Exercice 1. Exercices simples


rendre

Programmez les ralisations des achages suivants : Achez tous les entiers de 1 10, spars par une espace. Achez rebours tous les entiers de 10 0. Achez tous les nombres pairs de -4 20.

Exercice 2. Un peu plus diciles


rendre

crivez une fonction retournant la squence (range ) croissante de tous les multiples de m (entier positif ) compris entre a (inclus) et b (inclus).
>>> mult(7,21,3) range(9, 22, 3)

rendre

crivez une fonction achant la table de Pythagore de la multiplication des nombres de 1 n comme ci-dessous pour n=10.
>>> pyth(10) * 1 2 1 1 2 2 2 4 3 3 6 4 4 8 5 5 10 6 6 12 7 7 14 8 8 16 9 9 18 10 10 20 3 3 6 9 12 15 18 21 24 27 30 4 4 8 12 16 20 24 28 32 36 40 5 5 10 15 20 25 30 35 40 45 50 6 6 12 18 24 30 36 42 48 54 60 7 7 14 21 28 35 42 49 56 63 70 8 8 16 24 32 40 48 56 64 72 80 9 9 18 27 36 45 54 63 72 81 90 10 10 20 30 40 50 60 70 80 90 100

Note : Pour lalignement, on pourra utiliser la fonction format : format(5,"4d") retourne la chane de caractres " 5" (sur 4 positions, justie droite).

2
2.1
rendre

Conditionnelles
Salaire (*)

Exercice 3. crire une fonction ayant en paramtres le nombre dheures eectues par un salari dans la semaine et son salaire horaire, qui retourne sa paye hebdomadaire. On prendra en compte les heures supplmentaires (au-del de 35 heures) payes 150%. Prototype : def salaire_hebdomadaire(nb_heures, salaire_horaire) :

1/5

ESTP TP1

Informatique SA3

2013-2014

2.2

Notes (*)

Un professeur note les rsultats dun test portant sur 50 questions en utilisant la table suivante : bonnes rponses note 0-10 E 11-20 D 21-30 C 31-40 B 41-50 A

rendre

Exercice 4. crire une fonction qui retourne la note, tant donn un nombre bonnes rponses. Prototype : def note (bonnes_reponses):

2.3

Calendrier (**)

Parmi les traitements les plus souvent utiliss en informatique, on touve sans doute ceux agissant sur des dates (achage et calcul). Le calendrier en usage en France est le calendrier dit grgorien bas sur les principes suivants : lanne est divise en 12 mois numrots de 1 12 ; les mois 1, 3, 5, 7, 8, 10 et 12 comptent 31 jours ; les mois 4, 6, 9 et 11 ont comptent 30 jours ; le mois 2 compte 29 jours si lanne est bissextile, 28 sinon une anne est bissextile si elle ne se termine pas par 00 et est divisible par 4, elle se termine par 00 et son quotient par 100 est divisible par 4.
rendre

Exercice 5. crire une fonction ayant en paramtre un entier reprsentant une anne et retournant True si lanne est bissextile et False sinon. Prototype : def bissextile(annee) :
rendre

Exercice 6. crire une fonction ayant en paramtre deux entiers reprsentant un mois et une anne et retournant le nombre de jours du mois de cette anne. Prototype : def nombre_jours_mois(mois, annee) :
rendre

Exercice 7. crire une fonction ayant en paramtres trois entiers reprsentant un jour, un mois et une anne et retournant True sils reprsentent une date valide et False sinon. Le calendrier grgorien ayant t appliqu en France en dcembre 1582, on considrera les dates antrieures 1583 comme invalides. Prototype : def datevalide(j, m, a) :

2/5

ESTP TP1

Informatique SA3

2013-2014

3
3.1
rendre

Boucles et rcursivit
PGCD (*)

Exercice 8. crire une fonction qui retourne le plus grand commun diviseur (pgcd ) de deux nombres entiers positifs. Lalgorithme dEuclide est bas sur le principe suivant : pgcd(a, b) = Prototype : def pgcd(a, b) : a si b = 0 pgcd(b, a mod b) sinon

3.2
rendre

Factorielle (*)

Exercice 9. crire une fonction qui retourne la factorielle dun entier. n! = 1 n (n 1) (n 2) . . . 2 1 si n = 0 sinon

Prototype : def factorielle(n) :

3.3
rendre

Plus petit diviseur premier (**)

Exercice 10. crire une fonction qui retourne le plus petit diviseur premier dun nombre. Prototype : def plus_petit_diviseur_premier (n) : Principe : tester le reste de la division de n par tous les nombres partir de 2.

3.4
rendre

Racine carre (**)

Exercice 11. crire une fonction qui calcule la racine carre dun nombre rel positif. Lalgorithme de Newton est bas sur la convergence de la suite suivante : Principe : la suite dnie par u0 = 1 a un + un un+1 = 2 converge vers a. Prototype : def racine_carre(x) :

3/5

ESTP TP1

Informatique SA3

2013-2014

3.5
rendre

Puissance entire itrative (**)

Exercice 12. crire une fonction qui calcule an avec a rel et n entier positif. Utiliser un algorithme itratif. Prototype : def puissance(a, n) : Note : on sinterdira bien videmment dutiliser loprateur ** .

3.6
rendre

Puissance entire rcursive (**)

Exercice 13. crire une fonction qui calcule an avec a rel et n entier positif.Utiliser un algorithme rcursif. Le principe en est le suivant : an = 1 (an/2 )2 a an1 si n = 0 si n est pair si n est impair

Comparer les temps dexcution avec la fonction prcdente pour n = 100, 1000, 10000 (pour viter les dpassements de capacit, prendre une valeur de test pour a proche de 1) Prototype : def puissance_rapide(a, n) : Note : on sinterdira bien videmment dutiliser loprateur ** .

3.7
rendre

Dveloppements limits (**)

Exercice 14. crire les fonctions qui calculent les dveloppements limits lordre n de sin x, cos x, ex et arctan x. Rappel : sin x cos x ex arctan x = x = = 1 x3 x5 x7 + + ... 3! 5! 7! x2 x4 x6 + + ... 2! 4! 6! x2 x3 x4 + + + ... 2! 3! 4!

1+x+

= x

x3 x5 x7 + + ... 3 5 7

Prototype : def dev_lim_sin(x, n) : Prototype : def dev_lim_cos(x, n) : Prototype : def dev_lim_exp(x, n) : Prototype : def dev_lim_atn(x, n) :

4/5

ESTP TP1

Informatique SA3

2013-2014

3.8

Calcul de (***)

Exercice 15. Trois mthodes pour calculer une valeur approche de .


rendre

crire une fonction qui calcule une valeur approche de par le calcul du dveloppement limit lordre n de arctan 1(= 4 ), multipli par 4. Jusqu quelle valeur de n faut-il pousser le calcul pour avoir trois chires signicatifs ?

rendre

crire une fonction qui calcule une valeur approche de par le calcul des dveloppements limits 1 1 lordre n correspondant la formule de Machin 4 = 4 arctan 5 arctan 239 . Jusqu quelle valeur de n faut-il pousser le calcul pour avoir trois chires signicatifs ? Dans les annes 1970, Salamin trouve une mthode plus rapide base sur la thorie des intgrales elliptiques. Dans cet algorithme, la ne valeur approche de se calcule par : 4a2 n
n

a0 = 1 avec an = an1 + bn1 2

= 12

1 b0 = 2 bn = an1 bn1

i=1

2 2i (a2 i bi )

rendre

crire une fonction qui calcule une valeur approche de par le la mthode de Salamin. Jusqu quelle valeur de n faut-il pousser le calcul pour avoir dix chires signicatifs ? Note : le record actuel (17 octobre 2011) de dcimales de est de 10 billions (1013 dcimales) http://www.numberworld.org/misc_runs/pi-10t/details.html

5/5

Вам также может понравиться