cours0708/P5B1/multpl.cbl

65 lines
2.0 KiB
Plaintext
Raw Normal View History

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.