[PDF] Exercices et probl`emes corrigés en C++





Previous PDF Next PDF



Untitled

Exercice 2 else. 1. Page 2. 1. Expliquez brièvement le sens de cette notation. Correction. Selon les notations de Kenda c'est une file d'attente avec.



Terminale S - Probabilités Exercices corrigés

amis A et B se trouvent dans cette file d'attente. 1. Quelle est la probabilité que les deux amis soient situés l'un derrière l'autre ?



Exercices corrigés

Le lecteur trouvera ici les énoncés et corrigés des exercices proposés dans. "Probabilités pour l'ingénieur Soit une file d'attente à un guichet.



File dattente simple

File d'attente simple. PHAM Congduc Université de Pau. Exercice 1. Le système que nous considérons est une base de données où le temps de réponse moyen 



UE ALGO5 TD2 Séance 6 : Files et files à priorité Exercice 1.

Corrigé —. Le premier problème est de choisir une structure de données pour le type File L'idée la plus naturelle est de mémoriser toutes les requêtes ...



Files dattente

3 juin 2016 ? N(t) : Nombre de clients dans le système au temps t. Dr Stephan Robert HEIG-Vd. Files d'attente. 10/1. Page ...



Exercices et probl`emes corrigés en C++

Probl`eme A : Files d'attente et magasins. Remarque : il est fortement recommandé d'implémenter et de tester les différentes classes de l'exercice sur 



File dattente avec deux serveurs

Le but de cet exercice est l'étude d'une file d'attente avec deux serveurs de caractéristiques différentes. On consid`ere une file d'attente avec deux 



Processus aléatoires et applications

2 janv. 2010 II Processus de sauts et files d'attente ... 5.2 Construction par les temps d'attente . ... A Solution de quelques exercices.



m 2016-2018 S3 devoir1 CORRIGE

26 oct. 2017 CORRIGE. Exercice 1. (4 points). Un sac contient 16 jetons rouges et 4 jetons ... problème et bloque la file d'attente un certain temps.



Evaluation de Performance – Master 1 TD 4 : Files d’Attente

