Introduction à COBOL
Common Business-Oriented Language, créé en 1959 par CODASYL et s’appuyait en partie sur le langage de programmation FLOW-MATIC, conçu par Grace Hopper. est un langage de programmation conçu pour répondre aux besoins des entreprises en matière de traitement de données. Son objectif principal est la lisibilité, ce qui le rend accessible à des utilisateurs non techniques. COBOL est encore aujourd’hui largement utilisé dans les secteurs critiques tels que la finance, les assurances et l’administration publique, gérant des milliards de transactions chaque jour.
L’utilisation de COBOL dans les entreprises
COBOL est incontournable dans les environnements mainframe, notamment sous z/OS, un système d’exploitation d’IBM optimisé pour gérer des transactions massives et des données critiques. Ses applications incluent :
- Secteur bancaire : Gestion des comptes, traitement des paiements, reporting.
- Assurances : Calcul des primes, gestion des polices et des sinistres.
- Gouvernements : Traitement des taxes, gestion des prestations sociales.
- Commerce : Gestion des stocks et commandes dans les chaînes d’approvisionnement.
Avantages et inconvénients de COBOL
Avantages :
- Fiabilité éprouvée : COBOL gère environ 70 % des transactions financières mondiales.
- Performance exceptionnelle : Conçu pour des environnements à haut débit sur mainframes.
- Stabilité : Conception robuste qui limite les bogues et pannes.
- Lisibilité : Sa syntaxe proche du langage naturel simplifie la compréhension.
Inconvénients :
- Manque de développeurs : La relève est rare en raison de l’âge du langage.
- Syntaxe verbeuse : Nécessite plus de lignes de code par rapport aux langages modernes.
- Dépendance au mainframe : Moins adapté aux infrastructures cloud.
Structure et bases du langage
Un programme COBOL est divisé en quatre sections principales :
- IDENTIFICATION DIVISION : Fournit des informations générales sur le programme (nom, auteur, etc.).
- ENVIRONMENT DIVISION : Définit l’environnement d’exécution (fichiers, périphériques).
- DATA DIVISION : Déclare les variables et structures de données.
- PROCEDURE DIVISION : Contient la logique opérationnelle.
Déclaration des variables
Les variables en COBOL sont définies dans la DATA DIVISION, généralement dans la section WORKING-STORAGE. Chaque variable doit avoir :
- Un niveau de hiérarchie (par exemple,
01
ou05
). - Un nom.
- Une description de type avec le mot-clé
PIC
(picture clause).
Exemple :
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NOM PIC X(20) VALUE 'Jean Dupont'.
01 AGE PIC 99 VALUE 30.
01 SALAIRE PIC 9(5)V99 VALUE 1500.75.
X(20)
: Une chaîne de 20 caractères.99
: Un entier de 2 chiffres.9(5)V99
: Un nombre décimal avec 5 chiffres avant la virgule et 2 après.
Les boucles
En COBOL, les boucles peuvent être créées avec des instructions comme PERFORM ... UNTIL
ou PERFORM VARYING
.
Exemple :
PROCEDURE DIVISION.
PERFORM UNTIL I > 10
DISPLAY 'Valeur de I : ' I
ADD 1 TO I
END-PERFORM.
Dans cet exemple :
- La variable
I
est incrémentée à chaque itération. - La boucle se termine lorsque
I
dépasse 10.
Les conditions
Les conditions en COBOL utilisent l’instruction IF
pour effectuer des comparaisons et prendre des décisions.
Exemple :
IF AGE > 18 THEN
DISPLAY 'Majeur'
ELSE
DISPLAY 'Mineur'
END-IF.
Les fonctions
COBOL inclut plusieurs fonctions prédéfinies pour effectuer des calculs ou manipuler des données. Par exemple :
FUNCTION CURRENT-DATE
: Retourne la date et l’heure actuelles.FUNCTION NUMVAL
: Convertit une chaîne en nombre.
Exemple d’utilisation :
MOVE FUNCTION CURRENT-DATE TO WS-DATE.
DISPLAY 'Date actuelle : ' WS-DATE.
Exemple avancé : Un jeu de devinettes
Ce programme met en œuvre un jeu où l’utilisateur doit deviner un nombre aléatoire entre 1 et 5.
IDENTIFICATION DIVISION.
PROGRAM-ID. JEU-DEVINETTE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NOMBRE-ALEATOIRE PIC 9.
01 NOMBRE-UTILISATEUR PIC 9.
01 ESSAIS PIC 99 VALUE 0.
01 FIN-JEU PIC X VALUE 'N'.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
PERFORM INITIALISER-JEU
PERFORM UNTIL FIN-JEU = 'O'
DISPLAY 'Devinez un nombre entre 1 et 5:'
ACCEPT NOMBRE-UTILISATEUR
ADD 1 TO ESSAIS
PERFORM VERIFIER-REPONSE
END-PERFORM
DISPLAY 'Merci d’avoir joué.'
STOP RUN.
INITIALISER-JEU.
MOVE 3 TO NOMBRE-ALEATOIRE.
VERIFIER-REPONSE.
IF NOMBRE-UTILISATEUR = NOMBRE-ALEATOIRE THEN
DISPLAY 'Bravo ! Vous avez deviné en ' ESSAIS ' essais.'
MOVE 'O' TO FIN-JEU
ELSE
IF NOMBRE-UTILISATEUR > NOMBRE-ALEATOIRE THEN
DISPLAY 'C’est moins.'
ELSE
DISPLAY 'C’est plus.'
END-IF
END-IF.
Ce programme utilise des concepts fondamentaux comme les conditions, les boucles, et les variables.
Essayer ce programme sur Jdoodle !
Conclusion
COBOL reste un pilier des systèmes critiques d’entreprise grâce à sa fiabilité et sa robustesse. Malgré son âge, il demeure un atout stratégique pour les entreprises qui gèrent de grandes quantités de données. Maîtriser COBOL ouvre des opportunités uniques dans des secteurs essentiels, garantissant une carrière riche en défis et en contributions significatives.