{ Calcul et retour du nombre de booleens vrai } { presents dans un tableau de booleens } { t : Le tableau de booleens } entier fonction nombreDeVrais(-> booleen [] t) entier i entier nb <- 0 pour i de 0 à longueur(t)-1 faire si t[i] alors nb <- nb+1 fsi fait retourner nb fin fonction { Calcul et retour du nombre de series } { de booleens identiques consecutifs } { presentes dans un tableau de booleens } { t : Le tableau de booleens } entier fonction nombreSeries(-> booleen [] t) entier i entier nb <- 1 booleen enCours <- t[0] si longueur(t) > 1 alors pour i de 1 à longueur(t)-1 faire si t[i] <> enCours alors nb <- nb+1 enCours <- t[i] fsi fait fsi retourner nb fin fonction { Calcul et retour de la longueur maximale } { de toutes les series de vrais consecutifs } { presentes dans un tableau de booleens } { t : Le tableau de booleens } entier fonction longueurMaxSeriesVrais(-> booleen [] t) entier i entier lMax <- 0 entier cpt <- 0 booleen enCours <- faux pour i de 0 à longueur(t)-1 faire si t[i] alors si non(enCours) alors cpt <- 0 enCours <- vrai fsi cpt <- cpt+1 sinon si enCours alors si cpt > lMax alors lMax <- cpt fsi enCours <- faux fsi fsi fait si enCours alors si cpt > lMax alors lMax <- cpt fsi fsi retourner lMax fin fonction { Test si un motif de booleens coincide } { avec les booleens presents dans un tableau } { de booleens a partir d'un indice (position) } { motif : Le tableau de booleens motif } { t : Le tableau de booleens où est effectué } { le test } { p : L'indice de recherche } booleen fonction concordance(-> booleen [] motif, -> booleen [] t, -> entier p) entier i <- 0 booleen res <- vrai entier pos <- p tantque res et ( i < longueur(motif) ) faire si motif[i] <> t[pos] alors res <- faux sinon i <- i+1 pos <- pos+1 fsi fait retourner res fin fonction { Determination et retour de l'indice } { de la 1ère occurrence d'un motif de booleens } { recherché dans un tableau de booleens } { Retourne -1 si motif non present } { motif : Le tableau de booleens motif } { t : Le tableau de booleens où est effectuée } { la recherche } entier fonction premiereOccurrence(-> booleen [] motif, -> booleen [] t) entier pos <- -1 entier i <- 0 entier nt <- longueur(t)-longueur(motif)+1 tantque ( pos == -1 ) et ( i < nt ) faire si concordance(motif,t,i) alors pos <- i sinon i <- i+1 fsi fait retourner pos fin fonction