DEVOIR SURVEILLÉ :
ALGORITHMIQUE AVANCÉE
Correction
Vous êtes informaticien au ministère de l’intérieur de Cote d’Ivoire. Le ministre vous demande
d’écrire une petite application qui va lui permettre de gérer le recensement de la population. On
suppose que la population est stockée dans une liste simplement chainée. Une personne est
identifiée par un numéro d’identité, son nom, son genre et son âge.
On considérera dans les exercices, sauf cas contraire les types suivants :
N.B. : La correction tiendra rigoureusement compte des conventions d’écriture des mots clés du
langage de description algorithmique utilisé dans le cours.La propreté de la copie sera prise en
compte.
p. 1
PROCEDURECréationListeCitoyen ( (E/S) Tete: LISTE)
VARIABLES
P : LISTE
NumASaisir : ENTIER
NomASaisir : CHAINE
GenreASaisir : CARACTERE
AgeASaisir : ENTIER
DEBUT
Tete¬ Nil
ECRIRE ("SAISIR LE NUMERO DE LA PERSONNE(0 POUR FINIR) :")
LIRE(NumASaisir)
TANTQUENumASaisir<> 0FAIRE
ECRIRE ("SAISIR LE NOM DE LA PERSONNE :")
LIRE(NomASaisir)
ECRIRE ("SAISIR LE GENRE DE LA PERSONNE :")
LIRE(GenrASaisir)
ECRIRE ("SAISIR L’AGE DE LA PERSONNE :")
LIRE(AgeASaisir)
ALLOUER(P)
P^.Numero¬NumASaisir
P^.Nom ¬NomASaisir
P^.Genre ¬GenrASaisir
P^.Age ¬AgeASaisir
P^.Suivant¬Tete
Tete¬ P
ECRIRE ("SAISIR LE NUMERO DE LA PERSONNE (0 POUR FINIR) :")
LIRE(NumASaisir)
FINTANTQUE
FIN
p. 2
EXERCICE N°2 (3 points)
On veut connaitre le nombre de personnespar genre.Ecrire une FONCTIONnommée
cpterPersonneGenrequi renvoie le nombre de personnesdu genre passé en paramètre.Par
exemple à l’appel de la fonction, legenre‘M’ (Masculin) sera transmis au paramètre
val.Compléter l’algorithme suivant :
p. 3
EXERCICE N°3 (6 points)
Ecrire une procédure nommée SupprimerMoins18Ans qui supprime toutes les personnes dont
l’âge est moins de 18 ans, passé en paramètre val.
p. 4
EXERCICE N°4 (3 points)
Écrire une fonction PlusAge qui permet de déterminer l’âge le plus élevé des personnes de la
liste chaînée.
FONCTION PlusAge(tête: liste): Entier
VARIABLES
max: Entier
p: liste
DEBUT
p ← tête
max← P^.age
TANTQUE p<> NILFAIRE
p ← p^.suivant
SI p^.age > max ALORS
max← p^.age
FINSI
FINTANQUE
RETOURNER (max)
FIN
p. 5