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