Table du mauvais caractère à la main
Application directe du cours · niveau 2 · NSI (terminale), chapitre 16 — Calculabilité, décidabilité et paradigmes de programmation
Énoncé
Table du mauvais caractère à la main.
- Donner la table du mauvais caractère du motif
BANANE, puis celle du motifANANAS. - Le motif
BANANEest aligné sur un texte et la comparaison échoue à l'indice face au caractèreBdu texte. De combien décale-t-on ? - Même question avec le caractère
S, puis avec le caractèreAet un échec à l'indice .
Corrigé
- On garde la dernière occurrence de chaque lettre :
print(table_mauvais_caractere("BANANE"))
# {'B': 0, 'A': 3, 'N': 4, 'E': 5}
print(table_mauvais_caractere("ANANAS"))
# {'A': 4, 'N': 3, 'S': 5}
Dans BANANE, le A apparaît en et en : on retient . Le N apparaît en et en : on retient .
Best en position , d'où un décalage : on aligne leBdu motif sur celui du texte.Sest absent : et le décalage vaut , la longueur entière du motif — le saut maximal. PourAavec : , l'aligner ferait reculer le motif, donc le décalage vaut .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.