///* l’algorithme qui donne la longueur d'une chaîne de caractère*///
Algorithme strlen
Entrée : ch : chaîne de caractères
Sortie : i :entier /*positif*/
Var locales : i : entier
Début
Effacer l’écran
i = 0
tant que la fin de ch non atteinte faire
i := i+1
/*a la sortie de la bcl*/
Retour(i)
Fin
//////////*l’algorithme qui cherche un mot donné ds un txt*////////
///////////////////*avec la position du début*/////////////////////
Algorithme cherch
Entrées : ch,mot : chaînes de caractères
Sorties : l : entier /*retour par adresse*/
1 : si mot existe
0 :si mot n’existe pas
Var locales : i,j : entier
Début
Effacer l’écran
i := 0
tant que la fin de ch non atteinte
début tant que
tant que (ch[i]<>’ ‘) faire i := i+1 /*sauter les blancs*/
l := i /*position du début du mot*/
/*début du mot*/
j := 0
tant que (ch[i] = mot[j]) et (la fin de ch non atteinte) faire
début tant que /*comparer les deux mots*/
i := i+1
j := j+1
fin tant que
/*a la sortie de la bcl*/
Si (((ch[i] = ‘ ‘)ou(fin ch atteinte))et(fin mot atteinte) faire
retour(1)
Sinon
Tant que ((ch[i] <> ‘ ‘) et (fin ch non atteinte) faire
i := i+1
fin tant que
retour(0)
Fin
////////////////*avec la position du début et de fin*////////////////
Algorithme cherch_df
Entrées : ch,mot : chaînes de caractères
Sorties : m,l : entier /*retour par adresse*/
1 : si le mot existe
0 : si le mot n’existe pas
Var locales : i,j : entier
Début
i := 0
tant que fin ch non atteinte faire
début tant que
tant que (ch[i] = ‘ ‘) faire i := i+1 /*sauter les blancs*/
m := i /*position du début du mot*/
/*début du mot*/
j := 0
tant que (ch[i] = mot[j])et(fin ch non atteinte) faire
début tant que /*comparer les deux mots*/
i := i+1
j := j+1
fin tant que
/*a la sortie de la bcl*/
si (((ch[i] = ‘ ‘)ou(fin ch atteinte))et(fin mot atteinte)) faire
début du si
l = i
retour(1)
fin si
sinon tant que (ch[i] <> ‘ ‘) et (fin ch non atteinte) faire
i := i+1
fin tant que
retour(0)
Fin
////*l’algorithme qui insert un caractère a une position donnée*////
Algorithme insert_car
Entrées : ch : chaîne de caractères
mot : caractère
pos : entier
Sortie : vide
Var locales : i,l : entier
Début
l = strlen(ch) /*longueur du mot*/
effacer l’écran
pour i := l à pos-1 faire ch[i+1] : = ch[i] /*décalage a droite*/
/*a la sortie de la bcl*/
ch[pos] : = mot ;
Fin
////////* 1.l’algorithme qui compte le nbr de mots du texte*/////////
Algorithme nbr_de_mot
entée : ch :chaîne de caractères
sortie : nb : entier
var locales : i,nb : entier
Début
i := 0
nb := 0
tant que (fin de ch non atteinte) faire
début tant que
tant que (ch[i] = ‘ ‘) faire
i := i+1 /*sauter les blancs*/
si la fin de ch non atteinte faire /*début du mot*/
début si
nb := nb+1
tant que (ch[i] <> ‘ ‘)et(la fin de ch non
atteinte faire
i : = i+1 /*sauter les caractères du mot*/
fin si
fin tant que
retour(nb)
Fin
/////* 2.l’algorithme qui affiche le mot le plus long du texte*//////
Algorithme mot_plus_long
Entrée : ch :chaîne de caractères
Sortie : vide
Var locales : i,pos,nb1,nb2 :entier
Debut
i := 0
nb1 := 0
nb2 := 0
effacer l’écran
tant que (fin de ch non atteinte) faire
début tant que
tant que ((ch[i]<> ‘ ‘) et (fin ch non atteinte)) faire
début tant que
nb1 := nb1 + 1 /*le nbr de caractères du mot*/
i := i + 1
fin tant que
si (nb1 > nb2)
début si
nb2 := nb1
pos := i
fin si
nb1 := 0
fin tant que
pour i := pos – nb2 à pos-1 faire
écrire (ch[i])
Fin
///* 3.l’algorithme qui insert un mot donné a une position donnée*///
Algorithme insert_mot
Entrées : ch,mot: chaînes de caractères
Pos : entier
Sortie : vide
Var locales : j,k : entier
Début
Effacer l’écran
j := pos
k := 0
tant que la fin de mot non atteinte faire
début tant que
insert_car(ch,mot[k],j)
j := j+1
k := k+1
fin tant que
Fin
///* 4.la fonction qui cherche un mot donné et le met en couleur*///
Algorithme colorer_mot
Entrées : ch,mot : chaînes de caractères
Sortie : vide
Var locales : i,j : entier
Début
Effacer l’écran
Si cherch (ch,mot,&j) = 1
Début si
Pour i := 0 à j-1 faire écrire(ch[i])
Tant que (ch[j] <> ‘ ‘) et (fin ch non atteinte) faire
Début tant que
colorer le caractère /*avec une fonction spécifique*/
j := j+1
fin tant que
/*a la sortie de la bcl*/
écrire(mot) /*avec une fonction d’écriture spécifique*/
j := j+1
tant que fin ch non atteinte faire écrire(ch[j])
fin si
sinon écrire (‘le mot n’existe pas !! ;-(‘)
Fin
/////*5.la fonction qui cherche toutes les occurrences d'un mot et
les mettre en couleur*/////
///////////* 6.l’algorithme qui supprime un mot du texte*///////////
Algorithme supp_occ1
Entrées : ch,mot : chaîne de caractères
Sortie : vide
Var locales : i,x,pos : entier
Début
Effacer l’ecran
x := cherch_df(ch,mot,&pos,&i)
si (x = 0) écrire(‘le mot n’existe pas’)
sinon
début sinon
tant que fin ch non atteinte faire
début tant que
ch[pos] := ch[i]
pos := pos+1
i := i+1
fin tant que
/*a la sortie de la bcl*/
Ch[pos] :=
Fin sinon
Fin
///* 7.l’algorithme qui supprime toutes les occurrences d'un mot*///
Algorithme supp_tt_occu
Entrées : ch,mot : chaînes de caractères
Sortie : vide
Var locales : i,pos : entier
Début
Effacer l’écran
Si (cherch_df(ch,mot,&pos,&i) = 0) écrire (‘le mot n’existe pas’)
Sinon
Début sinon
Tant que (cherch-df(ch,mot,&pos,&i) = 1) faire
Début tant que
Supp_occu1(ch,mot)
i := i+1
fin tant que
écrire(ch)
fin sinon
Fin
//* 8.l’algorithme qui remplace un mot par un autre dans le texte*//
Algorithme remplace
Entrées : ch,mot1,mot2 : chaînes de caractères
Sortie : vide
Var locales : i,d,f : entier
Début
Tant que (cherch_df(ch,mot1,&d,&f) = 1) faire
Début tant que
Supp_occ1(ch,mot1)
Insert_mot(ch,mot2,d)
Fin tant que
Ecrire(ch)
Fin