« Cobol ANS 74 » : différence entre les versions

3 402 octets ajoutés ,  il y a 15 ans
fin de fusion
m (Programmation Cobol ANS 75 déplacé vers Cobol ANS 74: renommage pour fusion historiques)
(fin de fusion)
{{suppression}}
{{ébauche}}
{{à fractionner}}
= Généralités =
{{prgcobol}}
== Historique ==
 
!! cette page a migrée sous [[Cobol ANS 74]]
 
Le COBOL ANS 74 est basé sur les arbres programmatiques [[Programmation LDA#Les arbres programmatiques .28AP.29|AP]] et a été conçu pour produire des programmes :
*normalisés
*faciles à comprendre
*orientés vers le traitement des affaires
*orientés vers les problèmes administratifs et commerciaux
== Généralités ==
=== Historique ===
Le language COBOL (COmmon Business Oriented Language) a été créé par un comité de délégués de constructeurs et utilisateurs d'ordinateurs réunis à l'initiative du gouvernement américain. Ce comité, la CODASYL (Conference On DAta SYstems Languages) s'est rassemblé pour la première fois en 1958. Il avait pour mission de définir un langage standard pour la programmation des ordinateurs en vue de résoudre les problèmes commerciaux et administratifs.
En avril 1960, le comité publiait une première version du language connu sous le nom de COBOL 60. Le languagte fut ensuite revu, amélioré et complété en 61, 65 et 68.
De nouveau modifié en 1970, le COBOL USA porte maintenant le nom ANS COBOL spécifié par l'ANSI (American National Standards Institute). De nombreuses améliorations ont encore été apportées. Actuellement, on suit les normes du ANS COBOL 1974. Ce sont celles que nous étudierons dans ce cours.
 
== Objectifs du COBOL ==
Le langage COBOL a été conçu pour produire des programmes :
 
*<u>standardisés</u>
**Le COBOL utilise des instructions standards dans une structure de programme standardisée.
**Le COBOL est un essai d'utilisation d'un language commun à tous les ordinateurs : il subsiste des différences d'un constructeur à l'autre, mais ces différences sont minimes.
 
*<u>faciles à comprendre</u>
**Parce qu'ils sont écrits en anglais, c'est-à-dire en un langage compréhensible des programmeurs, mais aussi ses non-programmeurs.
 
*<u>orientés vers le traitement des affaires</u>
*<u>orientés vers les problèmes administratifs et commerciaux</u>
 
== Quelques termes de programmation COBOL ==
*<u>La source d'un programme :</u>
** est le programme tel qu'il a été écrit par le programmeur.
*<u>Compiler un programme :</u>
** est utiliser l'ordinateur pour traduire la source d'un programme COBOL en un programme écrit en langage machine. Durant la compilation, une liste des instructions de la source et de l'objet sont imprimés, de même que des messages indiquant les erreurs d'écriture que le compilateur a découvert dans le programme COBOL.
*<u>Le programme objet :</u>
** est le programme obtenu par la traduction du programme source en langage machine.
*<u>Le compilateur COBOL :</u>
** est un programme fourni par le constructeur qui dirige l'ordinateur durant la traduction de la source du programme en un programme objet.
*<u>Le « source computer » :</u>
** est l'ordinateur utilisé pour compiler le programme source.
*<u>L' « object computer »</u>
** est l'ordinateur utilisé pour exécuter le programme objet.
 
== Un exemple de programme COBOL ==
<pre>
1 2 3 4 5 6 7
123456789012345678901234567890123456789012345678901234567890123456789012
 
IDENTIFICATION DIVISION.
PROGRAM-ID. EXEMPLE.
AUTHOR. SMITH.
DATE-WRITTEN. 25 SEP 1988.
 
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. MINTA.
OBJECT-COMPUTER. MINTA.
INPUT_OUTPUT SECTION.
FILE_CONTROL.
SELECT FICHIER1 ASSIGN TO CARD-READER.
SELECT FICHIER2 ASSIGN TO PRINTER.
 
DATA DIVISION.
FILE SECTION.
FD FICHIER1 LABEL RECORD IS OMITTED
DATA RECORD IS COMMERCE.
01 COMMERCE.
02 IMPORT.
03 MECANIQUE PICTURE 9(5).
03 ELECTRIQUE PICTURE 9(5).
02 EXPORT.
03 ALIMENTAIRE PICTURE 9(5).
03 DIVERS PICTURE 9(5).
FD FICHIER2 LABEL RECORD IS OMITTED
DATA RECORD IS STAT_COMMERCE.
01 STAT°COMMERCE.
02 FILLER PICTURE X(3); VALUE SPACE.
02 EXP_IMP PICTURE 9(5).
02 PCT_MECA PICTURE 9.99.
02 PCT_ALIM PICTURE 9.99.
WORKING-STORAGE SECTION.
77 FLAG PICTURE 9.
 
PROCEDURE DIVISION.
PROG.
PERFORM D-PROG.
PERFORM LECTURE-CALCUL-ECRITURE UNTIL FLAG = 1.
PERFORM F-PROG;
STOP RUN.
D-PROG.
OPEN INPUT FICHIER1.
OPEN OUTPUT FICHIER2.
MOVE 0 TO FLAG.
READ FICHIER1 AT END MOVE 1 TO FLAG.
LECTURE-CALCUL-ECRITURE.
COMPUTE EXP-IMP = ALIMENTAIRE + DIVERS - MECANIQUE -
ELECTRIQUE.
COMPUTE PCT_MECA = MECANIQUE / (MECANIQUE + ELECTRIQUE).
COMPUTE PCT-COMMERCE AFTER ADVANCING 1 LINE.
WRITE STAT-COMMERCE AFTER ADVANCING 1 LINE.
READ FICHIER1 AT END MOVE 1 TO FLAG.
F-PROG.
CLOSE FICHIER1, FICHIER2.
</pre>
 
= Structure générale =
=== 4 Divisions par Programme ===
<pre>
8 843

modifications