Cours généralités sur le langage Cobol pdf


Télécharger Cours généralités sur le langage Cobol pdf

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Table des matières

1   GÉNÉRALITÉS SUR LE LANGAGE COBOL      9

 

                1.7         CODIFICATION                                                                                                                          20

2   IDENTIFICATION DIVISION ET ENVIRONMENT DIVISION    23

2.1       IDENTIFICATION DIVISION 24 2.2     ENVIRONMENT DIVISION   25

3   DATA DIVISION              33

3.1       FILE SECTION        36 3.2     WORKING-STORAGE SECTION          47

4   PROCEDURE DIVISION              58

4.1       STRUCTURE DE PROCEDURE DIVISION            59 4.2     SORTES D’INSTRUCTIONS 60 4.3     INSTRUCTIONS D’ENTRÉE/SORTIE SUR DES FICHIERS SÉQUENTIELS     65 4.4     INSTRUCTIONS DE BRANCHEMENT 72 4.5     INSTRUCTION D’ARRÊT (STOP)   75 4.6     INSTRUCTION DE TRANSFERT (MOVE)            76

5   LES INSTRUCTIONS DE CALCUL          83

5.1       ADD        84 5.2     SUBTRACT             88 5.3     MULTIPLY              89 5.4 DIVIDE       91 5.5 COMPUTE 94

6   L’INSTRUCTION IF       96

6.1       ACTIONS PRISES SELON LA CONDITION          97 6.2     CONDITION           99 6.3     IF IMBRIQUÉ (Nested IF)    108

7   L’INSTRUCTION PERFORM     LDE/DSESS110

7.1       PERFORM DE BASE              111 7.2   OPTION TIMES     114 7.3   OPTION UNTIL      115 7.4   OPTION VARYING 118

8   LES TABLES EN MÉMOIRE      123

8.1       GÉNÉRALITÉS        124 8.2   LES DIMENSIONS D’UNE TABLE        124 8.3   LES TABLES FIXES                 126 8.4   LES TABLES VARIABLES              128 8.5   LES TABLES INDEXÉES         129

9   COMPLÉMENT SUR DATA DIVISION ET PROCEDURE DIVISION        137

9.1       DATA DIVISION    138 9.2   PROCEDURE DIVISION        149

10   COBOL INTERACTIF   163

10.1    ACCEPT/DISPLAY DE BASE (MF) et (VSC2)      164 10.2                SAISIE ET AFFICHAGE (MF)                 166 10.3 ACCEPT/DISPLAY AVEC SCREEN SECTION (MF)              181 10.4                UTILISATION DES CLÉS DE FONCTION (MF)    189

11   MANIPULATION DE CARACTÈRES      193

11.1    L'INSTRUCTION INSPECT    194 11.2                L'INSTRUCTION STRING      201 11.3                L'INSTRUCTION UNSTRING             205

12   LES FICHIERS INDEXÉS            211

12.1    GÉNÉRALITÉS        212 12.2                REPRÉSENTATION PHYSIQUE            212 12.3                CLAUSE SELECT    213 12.4        LES INSTRUCTIONS              214 12.5                DIFFÉRENTS TRAITEMENTS INTERACTIFS       221

13   LES FICHIERS RELATIFS          231

13.1    GÉNÉRALITÉS        232 13.2                CLAUSE SELECT    235 13.3                LES INSTRUCTIONS              235 13.4 DIFFÉRENTS TRAITEMENTS INTERACTIFS (avec index)                 236

14   LES SOUS-PROGRAMMES         250

14.1        GÉNÉRALITÉS        251 14.2                LE PROGRAMME PRINCIPAL              251 14.3                LE SOUS-PROGRAMME 252

         14.4      EXEMPLES

254

         14.5       COMPILATION ET EXÉCUTION (MF) ET (VSC2)

259

15 LA CLAUSE COPY

261

         15.1      GÉNÉRALITÉS

262

         15.2       CLAUSE COPY

262

         15.3      EXEMPLES (MF)

263

16 LES ENREGISTREMENTS VARIABLES

265

         16.1      GÉNÉRALITÉS

266

         16.2       PLUSIEURS DESCRIPTIONS D'ENREGISTREMENT

266

                16.3               UNE SEULE DESCRIPTION D'ENREGISTREMENT (clause OCCURS DEPENDING) 268

17   REPORT WRITER (MF) ET (ANS85)       269

