DS n°02 - Fonctions, listes, chaînes de caractères

Telechargé par dridi.issam.unv
Samedi 22 Octobre 2022
Dur´ee : 60 min
INFORMATIQUE
DEVOIR SURVEILL´
E N2
Si, au cours de l’´epreuve, vous rep´erez ce qui vous semble ˆetre une erreur d’´enonc´e, d’une part vous
le signalez au surveillant, d’autre part vous le signalez sur votre copie et vous poursuivez la composition
en indiquant les raisons des initiatives que vous avez ´et´e amen´e `a prendre.
L’usage de calculatrice, t´el´ephone portable, ordinateur est interdit
AVERTISSEMENT
Composer sur copies doubles grand carreaux uniquement.
A la fin de chaque exercice on change de page (ou de copie) obligatoirement.
La pr´esentation, la lisibilit´e, l’orthographe, la qualit´e de la edaction,la clart´e et la pr´ecision
des raisonnements entreront pour une part importante dans l’appr´eciation des copies.
En particulier, les r´esultats non encadr´es et non-justifi´es ne seront pas pris en compte.
Tournez la page S.V.P.
Lyc´ee de l’Essouriau DEVOIR SURVEILL ´
E N2Les Ulis
EXERCICE 1 - Bien faire sa «To Do List »
1. Qu’est-ce qui apparait dans la console lorsqu’on ´ecrit [1,2,3,4,5,6,7,8,9][-3] ?
2. Qu’est-ce qui apparait dans la console lorsqu’on ´ecrit [1,2,3,4,5,6,7,8,9][:4] ?
3. Si cela a du sens, donner les longueurs (au sens de la commande len) des expressions suivantes.
a) [1234567] c) ["1234567"] e) [k**2 for k in range(1,7)]
b) "abcdefg" d) [1,2,3,4,5,6,7] f) [[1,2,3],[4,5],6,7]
4. Cr´eer la liste form´ee des 100 premiers entiers impairs par ordre d´ecroissante.
EXERCICE 2 - D´ecode ce code
(D’apr`es EPITA PSI-MP-PC 2020)
Soit Lune liste, xune variable et la fonction aquoiquejesers ci-dessous.
1def a qu oiq ueje ser s ( L ,x ):
2i= len( L ) -1
3while i >=0 and L[i ]!= x:
4i=i -1
5return i >=0
Que fait cette fonction ?
EXERCICE 3
Sum is the path to average, average is the path to variance
1. ´
Ecrire une fonction moyenne(L) qui renvoie la moyenne des ´el´ements de la liste de flottants L.
2. En d´eduire une fonction variance(L) qui renvoie la variance Vde la liste de flottants L.
Pour rappel, la formule math´ematiques de la variance d’une liste de nombres (`1, . . . , `n)vaut
V=1
n
n
X
k=1
(`km)2
o`u mest la moyenne des ´el´ements de la liste.
3. La liste Lest maintenant une liste de flottants `a 2 dimensions. ´
Ecrire une fonction moyenne_2D(L) qui
renvoie la moyenne des ´el´ements des listes de L.
Par exemple moyenne_2D([[2,4],[1,3,5],[9]]) renvoie 2+4+1+3+5+9
6= 4.
En C++, && signifie and et !signifie not
Fabien D´
ELEN [email protected] 2 PCSI 2022-2023
Lyc´ee de l’Essouriau DEVOIR SURVEILL ´
E N2Les Ulis
PROBL`
EME - N’´echouez pas sur la suite de Robinson
(Extrait Sujet E3A PSI 2018)
1. Proposer une fonction python maxi prenant en argument une liste d’entiers naturels Let renvoyant le
maximum des entiers de cette liste.
On n’utilisera pas la fonction max bien entendu.
2. On appelle ind une fonction prenant en argument une liste d’entiers naturels Let renvoyant la liste des
indices [i_1,...,i_r] avec i_1<...<i_r telle que pour tout k[[1, r]], L[i_k] soit non nul.
Par exemple si L = [0,1,3,0,7], alors ind(L) renvoie [1,2,4].
(a) Que renvoie la commande ind([4,0,0,1,2,0,4]) ?
(b) ´
Ecrire en python cette fonction ind.
3. On appelle nb_oc une fonction prenant comme argument une liste d’entiers naturels Let renvoyant la
liste Tde longueur M = maxi(L)+1 o`u, pour tout i[[0, M]], T[i] est le nombre d’occurrences de l’entier
idans la liste L.
Par exemple, si L = [3,1,4,1,5], alors T = [0,2,0,1,1,1].
En effet l’entier «0»apparait 0 fois donc T[0] = 0, l’entier «1»apparait 2 fois donc T[1] = 2, etc.
(a) Que renvoie la commande nb_oc([4,0,0,1,2,0,4]) ?
(b) ´
Ecrire en python cette fonction nb_oc. (On pourra utiliser la fonction maxi.)
4. Soit Lune liste d’entiers naturels.
(a) D´eterminer le nombre de fois, not´e n, o`u la liste Lest parcourue lors de l’ex´ecution de nb_oc(L).
(b) On veut que ce nombre nsoit ind´ependant de M = maxi(L)+1. Si ce n’est pas le cas, modifier la
fonction nb_oc afin de respecter cette condition.
5. Soit Aune liste d’entiers naturels. On d´efinit la suite de Robinson (Ln)nNassoci´ee `a la suite Apar
r´ecurrence comme suit :
L0=A.
Si Lnest construite, alors :
on d´etermine Tn=nb_oc(Ln).
on d´etermine In=ind(Tn).
si In= [i1, . . . , ir], alors Ln+1 =T[ir], ir, . . . , T [i1], i1.
Par exemple si A= [4,4,1,2], alors :
L0= [4,4,1,2]
L1= [2,4,1,2,1,1] (il y a deux «4», un «2»et un «1»dans la liste L0)
L2= [1,4,2,2,3,1] (il y a un «4», deux «2»et trois «1»dans la liste L1)
(a) On donne A= [2,0,4,1,3,3,2,3,1,1]. D´eterminer L3et L2018.
(b) On donne B= [2,4,1,1,1,2]. Si l’on suppose que L1=B, donner toutes les solutions possibles pour
L0.
(c) On donne C= [2,4,1,0]. Si l’on suppose que L1=C, donner toutes les solutions possibles pour L0.
(d) Proposer alors une fonction rob(A,n) qui prend en arguments une liste d’entiers naturels Aet un
entier naturel net qui renvoie l’´el´ement Lnde la suite de Robinson associ´ee `a A.
Fabien D´
ELEN [email protected] 3 PCSI 2022-2023
1 / 3 100%

DS n°02 - Fonctions, listes, chaînes de caractères

Telechargé par dridi.issam.unv
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 !