Sie sind auf Seite 1von 2

COLE POLYTECHNIQUE

COLE SUPRIEURE DE PHYSIQUE ET CHIMIE INDUSTRIELLES

CONCOURS 2002

FILIRE

MP - OPTION SCIENCES INDUSTRIELLES


FILIRE PC

PREUVE FACULTATIVE DINFORMATIQUE


(Dure : 2 heures)
Lutilisation des calculatrices nest pas autorise pour cette preuve.
Le langage de programmation choisi par le candidat doit tre spci en tte de la copie.
On attachera une grande importance la clart, la prcision, la concision de la rdaction.
 
On cherche calculer le gain maximum possible la Bourse sur une action pendant une priode
de n jours, en ne faisant quune opration dachat et de vente dune seule action. On suppose que
les cours quotidiens de cette action sont enregistrs dans un tableau dentiers naturels (ai N)
de n lments (0  i < n).
On dnit lamplitude de la variation du cours comme la valeur absolue du maximum de la
variation de ce cours pendant la priode observe, cest--dire la quantit suivante :
amplitude = max |aj ai | = max ai min ai
0ij<n

0i<n

0i<n

Le temps dexcution T (f ) dune fonction f de la variable a est le nombre doprations lmentaires (addition, soustraction, multiplication, division, aectation) ncessaire au calcul de
f (a). Lorsque ce temps dexcution dpend dun paramtre n, il sera not Tn (f ). On dit que la
fonction f sexcute :
en temps linaire par rapport au paramtre n, sil existe K > 0 tel que pour tout n,
Tn (f )  Kn ;
en temps quadratique par rapport au paramtre n, sil existe K > 0 tel que pour tout n,
Tn (f )  Kn2 .
Question 1 crire une fonction amplitude(a) qui retourne comme rsultat lamplitude de la
variation du cours reprsent par le tableau a. Donner un ordre de grandeur du temps dexcution
de cette fonction en fonction de n.
Le gain maximum est le gain maximum possible sur la priode observe, cest--dire la
quantit suivante :
gain = max (aj ai )
0ij<n

Question 2 Donner un exemple o lamplitude est dirente du gain maximum. Que reprsente lamplitude en terme de gain ou de perte ?
Question 3 En suivant textuellement la dnition du gain, crire une fonction gain(a) qui
retourne, en temps quadratique (par rapport n), le gain maximal possible sur le cours reprsent
par le tableau a.
Question 4 Modier la fonction prcdente pour aussi imprimer les deux dates i et j dachat
et de vente de laction permettant dobtenir le gain maximum sur le tableau a (avec j i
minimum).
Pour tout i (0  i < n) dnissons le gain courant maximum gainCourant i comme le gain
maximum possible obtenu en vendant son action au temps i, cest--dire :
gainCouranti = max (ai ak )
0ki

Question 5 En calculant progressivement le gain courant maximum, crire une fonction


gain1(a) qui retourne, en temps linaire (par rapport n), le gain maximum possible sur le
cours reprsent par le tableau a.
Question 6 Modier la fonction prcdente pour aussi imprimer les deux dates i et j dachat
et de vente de laction permettant dobtenir le gain maximum sur le tableau a (avec j i
minimum).
On considre maintenant la possibilit de faire squentiellement deux transactions pendant
la priode observe, cest--dire de considrer deux dates dachat i et i , et deux dates de vente
j et j  telles que 0  i  j  i  j  < n.
Question 7 crire la fonction gain2(a) qui retourne, en temps quadratique (par rapport n),
le gain maximum possible en faisant deux transactions sur le cours de laction reprsent par le
tableau a.
Question 8 Modier la fonction prcdente pour aussi imprimer les quatres dates i, j, et i ,
j  dachats et de ventes de laction permettant dobtenir le gain maximum sur le tableau a (avec
j i et j  i minimum).

Das könnte Ihnen auch gefallen