Exercice
1
Faire un algorithme qui détermine la longueur d’une chaîne de
caractères.
Faire ensuite de deux manières différentes, une fonction qui permet
de copier la chaîne d’une source dans une chaîne destination.
Exercice 2
Faire une fonction de concaténation (ajoute à
la fin de la première chaîne de caractères le contenu de la deuxième
chaîne de caractères.)
Faire une fonction de Comparaison qui compare deux chaînes de caractères suivant l’ordre lexicographique.
Faire une fonction qui efface une partie de
la chaîne en spécifiant une longueur d’effacement et un indice à partir
duquel il faut effacer.
Correction
Exercice 1
Fonction
Longueur (chaine : Tchaine) : entier
Var
i : entier
Début
iç0
Tant que chaine[ i ] != END
faire iç i+1
Retourner (i)
Fin
Fonction
de copie : première méthode :
Fonction
Copier (E : src : Tchaine, S : dest : Tchaine)
Var i,
Lsrc : entier
Début
LsrcçLongueur(src)
Pour i de 0 à Lsrc faire dest[ i
]çsrc [ i ]
Fin
Fonction
de copie : deuxième méthode : plus optimisée :
Fonction
CopieOptimisée (E : src : Tchaine, S : dest : Tchaine)
Var
i : entier
Début
iç0
tant que src[ i ] != END
faire
dest [ i ] ç src [ i ]
i ç i+1
dest [ i ] ç src [ i] {pour copier en fin de fichier la
sentinelle}
Fin
Exercice
2
Action
Concaténation (ES : src1 : Tchaine, E : src2 : Tchaine)
Var
i, Lsrc1 : entiers
Début
iç0
LsrcçLongueur (src1)
Tant que src2 [ i ] != END
Src1[ Lsrc1+i]ç src2[ i ]
içi+1
src1[Lsrc1+i]çsrc2[ i ]
Fin
Pour
faire la fonction comparer, il faut d’abord créer une fonction qui compare les
caractères :
Fonction
ComparerChar (char a, char b)
Début
Si a<b retourner (-1)
Si a=b retourner (0)
Si a>b retourner (1)
Fin
On peut maintenant faire la fonction de comparaison de
chaînes de caractères qui utilisera la fonction ComparerChar :
Fonction
Comparer (E : src1 : Tchaine, E : src2 : Tchaine)
Var
i, L1, L2, cmp : entiers
Début
L1çLongueur (src1)
L2çLongueur (src2)
Iç0
Tant que (i<L1 ET i<L2 ET
ComparerChar (src1[ i ], src2[ i ])=0) faire içi+1
Si i=L1 ou i=L2 alors
Si i<L1 alors
cmpç1
Sinon
Si
i<L2 alors cmpç -1
Sinon
cmpç0
Sinon cmpçComparerChar(src1[ i ], src2 [ i ])
Retourner (cmp)
Fin
Fonction
Effacer (ES : src : Tchaine, E : indice : entier, E :
lg : entier)
Var
i, Lsrc : entiers
Début
LsrcçLongueur (src)
Pour i de indice+lg à Lsrc faire
Src[i-lg]çsrc[ i ]
Fin
ConversionConversion EmoticonEmoticon
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.