Programmation en langage C d'un clavier t9

Parrot -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
    0