• Aucun résultat trouvé

Correction TP 4 : Types de donn´ees abstraits s´equenciels

N/A
N/A
Protected

Academic year: 2022

Partager "Correction TP 4 : Types de donn´ees abstraits s´equenciels"

Copied!
4
0
0

Texte intégral

(1)

Correction TP 4 : Types de donn´ees abstraits s´equenciels

Licence 2 MASS semestre 2, 2007/2008

Exercice 1 : Liste d’´ etudiants

lettre(m,i) : retourne la lettre num´eroidu motm Algorithme etudiant(l: liste de mot) : liste de mot d´ebut

silisteEstVide?(l)alors retournerlisteVide() sinon

silettre(listeTete(l), ’m’) alors

retournerlisteCons(listeTete(l), etudiant(listeQueue(l))) sinon

retourneretudiant(listeQueue(l)) fin si

fin si fin

Exercice 2 : Maximums

a- Algorithme maximum(l : liste de r´eel) : r´eel d´ebut

silisteEstVide?(l)alors retourner 0

sinon

silisteEstVide?(listeTete(l))alors retourner listeTete(l)

sinon

retourner max2(listeTete(l), maximum(listeQueue(l))) fin si

fin si fin

et il faut alors d´efinir aussi l’algorithmemax2 : Algorithme max2(a, b: r´eel) : r´eel

d´ebut

sia < balors retourner b sinon

retourner a fin si

fin

b- Algorithme maximumListes(l : liste de listes de r´eel) : liste de r´eel 1

(2)

d´ebut

silisteEstVide?(l)alors retourner listeVide() sinon

retourner listeCons(maximum(listeTete(l)), maximumListes(listeQueue(l))) fin si

fin

Exercice 3 : Distribution de feuilles

Algorithme distribution(p, p1,p2 : pile de feuilles) : (pile de feuilles, pile de feuilles) d´ebut

sipileEstVide?(p)alors retourner(p1, p2) sinon

retournerdistribution(depiler(p),p2, empiler(sommet(p),p1)) fin si

fin

Exercice 4 : Couples

• coupleCons : typeEl´ement1×typeEl´ement2→couple construit un couple d’´el´ements

• premier : couple→typeEl´ement1 donne le premier ´el´ement du couple

• second : couple→typeEl´ement2 donne le second ´el´ement du couple

Les couples peuvent ˆetre utiliser pour repr´esenter par exemple les coordonn´ees de points du plan, les noms et pr´enom de personnes, etc.

Exercice 5 : Longueur d’une ligne bris´ ee

On utilise le TDA couple d´efini dans l’exercice pr´ec´edent.

Algorithme longueur(l : liste de couples de deux r´eels) : r´eel d´ebut

silisteEstVide(L)alors retourner0

sinon

retournerlongueurAvecPoint(listeTete(l), listeQueue(l)) fin si

fin

Algorithme longueurAvecPoint(point: couple de reel,l : liste de couples de deux r´eels) : r´eel d´ebut

silisteEstVide?(L)alors retourner0

sinon

2

(3)

retournerdistance(point, listeTete(l)) + longueurAvecPoint(listeTete(l), listeQueue(l)) fin si

fin

Algorithme distance(point1,point2 : couple de reels) : r´eel d´ebut

retournerp

(premier(point1)−premier(point2))2+ (second(point1)−second(point2))2 fin

Exercice 6 : File avec priorit´ e

L’algorithme pourrait ressembler `a insertion mais en fait beaucoup plus technique car enfiler ajoute `a la fin.

Algorithme ajout(c: couple,f : file de couples) : file de couples d´ebut

retournerajoutTerm(fileVide(),c,f) fin

Algorithme ajoutTerm(f term: file de couples,c : couple,f : file de couples) : file de couples d´ebut

sifileEstVide?(f)alors retournerenfiler(c,f term) sinon

sisecond(c)≤second(fileTete(f))alors

retournerajoutTerm(enfiler(fileTete(f),f term),c, defiler(f)) sinon

retournerajoutTerm(enfiler(c,f term), fileTete(f), defiler(f)) fin si

fin si fin

Exercice 7 : Polynomes

Algorithme somme(P1,P2 : liste de couple) : liste de couple d´ebut

variable : m1,m2 : couple silisteEstVide?(P1)alors

retournerP2 sinon

silisteEstVide?(P2)alors retournerP1

sinon

m1←listeTete(P1) m2←listeTete(P2)

sisecond(m1) ¡ second(m2)alors

retournerlisteCons(m2, somme(P1, listeQueue(P2))) sinon

sisecond(m1) = second(m2)alors

retournerlisteCons(coupleCons(premier(m1) + premier(m2), second(m1)), somme(listeQueue(P1), listeQueue(P2)))

3

(4)

sinon

retournerlisteCons(m1, somme(listeQueue(P1),P2)) fin si

fin si fin si fin si fin

4

Références

Documents relatifs

b - Le fichier ruban-3 initial final.csv contient la longueur de la trajectoire suivie par la pro- cession au d´ ebut (lorsque la tˆ ete atteint le point d’arriv´ e) et ` a la fin de

b - Ecrire une fonction carres qui affiche une ligne de carr´ es dont les intensit´ es de couleurs rouges, bleues et vertes sont contenues dans trois tableaux d’entier de mˆ

Statistique descriptive mono-vari´ e Bases de R Donn´ ees bi-vari´ ees Tests statistiques.. Objectifs

b - Le fichier ruban-3 initial final.csv contient la longueur de la trajectoire suivie par la pro- cession au d´ ebut (lorsque la tˆ ete atteint le point d’arriv´ e) et ` a la fin de

[r]

[r]

[r]

[r]