Vous êtes sur la page 1sur 2

Universite de Bordeaux - Coll`ege S&T

LST Mention MI Semestre 2

2013-2014

J1MI2013: Algorithmes et Programmes: feuille 04


Tableaux (suite)

Travaux dirig
es
Pour chacun des exercices, indiquer, en fonction de la taille du tableau, le nombre de decalages
necessaires.

Exercice 1.
Ecrire
une fonction inserer(t,e,k) qui, donne un tableau t, ins`ere un element
donne e `a la position k (0 k ). Si k len(t), lelement sera ajoute `a la position len(t). Lordre
initial du tableau sera conserve.

Exercice 2.
Ecrire
une fonction supprimer qui supprime lelement situe `a la position k dun
tableau contenant n nombres ( 0 k n 1 ). Lordre initial du tableau sera conserve.

Exercice 3.
On consid`ere une suite de nombres entiers ranges dans un tableau. Ecrire
une
fonction supprimerPremiereOccurrence permettant denlever de la suite la premi`ere occurrence
dun element x passe en param`etre.
Exercice 4. On consid`ere une suite de nombres entiers ranges dans un tableau et on souhaite
ecrire une fonction supprimerOccurrences permettant denlever de la suite toute occurrence
dun element x passe en param`etre.
Exemple : si le tableau contient la suite :
2, 7, 4, 5, 12, 10, 4, 2, 4, 132, 18, 19
et si x vaut 4, apr`es lexecution de la fonction le tableau contiendra la suite :
2, 7, 5, 12, 10, 2, 132, 18, 19
On envisagera deux versions de la fonction, une qui reutilise la fonction ecrite `a lexercice 3 et
une qui neffectue quun seul parcours du tableau. Comparer le nombre de decalages necessaires
dans les deux versions.
Exercice 5.
Soit t un tableau contenant des entiers ranges dans lordre croissant.

Ecrire
une fonction insererOrdonne qui ins`ere un nouvel element e dans le tableau t en respectant lordre croissant.

Travaux pratiques
Exercice 1.

Implementer les fonctions etudiees dans la partie td.

Exercice 2.
Ecrire
une fonction rotationAdroite(t,n) qui applique au tableau t une
rotation `a droite de n cases. Par exemple, si le tableau t est t = [0, 1 , 2, 3, 4, 5, 6], apr`es lappel
rotationAdroite(t,3) le tableau t devient [4, 5, 6, 0, 1, 2, 3]

Exercice 3.
Ecrire
une fonction estSection(t, s) qui prend en param`etre deux tableaux
dentiers t et s et qui renvoie True si s correspond `a une section du tableau t, False sinon.
Une section est une suite eventuellement vide delements contigus dans un tableau. Par exemple,
cette fonction renvoie True pour t = [5, 1, 2, 3, 1, 2, 1] et s = [1, 2]. Elle renvoie
False pour t = [1, 2, 3, 4, 1] et s = [1, 3].
Exercice compl
ementaire 1. En modifiant la fonction precedente, ecrire une nouvelle fonction nombreSections(t, s) qui calcule et retourne le nombre de fois o`
u le tableau non vide s
apparat comme section du tableau t.
Par exemple, le tableau [1, 2] correspond `a deux sections du tableau [5, 1, 2, 3, 1, 2, 1].
Autre exemple, le tableau [1, 2, 1] correspond `a deux sections du tableau [5, 1, 2, 1, 2, 1].
Dans ce dernier cas, les deux sections se chevauchent :
[5, 1, 2, 1, 2, 1] et [5, 1, 2, 1, 2, 1].

Vous aimerez peut-être aussi