Exercice 4 : Par Loynes un syst`eme a ?le d’attente avec un seul serveur est stable quand ? < 1 et il ne l’est pas quand ? > 1 alors que pour ? = 1 ce n’est pas clair a priori Donner un exemple de syst`eme stable avec ? = 1 Comment faire pour qu’un syst`eme soit toujours stable (pour tout ?)?

Quels sont les exercices corrigés de file d'attente ?

Exercices corrigés : File d'attente - Complex systems and AI Les exercices corrigés ci-dessous concernent les chaines de Markov en temps continu, et plus particulièrement la notion de file d'attente. Les exercices corrigés ci-dessous concernent les chaines de Markov en temps continu, et plus particulièrement la notion de file d'attente.

Comment calculer la charge d’une file d’attente ?

On s’intéresse à une file d’attente avec c > 1 serveurs, mais les arrivées et les services restent des processus de Poisson, de paramètres respectifs ? et µ. Dans ce contexte, on définit la charge du système par r = ?/µ et 1. Donner le graphe de la chaîne induite et le générateur infinitésimal. 2.

Combien de clients y a-t-il dans la file d’attente ?

S’il y a quatre usagers dans la file d’attente, il y a 5 clients en tout dans le système, ce qui correspond 36 Exercice 2. Maternité Une importante maternité accueille des femmes enceintes qui sont arrivées à terme et viennent accoucher et donner naissance à leur bébé.

Comment calculer le temps moyen d’attente ?

Connaissant l et m, on a calculé l/m = 1.6/0.9 = 1.77 > 1. Puisque l/m > 1, on s’est intéressé uniquement aux valeurs de S=2, S=3, et S=4. Pour calculer le temps moyen d’attente dans la file, on a d’abord cherché P0, pour chaque valeur respective de S.                  S=2, P0 = 0.061 S=3, P0 = 0.152 S=4, P0 = 0.166 ce qui donne S=2, Wq = 4.00

Exercices et problemes corriges en C++

M1 Mathematiques Appliquees 2019-2020

Version du 6 avril 2020

Lien vers la version en ligneExercice 1 : Pointeurs

On considere que l'on dispose d'un tableau de

ottants declare de la maniere suivante : float t ab [3]; On supposera que ce tableau a egalement ete initialise. 1) Ecrire un programme permettant de calculer la somme des elements du tableau en utilisant le formalisme tableau. 2) Ecrire un programme permettant de calculer la somme des elements du tableau en utilisant le formalisme pointeur. 3) Reprendre les questions 1) et 2) en consid erantun tableau adeux dimensions d eclarecomme suit : float t ab2D [3][4]; et dont on supposera qu'il a ete initialise.

Exercice 2 : Structures et fonctions

On considere le type structure suivant :

struct p roducteur int s tock int v entes [12]; Ecrire une fonction qui initialise les champsstocketventesen donnant la valeur 0 a tous les elements de deux facons : a) Via une fonction acc edant aune v ariablede t ypeproducteuren argument; 1 b)Via une fon ctionmem bred eniedans la structure producteursous la forme : void i nit

Exercice 3 : Cha^nes de caracteres

Cet exercice reprend et complete un exercice du TP 2. Ecrire une fonction qui prenne en argument une cha^ne de caracteres et un caractere, et qui renvoie le nombre d'occurrences du caractere dans la cha^ne. On considerera trois en-t^etes, correspondant a trois representations des cha^nes de caracteres en C++: a)

Repr esentationvia le t ypestring:

int n b_occ string s char c b)

Repr esentationv iaun tableau de caract eres:

int n b_occ char s char c c) Repr esentationvia un p ointeurv ersle premier caract ere: int n b_occ char s c har c

Probleme A : Files d'attente et magasins

Remarque : il est fortement recommande d'implementer et de tester les dierentes classes de l'exercice sur machine. ContexteOn souhaite modeliser la gestion des les d'attente durant une periode de conne- ment. Pour cela, on considerera tout d'abord les constituants d'une le (les individus), puis la le elle-m^eme, denie via une allocation dynamique. Enn, on modelisera des commerces comme heritant de la classe representant une le.

Partie 1 : Individus

On considere une classePersonnerepresentant des individus en temps de connement. Cette classe comporte trois membres donnees :

Deux membresnometprenomde typestring;

Un membreattestationde typeboolqui represente le fait que la personne dispose ou non d'une attestation de sortie. a) Co derdeux constructeurs p ourla classe Personne, respectivement sans argument et avec deux cha^nes de caracteres en arguments. Dans le premier cas, les membresnometprenom seront initialises avec la cha^ne de caracteres vide; dans le second, les deux arguments serviront a initialiser ces deux membres donnees. Enn, dans les deux cas, la valeur du membre attestationsera initialisee afalse. 2 b)Cr eerune fonction p ermettantde m ettrela v aleurdu b ooleenattestationatrue. c) On s ouhaitecr eeru neclasse Policierqui derive de la classePersonne. Cette classe de- vra disposer d'un constructeur base sur celui de la classePersonne, qui initialise la valeur du booleen atrue; elle devra egalement comporter une fonction membrecontrolerdont l'interface sera la suivante : string c ontroler

Personne

Cette fonction veriera la valeur du booleen de l'objet de typePersonnepasse en argument. En fonction de la valeur de ce booleen, elle renverra une cha^ne de caracteres indiquant le nom complet de la personne, et si celle-ci possede ou non une attestation.

Partie 2 : Files d'attente

On adoptera ici la representation circulaire d'une le d'attente. On se donnera ainsi un tableau de taille xee, dans lequel on rangera les individus a la suite dans leur ordre d'arrivee dans la le. Deux indices serviront a reperer respectivement le debut et la n de la le. 1. On consid ereune classe Filerepresentant une le d'attente possedant trois membres donnees : gensde typePersonne* representera un tableau d'objets de typePersonne; lgfilede typeintrepresentera la taille maximum possible pour la le; lmaxde typestatic const intrepresentera la valeur maximale qui puisse ^etre choisie pourlgfile; idebetifin, de typeint, representeront les indices de debut et de n de la le, respectivement. Ils seront initialises a la valeur -1. Ecrire les fonctions membres necessaires pour que la classeFilesoit sous forme canonique. 2. Surc hargerl'op erateur[]an que, sifest un objet de la classeFile,f[i](ouiest un entier entre 0 etf.lgfile-1) renvoie la (i+1)-eme personne de la le. 3. Surc hargerl'op erateur--pour que celui-ci represente la sortie de la premiere personne d'une le. Un appel a cette fonction devra acher le prenom et le nom de la personne quittant la le, le cas echeant. Pour simplier, cette fonction n'aura pas de type de retour. 1 4. Surc hargerl'op erateur+pour qu'il puisse realiser la \somme" d'un objet de typeFileet celle d'un objet de typePersonne, c'est-a-dire ajouter la personne a la le, si tant est qu'il y reste de la place. Un achage devra permettre de valider si la personne a ete ajoutee ou non. Pour simplier, cette fonction n'aura pas de type de retour. 2 5. Au vu des con traintesp oseespar l'impl ementationde la class eFile, comment pourrait-on organiser le code des classes des parties 1 et 2 ?1

Si l'on voulait que cet operateur se comporte comme l'operateur--usuel, il faudrait renvoyer un objet de

typeFile& .

2La encore, la logique voudrait que l'on renvoie un objet de typeFile.

3

Partie 3 : Commerces

Dans cette derniere partie, on utilisera les proprietes de la classeFilepour denir des structures de donnees representant des commerces. 1. Impl ementerdeux classes EpicerieetPharmaciederivant de la classeFileet possedant en plus les membres donnees suivants : Pour la classeEpicerie, un entierstockPaquetsPates, initialise a 100; Pour la classePharmacie: un entierstockGelHydroAlco, initialise a 1; Dans les deux cas, l'operateur--devra ^etre redeni pour diminuer la variable de stock a chaque fois que la premiere personne de la le sera servie. 2. On souhaite impl ementerune classe Supermarcheheritant a la fois des classesEpicerie etPharmacie, mais ne comportant qu'une le. Quelle(s) modication(s) doit-on apporter aux classes precedentes pour cela ? 3. M ^emequestion si l 'ond esireen plus que la classe Supermarchecomporte un membre donnee de typePolicierpouvant contr^oler l'ensemble des membres de la le d'attente du supermarche. 4

Correction

Correction de l'exercice 1

1) On p eutfaire une b oucleforan de parcourir tous leselements du tableau; dans le formalisme tableau, on accede au i-eme element d'un tableautaben faisanttab[i]. Un calcul de la somme des elements du tableau peut donc ^etre fait comme suit : float s =0; for int i =0; i <3; i s tab i 2) Plusieurs solutions son tp ossiblesici. On commence par la plus sem blable acelle de la question precedente :

S olution

1 float s =0; for int i =0; i <3; i s tab i NB n e m odifie p as l e p ointeur t ab On utilise ici le fait quetab+ipointe vers le (i+1)-eme element du tableau. Une autre possibilite consiste a utiliser un pointeur auxiliaire, et a ne se servir de l'entieri que pour compter le nombre d'iterations de la boucle :

S olution

2 float s =0; for float p tab i nt i =0; i <3; i p s p Le pointeur auxiliairepest ainsi incremente a chaque iteration. Il est egalement possible de n'utiliser que des pointeurs, et pas de variable entiere :

S olution

3 float s =0; for float p tab p tab +3; p s p 3) Dans le cas d'un tableau adeux dimensions, on p euteectuer un edouble b oucleen uti lisant le formalisme tableau : int s =0; for int i =0; i <3; i for int j =0; j <4; j s tab2D i j 5 La diculte de la manipulation de ce tableau en termes de pointeur reside dans le fait que tab2Dn'est pas reellement un pointeur vers un pointeur de ottants, mais un pointeur vers un tableau de ottants de taille 4 (donctab2Dest de type*float[4]).

F ormalisme

p ointeurs p our t ableau 2 D float s =0; float p for int i =0; i <3; i p tab2D i tab2D i e st b ien u ne a dresse for int j =0; j <4; j s p j En aectanttab2D[i]au pointeurp, on peut ainsi acceder aux elements du tableau corre- spondant a la i-eme ligne (cad la premiere dimension xee a la valeur i).

Correction de l'exercice 2

a) L'impl ementationdoit mo dierla v aleurde la v ariablede t ypeproducteurpassee en parametre, il est donc necessaire de faire un passage par pointeur ou par reference. En utilisant ce dernier formalisme, on peut alors implementer la fonction comme suit : void i nit producteur p p stock =0; for int i =0; i <12; i p ventes i ]=0; Un appel a cette fonction pourra ^etre eectue dans la fonctionmainde la facon suivante :3 producteur p init p b) On in troduitune fonction mem bredans la structure producteur, qui devient alors : struct p roducteur int s tock int v entes [12]; void i nit Tout appel a cette fonction se fera a partir d'une variable declaree : producteur p p init ();3

Il faudra a minima declarer la fonction dans le programme principal avant de l'appeler dans le main !

6 La fonctioninitaura alors acces directement aux champs de la structureproducteur. Le code de la fonctioninits'ecrit en ajoutant le prexe propre a la structure : void p roducteur init stock =0; for int i =0; i <12; i ventes i ]=0;

Correction de l'exercice 3

1.

En utilisan tle t ypestring:

int n b_occ string s c har c int n =0; for char c s s if cs c n return n Rappel : Une telle boucleforest valide depuis C++11. 2.

En utilisan tle t ypechar*:

int n b_occ char s char c int n =0; while s \0 if s c n s return n Remarque :Une telle fonction ne modie pas la valeur originelle du pointeur (le passage du pointeur en argument se fait par valeur). 3.

En utilisan tun tableau de char:

int n b_occ char s charquotesdbs_dbs35.pdfusesText_40
[PDF] cours files d'attente pdf

[PDF] file dattente m/m/1/k

[PDF] drogues les plus consommées dans le monde

[PDF] file d'attente m/m/s

[PDF] statistique drogue 2015

[PDF] chiffre d'affaire de la drogue dans le monde

[PDF] onudc recrutement

[PDF] consommation de drogue par pays

[PDF] nombre de drogue dans le monde

[PDF] filière es matières

[PDF] filière es wikipédia

[PDF] montrer que l'action politique ne se limite pas au vote

[PDF] filière es premiere

[PDF] le répertoire de l'action politique se limite-t-il au vote ?

[PDF] montrer que la participation politique repose sur des répertoires d'action politique variés