Académique Documents
Professionnel Documents
Culture Documents
Rechercher un cours
Accueil Tableau de bord Événements Mes cours Cours actuel Cacher les blocs Vue standard
Mes cours EXAMEN - SEMESTRE 3 - SESSION NORMALE BD - DAS ) SESSION 1 - JOUR 2 - (2018 - 2019 ) Épreuve : Algorithmique Avancée
Question 1
Exercice 1 :
Réponse
Navigation du test
incomplète Toutes les réponses ne doivent pas avoir des espaces, ni de ponctuation et elles doivent être en minuscule.
Noté sur 20,00
Respecter également l'ordre de l'énumération des champs.
Marquer la
question Soit un chier uvci.txt, écrire un algorithme qui permet de saisir 50 étudiants dans le chier listeetu.txt à l'aide d'un
enregistrement étudiant ayant pour champs nom, prenoms, matricule, note et spécialité. L'algorithme devra
permettre d'a cher la liste des étudiants ayant une note supérieur à 12.
Solution :
Algorithme TrtEtudiant
Type
Etudiant = enregistrement
nom : chaîne
prenoms : chaîne
matricule : chaîne
note : reel
specialite : chaîne
nenreg
Var
etud : tableau[1..50]
i : entier
Début
pour i← 1 à 50 faire
Saisir etud[i].matricule
Saisir etud[i].nom
Saisir etud[i].prenoms
Saisir etud[i].note
Saisir etud[i].specialite
npour
EcrireFichier 2 , listeetu.txt
ouvrir(1)
ouvrir 1, uvci.txt
nsi
FinTq
fermer(1)
Fin
//************************************************************************************************************************************************************************
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 :
Var
nbElt : entier
pliste : Liste
Début
nbElt ←0
pliste ← T
nbElt ←
pliste ←
ntantque
Fin
Algorithme nbrelet
Type =
Info : chaîne
Suivant :
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 :
Var
nbOcc : entier
pliste : Liste
Début
nbOcc ← 0
pliste ←T
si alors
nbOcc ←
nsi
pliste ←
ntantque
Algorithme nbroccelet
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 :
Var
trie : booléen
pliste : Liste
Début
trie ← vrai
←T
si alors
si <= alors
pliste ←
sinon
trie ←
nsi
ntantque
nsi
Fin
Algorithme Listetrie
Type =
Info : chaîne
Suivant :
Finstructure
Type Liste =
var
val : Liste
rep : booléen
Début
nb ←
si alors
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).
Solution :
Var
P : Liste
Début
Pour i ← 1 à 10 faire
etud = etudiant
Saisir etud[i].matricule
Saisir etud[i].nom
Saisir etud[i].prenoms
Saisir etud[i].specialite
Saisir etud[i].moyenne
P^.Suivant ← etud
Fin
Var
P : Liste
Début
Pour i ← 1 à 20 faire
Saisir etudu[i].matricule
Saisir etudu[i].nom
Saisir etudu[i].prenoms
Saisir etudu[i].specialite
Saisir etudu[i].moy
p ← nil
Si p = 10 alors
p ←
Sinon
←
Finsi
Fin
Fin
var
P : Liste
début
p ← etud[i].moyenne
si p >= 10 alors
P^.statut ← "admis"
sinon
P^.statut ← "refuse"
nsi
p ← P^.statut
var
P : Liste
début
P ← P^.statut
Algorithme TrtEtudiant
matricule : chaîne
nom : chaîne
prenoms : chaîne
specialite : chaîne
moyenne : reel
statut : chaîne
Suivant : Liste
FinStructure
var
Te,Qe : Liste
début
te ← 0
inseret(Te)
insereq(Te,Qe)
donnestatut(Te)
a chage(Te)
Terminer le test...