Université de Carthage Année universitaire : 2019/2020
Institut National des Sciences Appliquées et de Technologie
Module : Structures de données et algorithmique
Section : MPI
SÉRIE 3
Exercice 1 :
On se donne trois piles P1, P2 et P3, la pile P1 contient une suite de nombres
entiers positifs.
1. Écrire un algorithme pour déplacer les entiers de P1 dans P2 de façon à avoir
dans P2 tous les nombres pairs au dessous des nombres impairs.
2. Écrire un algorithme pour copier dans P2 les nombres pairs contenus dans P1.
Le contenu de P1 après exécution de l’algorithme doit être identique à celui
avant exécution. Les nombres pairs dans P2 doivent être dans l’ordre où ils
apparaissent dans P1.
Exercice 2 :
Un problème fréquent d’un compilateur et des traitements de textes est de
déterminer si les parenthèses d’une chaîne de caractères sont balancées et
proprement incluses l’une dans l’autre. Par exemple, la chaîne ((( ) ) ( ) ) ( ) est
bien balancée et proprement écrite. Mais les chaînes )( )( ou ( ) ) ne le sont pas.
Écrire une fonction :
1. Qui retourne vrai si une chaîne de caractères est proprement écrite et bien
balancée, et faux sinon.
2. Qui retourne la position de la première parenthèse qui déroge à cette règle si
la chaîne n’est pas bien écrite et bien balancée.
Exercice 3 :
On se donne trois files F1, F2 et F3, la file F1 contient une suite de nombres
entiers positifs.
1. Écrire un algorithme pour déplacer les entiers de F1 dansF2 de façon à avoir
dans F2 tous les nombres pairs au dessous des nombres impairs.
2. Écrire un algorithme pour copier dans F2 les nombres pairs contenus dans
F1. Le contenu de F1 après exécution de l’algorithme doit être identique à celui
avant exécution. Les nombres pairs dans F2 doivent être dans l’ordre inverse où
ils apparaissent dans F1.
Université de Carthage Année universitaire : 2019/2020
Institut National des Sciences Appliquées et de Technologie
Module : Structures de données et algorithmique
Section : MPI
Exercice 4 :
On se donne deux piles P1 et P2, et une file F. La pile P1 contient une suite
d’entiers. Écrire une fonction qui met dans P2 les entiers pairs de P1 et laisse
dans P1 les entiers impairs. Attention, les entiers doivent être dans le même
ordre qu’au début. Par exemple, si l’affichage de P1 donnait la suite 1, 2, 3, 4, 5,
6, l’affichage de P1 doit donner 1,3,5 et celui de P2 doit donner 2, 4, 6.