Vous êtes sur la page 1sur 12

13/06/2020 Épreuve : Algorithmique Avancée

(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

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

  
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

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

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

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

Saisir

etu[i].nomet
S R A B E D I S E D IH

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

Saisir

etu[i].prenet

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

Saisir

etu[i].noteet

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

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

Af cher "Matricule =",

etu[i].matet

Af cher "Nom=",

etu[i].nomet

Af cher "Prénoms =",

etu[i].prenet

Af cher "Spécialité =",

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.

Nous supposons dans que la liste a déjà été saisie

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 ←

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(

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

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

Type

Info : chaîne

Suivant :

Finstructure

Type Liste =

var

vale : Liste

ch : chaîne

nb : entier

Début

nb ←

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(

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

Af cher "La liste est triée"

sinon

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

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)

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

Saisir

p^.matricule

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

Saisir

p^.nom

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

Saisir

p^.prenom

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

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

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

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)

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

Saisir

p^.matricule

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

Saisir

p^.nom

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

Saisir

p^.prenom

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

Saisir

p^.specialite

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

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

Tantque P <> nil faire

Af cher "Matricule =",

p^.matricule

Af cher "Nom=",

p^.nom

Af cher "Prénoms =",

p^.prenom

Af cher "Spécialité =",

p^.specialite

Af cher "Moyenne =",

p^.moyenne

Af cher "Statut =",

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)

◄ Épreuve : Introduction à la sécurité informatique (https://partiel1.uvci.edu.ci/mod/quiz/view.php?id=656&forceview=1)


Aller à…
Épreuve : Langage C Avancé ► (https://partiel1.uvci.edu.ci/mod/quiz/view.php?id=660&forceview=1)

Copyright © Cognitio 2018. All rights reserved.

https://partiel1.uvci.edu.ci/mod/quiz/attempt.php?attempt=35730&cmid=658 12/12

Vous aimerez peut-être aussi