MOVE et ACCEPT
Les verbes MOVE et ACCEPT sont essentiels pour manipuler et saisir des données en COBOL.
MOVE permet de copier une valeur (littérale, variable ou constante) dans une ou plusieurs variables.
ACCEPT lit une saisie de l'utilisateur depuis la console (clavier) et la place dans une variable.
Exemple de code : Saisie et messages clairs
IDENTIFICATION DIVISION.
PROGRAM-ID. MOVE-ACCEPT-CORRIGE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 PRENOM PIC X(15).
01 NOM PIC X(20).
01 AGE PIC 99.
01 MESSAGE-BIENVENUE PIC X(50) VALUE "Bienvenue, ".
01 MESSAGE-AGE PIC X(40) VALUE " vous avez ans.".
PROCEDURE DIVISION.
DISPLAY "Entrez votre prénom : ".
ACCEPT PRENOM.
DISPLAY "Entrez votre nom : ".
ACCEPT NOM.
DISPLAY "Entrez votre âge : ".
ACCEPT AGE.
DISPLAY MESSAGE-BIENVENUE PRENOM " " NOM ".".
MOVE AGE TO MESSAGE-AGE(12:2).
DISPLAY MESSAGE-AGE.
STOP RUN.
Télécharger le code
Résultat attendu à l'exécution (exemple de saisie)
Exécution interactive – ce que vous pourriez voir :
Entrez votre prénom :
Marie
Entrez votre nom :
Lefèvre
Entrez votre âge :
42
Bienvenue, Marie Lefèvre.
vous avez 42 ans.
Explication détaillée – focus sur les corrections et améliorations
01 MESSAGE-BIENVENUE PIC X(50) VALUE "Bienvenue, ".
Variable dédiée uniquement au message de bienvenue. On garde "Bienvenue, " suivi d’espaces pour accueillir le prénom et nom.01 MESSAGE-AGE PIC X(40) VALUE " vous avez ans.".
Nouvelle variable dédiée à l’âge.
On place volontairement des espaces à l’emplacement où ira le nombre (positions 12 et 13) pour pouvoir y insérer l’âge avecMOVE.DISPLAY MESSAGE-BIENVENUE PRENOM " " NOM ".".
Affiche le message de bienvenue complet de façon claire et naturelle.MOVE AGE TO MESSAGE-AGE(12:2).
On copie la valeur deAGE(deux chiffres) directement dans la zone deMESSAGE-AGEà partir de la position 12 sur 2 caractères.
C’est une référence de sous-chaîne très utile en COBOL pour insérer des valeurs dans un texte formaté.DISPLAY MESSAGE-AGE.
Affiche le message avec l’âge correctement inséré, sans mélange avec les autres parties du texte.
Pourquoi cette correction est meilleure :
• Chaque message a sa propre variable → plus clair et plus maintenable.
• On évite de réécrire par-dessus une zone qui contient déjà du texte important.
• On apprend la puissance des références de sous-chaîne (
• Le code est plus lisible pour un débutant.
• Chaque message a sa propre variable → plus clair et plus maintenable.
• On évite de réécrire par-dessus une zone qui contient déjà du texte important.
• On apprend la puissance des références de sous-chaîne (
var(début:longueur)).• Le code est plus lisible pour un débutant.
Prochain sujet : Les opérations arithmétiques avec ADD, SUBTRACT, MULTIPLY, DIVIDE et COMPUTE.