retourner distance(point, listeTete(l)) + longueurAvecPoint(listeTete(l), listeQueue(l))
fin si
fin
Algorithme distance(point1, point2 : couple de reels) : r´eel
d´ebut
retourner p(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
retourner ajoutTerm(fileVide(), c,f)
fin
Algorithme ajoutTerm(fterm : file de couples, c: couple, f: file de couples) : file de couples
d´ebut
si fileEstVide?(f)alors
retourner enfiler(c,fterm)
sinon
si second(c)≤second(fileTete(f)) alors
retourner ajoutTerm(enfiler(fileTete(f), f term), c, defiler(f))
sinon
retourner ajoutTerm(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
si listeEstVide?(P1)alors
retourner P2
sinon
si listeEstVide?(P2)alors
retourner P1
sinon
m1 ←listeTete(P1)
m2 ←listeTete(P2)
si second(m1) ¡ second(m2)alors
retourner listeCons(m2, somme(P1, listeQueue(P2)))
sinon
si second(m1) = second(m2)alors
retourner listeCons(coupleCons(premier(m1) + premier(m2), second(m1)), somme(listeQueue(P1),
listeQueue(P2)))
3