0% ont trouvé ce document utile (0 vote)
81 vues2 pages

Exam ASD1 Janv23V2

Le document présente un examen d'algorithmique et de structures de données pour une classe de première LISI, comprenant plusieurs exercices. Les exercices portent sur la gestion des candidats d'un club de football, la manipulation de tableaux d'entiers avec des pointeurs, la recherche récursive d'entiers dans un tableau, et la gestion de chaînes de caractères. Chaque exercice demande la rédaction d'algorithmes spécifiques pour résoudre des problèmes donnés.

Transféré par

emna.rebai12
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
81 vues2 pages

Exam ASD1 Janv23V2

Le document présente un examen d'algorithmique et de structures de données pour une classe de première LISI, comprenant plusieurs exercices. Les exercices portent sur la gestion des candidats d'un club de football, la manipulation de tableaux d'entiers avec des pointeurs, la recherche récursive d'entiers dans un tableau, et la gestion de chaînes de caractères. Chaque exercice demande la rédaction d'algorithmes spécifiques pour résoudre des problèmes donnés.

Transféré par

emna.rebai12
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

Examen Session Principale


Algorithmique et Structures de Données 1
Classe : 1ère LISI Nombre de pages : 2
Enseignants : [Link], R. Guedria Date : 10-01-2023 Durée :1h30
Barème : 5 , 5, 5, 5 Documents NON autorisé Calculatrice : autorisée

Exercice 1 (Type enregistrement)


Pour nommer les dirigeants d’un club de football, le comité procède à des élections basées sur les votes
de tous les membres de l’organisme. Les candidats qui se présentent aux élections sont caractérisés par
les informations suivantes : un numéro, nom, prénom, âge, sexe, ancienneté (nombre d’années dans
l’organisme) et Score.
On suppose qu’on dispose du tableau TV de taille m qui contient les numéros des candidats pour qui les
adhérents ont voté. Voici un exemple de contenu du tableau TV :
12 6 8 6 7 1 12 6 8 1 4 5 6 8 5 5 3 1 2 10 12 8 6 3
Remarque : Certains candidats peuvent n’avoir aucun vote.
Travail à faire :
1. Ecrire la déclaration du type Candidat qui permet de stocker les informations relatives à un candidat
2. Donnez la déclaration du type TabCandidats qui permet de stocker les informations de 20 candidats
3. Ecrire l’algorithme de la procédure SaisirUnCandidat qui permet de saisir les informations relatives
à un candidat avec les contrôles de saisis adéquats. Initialement le champ score est égal à zéro.
4. Ecrire l’algorithme de la procédure RemplirTous qui permet de remplir le tableau TC de taille n
contenant les informations de n candidats.
5. Ecrire l’algorithme de la procédure Election qui permet de remplir le champ Score de tous les
candidats à partir du contenu du tableau TV puis d’afficher le nom et le prénom du candidat qui a
obtenu le plus grand score.
Exemple : TC contient
numéro 8 10 2 1 6 9 12
aymen ali farah bedr ilef zied nour
… … … … … … … …
score 0 0 0 0 0 0 0
Et TV contient :
12 6 8 6 7 1 12 6 8 1 4 5 6 8 5 5 3 1 2 10 12 8 6 3

4
Après appel à la procédure Election TC contient :
8 10 2 1 6 9 12
aymen ali farah bedr ilef zied nour
… … … … … … … …
score
4 1 1 3 5 0 3

(Avec l’affichage du nom et prénom de la personne qui a le score le plus grand)

1|2
Exercice 2 (Pointeur)
Soit T1 un tableau d’entiers quelconque déclaré pointeur sur entier. On désire créer et remplir un
tableau T2 déclaré pointeur sur entier et contenant les éléments de T1 tel que :
- Remplir T2 par les éléments non nuls de T1 par alternance, c’est-à-dire ajouter les éléments une fois
à gauche, un fois à droite. On commence par ajouter à gauche
- Les éléments nuls de T1 seront insérés dans T2 après la fin de la première étape, dans les
emplacements qui restent au milieu.
Exemple T1 :
2 7 0 5 6 0 -3 -8 0 11 -4 0 1 0 4 9

T2

2 5 -3 11 1 9 0 0 0 0 0 4 -4 -8 6 7
Travail à faire
Ecrire l’algorithme de la procédure CopAlterner (T1, var T2 : PE ; n : entier ) qui permet de remplir T2
par les éléments de T1 comme expliqué ci-dessus, en utilisant la notation pointeur.

Exercice 3 (Récursivité)
Pour réduire le temps d’exécution du traitement qui permet de déterminer si un entier X appartient ou
non à un tableau T non trié d’entiers quelconques, nous allons parcourir le tableau dans les deux sens
(du début vers la fin et de la fin vers le début) et en même temps. Ecrire l’algorithme récursif de la
fonction RechBiDirect qui permet de retourner VRAI si un entier X est trouvé dans le tableau T de taille
n, FAUX sinon, en parcourant le tableau dans les 2 sens en même temps.
Exercice 4 (Tableau de caractères)
Soit la déclaration de type suivante :
Type
chaine = Tableau de 255 caractères
1- Ecrire l’algorithme de la fonction Pos( ch1, ch2 : chaine) qui retourne la position de la 1ère apparition
de la chaine ch1 dans la chaine ch2
2- Ecrire l’algorithme du module Del (ch1, var ch2 : chaine, p : entier ) qui permet d’effacer ch1 de ch2
à la position p
3- Ecrire l’algorithme de la procédure SupprimAllWords (Texte, var Mot : chaine) qui permet de
supprimer toutes les occurrences de la chaine Mot qui se trouvent dans la chaine Texte même lorsque
Mot est en majuscule, sans utiliser un autre tableau.
On suppose qu’on dispose de la fonction Long(ch : chaine) qui retourne la longueur de la chaine ch et
de la fonction MAJ (c : caractère) qui retourne le caractère alphabétique c en majuscule.
Exemple
Texte contient :
Le plus long jour de l’année est le 21 juin, Le plus court jour de l’année est le 12 décembre. Le nombre
de semaines de l’année est 52 et le nombre de jour est 365.
Mot contient : "Le"
Après appel à la procédure SupprimAllWords la chaine Texte contient :
plus long jour de l’année est 21 juin, plus court jour de l’année est 12 décembre. nombre de semaines
de l’année est 52 et nombre de jour est 365.

Bon travail ☺
2|2

Vous aimerez peut-être aussi