C’est très simple. Voici des exemples utilisant le MIN/MAX :
Exemple 1
IDENTIFICATION DIVISION.
PROGRAM-ID. MAXMIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-MAX PIC 9(2) VALUE 0.
05 WS-MIN PIC 9(2) VALUE 99.
05 WS-I PIC 9(2) VALUE 0.
05 WS-TAB VALUE "1915664112".
10 WS-ELE PIC 9(2) OCCURS 5 TIMES.
PROCEDURE DIVISION.
PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 5
IF WS-ELE (WS-I) > WS-MAX
MOVE WS-ELE (WS-I) TO WS-MAX
END-IF
IF WS-ELE (WS-I) < WS-MIN
MOVE WS-ELE (WS-I) TO WS-MIN
END-IF
END-PERFORM.
DISPLAY 'Le nombre le plus élevé est : ' WS-MAX.
DISPLAY 'Le plus petit nombre est : ' WS-MIN.
STOP RUN.
Ci-dessous le résultat :
Le nombre le plus élevé est : 66
Le plus petit nombre est : 12
Exemple 2
IDENTIFICATION DIVISION.
PROGRAM-ID. MAXMIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-MAX PIC 9(2) VALUE 0.
05 WS-MIN PIC 9(2) VALUE 99.
05 WS-I PIC 9(2) VALUE 0.
05 WS-TAB VALUE "19150141121999664112".
10 WS-ELE PIC 9(2) OCCURS 10 TIMES.
PROCEDURE DIVISION.
PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 10
IF WS-ELE (WS-I) > WS-MAX
MOVE WS-ELE (WS-I) TO WS-MAX
END-IF
IF WS-ELE (WS-I) < WS-MIN
MOVE WS-ELE (WS-I) TO WS-MIN
END-IF
END-PERFORM.
DISPLAY 'Le nombre le plus élevé est : ' WS-MAX.
DISPLAY 'Le plus petit nombre est : ' WS-MIN.
STOP RUN.
Ci-dessous le résultat :
Le nombre le plus élevé est : 99
Le plus petit nombre est : 01
Exemple 3
IDENTIFICATION DIVISION.
PROGRAM-ID. MAXMIN.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-AUXILIARES.
05 WS-MAX PIC 9(3) VALUE 0.
05 WS-MIN PIC 9(3) VALUE 99.
05 WS-I PIC 9(3) VALUE 0.
05 WS-TAB VALUE "191152013414125196997668419128".
10 WS-ELE PIC 9(3) OCCURS 10 TIMES.
PROCEDURE DIVISION.
PERFORM VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 10
IF WS-ELE (WS-I) > WS-MAX
MOVE WS-ELE (WS-I) TO WS-MAX
END-IF
IF WS-ELE (WS-I) < WS-MIN
MOVE WS-ELE (WS-I) TO WS-MIN
END-IF
END-PERFORM.
DISPLAY 'Le nombre le plus élevé est : ' WS-MAX.
DISPLAY 'Le plus petit nombre est : ' WS-MIN.
STOP RUN.
Ci-dessous le résultat :
Le nombre le plus élevé est : 997
Le plus petit nombre est : 013