Vous êtes sur la page 1sur 9

Rsum rapide Cobol Structure dun programme cobol 4 divisions, respecter les points et les espaces entre les

s mots. identification division. environment division. data division. procedure division. stop run. Dans identification division. On na program-id. nomduprogramme. author. nomdeauteur. Avec un espace ( colonne 9 ) par rapport identification division. Exemple : identification division. Program-id. nomduprogramme. author. Nomdeauteur. environment division. data division. procedure division. stop run. program-id. nomduprogramme. -> ce nom servira aussi pour appeler un sous-programme avec call nomduprogramme Dans environment division. On na Configuration section.

Special-names. Console is crt Decimal-point is comma. Toujours en colonne 8 pour configuration section et special-names. Et colonne 12 pour console is crt et decimal-point is comma Exemple : ldentification division. environment division. configuration section. special-names. console is crt decimal-point is comma. data division. procedure division. stop run. Les commentaires ce font laide du caractre * place en colonne 7 un espace avant Exemple : identification division. program-id. machine. author. Inconnu. *commentaire environment division. configuration section. special-names. console is crt decimal-point is comma. data division. procedure division. Stop run.

Dans data division. on na working-storage section. Permet de declarer les donnes exemple : identification division. environment division. configuration section. special-names. console is crt decimal-point is comma. data division. working-storage section. 77 nom pic X(7) value inconne. procedure division. stop run. Les donnes simples Le niveau 77 ( spar par un espace ) permet de declarer des donnes simples de trois sortes. X -> alphanumrique A -> alphabtique 9 -> numrique exemple : 77 nbr pic 9(5) value 12322. -> 5 positions donc maximum 99999 77 nbr pic 99999 value 12322. 77 nom pic x(10) value inconnue. -> 10 positions donc maximum XXXXXXXXXX de taille de la chane

Les donnes avec virgules (decimales) et donnes signes 77 nbr pic 9(3)V9(2) value 123.23. -> 3 positions entires et 2 virgules 77 nbr pic 999V99 value 123.23. -> meme chose possible 77 nbr pic S9(3)V9(2). -> donne signe ( + et - ) par default ils sont pas signees ( que les + ) Les conditions If condition then instuctions End-if. Attention pas de point entre if et end-if sur les instructions if condition then instructions else instructions end-if. Attention mme chose pas de then dans un else et pas de point dans les instructions uniquement sur le end-if. If condition Then instuctions If conditions

Then End-if End-if. Instructions

Attention mme chose le point uniquement au denier end-if. if condition Then instructions else if conditions Then instructions else if condition Then instructions else instructions end-if end-if end-if. On peut ajouter and ( et ) et or ( ou ) et not ( non ) dans les conditions If condition and condition and condition Then Instructions End-if. If condition or condition or not condition Then Instructions End-if. Les boucles

Boucle do {} while(); La condition est valuer aprs le premier passage perform with test after until not a < 10 instructions end-perform. Boucle while () { } sans incrmentation La condition est valuer avant dentrer. perform until not a < 10 instructions end-perform. Boucle while() {} avec incrmentation add 0 to i. add 1 to i. perform until not I < 10 instructions add 1 to i end-perform. Deux boucles compter. perform 10 times instructions end-perform. perform varying variable from initialisation by incrmentation until not i < 10 instructions end-perform.

Rpter un paragraphe perform paragraphe. perform paragraphe nbr times. perform paragraphe with test after until not a < 10. perform paragraphe until not a < 10. perform paragraphe varying variable from initialisation by incrmentation until not i < 10. Retour sur les donnes (pic d'dition) en profondeur
Variable numrique qui enlve les zros de gauche: PIC ZZZ9Le "Z" est remplac par le chiffre si ce n'est pas un 0 et par un blanc si c'est un zro. Attention on met toujours un 9 droite pour voir 0 si jamais la valeur vaut 0 Le "." pour l'affichage et le v pour l'utilisation lors des calculs Combinaison des deux derniers points: PIC Z9.99Le "." ici sera affiche pour sparer la partie entire de la partie dcimale.

Pour afficher le signe ngatif: PIC -Z9.99Le "-" restera si c'est un nombre ngatif et disparatra si le nombre est positif

Pour afficher le signe quel qu'il soit: PIC +Z9.99Le "+" sera remplac par un "-" si le nombre est ngatif et restera si le nombre est positif Pour enlever le signe dans le cas du 0: PIC +Z9.99 BLANK WHEN ZERO Vous remarquerez qu'avec ces pattern pour les signes, le signe reste bien cal gauche qu'il y ait ou pas de chiffres la place des Z. Or s'il n'y a pas de chiffres on peut vouloir que le signe se colle au premier chiffre de gauche. On passe alors d'une variable numrique simple du style: PIC 99999 PIC -----9Les moins seront remplacs par des chiffres s'il y en a. Remarquez qu'il y avait 5 caractres pour le premier PIC on pouvait donc accueillir un nombre 5 chiffresDans la version avec les "-" nous avons 6 caractres, 1 de plus que pour le PIC de base. Simplement parce que s'il y a 5 chiffres bah tous les "-" seraient remplacs et donc on ajoute un "-" supplmentaire gauche. Tout ceci est valable avec le + Pour mettre un sparateur aux milliers il faudra mettre des "," dans le PIC. Je vais faire un PIC rcapitulatif. Variable de base: PIC 9999v99

Variable formate: PIC --,--9.99 Attention si quand vous faites vos MOVE car il n'y aura pas d'erreurs affiches, juste du troncage ou des affichages inexplicables... Si vous ne mettez pas un PIC de base compatible avec le PIC d'dition. Je prcise aussi qu'on ne peut pas faire d'oprations avec les pic d'dition, gardez donc des variables normales jusqu' l'affichage ou vous les MOVErez vers des PIC d'dition.

Vous aimerez peut-être aussi