« COBOL/Variables » : différence entre les versions
Contenu supprimé Contenu ajouté
mAucun résumé des modifications |
mAucun résumé des modifications |
||
Ligne 37 :
* chaîne de 7 caractères contenant 2 mots de 3 caractères séparés par un espace : AAABAAA : type alphanumérique édité
Il existe un raccourci d'écriture pour nous simplifier la vie : mettre le nombre d'occurrences d'un caractère entre parenthèses plutôt que de toutes les écrire. Par exemple, XXXX peut se réécrire X(4), c'est valable pour tous les types de caractères.
{{exemple|contenu=<source lang="cobol">
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. ex-variables.
Ligne 51 :
000010 main.
000011 STOP RUN.
000012 END PROGRAM ex-variables.</source>}}
==Initialisation de variables==
Lorsque vous définissez vos variables, vous pouvez leur donner une valeur, cette valeur doit être compatible avec leur image. C'est à ça que sert la clause <code>VALUE</code>.
{{exemple|contenu=<source lang="cobol">
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. ex-variables.
Ligne 70 ⟶ 71 :
000011 main.
000012 STOP RUN.
000013 END PROGRAM ex-variables.</source>}}
Après ces définitions, <code>annee</code> contient 2008, <code>vide</code> contient une chaîne vide de 20 caractères et <code>prenom</code> contient la chaîne "Aristote" suivie de 12 espaces. Vous pouvez afficher ces variables à l'aide de l'instruction <code>DISPLAY</code> vue précédemment.
==Constantes figuratives==
Ligne 85 ⟶ 87 :
On peut les utiliser comme suit :
{{exemple|contenu=<source lang="cobol">
77 annee PIC 9(4) VALUE ZERO.
77 vide PIC A(20) VALUE SPACES.</source>}}
Ainsi <code>annee</code> est initialisée à 0000 et <code>vide</code> contient une série d'espaces. Ces constantes figuratives peuvent également être affichées à l'écran via l'instruction <code>DISPLAY</code>.
==Représentation numérique en mémoire==
Il est également possible de modifier la représentation des types numériques en mémoire, en précisant la clause <code>USAGE</code> lors de la déclaration de variables. Voici la liste des différentes représentations possibles :
* BINARY : base 2
* COMP[UTATIONAL] pour faciliter les calculs
Ligne 103 ⟶ 106 :
==Saisir les entrées au clavier==
L'instruction <code>ACCEPT</code> permet de stocker dans une variable ce qui provient de l'entrée standard, dans notre cas le clavier. Nous pouvons expliciter cette source en ajoutant la clause <code>FROM</code> suivie de l'identifiant console. Voici donc le synopsis de cette instruction :
{{exemple|contenu=<source lang="cobol">ACCEPT variable [FROM console].</source>}}▼
▲<source lang="cobol">ACCEPT variable [FROM console].</source>
La variable réceptrice doit être déclarée et avoir une image compatible avec la donnée entrée.
Ligne 113 ⟶ 117 :
Les variables complexes sont des variables qui peuvent avoir plusieurs niveaux de subdivisions. Le niveau d'une variable complexe est 01, le niveau de chaque subdivision doit être supérieur à celui de sa souche (de 01 a 49). Ce type de structure permet de hiérarchiser les données. Voici un exemple de variable complexe :
{{exemple|contenu=<source lang="cobol">01 personne.
02 nom PIC X(20) VALUE "DUPONT".
02 prenom PIC X(20) VALUE "Martin".
Ligne 119 ⟶ 123 :
03 annee PIC 9999 VALUE 1954.
03 mois PIC 99 VALUE 02.
03 jour PIC 99 VALUE 07.</source>}}
Une image ne peut être définie que pour le dernier niveau des variables, c'est pourquoi nous n'en définissons pas pour naissance et personne.
Ligne 127 ⟶ 132 :
Voici un programme récapitulatif qui stocke dans une structure complexe une date de naissance composée de l'année, du mois et du jour. On demande tout d'abord à l'utilisateur de rentrer ces données au clavier avant de les afficher.
{{exemple|contenu=<source lang="cobol">
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. saisie-naissance.
Ligne 149 ⟶ 154 :
000020 DISPLAY annee "/" mois "/" jour.
000021 STOP RUN.
000022 END PROGRAM saisie-naissance.</source>}}
[[Catégorie:COBOL]]
|