constante entier N <- ... constante entier M <- ... { Calcul du nombre de booleens vrai } { presents dans un tableau de booleens } entier fonction nombreDeVrais(t) Donnees t : Tableau [N] de booleen Locales i : entier nb : entier nb <- 0 pour i de 0 à N-1 faire si t[i] alors nb <- nb+1 fsi fait retourner nb fin fonction { Calcul du nombre de series de booleens } { identiques consecutifs presentes } { dans un tableau de booleens } entier fonction nombreSeries(t) Donnees t : Tableau [N] de booleen Locales i : entier nb : entier enCours : booleen nb <- 1 enCours <- t[0] pour i de 1 à N-1 faire si t[i] <> enCours alors nb <- nb+1 enCours <- t[i] fsi fait retourner nb fin fonction { Calcul de la longueur maximale de toutes } { les series de vrais consecutifs presentes } { dans un tableau de booleens } entier fonction longueurMaxSeriesVrais(t) Donnees t : Tableau [N] de booleen Locales i : entier lMax : entier cpt : entier enCours : booleen lMax <- 0 cpt <- 0 enCours <- false pour i de 0 à N-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 } booleen fonction concordance(motif,t,p) Donnees t : Tableau [N] de booleen motif : Tableau [M] de booleen p : entier Locales i : entier res : booleen i <- 0 res <- vrai tantque res et ( i < M ) faire res <- ( motif[i] = t[p] ) i <- i+1 p <- p+1 fait retourner res fin fonction { Determination de l'indice de la premiere } { occurrence d'un motif de booleens } { recherche dans un tableau de booleens } { Retourne -1 si motif non present } entier fonction premiereOccurrence(motif,t) Donnees t : Tableau [N] de booleen motif : Tableau [M] de booleen Locales pos : entier i : entier nt : entier pos <- -1 i <- 0 nt <- N-M+1 tantque ( pos = -1 ) et ( i < nt ) faire si concordance(motif,t,i) alors pos <- i fsi i <- i+1 fait retourner pos fin fonction