Programmation en langage C d'un clavier t9

Signaler
-
Messages postés
29982
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 juillet 2021
-
Bonjour,

Je débute en codage informatique, j'aimerais faire un programme qui commande un clavier de type T9, j'ai représenté mon interface grâce a un glade.

je ne sais pas trop par ou commencer puis-je avoir quelque conseil?

Configuration: Windows / Chrome 91.0.4472.106

1 réponse

Messages postés
29982
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
22 juillet 2021
7 139
Bonjour,

Tu peux t'inspirer de ce lien, qui propose d'utiliser une structure de trie pour associer à une séquence de touches tapées une branche du Trie. À chaque nœud du trie est associé un ensemble de mots, éventuellement vide. Par exemple : si on regarde le nœud correspondant à la branche 666, on trouvera les mots "nom" et "mon".

Dans les grandes lignes, voici à quoi pourrait ressembler ton algorithme

Initialisation

Si ta liste de mots est notée W :
  • Créer un trie T vide
  • Pour chaque mot w dans W
    • Calculer r = t9(w) la séquence de touche qui correspond au mot w.
    • Chercher le noeud u associé à r dans T (au besoin, créer les nœud nécessaires)
    • Ajouter w à l'ensemble des mots associés à u



Exploitation

Une fois le trie T créé, on peut l'exploiter quand l'utilisateur appuie sur la touche k sur le clavier :
  • Soit s (initialisé à "") la saisie actuelle de l'utilisateur.
  • Si la touche saisie conduit à créer un nouveau mot (e.g. espace, ponctuation...)
    • Réinitialiser s à "".
  • Sinon:
    • Ajouter k à la fin de s
    • Chercher le nœud u associé à s dans T
    • Suggérer à l'utilisateur les mots associés à u.


Bonne chance