« P5b

11 septembre 2007

Etapes de la journée

* 4 heures de théorie (introduction à Cobol, explications de quelques règles, historique, etc ...) : Cf Polycopié "Introduction à Cobol" + Syntaxe, clauses, etc ...
* 4 heures de programmation

Documents fournis

* Introduction à Cobol : impressions écran du fichier PAO
* Syntaxes, etc .. de Cobol (gros polycopié de 34 feuilles environ)
* Exemples de programmes Cobol (polycopié vert)
* Exercices (polycopié bleu)

Notes

A l’époque de l’arrivée de Cobol, nous avions 2 langages : * langage machine (assembleur ou similaires) * langage orienté homme, dits langages évolués (exemple Cobol)

Deux modes d’utilisation d’un ordinateur/machine : * Interactif (nous sommes devant) * Automatisé : traitement par lot (=batch)

MVS est un système d’exploitation, aujourd’hui nommé ZOS, c’est le système utilisé par IBM.

Mainframes : Très très grosses bécanes, dans des salles blanches.

Schéma des différents langages de programmation

CICS = Système de transaction (gestion des grilles)

DB2 = Base relationnelle d’IBM

Fortran = traducteur de formules

PL/1 = Program Language the First (ce n’était pas le premier langage de programmation, mais IBM a toujours vu grand, et ne connaissait pas la modestie)

K/R = Karigan & Ritchie

L’ASCII est un code à 7bits, mais comme l’ordinateur n’apprécie pas les chiffres impairs, on code sur 8 bits.

ASCII

Apprendre par coeur l’ASCII

Trucs & Astuces : * Lettre A majuscule commence à 41 * Lettre a minuscule commence à 61 * Chiffres commencent à 30 * Espace = 20 * + = 2B * - = 2D * NULL = tout les bits à zéro Lettre I = 49H donne 0100 1001 en binaire (4 puis 9).

Pour avoir la lettre i minuscule, on fait : 0110 1001

Donc le 3ième bit est celui des majuscules minuscules.

Et que se passe t il lorsque nous appuyons sur Ctrl + I ?

Le système inihbe la position 2 et 3 du premier octet.

Expressions

Littéral = une constante

Alphanumériques = chaîne de caractère

Divisions d’un programme

Un programme est subdivisé en 4 DIVISIONS distinctes :

Autre

Une variable c’est trois choses :

Abréviations

ANSI = American National Standard Institute

DIN = Deutsches Institut für Normung

ISO ###### International Standard Organisation > mondial

AGL ###### Atelier de Génie Logiciel > fond des émulateur, appelé Workbench

ASCII = American Standard Code for Information Interchange

CCITT = Comité Consultatif International Téléphonique et Télégraphique

Dirigé par l’UIT (à Genève) = Union Internationale des télécommunications

EBCDIC = Extended Binary Coded Decimal International Code

ASCII

SOH = Start

BS = Backspace

HT = Horizontal Tabulation

CR = Cariage Return (retour chariot)

Exercices

Pour les exercices se référer à la feuille bleue fournise avec le cours.

Aujourd’hui a été effectué le premier exercice, à savoir : Vérifier la validité d’un code INSEE.

Code INSEE

Le but est simple : entrer un code INSEE (carte vitale) dans le programme Cobol, et en ressortir une validité ou pas dudit code.

A vérifier : * Premier chiffre : 1 ou 2 (1######Homme, 2Femme) * Second et troisième chiffre : Aucune vérification à faire * Quatrième et cinquième chiffre : Compris entre 1 et 12 inclus (rien d’autre) * Sixième et septième chiffre : Département, entre 01 et 99 (sans le 96 OU 97, et en remplaçant la corse 2A par 19 et 2B par 18 pour le calcul de la clé de contrôle) * Huitième à dizième chiffre : Aucune vérification nécessaire * Onzième à treizième chiffre : Aucune vérification

* Clé de contrôle : Pour vérifier la validité de la clé de contrôle (et donc de tout le chiffre), procéder ainsi :
* Prendre les chiffres 1 à 13
* Faire le modulo 97 de ce chiffre
* Prendre le reste
* Retrancher ce reste à 97
* La clé de contrôle est identique à cette différence.

Exemple : 1 83 04 67 180 035 52

52 = 97 - (1830467180035 Modulo 97)

« P5b