Vous êtes sur la page 1sur 12

(https://partiel2.uvci.edu.

ci)

   183300832
SRABEDIS EDIH

(https://partiel2.uvci.edu.ci/mod/quiz/attempt.php?attempt=38427&cmid=827&lang=fr)
(https://partiel2.uvci.edu.ci/mod/quiz/attempt.php?attempt=38427&cmid=827&lang=en)

AA A

Mes cours   

Tableau de bord (https://partiel2.uvci.edu.ci/my/) → Mes cours → EXAMEN - SEMESTRE 3 - SESSION NORMALE - MMX) 2020
(https://partiel2.uvci.edu.ci/course/view.php?id=37) → SESSION 1 - 13 JUIN - 2020 (https://partiel2.uvci.edu.ci/course/view.php?id=37#section-2) → Épreuve :
Algorithmique avancée (https://partiel2.uvci.edu.ci/mod/quiz/view.php?id=827)

  
Tableau de bord Accueil du site Calendrier

(https://partiel2.uvci.edu.ci/my) (https://partiel2.uvci.edu.ci/?redirect=0) (https://partiel2.uvci.edu.ci/calendar/view.php?view=month)

  
Badges Tous les cours Course dashboard

(https://partiel2.uvci.edu.ci/badges/mybadges.php) (https://partiel2.uvci.edu.ci/course/)
Question 1 Exercice 1 :
Réponse
Toutes les réponses ne doivent pas avoir des espaces, ni de ponctuation et elles doivent être en minuscule.
incomplète

Noté sur 20,00 Nous supposons dans que la liste a déjà été saisie

Partie 1 :
SRABEDIS EDIH

Ecrire une fonction qui renvoie le nombre d'éléments d'une liste chaînée.

Solution :

fonction cpterEltListe(

{E
T} :

liste
):

------
chaîne entier

Var

nbElt : entier

pliste : Liste

Début

nbelt
←0

pliste ← T

Tantque

T<>nil
faire

nbElt ←

nbelt+1
pliste ←

p^.suivant
ntantque

renvoyer
nbelt+1
Fin

Algorithme nbrelet

fonction

nbrelet
({E}T : Liste) :

entier
Type

liste
=

structure
Info : chaîne

Suivant :

chaine
Finstructure
Type Liste =

structure
var

val : Liste
SRABEDIS EDIH

nb : entier

Début

nb ←

cptereltliste
Af cher "Le nombre d'éléments est :", nb 

Fin

Partie 2 :

Ecrire une fonction qui renvoie le nombre d'éléments d'une liste chaînée ayant une valeur donnée (champ Info).

Solution :

fonction cpterOccEltListe(

{E
T} : Liste,

{E
val} : chaîne) :

entier
Var

nbOcc : entier

pliste : Liste

Début

nbOcc ←

pliste
←T

tantque

pliste<>0
faire

si

nbocc>=0
alors

nbOcc ←

nbocc+1
nsi

pliste ←

p^.suivant
ntantque

renvoyer
nbocc
n

Algorithme nbroccelet
fonction

cpteroccelet
( {E}T : Liste, {E}val : chaîne) :

entier
SRABEDIS EDIH

Type

liste
=

structure
Info : chaîne

Suivant :

chaîne
Finstructure

Type Liste =

structure
var

vale : Liste

ch : chaîne

nb : entier

Début

nb ←

cpterocceltliste()
Af cher "Le nombre d’occurrence de l'éléments est :", nb 

Fin

Partie 3 :

Ecrire une fonction qui véri e si une liste chaînée est triée par valeurs croissantes du champ Info.

Solution :

fonction estTriee(

{S
T} : Liste) :

booleen
Var

trie : booléen

pliste : Liste

Début

trie ← vrai

pliste
←T

si

t=pliste^suivant
alors

tantque

pliste^suivant<>nil
et
trie
= vrai faire

si

pliste^suivant
SRABEDIS EDIH

<=

pliste^suivant+1
alors

pliste ←

pliste^suivant
sinon

trie ←

faux
nsi

ntantque

nsi

renvoyer
trie
Fin

Algorithme Listetrie

fonction

listetrie
({E}T : Liste) :

booleen
Type

liste
=

structure
Info : chaîne

Suivant :

chaîne
Finstructure

Type Liste =

structure
var

val : Liste

rep : booléen

Début

nb ←

esttriee()
si

trie=vrai
alors

Af cher "La liste est triée"


sinon

Af cher "La liste n'est pas triée"

nsi

Fin
SRABEDIS EDIH

//****************************************************************************************************************************

Exercice 2 :

Toutes les réponses ne doivent pas avoir des espaces, ni de ponctuation et elles doivent être en minuscule.

L’université virtuelle de Côte d'ivoire(UVCI) dans laquelle vous êtes inscrit souhaite gérer la moyenne de ses
étudiants. Un étudiant est caractérisé par les champs suivants : matricule,nom,prenoms,specialite, moyenne et
statut(admis ou refuse). Ces informations sont stockées dans une liste.

L'algorithme devra  :

Créer une procédure (inserete)pour insérer 15 nouveaux étudiants en tête d'une liste chaînée.

Créer une procédure (inserequ)pour insérer 30 nouveaux étudiants en queue d'une liste chaînée.

Créer une procédure (donnestat) qui insère la valeur du statut en fonction de la moyenne ( admis quand la valeur
est supérieur ou égale à 10 sinon refuse).

Créer une procédure (af chages) qui af che les valeurs de la liste.

Solution :

Procedure

inserete
(

{S
} T : Liste )

Var

P : Liste

Début

Pour i ← 1 à

15
faire

allouer(p)
Af cher "Entrer le matricule de l'étudiant N° ",i

Saisir

etuduvci[i].matricule
Af cher "Entrer le nom de l'étudiant N° ",i

Saisir

etuduvci[i].nom
Af cher "Entrer le prénom de l'étudiant N° ",i

Saisir

etuduvci[i].prenom
Af cher "Entrer la spécialité de l'étudiant N° ",i

Saisir

etuduvci[i].specialite
Af cher "Entrer la moyenne de l'étudiant N° ",i

Saisir
etuduvci[i].moyenne
P^.Suivant ←

t
t
SRABEDIS EDIH

nid
Fin

Procedure

inserequ
(

{S
} T,Q : Liste )

Var

P : Liste

Début

Pour i ← 1 à

30
faire

allouer(p)
Af cher "Entrer le matricule de l'étudiant N° ",i

Saisir

etuduvci[i].matricule
Af cher "Entrer le nom de l'étudiant N° ",i

Saisir

etuduvci[i].nom
Af cher "Entrer le prénom de l'étudiant N° ",i

Saisir

etuduvci[i].prenom
Af cher "Entrer la spécialité de l'étudiant N° ",i

Saisir

etuduvci[i].specialite
Af cher "Entrer la moyenne de l'étudiant N° ",i

Saisir

etuduvci[i].moyenne
p^.suivant
← nil

Si

p
=

p+1
alors

t

p
Sinon

p^.suivant
SRABEDIS EDIH

 ←

p
Finsi

q

p
Fin

Fin

Procedure

donnestat
(

{E
} T: Liste )

var

P : Liste

début

t

p
tantque

p
<>

nil
faire

si

etuduvci[i].note
>=

10
alors

P^.statut ← "admis"

sinon

P^.statut ← "refuse"

nsi

p←

p^.suivant
n

Procedure af chages(
{E
} T: Liste )

var

P : Liste
SRABEDIS EDIH

début

Tantque P <> nil faire

Af cher "Matricule =",

etuduvci[i].matricule
Af cher "Nom=",

etuduvci[i].nom
Af cher "Prénoms =",

etuduvci[i].prenom
Af cher "Spécialité =",

etuduvci[i].specialite
Af cher "Moyenne =",

etuduvci[i].moyenne
Af cher "Statut =",

etuduvci[i].statut
P ←

p^.suivant
n

Algorithme TrtEtudiant

Type Etudiant =

structure
matricule
: chaîne

nom
: chaîne

prenom
: chaîne

specialite
: chaîne

moyenne
: reel

statut
: chaîne

Suivant : Liste

FinStructure

Type Liste =

structure
Procedure

inserete
(

{E
} T : Liste )

Procedure
SRABEDIS EDIH

inserequ
(

{E
} T,Q : Liste )

Procedure donnestatut(

{E
} T: Liste )

Procedure

affichages
(

{E
} T: Liste )

var

Te,Qe : Liste

début

te

0
inseret(Te)

insereq(Te,Qe)

donnestatut(Te)

af chage(Te)

//****************************************************************************************************************************

Exercice 3 :

Toutes les réponses ne doivent pas avoir des espaces, ni de ponctuation et elles doivent être en minuscule.
Respecter également l'ordre de l'énumération des champs.

Soit un chier uvci.txt, écrire un algorithme qui permet de saisir 50 étudiants dans le chier uvci.txt à l'aide d'un
enregistrement étudiant ayant pour champs nom, prenoms, matricule, note et spécialité. L'algorithme devra
permettre d'af cher la liste des étudiants ayant une note supérieur à 9.

Solution :

Algorithme TrtEtudiant

Type

Etudiant =

enregistrement

nom

: chaîne

prenoms

: chaîne

matricule
: chaîne

note

: reel

---------
spécialité specialite
SRABEDIS EDIH

: chaîne

nenreg

Var

etuduvci :

tableau[1..50]

d'

-------
étudiant etudiant
etud :

-------
étudiant etudiant
i : entier

Début

Ouvrir

"uvci.txt"

sur 2 en

ecriture

pour

i←

50

faire

Af cher "Entrer le matricule de l'étudiant N° ",i

Saisir

etuduvci[i]. matricule

Af cher "Entrer le nom de l'étudiant N° ",i

Saisir

etuduvci[i].nom

Af cher "Entrer le prénom de l'étudiant N° ",i

Saisir

etuduvci[i].prenoms

Af cher "Entrer la note de l'étudiant N° ",i

Saisir

etuduvci[i].note

Af cher "Entrer la spécialité de l'étudiant N° ",i

Saisir

etuduvci[i]. specialite

npour

EcrireFichier

2
,

etuduvci

fermer(2)

Ouvrir
SRABEDIS EDIH

"uvci.txt"

sur 1 en

lecture

tantque

Non

eof (1)
faire

lirefichier
1,

etud
si
etuduvci[i].note
>=
9
alors

Af cher "Matricule =",

etuduvci[i].matricule
Af cher "Nom=",

etuduvci[i].nom
Af cher "Prénoms =",

etuduvci[i].prenoms
Af cher "Spécialité =",

etuduvci[i].specialite
nsi

FinTq

fermer(1)
Fin

Merci de répondre à tous les éléments de la question.

← Épreuve : Comptabilité Générale (https://partiel2.uvci.edu.ci/mod/quiz/view.php?id=843&forceview=1)


Aller à...
Épreuve : Sociologie des médias et de la communication → (https://partiel2.uvci.edu.ci/mod/quiz/view.php?id=939&forceview=1)

Copyright © Cognitio 2018. All rights reserved.

Vous aimerez peut-être aussi