Ennoncé :
Ecrire un algorithme (programme) qui lit le nom et le prénom et les affiche.Un exercice très simple pour expliquer l'utilité d'afficher des message additionnels pour améliorer l'interactivité des programmes.
Une première solution correcte et suffisante sera :
En Pascal :
Program LireEtAfficher; Var nom, prenom : String[100]; Begin ReadLn(nom); ReadLn(prenom); WriteLn(nom); WriteLn(prenom); End.
En Java :
import java.util.Scanner; public class Exemple { public static void main(String[] args) { String nom, prenom; Scanner entree = new Scanner(System.in); nom = entree.nextLine(); prenom = entree.nextLine(); System.out.println(nom); System.out.println(prenom); } }
Après la compilation et l'exécution de l'un de ces deux codes (identiques!), nous obtenons :
Le programme réalise parfaitement le travail demandé, néanmoins, si un utilisateur revoit l'exécution après un certain moment, nous pouvons douter qu'il comprendra la signification de l'exécution. Même s'il relance l'exécution, nous pouvons douter qu'il saura quoi saisir. En effet, il aura un programme qui l'attend pour saisir quelque chose sans aucune indication.
Pour cela, un rtel exercice est parmi les premiers exercices à présenter aux étudiants. La solution réside dans l'affichage de quelques messages supplémentaires pour clarifier la situation à l'utilisateur. Ces messages n'auront aucun impact sur le déroulement du programme et ne vont rien changer aux traitements qu'il effectue. Mais, ils serviront à rendre le programme plus interactif. Ainsi le code devient :
En Pascal :
Program LireEtAfficher; Var nom, prenom : String[100]; Begin WrileLn('Donnez votre Nom : '); ReadLn(nom); WrileLn('Donnez votre Prénom : '); ReadLn(prenom); WriteLn('************************'); WriteLn('Nom : ', nom); WriteLn('Prénom : ', prenom); WriteLn('************************'); End.
En Java :
import java.util.Scanner; public class Exemple { public static void main(String[] args) { String nom, prenom; Scanner entree = new Scanner(System.in); System.out.println("Donnez votre nom : "); nom = entree.nextLine(); System.out.println("Donnez votre prénom : "); prenom = entree.nextLine(); System.out.println("*********************"); System.out.println("Nom : " + nom); System.out.println("Prénom : " + prenom); System.out.println("*********************"); } }
La nouvelle exécution sera :
Une analyse plus profonde peut être donnée. Ce que nous faisons en ajoutant des messages supplémentaire est de donner un "sens" auc données du programme; ainsi, on parle d'information. La différence entre ces deux notions est cruciale :
- L'ordinateur ignore la signification des données qu'il traite. Pour l'ordinateur, il s'agit de deux chaîne de caractères à lire et ensuite à afficher sans aucune signification.
- L'humain ne peut comprendre une donnée que si elle a un "sens" pour lui, si elle a un contexte. Ainsi, "5" comme donnée n'a aucun sens et on ne peut rien tirer d'elle, mais, "5°C" est clairement une information qui a du sens; une température.
Aucun commentaire:
La publication de nouveaux commentaires n'est pas autorisée.