Exercice #45 : Algorithme – Forcer une saisie spécifique – Moyen

Dans cet exercice nous allons écrire un algorithme permettant de forcer une saisie spécifique d’un mot commençant par une lettre choisie aléatoirement par l’ordinateur. Je vous propose en fin d’article le programmes correspondant en JavaScript, PHP et C#.

Tentez de résoudre cet exercice par vous même. Vous trouverez la correction sous la présentation du sujet.

Le sujet

  • Ecrire un algorithme permettant de forcer un utilisateur à saisir un mot commençant par une lettre choisie aléatoirement par l’ordinateur.
  • Conseils :
    • Créer une fonction permettant de retourner une lettre à partir d’un nombre généré aléatoirement.
    • Utiliser la fonction « enMinuscules(x) » permettant de transformer la chaîne de caractères « x » en lettres minuscules.
    • Une chaîne de caractères s’utilise comme un tableau. Exemples avec une variable nommée « mot » :
      • mot[0] donne la première lettre de la variable « mot ».
      • mot[1] donne la deuxième lettre…

Ci-dessous, deux exemples d’affichage produits par l’algorithme programmé et exécuté :

Exemples d'affichage
Exemples d’affichage

Revoir les tests “SELON”Revoir les boucles

L’algorithme écrit en pseudo-code :

Fonction “recupererLettre”

Je commence cet exercice en écrivant la fonction « recupererLettre(numero) », qui va permettre, à partir d’un nombre, de retourner la lettre correspondant à cette position dans l’alphabet.

Un test « SELON » permet de mettre en œuvre cette logique de manière simple et efficace.

recupererLettre
fonction recupererLettre

Notez que la partie « AUTREMENT » affiche un message à l’écran de l’utilisateur et retourne une chaîne de caractères vide.

L’algorithme principal

Je commence ensuite à écrire l’algorithme principal. Je déclare et initialise les variables qui vont être utiles, à savoir :

  • « alea » : Le nombre aléatoire à générer, compris entre 1 et 26.
  • « lettre » : la lettre correspondant au nombre aléatoire. La fonction « recupererLettre » permet de récupérer cette valeur et d’initialiser la variable.
  • « mot » : le mot que doit saisir l’utilisateur, initialisé avec une valeur arbitraire.
Déclaration et initialisation des variables
Déclaration et initialisation des variables

J’ajoute ensuite les lignes permettant à l’utilisateur de saisir le mot qu’il désire et la vérification de celui-ci.

Un test « SI » va permettre de vérifier si le mot saisi commence par la lettre choisie aléatoirement par l’ordinateur. Si ce n’est pas le cas, un message s’affiche.

Saisie du mot

Notez que :

  • La variable mot est utilisée comme un tableau de caractères, alors qu’elle est déclarée en tant que chaîne de caractères. En effet, dans la plupart des langages de programmation (à ma connaissance), et en particulier dans les 3 que je montre dans ce livre, une chaîne de caractères peut s’utiliser comme un tableau.
  • La fonction « enMinuscule » permet de mettre toutes les lettres en minuscules.

Il reste à ajouter la boucle « TANT QUE » qui va permettre de recommencer la saisie jusqu’à ce que l’utilisateur écrive un mot commençant par la lettre aléatoire.

Version finale de l'algorithme (boucle « TANT QUE »)
Version finale de l’algorithme (boucle « TANT QUE »)

Cet algorithme aurait également pu s’écrire avec une boucle « FAIRE TANT QUE », car l’utilisateur doit obligatoirement saisir au moins un mot :

version finale de l'algorithme (boucle « FAIRE TANT QUE »)
Version finale de l’algorithme (boucle « FAIRE TANT QUE »)

Aller à la liste de tous les exercices

Les versions programmées (Exercice #45 : Algorithme – Forcer une saisie spécifique)

Pour programmer ces versions, n’hésitez pas à suivre l’article vous expliquant comment écrire vos programmes.

En JavaScript :

Version JavaScript
Version JavaScript – Algorithme Forcer une saisie

En C# :

Version C#

En développement web PHP :

version dev web
Version Dev Web – Algorithme Forcer une saisie

Pour continuer votre apprentissage de l’algorithmique :

Pour apprendre le développement web :

Laisser un commentaire

RSS
Suivre les articles par mails
YouTube
YouTube
LinkedIn
LinkedIn
Share
Instagram