Question 5
La première série de tests demande de vérifier l'égalité de deux
fichiers (le fichier original et le fichier produit par
ecrivain). Cette égalité s'entend au espaces et retour
à la ligne près. Pour ce faire, nous développons une fonction
Bourne-shell normalize qui produit sur la sortie standard
le texte lu sur l'entrée standard à raison d'un mot par ligne,
sans espace ni tabulation.
Question 1
Développez la fonction Bourne-shell normalize.
Question 2
Développez la fonction Bourne-shell test1 qui
travaille sur les cinq textes donnés en exemple.
Question 6
La mise en oeuvre du second test nécessite d'identifier
l'ensemble des triplets de mots d'un texte donné. Ce sera le rôle
de la fonction Bourne-shell triple. Elle produit sur la
sortie standard l'ensemble des triplets de mots du texte lu sur
l'entrée standard. Ces triplets sont produits à raison d'un par
ligne. Sur une ligne, les mots sont séparés par un espace
unique.
Question 1
Développez la fonction Bourne-shell triple.
Question 2
Développez la fonction Bourne-shell test2.
Question 7
Pour les besoins du troisième test, nous utilisons une fonction
Bourne-shell generate qui génère aléatoirement
un texte composé de a b c et de a b d tel que le
nombre de a b c est dix fois supérieur au nombre de
a b d.
Question 1
Développez la fonction generate. On fixe
arbitrairement la longueur du texte à 3000 mots (c'est-à-dire
1000 triplets a b c ou a b d).
Question 2
Développez la fonction Bourne-shell test3 qui vérifie
que le résultat produit par ecrivain sur le texte de
generate [Remarquez que ce texte ne
comporte que des a b c et des a b d.
Compter les a b c revient donc à compter le
c ; de même pour les a b d et d.]
comporte entre 88% et 92% de a b c pour 8% à 12%
de a b d.