17.1    GÉNÉRALITÉS        270 17.2                FORME GÉNÉRALE DU REPORT WRITER         271 17.3                REPORT SECTION                271 17.4                LES REGISTRES SPÉCIAUX   281 17.5                LES INSTRUCTIONS              281 17.6 EXEMPLE               283

18   TRI ET FUSION DE FICHIERS 286

18.1    GÉNÉRALITÉS        287 18.2                TRI INTERNE         287 18.3                FUSION DE FICHIERS           296

19   DECLARATIVES ET SEGMENTATION                298

19.1        STRUCTURE GÉNÉRALE DE PROCEDURE DIVISION        299 19.2                DECLARATIVES     300 19.3 SEGMENTATION 303

        ANNEXES                                                                                                                                                    307

Annexe A               Programme exemple          308 Annexe B       Exemple d'utilisation de FILE STATUS et d'omission des points dans

                                             PROCEDURE DIVISION                                                                                            312

Annexe C Animator V2, Micro Focus COBOL V 3.4 et V4.0 pour Windows 315 Annexe D Programmation structurée et normes de programmation 331 Annexe E      La clause FILE STATUS         342 Annexe F        Table des principaux codes ASCII/EBCDIC        346 Annexe G JCL (Job Control Language) 347 Annexe H Compilation / Exécution / Débogage (VSC2) 364



LABORATOIRES    381 BIBLIOGRAPHIE            430 INDEX              431

1

GÉNÉRALITÉS SUR LE LANGAGE

COBOL

                        1.1       ORIGINE DU LANGAGE

Historique du COBOL

Avantages et désavantages du COBOL

Notes préliminaires

                        1.2    OBSERVATION D'UN PROGRAMME COBOL

                        1.3       CARACTÈRES UTILISÉS EN COBOL

Formation des mots en COBOL

Sortes de mots

                        1.4      CONSTANTES

Types de constantes

                        1.5     RÈGLES DE PONCTUATION

                        1.6      FORMAT GÉNÉRAL DES ÉNONCÉS COBOL

                        1.7        CODIFICATION

Répartition des colonnes

Continuation de lignes

Lignes d'espacement

Lignes de commentaires


 

COBOL, COmmon Business Oriented Language, est un langage de gestion appliqué au traitement informatisé des services de paye, de facturation, de comptabilité, etc.

Surtout utilisé sur des ordinateurs centraux, mainframes, COBOL est de plus en plus développé sur des micro-ordinateurs compte tenu des coûts élevés d’utilisation des ordinateurs centraux.

 

Historique du COBOL

Dans les années 1950, chaque compagnie d’ordinateurs développait son propre langage de programmation. Il devint donc nécessaire de créer un langage utilisable d’un ordinateur à l’autre quelque soit le constructeur, d’où le mot anglais common.

Le langage COBOL fut créé en 1959, et, dès les années 1960, plusieurs versions firent leur apparition.

En 1974, des standards furent établis afin de créer une version appelée COBOL ANSI (American National Standards Institute) qui,  avec de légères modifications, est adaptable à toute marque d’ordinateur.

Avec l’avènement des micro-ordinateurs, la version ANSI 74  fut remaniée afin de doter COBOL d’instructions interactives. IBM fut le concepteur de cette nouvelle version (1982) appelée PC-COBOL (Personal COBOL).

En 1985, la version ANSI 74 fut révisée pour devenir la version COBOL ANSI 85 qui est encore aujourd’hui un standard.

À la suite du PC-COBOL, la compagnie Microsoft développa quelques versions du langage appelées Microsoft COBOL utilisables sur des systèmes d’exploitation tels que DOS et OS/2. Par la suite, Microsoft vendit ses droits d’exploitation à la compagnie Micro Focus. Depuis, cette compagnie n’a pas cessé de l’améliorer afin qu’il soit utilisable sur n’importe quel système d’exploitation, que ce soit DOS, Windows 3.1, Windows 95 ou Windows NT, Unix ou OS/2, et qu’il soit d’autre part, compatible avec tous les « dialectes » COBOL utilisés sur ordinateurs centraux  tels que IBM OS/VS ou IBM VS COBOL II.

Noter que ces dernières versions du langage utilisées sur ordinateurs centraux ne sont pas interactives. De plus, Micro Focus a développé des outils permettant d’appliquer des méthodes de programmation orientée objet.

 

Avantages et désavantages du COBOL

C’est un langage très facile à lire. Ainsi, un programme en COBOL peut aisément être modifié par un autre programmeur.

