L'outil de référence pour atteindre l'excellence en sciences

Source : https://www.dailymail.co.uk/sciencetech/article-7525627/The-fastest-phone-typers-tap-85-words-minute-touchscreens-match-keyboard-users.html

Typing test : http://typingtest.aalto.fi/

>> Sujet distribué

Travail à réaliser :

Distance entre deux mots

1. Créer un algorithme permettant de trouver la distance entre deux mots de même longueur.

Documentez et expliquez votre algorithme avec un diaporama

Distance enre un mot et les mots d’un dictionnaire

2. Créer un algorithme permettant de trouver la distance entre un mot (ou un début de mot) et les mots d’un dictionnaire. Tous les mots ont la même longueur de 4 lettres. L’utilisateur saisit 1, 2, 3 ou 4 lettre(s).

Utilisez le script de démarrage : 00-start.py

Etape 1 : Tout d’abord, vous pouvez afficher la suite des distances entre le mot rentré par l’utilisateur et chaque mot du dictionnaire. Le programme affichera une suite de chiffres comme suit (stockés dans une liste) :

Cas 1 : [0, 2, 2, 2, 2, 2, 1, 2, 2, 2, 3, 3, 3, … pour EntreUtilisateur = « ABAT » si l’utilisateur écrit correctement un mot.

Cas 2 : [1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 2, 3, … pour EntreUtilisateur = « ABAS » si l’utilisateur fait une faute de frappe et que le mot n’est pas dans le dictionnaire.

Etape 2 : Dans le cas 1, aucune intervention n’est nécessaire, l’algorithme affiche « mot correctement orthographié »

Dans le cas 2, l’algorithme propose la liste de mot les plus proches, de distance 1, sinon 2 etc…

Voici le résultat obtenu avec l’entrée utilisateur « ABAS » avec les rangs des mots dans le dictionnaire

ABUS – 8

ADAS – 23

AGAS – 35 etc…

Documentez et expliquez votre algorithme avec un diaporama

Performance de l’algorithme :

Une des principales caractéristiques d’un algorithme de correction orthographique est sa rapidité. Un algorithme trop lent pourrait perturber l’expérience utilisateur. Etudions comment le temps d’exécution de votre algorithme évolue en fonction de la taille de votre dictionnaire et de la taille des mots.

Etape 1 : Créer un algorithme pour gérer une liste, de taille n, de mots de 4 mots,

Pour générer des séquences de 4 lettres, vous pouvez utiliser ce que nous avons vu sur la table ASCII (chr…) et la fonction suivante permettant de générer des nombres aléatoires.

from random import randrange
a = randrange(26)
print(a)

Etape 2 : Appliquer votre algorithme de la question 2 en mesurant le temps d’exécution. La mesure du temps d’exécution s’effectue comme suit :

import time
start = time.time()
VOTRE CODE A MESURER ICI
end = time.time()
print(end - start)

Etape 3 : Modifiez l’algorithme pour que l’algorithme réalisé précédemment s’éxécute dix fois avec le même mot, mais avec une taille de dictionnaire qui augmente de 5000 mots à chaque fois. Réalisez un graphique sur un tableur. Commentez

Vous avez une question ?

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s