Académique Documents
Professionnel Documents
Culture Documents
(https://partiel1.uvci.edu.ci)
98E104093
S R A B E D I S E D IH
(https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658&lang=fr)
(https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658&lang=en)
AAA
Mes cours
Tableau de bord (https://partiel1.uvci.edu.ci/my/) ► Mes cours ► EXAMEN - SEMESTRE 3 - SESSION NORMALE BD - DAS - 2020
(https://partiel1.uvci.edu.ci/course/view.php?id=22) ► SESSION 1 - 13 JUIN - 2020 (https://partiel1.uvci.edu.ci/course/view.php?id=22#section-2) ► Épreuve :
Algorithmique Avancée (https://partiel1.uvci.edu.ci/mod/quiz/view.php?id=658)
Tableau de bord Accueil du site Calendrier
Badges Tous les cours Course dashboard
(https://partiel1.uvci.edu.ci/badges/mybadges.php) (https://partiel1.uvci.edu.ci/course/)
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 1/12
13/06/2020 Épreuve : Algorithmique Avancée
Question 1 Exercice 1 :
Pas encore
Toutes les réponses ne doivent pas avoir des espaces, ni de ponctuation et elles doivent être en minuscule.
répondu
Respecter également l'ordre de l'énumération des champs.
Noté sur 20,00
Soit un chier etu.txt, écrire un algorithme qui permet de saisir 40 étudiants dans le chier etu.txt à l'aide d'un
S R A B E D I S E D IH
enregistrement étudiant ayant pour champs nomet, prenet, matet, noteet et specet L'algorithme devra permettre
d'af cher la liste des étudiants ayant une note supérieure ou égale à 12.
Solution :
Algorithme TrtEtudiant
Type
Etud =
enregistrement
nomet
: chaîne
prenet
: chaîne
matet
: chaîne
noteet
: reel
specet
: chaîne
nenreg
Var
etu :
tableau[1..40]
d'
etud
etud :
etud
: entier
Début
Ouvrir
"etu.txt"
sur 2 en
ecriture
pour
i←
40
faire
Saisir
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 2/12
13/06/2020 Épreuve : Algorithmique Avancée
etu[i].matet
Saisir
etu[i].nomet
S R A B E D I S E D IH
Saisir
etu[i].prenet
Saisir
etu[i].noteet
Saisir
etu[i].specet
npour
EcrireFichier
etu
fermer(2)
Ouvrir
"etu.txt"
sur 3 en
lecture
tantque
Non
eof(1)
faire
lire chier
3,
etud
si
etu[i].noteet
>=
12
alors
etu[i].matet
Af cher "Nom=",
etu[i].nomet
etu[i].prenet
etu[i].specet
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 3/12
13/06/2020 Épreuve : Algorithmique Avancée
nsi
FinTq
fermer(3)
Fin
S R A B E D I S E D IH
//***************************************************************************************************************************
Exercice 2 :
Toutes les réponses ne doivent pas avoir des espaces, ni de ponctuation et elles doivent être en minuscule.
Partie 1 :
Ecrire une fonction qui renvoie le nombre d'éléments d'une liste chaînée.
Solution :
fonction cpteEltListe(
T} :
):
Var
nbEt : entier
prliste : Liste
Début
←0
pliste ← T
Tantque
faire
nbElt ←
pliste ←
ntantque
Fin
Algorithme nbrelet
fonction
({E}T : Liste) :
Type
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 4/12
13/06/2020 Épreuve : Algorithmique Avancée
Info : chaîne
Suivant :
S R A B E D I S E D IH
Finstructure
Type Liste =
var
val : Liste
nb : entier
Début
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(
T} : Liste,
val} : chaîne) :
Var
nbOcc : entier
pliste : Liste
Début
nbOcc ←
←T
tantque
faire
si
alors
nbOcc ←
nsi
pliste ←
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 5/12
13/06/2020 Épreuve : Algorithmique Avancée
ntantque
n
S R A B E D I S E D IH
Algorithme nbroccelet
fonction
Type
Info : chaîne
Suivant :
Finstructure
Type Liste =
var
vale : Liste
ch : chaîne
nb : entier
Début
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(
T} : Liste) :
Var
trie : booléen
pliste : Liste
Début
trie ← vrai
←T
si
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 6/12
13/06/2020 Épreuve : Algorithmique Avancée
alors
tantque
S R A B E D I S E D IH
et
= vrai faire
si
<=
alors
pliste ←
sinon
trie ←
nsi
ntantque
nsi
Fin
Algorithme Listetrie
fonction
({E}T : Liste) :
Type
Info : chaîne
Suivant :
Finstructure
Type Liste =
var
val : Liste
rep : booléen
Début
nb ←
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 7/12
13/06/2020 Épreuve : Algorithmique Avancée
si
alors
S R A B E D I S E D IH
sinon
nsi
Fin
//***************************************************************************************************************************
Exercice 3 :
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 (inseret)pour insérer 10 nouveaux étudiants en tête d'une liste chaînée.
Créer une procédure (insereq)pour insérer 20 nouveaux étudiants en queue d'une liste chaînée.
Créer une procédure (donnestatut) 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 chage) qui af che les valeurs de la liste.
Solution :
Procedure
inseret
{e/s}
} T : Liste )
Var
P : Liste
Début
Pour i ← 1 à 10 faire
allouer(p)
Saisir
p^.matricule
Saisir
p^.nom
Saisir
p^.prenom
Saisir
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 8/12
13/06/2020 Épreuve : Algorithmique Avancée
p^.specialite
Saisir
p^.moyenne
S R A B E D I S E D IH
P^.Suivant ←
Fin
Procedure
insereq
{e/s}
} T,Q : Liste )
Var
P : Liste
Début
Pour i ← 1 à 20 faire
allouer(p)
Saisir
p^.matricule
Saisir
p^.nom
Saisir
p^.prenom
Saisir
p^.specialite
Saisir
p^.moyenne
p^
← nil
Si
nil
alors
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 9/12
13/06/2020 Épreuve : Algorithmique Avancée
Sinon
S R A B E D I S E D IH
q^.suivant
←
Finsi
Fin
Fin
Procedure
donnestatut
{e}
} T: Liste )
var
P : Liste
début
tantque
<>
nil
faire
si
p^.valeur
>=
10
alors
P^.statut ← "admis"
sinon
P^.statut ← "refuse"
nsi
p←
p^.suivant
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 10/12
13/06/2020 Épreuve : Algorithmique Avancée
Procedure af chage(
{e}
} T: Liste )
var
S R A B E D I S E D IH
P : Liste
début
p^.matricule
Af cher "Nom=",
p^.nom
p^.prenom
p^.specialite
p^.moyenne
p^.statut
P ←
p^.suivant
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 =
^etudiant
Procedure
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 11/12
13/06/2020 Épreuve : Algorithmique Avancée
inseret
{e/s}
} T : Liste )
S R A B E D I S E D IH
Procedure
insereq
{e/s}
} T,Q : Liste )
Procedure donnestatut(
{e}
} T: Liste )
Procedure
af chage
{e}
} T: Liste )
var
Te,Qe : Liste
début
te
nil
inseret(Te)
insereq(Te,Qe)
donnestatut(Te)
af chage(Te)
https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 12/12