Il est structuré et performant car ses instructions comportent une importante variété d’options. Enfin, le programmeur a une grande liberté dans le choix des mots, jusqu’à 30 caractères pour un nom de variable.

Le principal désavantage du COBOL est la longueur de sa codification.

 

Notes préliminaires

Dans ce manuel, les logiciels utilisés comme référence sont la version Micro Focus COBOL Workbench, V3.4 et V4.0 pour Windows. La mention ( MF ) signifie que l’item qui précède est spécifique à Micro Focus COBOL.

Étant donné que le langage COBOL est surtout utilisé sur les ordinateurs centraux, les principales différences de programmation sur un ordinateur central seront annotées ( VSC2 ), faisant référence au « dialecte » IBM VS COBOL II. 

Dans ce manuel, l’utilisation de plusieurs termes anglais a été conservée, car tous les compilateurs COBOL affichent les messages d’erreurs dans cette langue et il est de première importance d’en saisir le sens.

Certaines clauses du langage COBOL ont été volontairement omises, celles-ci étant peu utilisées.

 

La structure générale d’un programme COBOL comprend quatre divisions :

1. IDENTIFICATION DIVISION ;

2. ENVIRONMENT DIVISION ;

3. DATA DIVISION ;

4. PROCEDURE DIVISION.

Voir le programme en Annexe A.

IDENTIFICATION

Cette division présente principalement des généralités sur le programme et le programmeur.

ENVIRONMENT

Cette partie du programme est formée de deux sections :

x       CONFIGURATION :  désigne l’équipement utilisé ; x INPUT-OUTPUT : définit les fichiers d’entrée et de sortie utilisés. 

DATA

Dans cet exemple, le programme comporte deux sections :

                                     x    FILE : décrit les fichiers utilisés ;

x WORKING-STORAGE : contient la définition des champs de travail ( 77 ) et la description de chaque ligne à imprimer.

PROCEDURE

Cette division regroupe les instructions et elle est subdivisée en paragraphes identifiés par un nom de paragraphe.

 

Caractères de ponctuation : (), . ; = b/

Caractères de relation : > < = <= >=  et <> ( MF )

Opérateurs arithmétiques : + - * / **

Caractères d’édition : . + $ * -

Caractères alphabétiques : A à Z  et  a à z

Caractères numériques : 0 à 9

Délimiteurs de chaîne de caractères : " ou ' (apostrophe), selon le compilateur.

 

Formation des mots en COBOL

En COBOL, il y a deux types de mots : les mots réservés, spécifiques au langage ( la liste se trouve dans le menu d’aide du logiciel Micro Focus ) et les mots choisis par le programmeur.

Règles de formation des mots choisis par le programmeur

1.  La longueur d’un mot est de 1 à 30 caractères ;

2.  Un mot peut utiliser :

Les nombres de 0 à 9 ;

Les lettres majuscules, de A à Z ;

Les lettres minuscules, de a à z ; Le  tiret -.

3.  Un mot ne doit ni commencer ni se terminer par un tiret ;

4.  Un mot ne doit pas contenir d’espace ;

5.  Le mot choisi ne doit pas être un mot réservé :

Par exemple : DIVISION, READ, MOVE, TO, DATE, NOTE, TABLE ;

6.  Il doit contenir au moins une lettre, sauf les noms de paragraphes et de sections ;

7.  Un mot doit être unique sauf s’il est un item qualifié ;

8.  Les lettres minuscules sont équivalentes aux majuscules sauf dans un littéral non numérique ( chaîne de caractères ).

 

Sortes de mots

                        FILE-NAME :                            nom de fichier.

                        RECORD-NAME :                        nom d’un enregistrement.

                        DATA-NAME :                            nom d’une variable.

IDENTIFIER : nom d’un champ occupé par une variable qui peut être simple, indicée, indexée ou qualifiée.

CONDITION-NAME :

nom donné à une variable qui contient une valeur spécifique. Il permet d’identifier le contenu. Il se définit au niveau 88 et sera décrit avec l’instruction IF.



PARAGRAPH-NAME :

nom de paragraphe.

QUALIFIER-NAME :

item qualifié qui est utilisé pour différencier deux variables et plus qui portent le même nom. Il doit être utilisé avec OF ou IN dans une instruction.

