Grosse MàJ
This commit is contained in:
BIN
P5B/cobol/exercices/carmag
Normal file
BIN
P5B/cobol/exercices/carmag
Normal file
Binary file not shown.
163
P5B/cobol/exercices/carmag.cbl
Normal file
163
P5B/cobol/exercices/carmag.cbl
Normal file
@ -0,0 +1,163 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. carmag0.
|
||||
|
||||
AUTHOR. OD.
|
||||
***---------------------------------------------------------------
|
||||
|
||||
*----------------------------------------------------------------*
|
||||
* PROGRAMME *
|
||||
* CREATION TABLEAU IMPAIR *
|
||||
*----------------------------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
***---------------------------------------------------------------
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* Nombre entre au clavier
|
||||
77 NBR-DPRT PICTURE 999 VALUE ZERO.
|
||||
* Tableau du carre magique
|
||||
01 TABLE-CARMAG.
|
||||
* - Numero de ligne
|
||||
05 LGN OCCURS 25.
|
||||
* - Colonnes de la ligne
|
||||
10 CLN OCCURS 25.
|
||||
* - - Contenu de chaque colonne : chiffre
|
||||
15 CNTN PICTURE 999.
|
||||
* Nombre pour verifier le nombre saisie
|
||||
77 NBR PICTURE 999 VALUE ZERO.
|
||||
88 IMPAIR VALUE 1.
|
||||
* Valeur a inserer dans le tableau final
|
||||
77 VALEUR PICTURE 999 VALUE 1.
|
||||
* Curseur ligne
|
||||
77 CRSR-LGN PICTURE 999 VALUE 1.
|
||||
* Curseur colonne
|
||||
77 CRSR-CLN PICTURE 999 VALUE 1.
|
||||
* Total d'un calcul puis reutilisation pour diverses taches
|
||||
77 TOTAL PICTURE 999 VALUE ZERO.
|
||||
* Nombre de cases dans le tableau a afficher
|
||||
77 NBR-CRR PICTURE 999 VALUE ZERO.
|
||||
* Reste dans la division euclidienne
|
||||
77 RST PICTURE 999 VALUE ZERO.
|
||||
***---------------------------------------------------------------
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*
|
||||
* Nom du programme
|
||||
*
|
||||
PROGRAMME SECTION.
|
||||
* Debut du programme (initialisation)
|
||||
DEBUT.
|
||||
DISPLAY "Debut de la saisie...".
|
||||
PERFORM SAISIE UNTIL IMPAIR.
|
||||
DISPLAY "Saisie terminee !".
|
||||
* Corps du programme (contenu)
|
||||
CORPS.
|
||||
DISPLAY "Taille du tableau : " NBR-DPRT.
|
||||
PERFORM REMPLISSAGE.
|
||||
* Fin du programme
|
||||
FIN.
|
||||
DISPLAY "Carre magique fini !!!".
|
||||
STOP RUN.
|
||||
|
||||
*
|
||||
* Arborescence de niveau 2 : Saisie de l'utilisateur
|
||||
*
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez un chiffre impair inferieur a 26 : "
|
||||
WITH NO ADVANCING.
|
||||
ACCEPT NBR-DPRT.
|
||||
PERFORM VERIF.
|
||||
VERIF.
|
||||
DIVIDE NBR-DPRT BY 2 GIVING TOTAL REMAINDER RST.
|
||||
IF (RST NOT EQUAL TO ZERO AND NBR-DPRT LESS THAN 26) THEN
|
||||
MOVE 1 TO NBR.
|
||||
|
||||
*
|
||||
* Arborescence niveau 2 : REMPLISSAGE PUIS AFFICHAGE
|
||||
*
|
||||
REMPLISSAGE SECTION.
|
||||
* Affectation de la premiere valeur, ligne une, colonne du milieu
|
||||
VAL-UNE.
|
||||
DISPLAY "Affectation valeur une...".
|
||||
* COMPUTE TOTAL ROUNDED = NBR-DPRT / 2.
|
||||
DIVIDE 2 INTO NBR-DPRT GIVING TOTAL ROUNDED.
|
||||
* Affectation de la premiere valeur a la colonne trouvee
|
||||
MOVE 1 TO CNTN(1,TOTAL).
|
||||
* Affectation du numero de colonne vers le curseur des colonnes
|
||||
MOVE TOTAL TO CRSR-CLN.
|
||||
DISPLAY "Affectation terminee ! Colonne actuelle : " TOTAL.
|
||||
VAL-SUIV.
|
||||
DISPLAY "Affectation des valeurs suivantes...".
|
||||
MULTIPLY NBR-DPRT BY NBR-DPRT GIVING TOTAL.
|
||||
MOVE TOTAL TO NBR-CRR.
|
||||
PERFORM TRAITEMENT UNTIL VALEUR EQUAL TO NBR-CRR.
|
||||
DISPLAY "Affectations terminees ! Total : " VALEUR.
|
||||
AFFICHAGE.
|
||||
DISPLAY "AFFICHAGE DU TABLEAU".
|
||||
MOVE 1 TO CRSR-LGN.
|
||||
MOVE 1 TO CRSR-CLN.
|
||||
PERFORM PARCOURS VARYING CRSR-LGN FROM 1 BY 1 UNTIL CRSR-LGN
|
||||
> NBR-DPRT.
|
||||
* AFTER CRSR-CLN FROM 1 BY 1 UNTIL CRSR-CLN
|
||||
* > NBR-DPRT.
|
||||
DISPLAY "AFFICHAGE TERMINE".
|
||||
|
||||
*
|
||||
* Arborescence niveau 3 : TRAITEMENT PLACEMENT
|
||||
*
|
||||
TRAITEMENT SECTION.
|
||||
INCREMENTE.
|
||||
ADD 1 TO VALEUR.
|
||||
MLTPL.
|
||||
DIVIDE VALEUR BY NBR-DPRT GIVING TOTAL REMAINDER RST.
|
||||
IF (RST EQUAL TO 1) THEN
|
||||
PERFORM SS-PLCMT
|
||||
ELSE PERFORM SR-PLCMT.
|
||||
VERIFICATION.
|
||||
PERFORM VERIFIER.
|
||||
PLACEMENT.
|
||||
DISPLAY "|_Affectation de : " VALEUR.
|
||||
MOVE VALEUR TO CNTN(CRSR-LGN,CRSR-CLN).
|
||||
DISPLAY "| Affectee a : " CRSR-LGN ", "CRSR-CLN.
|
||||
|
||||
*
|
||||
* Arborescence niveau 3 : Affichage du tableau
|
||||
*
|
||||
AFFICHER SECTION.
|
||||
PARCOURS.
|
||||
PERFORM AFFICHE VARYING CRSR-CLN FROM 1 BY 1
|
||||
UNTIL CRSR-CLN >= NBR-DPRT.
|
||||
DISPLAY "|" CNTN(CRSR-LGN,CRSR-CLN) "|".
|
||||
AFFICHE.
|
||||
DISPLAY "|" CNTN(CRSR-LGN,CRSR-CLN) "|"
|
||||
WITH NO ADVANCING.
|
||||
|
||||
*
|
||||
* Arborescence niveau 4 : MULIPLE + 1
|
||||
*
|
||||
MULTPL SECTION.
|
||||
SS-PLCMT.
|
||||
ADD 1 TO CRSR-LGN.
|
||||
SR-PLCMT.
|
||||
SUBTRACT 1 FROM CRSR-LGN.
|
||||
SUBTRACT 1 FROM CRSR-CLN.
|
||||
|
||||
*
|
||||
* Arborescence niveau 4 : VERIFICATION LIGNE / COLONNE
|
||||
*
|
||||
VERIFIER SECTION.
|
||||
LIGNE.
|
||||
IF (CRSR-LGN < 1) THEN
|
||||
MOVE NBR-DPRT TO CRSR-LGN.
|
||||
IF (CRSR-LGN > NBR-DPRT) THEN
|
||||
MOVE 1 TO CRSR-LGN.
|
||||
COLONNE.
|
||||
IF (CRSR-CLN < 1) THEN
|
||||
MOVE NBR-DPRT TO CRSR-CLN.
|
||||
IF (CRSR-CLN > NBR-DPRT) THEN
|
||||
MOVE 1 TO CRSR-CLN.
|
BIN
P5B/cobol/exercices/carmag0
Normal file
BIN
P5B/cobol/exercices/carmag0
Normal file
Binary file not shown.
50
P5B/cobol/exercices/carmag0.cbl
Normal file
50
P5B/cobol/exercices/carmag0.cbl
Normal file
@ -0,0 +1,50 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. carmag0.
|
||||
AUTHOR. OD.
|
||||
*----------------------------------------------------------------*
|
||||
* PROGRAMME *
|
||||
* CREATION TABLEAU IMPAIR *
|
||||
*----------------------------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* Nombre entr<74>e
|
||||
77 NBR-DPRT PICTURE 99 VALUE ZERO.
|
||||
* Tableau du carr<72> magique
|
||||
01 TABLE-CARMAG.
|
||||
* - Num<75>ro de ligne
|
||||
05 NM-LGN OCCURS 31.
|
||||
* - Colonnes de la ligne
|
||||
10 CLN OCCURS 31.
|
||||
* - - Contenu de chaque colonne : chiffre
|
||||
15 CNTN PICTURE 99.
|
||||
* Curseur ligne
|
||||
77 CRSR-LGN PICTURE 99 VALUE 1.
|
||||
77 CRSR-CLN PICTURE 99 VALUE 1.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
PROGRAMME SECTION.
|
||||
DEBUT.
|
||||
MOVE 3 TO NBR-DPRT.
|
||||
CORPS.
|
||||
DISPLAY "Taille du tableau : " NBR-DPRT.
|
||||
PERFORM PARCOURS.
|
||||
FIN.
|
||||
DISPLAY "Carr<72> magique termin<69>.".
|
||||
STOP RUN.
|
||||
|
||||
TRAITEMENTS SECTION.
|
||||
PARCOURS.
|
||||
PERFORM REMP VARYING CRSR-LGN FROM 1 BY 1 UNTIL CRSR-LGN
|
||||
> NBR-DPRT AFTER CRSR-CLN FROM 1 BY 1 UNTIL CRSR-CLN
|
||||
> NBR-DPRT.
|
||||
|
||||
REMP.
|
||||
MOVE 1 TO CNTN(CRSR-LGN, CRSR-CLN).
|
||||
DISPLAY "Coordonn<6E>es (" CRSR-LGN ", " CRSR-CLN ") : "
|
||||
CNTN(CRSR-LGN, CRSR-CLN).
|
BIN
P5B/cobol/exercices/carmag1
Normal file
BIN
P5B/cobol/exercices/carmag1
Normal file
Binary file not shown.
62
P5B/cobol/exercices/carmag1.cbl
Normal file
62
P5B/cobol/exercices/carmag1.cbl
Normal file
@ -0,0 +1,62 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. carmag0.
|
||||
AUTHOR. OD.
|
||||
*----------------------------------------------------------------*
|
||||
* PROGRAMME *
|
||||
* CREATION TABLEAU IMPAIR *
|
||||
*----------------------------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* Nombre entr<74>e
|
||||
77 NBR-DPRT PICTURE 99 VALUE ZERO.
|
||||
* Tableau du carr<72> magique
|
||||
01 TABLE-CARMAG.
|
||||
* - Num<75>ro de ligne
|
||||
05 NM-LGN OCCURS 31.
|
||||
* - Colonnes de la ligne
|
||||
10 CLN OCCURS 31.
|
||||
* - - Contenu de chaque colonne : chiffre
|
||||
15 CNTN PICTURE 99.
|
||||
* Curseur ligne
|
||||
77 CRSR-LGN PICTURE 99 VALUE 1.
|
||||
77 CRSR-CLN PICTURE 99 VALUE 1.
|
||||
* Total d'un calcul
|
||||
77 TOTAL PICTURE 99 VALUE ZERO.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
* Nom du programme
|
||||
PROGRAMME SECTION.
|
||||
* D<>but du programme (initialisation)
|
||||
DEBUT.
|
||||
MOVE 3 TO NBR-DPRT.
|
||||
* Corps du programme (contenu)
|
||||
CORPS.
|
||||
DISPLAY "Taille du tableau : " NBR-DPRT.
|
||||
PERFORM REMPLI.
|
||||
* Fin du programme
|
||||
FIN.
|
||||
DISPLAY "Carr<72> magique termin<69>.".
|
||||
STOP RUN.
|
||||
|
||||
* Section dédiée aux traitements à effectuer
|
||||
TRAITEMENTS SECTION.
|
||||
* Remplissage du tableau
|
||||
REMPLI.
|
||||
COMPUTE TOTAL ROUNDED = NBR-DPRT / 2.
|
||||
DISPLAY TOTAL.
|
||||
MOVE 1 TO CNTN(1,TOTAL).
|
||||
|
||||
AFFICHAGE SECTION.
|
||||
PARCOURS-TABLEAU.
|
||||
PERFORM AFFICHE VARYING CRSR-LGN FROM 1 BY 1 UNTIL CRSR-LGN
|
||||
> NBR-DPRT AFTER CRSR-CLN FROM 1 BY 1 UNTIL CRSR-CLN
|
||||
> NBR-DPRT.
|
||||
AFFICHE.
|
||||
DISPLAY "Coordonnées (" CRSR-LGN ", " CRSR-CLN ") : "
|
||||
CNTN(CRSR-LGN, CRSR-CLN).
|
BIN
P5B/cobol/exercices/conson
Normal file
BIN
P5B/cobol/exercices/conson
Normal file
Binary file not shown.
83
P5B/cobol/exercices/conson.cbl
Normal file
83
P5B/cobol/exercices/conson.cbl
Normal file
@ -0,0 +1,83 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. conson.
|
||||
AUTHOR. OD.
|
||||
*----------------------------------------------*
|
||||
* PROGRAMME QUI CONSONNE UN MOT (NORMALEMENT) *
|
||||
*----------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
|
||||
77 MOT PICTURE X(30) VALUE SPACE.
|
||||
77 RETOUR PICTURE X(30) VALUE SPACE.
|
||||
77 RESULTAT PICTURE X(6) VALUE SPACE.
|
||||
77 LETTRE PICTURE X VALUE SPACE.
|
||||
77 CHIFFRE PICTURE 99 VALUE 2.
|
||||
77 POINTEUR1 PICTURE 99 VALUE 2.
|
||||
77 POINTEUR2 PICTURE 9 VALUE 2.
|
||||
01 VOYELLES.
|
||||
05 LTR-AMAJ PICTURE X VALUE "A".
|
||||
05 LTR-EMAJ PICTURE X VALUE "E".
|
||||
05 LTR-IMAJ PICTURE X VALUE "I".
|
||||
05 LTR-OMAJ PICTURE X VALUE "O".
|
||||
05 LTR-UMAJ PICTURE X VALUE "U".
|
||||
05 LTR-YMAJ PICTURE X VALUE "Y".
|
||||
05 LTR-AMIN PICTURE X VALUE "a".
|
||||
05 LTR-EMIN PICTURE X VALUE "e".
|
||||
05 LTR-IMIN PICTURE X VALUE "i".
|
||||
05 LTR-OMIN PICTURE X VALUE "o".
|
||||
05 LTR-UMIN PICTURE X VALUE "u".
|
||||
05 LTR-YMIN PICTURE X VALUE "y".
|
||||
01 ESPACES PICTURE X(12) VALUE SPACE.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*NOM DU PROGRAMME
|
||||
PRINCIPAL SECTION.
|
||||
|
||||
DEBUT.
|
||||
PERFORM SAISIE.
|
||||
CORPS.
|
||||
PERFORM TRAITEMENT.
|
||||
FIN.
|
||||
DISPLAY "Mot consonn<6E> : " RESULTAT.
|
||||
DISPLAY "FIN DU TRAITEMENT". STOP RUN.
|
||||
|
||||
*SAISIE DU MOT
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez un mot : "
|
||||
WITH NO ADVANCING.
|
||||
ACCEPT MOT.
|
||||
|
||||
*TRAITEMENT DU MOT
|
||||
TRAITER SECTION.
|
||||
TRAITEMENT.
|
||||
INSPECT MOT CONVERTING VOYELLES TO ESPACES AFTER MOT(1:1).
|
||||
MOVE MOT(1:1) TO RETOUR.
|
||||
PERFORM CONCATENER UNTIL CHIFFRE EQUAL TO 30.
|
||||
PERFORM TRANSMISSION.
|
||||
|
||||
*CONCATENER LA CHAINE OBTENUE POUR SUPPRIMER LES ESPACES
|
||||
CONCATENER.
|
||||
MOVE MOT(CHIFFRE:1) TO LETTRE.
|
||||
IF (POINTEUR1 < 10) THEN
|
||||
MOVE POINTEUR1 TO POINTEUR2
|
||||
END-IF
|
||||
SUBTRACT 1 FROM POINTEUR2.
|
||||
IF LETTRE IS EQUAL TO RETOUR(POINTEUR2:1) THEN
|
||||
MOVE SPACE TO LETTRE.
|
||||
IF (LETTRE IS NOT EQUAL TO SPACE OR POINTEUR1 IS EQUAL TO
|
||||
6) THEN
|
||||
STRING LETTRE(1:1) INTO RETOUR WITH POINTER POINTEUR1
|
||||
END-IF.
|
||||
ADD 1 TO CHIFFRE.
|
||||
|
||||
*TRANSMET LE RESULTAT DES 6 PREMIERS CARACTERES A LA VARIABLE
|
||||
* RESULAT
|
||||
TRANSMISSION.
|
||||
MOVE RETOUR(1:6) TO RESULTAT.
|
BIN
P5B/cobol/exercices/impair
Normal file
BIN
P5B/cobol/exercices/impair
Normal file
Binary file not shown.
57
P5B/cobol/exercices/impair.cbl
Normal file
57
P5B/cobol/exercices/impair.cbl
Normal file
@ -0,0 +1,57 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. multpl.
|
||||
AUTHOR. OD.
|
||||
*----------------------------------------------------------------*
|
||||
* PROGRAMME *
|
||||
* VERIFICATION NOMBRE MULTIPLE D'UN AUTRE (IMPAIR) *
|
||||
*----------------------------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* Nombre de d<>part
|
||||
77 NBR-DPRT PICTURE 99 VALUE ZERO.
|
||||
* Resultat dans la division euclidienne
|
||||
77 DV-ECLDN PICTURE 99 VALUE ZERO.
|
||||
* Reste dans la division euclidienne par 2
|
||||
77 RST PICTURE 9 VALUE ZERO.
|
||||
* Nombre impair ou pas ? (simulation d'un bool<6F>en)
|
||||
77 NBR PICTURE 99 VALUE ZERO.
|
||||
88 IMPAIR VALUE 1.
|
||||
* R<>sultat
|
||||
77 RSLTT PICTURE X(30).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*--------------------*
|
||||
* DEBUT DU PROGRAMME *
|
||||
*--------------------*
|
||||
|
||||
PROGRAMME SECTION.
|
||||
|
||||
DEBUT.
|
||||
PERFORM SAISIE UNTIL IMPAIR.
|
||||
CORPS.
|
||||
PERFORM PARITE.
|
||||
FIN.
|
||||
DISPLAY RSLTT.
|
||||
STOP RUN.
|
||||
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez un chiffre impair : "
|
||||
WITH NO ADVANCING.
|
||||
ACCEPT NBR-DPRT.
|
||||
PERFORM VERIF.
|
||||
VERIF.
|
||||
DIVIDE NBR-DPRT BY 2 GIVING DV-ECLDN REMAINDER RST.
|
||||
DISPLAY RST.
|
||||
IF (RST NOT EQUAL TO ZERO) THEN
|
||||
MOVE 1 TO NBR.
|
||||
PARITE.
|
||||
IF (IMPAIR) THEN
|
||||
MOVE "Le nombre est impair." TO RSLTT
|
||||
ELSE MOVE "Le nombre n'est pas impair." TO RSLTT.
|
BIN
P5B/cobol/exercices/insee
Normal file
BIN
P5B/cobol/exercices/insee
Normal file
Binary file not shown.
114
P5B/cobol/exercices/insee.cbl
Normal file
114
P5B/cobol/exercices/insee.cbl
Normal file
@ -0,0 +1,114 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. insee.
|
||||
AUTHOR. OD.
|
||||
*---------------------------------------------------------------*
|
||||
* PROGRAMME *
|
||||
* CONTROLE VALIDITE NUMERO INSEE *
|
||||
*---------------------------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
|
||||
01 CD-INSEE.
|
||||
* Code Homme/Femme, 1 = homme, 2 = femme
|
||||
05 CD-SX PICTURE 9 VALUE ZERO.
|
||||
* Code ann<6E>e de naissance
|
||||
05 CD-NSSNC PICTURE 99 VALUE ZERO.
|
||||
* Code mois de naissance
|
||||
05 CD-MS-NSSNC PICTURE 99 VALUE ZERO.
|
||||
* Code d<>partement
|
||||
* Enlever les d<>partements non existants, et 2A pour Corse,
|
||||
* ainsi que 2B
|
||||
05 CD-DPRTMNT PICTURE XX.
|
||||
* Code commune
|
||||
05 CD-CMMNE PICTURE 999 VALUE ZERO.
|
||||
* Code registre
|
||||
05 CD-RGSTR PICTURE 999 VALUE ZERO.
|
||||
* Cl<43> de contr<74>le
|
||||
05 CL-CTRL PICTURE 99 VALUE ZERO.
|
||||
|
||||
* ERREURS
|
||||
* Bool<6F>en permettant de dire s'il y a erreur ou pas
|
||||
* Initialis<69> <20> 0 pour l'instant
|
||||
01 ERR-BLN PICTURE 9 VALUE LOW-VALUE.
|
||||
* Nom erreur
|
||||
01 ERR-NM PICTURE X(20) VALUE SPACE.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
* Nom du programme, ici PROGRAMME
|
||||
PROGRAMME SECTION.
|
||||
|
||||
* Demande du num<75>ro
|
||||
DEBUT.
|
||||
DISPLAY "Tapez votre num<75>ro INSEE : " WITH NO ADVANCING.
|
||||
ACCEPT CD-INSEE.
|
||||
|
||||
* Affichage des valeurs entr<74>es
|
||||
AFFICHAGE.
|
||||
DISPLAY "Sexe : " CD-SX.
|
||||
DISPLAY "Ann<6E>e de naissance : " CD-NSSNC.
|
||||
DISPLAY "Mois de naissance : " CD-MS-NSSNC.
|
||||
DISPLAY "D<>partement de naissance : " CD-DPRTMNT.
|
||||
DISPLAY "Commune : " CD-CMMNE.
|
||||
DISPLAY "Code registre : " CD-RGSTR.
|
||||
DISPLAY "Cl<43> de contr<74>le : " CL-CTRL.
|
||||
* STOP RUN.
|
||||
|
||||
* Contr<74>les de validit<69>
|
||||
CONTROLE SECTION.
|
||||
|
||||
* Contr<74>le du sexe
|
||||
SEXE.
|
||||
IF NOT (CD-SX EQUAL TO 1 OR CD-SX EQUAL TO 2) THEN
|
||||
MOVE HIGH-VALUE TO ERR-BLN
|
||||
MOVE "sexe." TO ERR-NM.
|
||||
* Contr<74>le sur type code sexe
|
||||
SEXETYPE.
|
||||
IF CD-SX IS NOT NUMERIC THEN
|
||||
MOVE HIGH-VALUE TO ERR-BLN
|
||||
MOVE "sexe non num<75>rique." TO ERR-NM.
|
||||
|
||||
* Contr<74>le sur mois de naissance
|
||||
MOISNAISSANCE.
|
||||
IF (CD-MS-NSSNC EQUAL TO 0 OR CD-MS-NSSNC GREATER THAN 12)
|
||||
THEN
|
||||
MOVE HIGH-VALUE TO ERR-BLN
|
||||
MOVE "mois de naissance." TO ERR-NM.
|
||||
* Contr<74>le sur type code mois de naissance
|
||||
MOISNAISSANCETYPE.
|
||||
IF CD-MS-NSSNC IS NOT NUMERIC THEN
|
||||
MOVE HIGH-VALUE TO ERR-BLN
|
||||
MOVE "ann<6E>e de naissance non num<75>rique." TO ERR-NM.
|
||||
|
||||
* Contr<74>le sur d<>partement
|
||||
DEPARTEMENT.
|
||||
IF CD-DPRTMNT EQUAL TO "2A" THEN
|
||||
MOVE "19" TO CD-DPRTMNT
|
||||
IF CD-DPRTMNT EQUAL TO "2B" THEN
|
||||
MOVE "18" TO CD-DPRTMNT
|
||||
IF (CD-DPRTMNT EQUAL TO "96" OR CD-DPRTMNT EQUAL TO 0)
|
||||
THEN
|
||||
MOVE HIGH-VALUE TO ERR-BLN
|
||||
MOVE "mauvais d<>partement".
|
||||
* Contr<74>le sur type code d<>partement
|
||||
DEPARTEMENTTYPE.
|
||||
IF CD-DPRTMNT IS NOT NUMERIC THEN
|
||||
MOVE HIGH-VALUE TO ERR-BLN
|
||||
MOVE
|
||||
|
||||
|
||||
* Affichage du r<>sultat
|
||||
RESULTAT SECTION.
|
||||
|
||||
* Affichage de l'erreur
|
||||
ERREUR.
|
||||
IF ERR-BLN EQUAL TO HIGH-VALUE THEN
|
||||
DISPLAY "Erreur sur : " ERR-NM
|
||||
ELSE
|
||||
DISPLAY "Aucune erreur.".
|
||||
STOP RUN.
|
BIN
P5B/cobol/exercices/insee.so
Normal file
BIN
P5B/cobol/exercices/insee.so
Normal file
Binary file not shown.
BIN
P5B/cobol/exercices/mult
Normal file
BIN
P5B/cobol/exercices/mult
Normal file
Binary file not shown.
24
P5B/cobol/exercices/mult.cbl
Normal file
24
P5B/cobol/exercices/mult.cbl
Normal file
@ -0,0 +1,24 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. mult.
|
||||
AUTHOR. GR.
|
||||
* Ce programme effectue la multiplication de 2 entiers
|
||||
*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
77 Num1 PIC 999 VALUE ZERO.
|
||||
77 Num2 PIC 999 VALUE ZERO.
|
||||
77 Res PIC Z(5)9.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
PROGRAMME SECTION.
|
||||
P1.
|
||||
DISPLAY "Taper le 1er nombre (<999) : " WITH NO ADVANCING.
|
||||
ACCEPT Num1.
|
||||
DISPLAY "Taper le second nombre : " WITH NO ADVANCING.
|
||||
ACCEPT Num2.
|
||||
MULTIPLY Num1 BY Num2 GIVING Res.
|
||||
DISPLAY "R<>sultat = " Res.
|
||||
STOP RUN.
|
BIN
P5B/cobol/exercices/multpl
Normal file
BIN
P5B/cobol/exercices/multpl
Normal file
Binary file not shown.
64
P5B/cobol/exercices/multpl.cbl
Normal file
64
P5B/cobol/exercices/multpl.cbl
Normal file
@ -0,0 +1,64 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. multpl.
|
||||
AUTHOR. OD.
|
||||
*----------------------------------------------------------------*
|
||||
* PROGRAMME *
|
||||
* VERIFICATION NOMBRE MULTIPLE D'UN AUTRE +1 *
|
||||
*----------------------------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
|
||||
DATA DIVISION.
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* Nombre de d<>part
|
||||
77 NBR-DPRT PICTURE 99 VALUE ZERO.
|
||||
* Nombre à tester
|
||||
77 NBR-TEST PICTURE 99 VALUE ZERO.
|
||||
* Resultat dans la division euclidienne
|
||||
77 DV-ECLDN PICTURE 99 VALUE ZERO.
|
||||
* Reste dans la division euclidienne par 2
|
||||
77 RST PICTURE 9 VALUE ZERO.
|
||||
* Nombre impair ou pas ? (simulation d'un bool<6F>en)
|
||||
77 NBR PICTURE 99 VALUE ZERO.
|
||||
88 MLTPL VALUE 1.
|
||||
* R<>sultat
|
||||
77 RSLTT PICTURE X(30).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*--------------------*
|
||||
* DEBUT DU PROGRAMME *
|
||||
*--------------------*
|
||||
|
||||
PROGRAMME SECTION.
|
||||
|
||||
DEBUT.
|
||||
PERFORM SAISIE.
|
||||
CORPS.
|
||||
PERFORM PARITE.
|
||||
FIN.
|
||||
DISPLAY RSLTT.
|
||||
STOP RUN.
|
||||
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez un chiffre de base : "
|
||||
WITH NO ADVANCING.
|
||||
ACCEPT NBR-DPRT.
|
||||
DISPLAY "Saisissez le chiffre suivant : "
|
||||
WITH NO ADVANCING.
|
||||
ACCEPT NBR-TEST.
|
||||
PERFORM VERIF.
|
||||
VERIF.
|
||||
DIVIDE NBR-TEST BY NBR-DPRT GIVING DV-ECLDN REMAINDER RST.
|
||||
DISPLAY "RESTE : " RST.
|
||||
IF (RST EQUAL TO 1) THEN
|
||||
MOVE 1 TO NBR.
|
||||
PARITE.
|
||||
IF (MLTPL) THEN
|
||||
MOVE "Le nombre est un multiple incrément<6E>de un"
|
||||
TO RSLTT
|
||||
ELSE MOVE "Le nombre n'est pas un multiple incr<63>ment
|
||||
- "<22> de un." TO RSLTT.
|
BIN
P5B/cobol/exercices/palind
Normal file
BIN
P5B/cobol/exercices/palind
Normal file
Binary file not shown.
BIN
P5B/cobol/exercices/palind.so
Normal file
BIN
P5B/cobol/exercices/palind.so
Normal file
Binary file not shown.
70
P5B/cobol/exercices/palind0.cbl
Normal file
70
P5B/cobol/exercices/palind0.cbl
Normal file
@ -0,0 +1,70 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. palind.
|
||||
AUTHOR. OD.
|
||||
*-------------------------------------------*
|
||||
* PROGRAMME DE VERIFICATION D'UN PALINDROME *
|
||||
*-------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
77 MOT PICTURE X(255) VALUE SPACE.
|
||||
77 RESULTAT PICTURE X(30) VALUE SPACE.
|
||||
77 DEBUT-MOT PICTURE 99 VALUE 1.
|
||||
77 FIN-MOT PICTURE 99 VALUE 29.
|
||||
77 LETTRE PICTURE X VALUE SPACE.
|
||||
77 VALIDE PICTURE 9 VALUE 1.
|
||||
88 CORRECT VALUE 1.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*NOM DU PROGRAMME
|
||||
PRINCIPAL SECTION.
|
||||
|
||||
DEBUT.
|
||||
PERFORM SAISIE.
|
||||
CORPS.
|
||||
PERFORM TRAITEMENT.
|
||||
FIN.
|
||||
DISPLAY RESULTAT.
|
||||
DISPLAY "FIN DU TRAITEMENT".
|
||||
STOP RUN.
|
||||
|
||||
*SAISIE DU MOT
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez une phrase : " WITH NO ADVANCING.
|
||||
ACCEPT MOT.
|
||||
*------*
|
||||
* TEST *
|
||||
*------*
|
||||
DISPLAY MOT.
|
||||
|
||||
*TRAITEMENT DE LA PHRASE
|
||||
TRAITEMENT SECTION.
|
||||
TRAITER.
|
||||
PERFORM PARCOURIR UNTIL VALIDE IS NOT EQUAL TO 1.
|
||||
|
||||
*PARCOURS DE LA CHAINE DE CARACT<43>RE, ET LONGUEUR DE CELLE CI
|
||||
PARCOURIR.
|
||||
MOVE ZERO TO VALIDE.
|
||||
DISPLAY DEBUT-MOT.
|
||||
DISPLAY FIN-MOT.
|
||||
MOVE 1 TO VALIDE.
|
||||
* IF (MOT(DEBUT-MOT:1) EQUAL TO SPACE) THEN
|
||||
* ADD 1 TO DEBUT-MOT
|
||||
* END-IF.
|
||||
* MOVE MOT(FIN-MOT:1) TO LETTRE.
|
||||
* PERFORM CAL-CHFFRE UNTIL LETTRE NOT EQUAL TO SPACE.
|
||||
* IF (MOT(DEBUT-MOT:1) EQUAL TO MOT(FIN-MOT:1))
|
||||
* MOVE 1 TO VALIDE
|
||||
* END-IF.
|
||||
|
||||
*CALCUL DU CHIFFRE DE LA LETTRE <20> COMPARER
|
||||
CAL-CHFFRE.
|
||||
IF (MOT(FIN-MOT:1) EQUAL TO SPACE) THEN
|
||||
SUBTRACT 1 FROM FIN-MOT
|
||||
END-IF.
|
BIN
P5B/cobol/exercices/palind1
Normal file
BIN
P5B/cobol/exercices/palind1
Normal file
Binary file not shown.
90
P5B/cobol/exercices/palind1.cbl
Normal file
90
P5B/cobol/exercices/palind1.cbl
Normal file
@ -0,0 +1,90 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. palind.
|
||||
AUTHOR. OD.
|
||||
*-------------------------------------------*
|
||||
* PROGRAMME DE VERIFICATION D'UN PALINDROME *
|
||||
*-------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* MOT DONNE PAR L'UTILISATEUR
|
||||
77 MT-UTIL PICTURE X(255) VALUE SPACE.
|
||||
* MOT SANS ESPACE
|
||||
77 MT-SS-SPC PICTURE X(255) VALUE SPACE.
|
||||
* MOT INVERSE
|
||||
77 MT-INV PICTURE X(255) VALUE SPACE.
|
||||
* RESULTAT DU PROGRAMME (ICI ON DIRA "CECI EST UN PALINDROME")
|
||||
* OU PAS)
|
||||
77 RESULTAT PICTURE X(30) VALUE SPACE.
|
||||
* BOOLEEN
|
||||
77 PLND PICTURE 9 VALUE ZERO.
|
||||
* 88 EST VALUE ZERO.
|
||||
* 88 ESTPAS VALUE 1.
|
||||
* CURSEURS
|
||||
* - CURSEUR-DEPART
|
||||
77 CRSR-DP PICTURE 999 VALUE 1.
|
||||
* - CURSEUR-ARRIVEE
|
||||
77 CRSR-RRV PICTURE 999 VALUE 1.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*NOM DU PROGRAMME
|
||||
PRINCIPAL SECTION.
|
||||
|
||||
DEBUT.
|
||||
PERFORM SAISIE.
|
||||
CORPS.
|
||||
PERFORM TRAITER.
|
||||
FIN.
|
||||
DISPLAY RESULTAT.
|
||||
DISPLAY "FIN DU TRAITEMENT".
|
||||
STOP RUN.
|
||||
|
||||
*SAISIE DU MOT
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez une phrase : " WITH NO ADVANCING.
|
||||
ACCEPT MT-UTIL.
|
||||
DISPLAY "MOT SAISI : " MT-UTIL.
|
||||
|
||||
*TRAITEMENT DE LA PHRASE
|
||||
TRAITEMENT SECTION.
|
||||
TRAITER.
|
||||
PERFORM SPPR-SPC UNTIL CRSR-DP EQUAL TO 255.
|
||||
MOVE 255 TO CRSR-DP.
|
||||
MOVE 1 TO CRSR-RRV.
|
||||
PERFORM COPIER UNTIL CRSR-DP EQUAL TO ZERO.
|
||||
PERFORM COMPARER.
|
||||
PERFORM DEDUIRE.
|
||||
|
||||
*SUPPRESSION DES ESPACES DU MOT DE DEPART
|
||||
SPPR-SPC.
|
||||
IF (MT-UTIL(CRSR-DP:1) NOT EQUAL TO SPACE) THEN
|
||||
STRING MT-UTIL(CRSR-DP:1) DELIMITED BY SIZE INTO
|
||||
MT-SS-SPC WITH POINTER CRSR-RRV.
|
||||
ADD 1 TO CRSR-DP.
|
||||
|
||||
*COPIE DE LA CHAINE DE DEPART VERS UNE CHAINE D'ARRIVEE
|
||||
COPIER.
|
||||
IF (MT-UTIL(CRSR-DP:1) NOT EQUAL TO SPACE) THEN
|
||||
STRING MT-UTIL(CRSR-DP:1) DELIMITED BY SIZE INTO MT-INV
|
||||
WITH POINTER CRSR-RRV.
|
||||
SUBTRACT 1 FROM CRSR-DP.
|
||||
|
||||
*COMPARAISON DE LA CHAINE DE CARACT<43>RE
|
||||
COMPARER.
|
||||
DISPLAY "MOT DEPART : " MT-SS-SPC.
|
||||
DISPLAY "MOT ARRIVEE : " MT-INV.
|
||||
IF (MT-SS-SPC EQUAL TO MT-INV) THEN
|
||||
MOVE 1 TO PLND
|
||||
ELSE MOVE ZERO TO PLND.
|
||||
|
||||
*DEDUCTION LOGIQUE DU RESULTAT
|
||||
DEDUIRE.
|
||||
IF (PLND EQUAL ZERO) THEN
|
||||
MOVE "CE N'EST PAS UN PALINDROME" TO RESULTAT
|
||||
ELSE MOVE "C'EST UN PALINDROME" TO RESULTAT.
|
91
P5B/cobol/exercices/palind2.cbl
Normal file
91
P5B/cobol/exercices/palind2.cbl
Normal file
@ -0,0 +1,91 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. palind.
|
||||
AUTHOR. OD.
|
||||
*-------------------------------------------*
|
||||
* PROGRAMME DE VERIFICATION D'UN PALINDROME *
|
||||
*-------------------------------------------*
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
DATA DIVISION.
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
*--------------------------*
|
||||
* DEFINITION DES VARIABLES *
|
||||
*--------------------------*
|
||||
* LE MOT DONNE PAR L'UTILISATEUR
|
||||
77 MOT PICTURE X(255) VALUE SPACE.
|
||||
* RESULTAT DU PROGRAMME (ICI ON DIRA "CECI EST UN PALINDROME")
|
||||
* OU PAS)
|
||||
77 RESULTAT PICTURE X(30) VALUE SPACE.
|
||||
* DEBUT-MOT ET DBUT-FIN SUBISSENT UNE INCREMENTATION
|
||||
* CE SONT LES CURSEURS
|
||||
77 DEBUT-MOT PICTURE 99 VALUE 1.
|
||||
77 FIN-MOT PICTURE 99 VALUE 30.
|
||||
* LETTREG CONTIENDRA UNE LETTRE DU MOT, CELLE COTE GAUCHE
|
||||
* LETTRED, CELLE COTE DROITE
|
||||
77 LETTREG PICTURE X VALUE SPACE.
|
||||
77 LETTRED PICTURE X VALUE SPACE.
|
||||
* DEFINITION DE QUELQUES VALEUR NUMERIQUES
|
||||
* POUR LES CONTROLES
|
||||
01 ETUDE-ENONCE.
|
||||
05 COMP-VALID PICTURE 9 VALUE 1.
|
||||
88 COMP-CORRECT VALUE 1.
|
||||
05 CARAC-DEB PICTURE 9 VALUE 1.
|
||||
88 CARACD-CORRECT VALUE 1.
|
||||
05 CARAC-FIN PICTURE 9 VALUE 1.
|
||||
88 CARACF-CORRECT VALUE 1.
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
*NOM DU PROGRAMME
|
||||
PRINCIPAL SECTION.
|
||||
|
||||
DEBUT.
|
||||
PERFORM SAISIE.
|
||||
CORPS.
|
||||
PERFORM TRAITER.
|
||||
FIN.
|
||||
DISPLAY RESULTAT.
|
||||
DISPLAY "FIN DU TRAITEMENT".
|
||||
STOP RUN.
|
||||
|
||||
*SAISIE DU MOT
|
||||
SAISIR SECTION.
|
||||
SAISIE.
|
||||
DISPLAY "Saisissez une phrase : " WITH NO ADVANCING.
|
||||
ACCEPT MOT.
|
||||
*------*
|
||||
* TEST *
|
||||
*------*
|
||||
DISPLAY MOT.
|
||||
|
||||
*TRAITEMENT DE LA PHRASE
|
||||
TRAITEMENT SECTION.
|
||||
TRAITER.
|
||||
PERFORM COMPARER UNTIL NOT COMP-CORRECT.
|
||||
*VALIDE IS NOT EQUAL TO 1.
|
||||
|
||||
*COMPARAISON DE LA CHAINE DE CARACT<43>RE
|
||||
COMPARER.
|
||||
DISPLAY DEBUT-MOT.
|
||||
DISPLAY FIN-MOT.
|
||||
* PERFORM PARCOURS-FIN UNTIL NOT CARACF-CORRECT.
|
||||
MOVE ZERO TO COMP-VALID.
|
||||
|
||||
*PARCOURS DE LA CHAINE DE FIN
|
||||
PARCOURS-FIN.
|
||||
DISPLAY "DERNIERE LETTRE DU MOT : " MOT(FIN-MOT:1).
|
||||
IF (MOT(FIN-MOT:1) EQUAL TO SPACE) THEN
|
||||
SUBTRACT 1 FROM FIN-MOT
|
||||
ELSE MOVE 1 TO CARAC-FIN
|
||||
END-IF.
|
||||
* MOVE MOT(FIN-MOT:1) TO LETTRE.
|
||||
* PERFORM CAL-CHFFRE UNTIL LETTRE NOT EQUAL TO SPACE.
|
||||
* IF (MOT(DEBUT-MOT:1) EQUAL TO MOT(FIN-MOT:1))
|
||||
* MOVE 1 TO VALIDE
|
||||
* END-IF.
|
||||
|
||||
*CALCUL DU CHIFFRE DE LA LETTRE <20> COMPARER
|
||||
CAL-CHFFRE.
|
||||
IF (MOT(FIN-MOT:1) EQUAL TO SPACE) THEN
|
||||
SUBTRACT 1 FROM FIN-MOT
|
||||
END-IF.
|
BIN
P5B/cobol/exercices/vehic
Normal file
BIN
P5B/cobol/exercices/vehic
Normal file
Binary file not shown.
138
P5B/cobol/exercices/vehic.cbl
Normal file
138
P5B/cobol/exercices/vehic.cbl
Normal file
@ -0,0 +1,138 @@
|
||||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. vehic.
|
||||
AUTHOR. OD.
|
||||
***---------------------------------------------------------------
|
||||
ENVIRONMENT DIVISION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT ARTICLES ASSIGN TO "$fichier"
|
||||
ORGANIZATION IS INDEXED
|
||||
RECORD KEY IS MTRCL
|
||||
ALTERNATE RECORD KEY IS NO-SMN WITH DUPLICATES
|
||||
ALTERNATE RECORD KEY IS RSLT WITH DUPLICATES
|
||||
FILE STATUS VAL-ERREUR.
|
||||
***---------------------------------------------------------------
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD ARTICLES.
|
||||
* STRUCTURE FOURNIE DANS L'EXERCICE
|
||||
01 VHCL.
|
||||
05 INDICATIF.
|
||||
10 MTRCL PIC X(8).
|
||||
10 NO-SMN PIC 99.
|
||||
05 FILLER PIC X(8).
|
||||
05 RSLT OCCURS 7.
|
||||
10 KM PIC 9(4) VALUE ZERO.
|
||||
10 FRS PIC 9(4)V99 VALUE ZERO.
|
||||
WORKING-STORAGE SECTION.
|
||||
* VALEUR DE L'ERREUR POTENTIELLE DE TRAITEMENT DU FICHIER
|
||||
77 VAL-ERREUR PIC 99 VALUE ZERO.
|
||||
* VALEUR ENTR<54>E POUR LE CHOIX DU MENU
|
||||
77 VAL-MENU PIC X.
|
||||
88 MENU-O VALUE "O" "o".
|
||||
88 MENU-N VALUE "N" "n".
|
||||
88 MENU-UN VALUE "1".
|
||||
88 MENU-DX VALUE "2".
|
||||
88 MENU-TRS VALUE "3".
|
||||
88 MENU-QTR VALUE "4".
|
||||
88 MENU-QTT VALUE "0".
|
||||
* LA SEMAINE !
|
||||
01 SEMAINES.
|
||||
05 FILLER PIC X(8) VALUE "LUNDI".
|
||||
05 FILLER PIC X(8) VALUE "MARDI".
|
||||
05 FILLER PIC X(8) VALUE "MERCREDI".
|
||||
05 FILLER PIC X(8) VALUE "JEUDI".
|
||||
05 FILLER PIC X(8) VALUE "VENDREDI".
|
||||
05 FILLER PIC X(8) VALUE "SAMEDI".
|
||||
05 FILLER PIC X(8) VALUE "DIMANCHE".
|
||||
01 SEM-T REDEFINES SEMAINES.
|
||||
05 JOURS PIC X(8) OCCURS 7.
|
||||
77 ITERATION PIC 9 VALUE 1.
|
||||
* SAISIE DE L'UTILISATEUR POUR LE MATRICULE
|
||||
77 SAIS-MTRCL PIC X(8) VALUE "0000XX00".
|
||||
* SAISIE DE L'UTILISATEUR POUR LE NUMERO DE SEMAINE
|
||||
77 SAIS-NO-SMN PIC 99 VALUE 00.
|
||||
* SAISIE DE L'UTILISATEUR POUR LE NOMBRE DE KILOMETRES
|
||||
77 SAIS-KM PIC 9(4) VALUE ZERO.
|
||||
* SAISIE DE L'UTILISATEUR POUR LES FRAIS
|
||||
77 SAIS-FRS PIC 9(4)V99 VALUE ZERO.
|
||||
* UTILISATION D'UN ESPACE VIDE POUR L'ENREGISTREMENT
|
||||
77 SAIS-VIDE PIC X(8) VALUE SPACE.
|
||||
***---------------------------------------------------------------
|
||||
PROCEDURE DIVISION.
|
||||
*
|
||||
* SECTION PRINCIPAL, APPEL<45>E PROGRAMME
|
||||
*
|
||||
PROGRAMME SECTION.
|
||||
INIT.
|
||||
OPEN I-O ARTICLES.
|
||||
DISPLAY VAL-ERREUR.
|
||||
CORPS.
|
||||
PERFORM MENU-DPRT UNTIL MENU-N.
|
||||
FIN.
|
||||
CLOSE ARTICLES.
|
||||
DISPLAY "PROGRAMME TERMINE !".
|
||||
STOP RUN.
|
||||
|
||||
*
|
||||
* PERMET L'AFFICHAGE DU MENU
|
||||
*
|
||||
MENU SECTION.
|
||||
MENU-DPRT.
|
||||
DISPLAY "PROCEDER <20> UN TRAITEMENT ? (o/n) : "
|
||||
WITH NO ADVANCING.
|
||||
ACCEPT VAL-MENU.
|
||||
IF MENU-O THEN
|
||||
PERFORM MENU-AFFICHE.
|
||||
|
||||
MENU-AFFICHE.
|
||||
DISPLAY "(1) - CONSULTER UN ARTICLE DONNE".
|
||||
DISPLAY "(2) - AJOUT D'UN ARTICLE".
|
||||
DISPLAY "(3) - CALCUL DU PRIX DE REVIENT".
|
||||
DISPLAY "(4) - SEMAINE O<> PLUS ROUL<55>".
|
||||
DISPLAY "(0) - QUITTER".
|
||||
DISPLAY "VOTRE CHOIX : " WITH NO ADVANCING.
|
||||
ACCEPT VAL-MENU.
|
||||
IF MENU-UN THEN PERFORM CONSULTATION
|
||||
ELSE IF MENU-DX THEN PERFORM AJOUT
|
||||
ELSE IF MENU-TRS THEN PERFORM CALCUL
|
||||
ELSE IF MENU-QTR THEN PERFORM ROULE
|
||||
ELSE IF MENU-QTT THEN PERFORM FIN.
|
||||
|
||||
*
|
||||
* PERMET LA CONSULTATION D'UN ARTICLE
|
||||
*
|
||||
CONSULTER SECTION.
|
||||
CONSULTATION.
|
||||
|
||||
*
|
||||
* PERMET L'AJOUT D'UN ARTICLE
|
||||
*
|
||||
AJOUTER SECTION.
|
||||
AJOUT.
|
||||
DISPLAY "NUMERO DE SEMAINE : " WITH NO ADVANCING.
|
||||
ACCEPT NO-SMN.
|
||||
DISPLAY "IMMATRICULATION : " WITH NO ADVANCING.
|
||||
ACCEPT MTRCL.
|
||||
PERFORM AJOUT-SEM UNTIL ITERATION EQUAL TO 8.
|
||||
WRITE VHCL.
|
||||
AJOUT-SEM.
|
||||
DISPLAY JOURS(ITERATION).
|
||||
DISPLAY "KILOMETRAGE : " WITH NO ADVANCING.
|
||||
ACCEPT KM(ITERATION).
|
||||
DISPLAY "FRAIS : " WITH NO ADVANCING.
|
||||
ACCEPT FRS(ITERATION).
|
||||
ADD 1 TO ITERATION.
|
||||
|
||||
*
|
||||
* PERMET LE CALCUL DU PRIX DE REVIENT KILOM<4F>TRIQUE DEPUIS LE D<>BUT
|
||||
* D'ANN<4E>E
|
||||
*
|
||||
CALCULER SECTION.
|
||||
CALCUL.
|
||||
|
||||
*
|
||||
* PERMET DE TROUVER LA SEMAINE O<> UN V<>HICULE A LE PLUS ROUL<55>
|
||||
*
|
||||
ROULER SECTION.
|
||||
ROULE.
|
BIN
P5B/cobol/exercices/vehic.dat
Normal file
BIN
P5B/cobol/exercices/vehic.dat
Normal file
Binary file not shown.
BIN
P5B/cobol/exercices/vehic.dat.1
Normal file
BIN
P5B/cobol/exercices/vehic.dat.1
Normal file
Binary file not shown.
BIN
P5B/cobol/exercices/vehic.dat.2
Normal file
BIN
P5B/cobol/exercices/vehic.dat.2
Normal file
Binary file not shown.
BIN
P5B/cobol/exercices/vehic2
Normal file
BIN
P5B/cobol/exercices/vehic2
Normal file
Binary file not shown.
40
P5B/cobol/exercices/vehic2.cbl
Normal file
40
P5B/cobol/exercices/vehic2.cbl
Normal file
@ -0,0 +1,40 @@
|
||||
identification division.
|
||||
program-id. vehic2.
|
||||
author. od.
|
||||
environment division.
|
||||
input-output section.
|
||||
file-control.
|
||||
select articles assign to "$fichier"
|
||||
organization is indexed
|
||||
record key is mtrcl
|
||||
alternate record key is no-smn with duplicates
|
||||
alternate record key is rslt with duplicates
|
||||
file status val-erreur.
|
||||
***---------------------------------------------------------------
|
||||
data division.
|
||||
file section.
|
||||
fd articles.
|
||||
* structure fournie dans l'exercice
|
||||
01 vhcl.
|
||||
05 indicatif.
|
||||
10 mtrcl pic x(8).
|
||||
10 no-smn pic 99.
|
||||
05 filler pic x(8).
|
||||
05 rslt occurs 7.
|
||||
10 km pic 9(4) value zero.
|
||||
10 frs pic 9(4)v99 value zero.
|
||||
working-storage section.
|
||||
77 val-erreur pic 99 value zero.
|
||||
77 enregistrement pic x(88) value zero.
|
||||
procedure division.
|
||||
programme section.
|
||||
init.
|
||||
open input articles.
|
||||
display val-erreur.
|
||||
corps.
|
||||
read articles.
|
||||
display mtrcl.
|
||||
fin.
|
||||
close articleS.
|
||||
display "fin de traitement".
|
||||
stop run.
|
Reference in New Issue
Block a user