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.
|