Aller au contenu
M02 · A. Modéliser un problème

Analyser un problème avant d'écrire une ligne

Identifier les données d'entrée, les traitements et les résultats attendus d'un problème réel, pour savoir exactement ce que l'algorithme doit faire.

1Situer

Une librairie de Fès vous demande un petit programme pour sa caisse. Le vendeur saisit le prix hors taxe d'un livre et la quantité achetée ; le programme doit afficher le montant à payer TTC. Avant d'écrire quoi que ce soit, il faut répondre à trois questions : qu'est-ce que le programme reçoit, qu'est-ce qu'il calcule, et qu'est-ce qu'il affiche ?

2Comprendre

Entrées → Traitement → Sorties
ENTRÉES TRAITEMENT SORTIE 120 × 3 = 360 360 + 20 % = 432 calculs et décisions Prix HT : 120 DH Quantité : 3 TTC : 432 DH

Le vendeur saisit deux données : le prix hors taxe et la quantité. Ce sont les entrées.

1 / 5

Un problème se décrit toujours de la même façon : des données d’entrée sont transformées par des traitements pour produire des résultats (les sorties).

PartieQuestion à se poserExemple de la librairie
EntréesQu’est-ce que le programme reçoit ?prix HT, quantité
TraitementsQuels calculs ou décisions ?multiplier, ajouter la TVA
SortiesQu’est-ce qui est affiché ou produit ?montant TTC

Les types de données

Pour chaque donnée, on précise son type dès l’analyse :

  • entier : une quantité, un âge, un nombre d’étudiants ;
  • réel : un prix, une note, une moyenne ;
  • chaîne : un nom, un message ;
  • booléen : une réponse vrai ou faux (le stagiaire est-il admis ?).

Les types de traitement

On distingue trois formes de traitement, que vous retrouverez dans tous les algorithmes :

  1. séquentiel : les instructions s’enchaînent dans l’ordre ;
  2. alternatif : on choisit selon une condition (si la quantité dépasse 10, appliquer une remise) ;
  3. itératif : on répète (pour chaque livre du panier).

Une bonne analyse tient en quelques lignes. Si vous n’arrivez pas à l’écrire, le problème n’est pas encore compris : relisez l’énoncé ou posez la question au client.

Exemple simple

Le presse-agrumes

Entrée : des oranges. Traitement : presser. Sortie : un verre de jus. Un programme marche pareil : il reçoit quelque chose, il le transforme, il rend un résultat.

Exemple simple

Le compteur du taxi

Entrées : la distance parcourue et le prix au kilomètre. Traitement : distance × prix + prise en charge. Sortie : le prix affiché sur le compteur.

Entrées     : distance = 8 km, prix_km = 2 DH
Traitement  : 8 × 2 + 7 (prise en charge)
Sortie      : 23 DH

3Manipuler

Classez chaque élément du problème de la librairie dans la bonne catégorie, puis cliquez sur « Vérifier ».
Le prix hors taxe d'un livre, saisi par le vendeur
La quantité achetée
Multiplier le prix HT par la quantité
Ajouter la TVA de 20 % au montant HT
Le montant TTC affiché à l'écran
Le message « Merci pour votre achat »
Vérifier que la quantité est positive

4Pratiquer

Exercice 1 · Le relevé de notes

Un formateur veut calculer la moyenne d'un stagiaire à partir de trois notes, puis afficher « Admis » si la moyenne est au moins 10, sinon « Non admis ». Listez les entrées, les traitements et les sorties.

Voir un indice

Une sortie est ce que l'utilisateur voit à la fin. Combien de messages différents peut-il voir ?

Voir le corrigé
Entrées     : note1, note2, note3 (réels saisis par le formateur)
Traitements : moyenne ← (note1 + note2 + note3) / 3
              comparer la moyenne à 10
Sorties     : la moyenne
              le message « Admis » ou « Non admis »

Exercice 2 · La conversion de devises

Un bureau de change convertit des euros en dirhams avec un taux du jour saisi le matin. Le client donne une somme en euros. Écrivez l'analyse du problème en précisant le type de chaque donnée.

Voir le corrigé
Entrées     : taux (réel), montantEuros (réel)
Traitement  : montantDirhams ← montantEuros * taux
Sortie      : montantDirhams (réel), affiché avec l'unité DH

5Vérifier

1. Dans un programme qui calcule l'âge à partir de l'année de naissance, l'année en cours est...
2. Pourquoi analyser le problème avant d'écrire l'algorithme ?
3. Lequel de ces éléments est un traitement ?