IDENTIFICATION DIVISION. PROGRAM-ID. HPRO-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 14/04/99. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 SCHACHBRETT VALUE ZEROES. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 1. PROCEDURE DIVISION. DISPLAY SPACE UPON CRT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "UP-SPAL2" USING SCHACHBRETT MOVE 0 TO SPALTE(ZSUB, SSUB) END-PERFORM. STOP RUN. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO-SCHACH-PRUEF. AUTHOR. DANIEL-HEINRICH. DATE. 14/04/99. ENVIRONMENT DIVISION. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 Z-O-SUB PIC 9 VALUE ZERO. 01 Z-U-SUB PIC 9 VALUE ZERO. 01 S-O-SUB PIC 9 VALUE ZERO. 01 S-U-SUB PIC 9 VALUE ZERO. 01 S-HILF-SUB PIC 9 VALUE ZERO. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. 01 OK PIC 9. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE ZERO. PROCEDURE DIVISION USING SCHACHBRETT ZSUB SSUB OK. VORLAUF. MOVE 0 TO OK MOVE ZSUB TO Z-O-SUB, Z-U-SUB MOVE SSUB TO S-O-SUB, S-U-SUB. PRUEF1. PERFORM VARYING S-HILF-SUB FROM 1 BY 1 UNTIL S-HILF-SUB = SSUB IF FELD(ZSUB, S-HILF-SUB) = 1 THEN MOVE 1 TO OK PERFORM ENDE END-IF END-PERFORM. PRUEF2. PERFORM UNTIL Z-O-SUB = 1 OR S-O-SUB = 1 COMPUTE Z-O-SUB = Z-O-SUB - 1 COMPUTE S-O-SUB = S-O-SUB - 1 IF FELD(Z-O-SUB, S-O-SUB) = 1 THEN MOVE 1 TO OK PERFORM ENDE END-IF END-PERFORM. PRUEF3. PERFORM UNTIL Z-U-SUB = 8 OR S-U-SUB = 1 COMPUTE Z-U-SUB = Z-U-SUB + 1 COMPUTE S-U-SUB = S-U-SUB - 1 IF FELD(Z-U-SUB, S-U-SUB) = 1 THEN MOVE 1 TO OK PERFORM ENDE END-IF END-PERFORM. ENDE. EXIT PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO1-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 14/04/99. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 2. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN CALL "UP-SPAL3" USING SCHACHBRETT END-IF MOVE 0 TO SPALTE(ZSUB, SSUB) END-PERFORM. EXIT-PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO2-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 13/04/99. ****************************************************************** *Unterprogramm: 8-Damen Problem ****************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 3. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN CALL "UP-SPAL4" USING SCHACHBRETT END-IF MOVE 0 TO SPALTE (ZSUB, SSUB) END-PERFORM. ENDE. EXIT-PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO3-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 13/04/99. ****************************************************************** *Unterprogramm: 8-Damen Problem ****************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 4. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN CALL "UP-SPAL5" USING SCHACHBRETT END-IF MOVE 0 TO SPALTE (ZSUB, SSUB) END-PERFORM. ENDE. EXIT-PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO4-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 13/04/99. ****************************************************************** *Unterprogramm: 8-Damen Problem ****************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 5. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN CALL "UP-SPAL6" USING SCHACHBRETT END-IF MOVE 0 TO SPALTE (ZSUB, SSUB) END-PERFORM. ENDE. EXIT-PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO5-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 13/04/99. ****************************************************************** *Unterprogramm: 8-Damen Problem ****************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 6. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN CALL "UP-SPAL7" USING SCHACHBRETT END-IF MOVE 0 TO SPALTE (ZSUB, SSUB) END-PERFORM. ENDE. EXIT-PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO6-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 13/04/99. ****************************************************************** *Unterprogramm: 8-Damen Problem ****************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 7. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN CALL "UP-SPAL8" USING SCHACHBRETT END-IF MOVE 0 TO SPALTE (ZSUB, SSUB) END-PERFORM. ENDE. EXIT-PROGRAM. |
IDENTIFICATION DIVISION. PROGRAM-ID. UPRO7-SCHACH. AUTHOR. DANIEL-HEINRICH. DATE. 13/04/99. ****************************************************************** *Unterprogramm: 8-Damen Problem ****************************************************************** ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 OK PIC 9 VALUE ZERO. 01 ZSUB PIC 9 VALUE ZERO. 01 SSUB PIC 9 VALUE 8. *01 UEB PIC X(8) VALUE (ABCDEFGH). 01 ZAEHLER PIC 9(5) VALUE ZERO. LINKAGE SECTION. 01 SCHACHBRETT. 02 ZEILE OCCURS 8. 03 SPALTE OCCURS 8. 04 FELD PIC 9. PROCEDURE DIVISION USING SCHACHBRETT. PERFORM VARYING ZSUB FROM 1 BY 1 UNTIL ZSUB > 8 MOVE 1 TO SPALTE(ZSUB, SSUB) CALL "PRUEFUNG" USING SCHACHBRETT ZSUB SSUB OK IF OK = 0 THEN ADD 1 TO ZAEHLER DISPLAY ZAEHLER AT 0101 END-IF MOVE 0 TO SPALTE (ZSUB, SSUB) END-PERFORM. ENDE. EXIT-PROGRAM. |