Exercice 17 : move

Micro-exercice

Objectif : utiliser MOVE pour copier une valeur vers une variable. C’est une instruction fondamentale : elle sert à préparer des données, mémoriser une saisie, remplir un champ avant un affichage, ou réorganiser des informations.

Ce que vous pratiquez

  • Déclarer des variables texte simples.
  • Copier une valeur d’une variable vers une autre.
  • Comprendre la différence entre source et destination.

Repère sur les colonnes

  • Zone A : colonnes 8 à 11 (7 espaces pour divisions et déclarations).
  • Zone B : colonnes 12 à 72 (11 espaces pour instructions).

La ligne MOVE est en zone B pour respecter le format fixe.

Exemple minimal COBOL Format fixe
Télécharger le code
       IDENTIFICATION DIVISION.
       PROGRAM-ID. EXO-MOVE-17.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01  WS-PRENOM            PIC X(15) VALUE SPACES.
       01  WS-COPIE             PIC X(15) VALUE SPACES.

       PROCEDURE DIVISION.
           DISPLAY "Entrez un prenom : "
           ACCEPT WS-PRENOM

           MOVE WS-PRENOM TO WS-COPIE

           DISPLAY "Saisie : " WS-PRENOM
           DISPLAY "Copie : " WS-COPIE
           STOP RUN.

Lecture simple

MOVE WS-PRENOM TO WS-COPIE signifie : “prendre la valeur de WS-PRENOM (source) et la mettre dans WS-COPIE (destination)”. La source ne change pas : on copie, on ne “déplace” pas au sens physique.

À retenir : l’ordre est important : MOVE source TO destination. Beaucoup de débutants inversent au début, et le programme n’affiche pas ce qu’ils attendent.

Votre micro-exercice

Faites ces 3 modifications :

  1. Ajoutez une variable WS-NOM et demandez-la aussi à l’utilisateur.
  2. Construisez une copie complète dans une nouvelle variable WS-NOM-COMPLET (ex : “NOM PRENOM”).
  3. Affichez la version complète avec un libellé clair.

Erreur fréquente à éviter

Inverser source et destination. Si vous écrivez MOVE WS-COPIE TO WS-PRENOM, vous écrasez la saisie avec une valeur vide, et vous pensez que ACCEPT “n’a pas marché”.

Autre piège : les tailles différentes. Si vous copiez un champ plus long vers un champ plus court, vous coupez des caractères. Pour débuter, gardez des tailles identiques.

Conseil : lisez toujours la ligne MOVE à voix haute : “je déplace la source vers la destination”.