Une liste de taille 1 est croissante.
Si la taille est de la liste l est s il faut faire attention que
les indices de l vont de 0 à s-1. On compare donc
l[0] et l[1], puis l[j-1] et l[j] donc
on initialise j à 1 et tantque j<s on compare
l[j-1] et l[j] si ils ne sont pas dans le bon ordre on s’arrête
sinon on augmente j de 1.
On écrit :
est_crois(l):={ local j,s; s:=size(l); j:=1; tantque j<s faire si l[j-1]>l[j] alors return false fsi; j:=j+1; ftantque; return true; }:;
On tape :
est_crois([1,2,0,4])
On obtient :
faux
On tape :
est_crois([1,2,3,4])
On obtient :
vrai
Exercice
Écrire un programme qui renvoie :
0 si la liste n’est pas moontone
1 si la liste est croissante
2 si la liste est décroissante
3 si la liste est constante.