Vous êtes sur la page 1sur 3

DS N° 1 PCSI 2013-2014

CLASSES PREPARATOIRES AUX GRANDES ECOLES : CPGE OMAR IBN LKHATTAB


Option : Physique Chimie Science d’Ingénieur (PCSI)
DEVOIR SURVEILLE N°1
Etablissement : CPGE OMAR V 1.2014.TRIMESTRE.N°2
Enseignante : L.OUSTOUH
IBN LKHATTAB DATE : 17/02/2014
DUREE : 2H00MIN

Les élèves sont informés que la précision des raisonnements algorithmiques ainsi que le soin apporté
à la rédaction et à la présentation des copies seront des éléments pris en compte dans la notation. Il
convient en particulier d’appeler avec précision les références des questions abordées.
Si au cours de l’épreuve, un élève repère ce qui peut lui sembler être une erreur d’énoncé, il le
signale sur sa copie et poursuit sa composition en expliquant les raisons des initiatives qu’il est
amené à prendre.
Toutes utilisations du correcteur blanc seront sanctionnées

Note :
 toutes les réponses seront écrites en python.
 Il n’est pas autorisé d’utiliser les fonctions prédéfinies de python pour la
gestion des listes.

Exercice 1 :
1. Ecrivez une fonction flou(T,n) qui prend en paramètre un tableau T et qui
modifie T de sorte que pour tout entier k, la nouvelle valeur de T[k] soit égale
à la moyenne entre les anciennes valeurs de T[k-1] et T[k+1]. Par convention
on fixe T[-1]=T[n]=0 où n est la taille de T.
Par exemple si T=[6,0,3,1,1], alors après exécution de flou(T,n), T vaudra
[0.0,4.5,0.5,2.0,0.5]
2. Ecrivez une fonction occurrence(T,n,r) qui retourne le nombre d’occurrences
de r.
3. Ecrivez une fonction tri_bulle(T,n) qui trie le tableau T de taille n en ordre
décroissant.
4. Ecrivez une fonction test_elt(T,n,e) qui teste si un élément e est présent ou
non dans le tableau T de taille n trié en ordre décroissant ; utilisez la
stratégie de recherche par dichotomie.

Exercice 2 :
On souhaite pouvoir déterminer le jour de la semaine (lundi, mardi, mercredi,
jeudi, …) d’une date donnée. Pour cela, on peut utiliser la congruence de

L.OUSTOUH 1/3 CPGE OMAR IBN LKHATTAB


DS N° 1 PCSI 2013-2014

Zeller, qui est une formule qui donne la date d’un jour donné. Cette formule
est définie par :


- h est le jour de la semaine codé avec la convention : 0=samedi, 1=dimanche,
2=lundi, …
- q est le jour du mois
- m est le mois de l’année codé avec la convention : 3=mars, 4=avril, 5=mai,…,
12=décembre, 13= janvier, 14=février.
- k est l’année du siècle (année mod 100)

- j est le siècle ( )
1. écrivez une fonction jour_de_la_semaine(T) qui prend en paramètre un
tableau T de trois entiers où :
i. T[0] est le jour du mois.
ii. T[1] le mois de l’année en utilisant le codage usuel (janvier=1,
février=2, …, décembre=12)
iii. T[2] est l’année.
et qui renvoie le jour de la semaine codée en utilisant le codage usuel
(1=lundi, 2=mardi, …, 7=dimanche)
2. Ecrivez une fonction affiche_jour(T) qui affiche le jour de la date passée
en paramètre en utilisant les mêmes paramètres et les mêmes paramètres
et les mêmes conventions que la fonction jour_de_la_semaine(T).

Exercice 3 :
On souhaite calculer les coefficients qui apparaissent lors du développement
de = =

1. Proposez une implémentation de la fonction binomial_1(n,i) qui prends en


paramètres deux entiers n et i et qui renvoie
2.
a. Ecrivez un programme qui calcule la somme S=
b. Vérifiez que votre programme est juste :

L.OUSTOUH 2/3 CPGE OMAR IBN LKHATTAB


DS N° 1 PCSI 2013-2014

i. Démontrez que votre programme se termine.


ii. Vérifiez que S= est un invariant de boucle.
iii. Estimez la complexité du programme.
3. Démontrez que pour tout
4. Ecrivez une fonction binomiaux(T,n) qui modifie un tableau T contenant
n+1 éléments de sorte que T[i]=
5. En utilisant la formule de récurrence précédente, écrivez une fonction
calcul_binomiaux(T,U,n) qui prends en paramètre un tableau T à n+1
éléments vérifiant T[i]= et modifie un tableau U à n+2 éléments de
sorte que U[i]=
Exemple :
si T=[1] alors U=[1,1]
Si T=[1,1] alors U=[1,2,1]
Si T=[1,2,1] alors U=[1,3,3,1]
Si T=[1,3,3,1] alors U=[1,4,6,4,1]
6. Ecrivez une fonction binomial_2(n,i) qui calcule sans utiliser de
factorielles.

L.OUSTOUH 3/3 CPGE OMAR IBN LKHATTAB

Vous aimerez peut-être aussi