Exemple _____________________________________________________________________________

  01  DATE-JOUR.

       05  JOUR   PIC 99.

       05  MOIS   PIC 99.

       05  ANNEE  PIC 99.

  01  DATE-HIER.

     05  JOUR   PIC 99.

     05  MOIS   PIC 99.        05  ANNEE  PIC 99.

  ADD JOUR OF DATE-JOUR TO TOTAL.   ADD JOUR IN DATE-JOUR TO TOTAL.

 

SECTION-NAME :

nom de section.

PROGRAM-NAME :

nom du programme.

SCREEN-NAME (MF) :

nom d’un item saisi ou affiché à l’écran.

INDEX-NAME :

nom d’un index.

SUBSCRIPT :

nom d’un indice.

 

Un champ dont la valeur ne peut changer lors de l’exécution du programme s’appelle une constante.

 

Types de constantes

Il y a trois sortes de constantes : les littéraux numériques, les littéraux non numériques et les constantes figuratives.

Littéraux numériques Ils sont surtout utilisés pour les opérations arithmétiques.

                                                                               Ils sont formés des signes +

( plus), - ( moins ), du point décimal et des caractères 0 à 9.

                                                                                                   Ils comportent un maximum de

18 caractères ( excluant le signe et le point ).

                                                                        Le signe + ou -  est placé en avant du nombre, le signe + étant facultatif. Un seul point décimal est permis.

Littéraux non numériques Ils servent pour toute opération autre qu’arithmétique. Ils sont surtout utilisés pour imprimer des titres.

                                                                        On les place toujours entre guillemets ou entre apostrophes. MF accepte les deux, tandis que VSC2 n’accepte que l’apostrophe.

Ils peuvent être formés de 1 à 160 caractères mis à part les guillemets ou les apostrophes.

Tous les caractères ASCII sont permis. Noter qu’un ordinateur central utilise généralement une table de caractères différente appelée EBCDIC.

Pour insérer le caractère " ou ', il suffit de coder deux fois le caractère de façon consécutive.

Exemple

coder "" pour obtenir " coder 'L''ECOLE' pour obtenir L'ECOLE

 

Constantes figuratives

Ce sont des mots réservés représentant une valeur spécifique. Le singulier et le pluriel sont équivalents.

Les plus utilisées sont :

x ZERO, ZEROS, ZEROES ; x LOW-VALUE, LOW-VALUES ( 00 est la plus petite valeur de la table de caractères utilisée ) ;

x HIGH-VALUE, HIGH-VALUES ( FF est la plus grande valeur de la table de caractères utilisée ) ;

x QUOTE, QUOTES ( " sur MF et ' sur

VSC2 ) ; x SPACE, SPACES ; x ALL ( s’utilise avec un littéral non numérique ou une autre constante figurative ).

Exemple

MOVE ALL "*" TO CHAMP. MOVE ALL QUOTE TO CHAMP.

 

 

1. Le point ( . ) doit être placé à la fin de chaque phrase. Il peut changer le sens de la logique et il est souvent la source de plusieurs bogues.

Note

On tente de plus en plus à éliminer l'emploi du point dans les instructions et cette omission est permise selon certaines conditions qui seront vues au chapitre 4.

2.    Le point ( . ), la virgule ( , ) et le point-virgule ( ; ) servent à séparer les divers éléments du texte. Il n’y a pas d’espace devant, mais il y a en un après.

3.    La virgule ( , ) et le point-virgule ( ; ) sont utilisés dans le seul but de clarifier le texte. Ils ne changent pas le sens de la logique.

4.    Les parenthèses doivent apparaître par paire, une à gauche et l’autre à droite.

5.    En COBOL, il faut au moins un espace pour séparer deux mots. Dans le texte, le symbole b/ sera utilisé pour représenter cet espace.

 Deux espaces ou plus sont traités comme un seul espace sauf dans les littéraux non numériques. Ils permettent de dégager le texte.

6.    Les littéraux non numériques doivent être précédés d’un espace et suivis d’un espace ou des caractères point, virgule ou point-virgule.

Exemple _____________________________________________________________________________

  b/"COBOL"b/  

b/"COBOL".

 

 

 

Les items obligatoires apparaissent sur la ligne principale.

 

Les items optionnels apparaissent sous la ligne principale.

 

Un seul choix doit être fait lorsque deux ou plusieurs items apparaissent verticalement.

 

Si les choix sont optionnels, ils apparaissent en dessous de la ligne principale.

 

Une flèche gauche au-dessus de la ligne principale indique que cet item peut être répété.

 

Les mots en majuscules sont des mots réservés au langage COBOL, et les mots en minuscules doivent être choisis par le programmeur.



822