10: Solve in COBOL
This commit is contained in:
parent
668630b712
commit
e1f6dec6c7
|
@ -0,0 +1,81 @@
|
|||
IDENTIFICATION DIVISION.
|
||||
PROGRAM-ID. AOC22D10.
|
||||
|
||||
ENVIRONMENT DIVISION.
|
||||
INPUT-OUTPUT SECTION.
|
||||
FILE-CONTROL.
|
||||
SELECT INPUT-FILE ASSIGN TO 'input'
|
||||
ORGANIZATION IS LINE SEQUENTIAL
|
||||
ACCESS IS SEQUENTIAL.
|
||||
|
||||
DATA DIVISION.
|
||||
FILE SECTION.
|
||||
FD INPUT-FILE.
|
||||
01 INPUT-RECORD PIC A(16).
|
||||
|
||||
WORKING-STORAGE SECTION.
|
||||
01 INSTRUCTION.
|
||||
05 INS PIC A(5).
|
||||
05 VAL PIC S9(10).
|
||||
01 CLOCK PIC 9(10) VALUE 1 USAGE IS COMP.
|
||||
01 BUSY PIC 9(10) USAGE IS COMP.
|
||||
01 X PIC S9(10) VALUE 1 USAGE IS COMP.
|
||||
01 RESULT PIC 9(10) USAGE IS COMP.
|
||||
01 RESULT-F PIC Z(10).
|
||||
|
||||
PROCEDURE DIVISION.
|
||||
START-ROUTINE.
|
||||
OPEN INPUT INPUT-FILE.
|
||||
|
||||
DISPLAY 'Gold:'.
|
||||
DISPLAY ' ' WITH NO ADVANCING.
|
||||
|
||||
READ-ROUTINE.
|
||||
MOVE SPACES TO INPUT-RECORD.
|
||||
MOVE SPACES TO INSTRUCTION.
|
||||
READ INPUT-FILE AT END GO TO END-ROUTINE.
|
||||
UNSTRING INPUT-RECORD DELIMITED BY SPACE
|
||||
INTO INS, VAL.
|
||||
|
||||
IF INS = 'addx' THEN
|
||||
SET BUSY TO 2
|
||||
ELSE
|
||||
SET BUSY TO 1
|
||||
END-IF.
|
||||
PERFORM EXECUTION UNTIL BUSY = 0
|
||||
|
||||
IF INS = 'addx' THEN
|
||||
ADD VAL TO X.
|
||||
|
||||
GO TO READ-ROUTINE.
|
||||
|
||||
EXECUTION.
|
||||
IF FUNCTION REM(CLOCK - 20, 40) = 0 THEN
|
||||
COMPUTE RESULT = RESULT + CLOCK * X
|
||||
END-IF.
|
||||
|
||||
IF FUNCTION REM(CLOCK - 1, 40) IS
|
||||
GREATER THAN OR EQUAL TO X - 1 AND
|
||||
FUNCTION REM(CLOCK - 1, 40) IS
|
||||
LESS THAN OR EQUAL TO X + 1 THEN
|
||||
DISPLAY '#' WITH NO ADVANCING
|
||||
ELSE
|
||||
DISPLAY '.' WITH NO ADVANCING
|
||||
END-IF.
|
||||
|
||||
IF FUNCTION REM(CLOCK, 40) EQUALS 0 THEN
|
||||
DISPLAY ' '
|
||||
DISPLAY ' ' WITH NO ADVANCING
|
||||
END-IF.
|
||||
|
||||
SUBTRACT 1 FROM BUSY.
|
||||
ADD 1 TO CLOCK.
|
||||
|
||||
END-ROUTINE.
|
||||
CLOSE INPUT-FILE.
|
||||
MOVE RESULT TO RESULT-F.
|
||||
DISPLAY ' '.
|
||||
DISPLAY 'Silver: 'RESULT-F.
|
||||
STOP RUN.
|
||||
|
||||
END PROGRAM AOC22D10.
|
|
@ -0,0 +1,144 @@
|
|||
noop
|
||||
addx 33
|
||||
addx -30
|
||||
noop
|
||||
noop
|
||||
addx 7
|
||||
addx 1
|
||||
noop
|
||||
noop
|
||||
addx 3
|
||||
addx 3
|
||||
addx 3
|
||||
addx -4
|
||||
addx 5
|
||||
addx 2
|
||||
noop
|
||||
addx 7
|
||||
noop
|
||||
addx 1
|
||||
addx 4
|
||||
noop
|
||||
addx 1
|
||||
addx -38
|
||||
noop
|
||||
addx 16
|
||||
addx -13
|
||||
addx 2
|
||||
addx 7
|
||||
noop
|
||||
addx -2
|
||||
addx -10
|
||||
addx 17
|
||||
addx -5
|
||||
addx 10
|
||||
noop
|
||||
addx -15
|
||||
addx 16
|
||||
addx 2
|
||||
noop
|
||||
noop
|
||||
addx 7
|
||||
addx 3
|
||||
addx -2
|
||||
addx 2
|
||||
addx 5
|
||||
addx -38
|
||||
addx 7
|
||||
addx -6
|
||||
addx 2
|
||||
noop
|
||||
addx 7
|
||||
noop
|
||||
addx 1
|
||||
addx 4
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx 3
|
||||
noop
|
||||
addx 3
|
||||
addx 2
|
||||
noop
|
||||
addx 7
|
||||
noop
|
||||
addx -20
|
||||
addx 21
|
||||
addx 3
|
||||
addx 1
|
||||
addx -35
|
||||
addx 1
|
||||
addx 4
|
||||
noop
|
||||
addx 31
|
||||
noop
|
||||
addx -26
|
||||
addx 5
|
||||
noop
|
||||
noop
|
||||
addx -2
|
||||
addx 25
|
||||
addx -18
|
||||
addx -13
|
||||
addx 14
|
||||
addx 2
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
addx 6
|
||||
addx 1
|
||||
addx 5
|
||||
addx 3
|
||||
addx -2
|
||||
addx -38
|
||||
addx 24
|
||||
addx -17
|
||||
addx 5
|
||||
noop
|
||||
noop
|
||||
addx -2
|
||||
addx 31
|
||||
addx -24
|
||||
addx 7
|
||||
addx -10
|
||||
addx 6
|
||||
noop
|
||||
addx 3
|
||||
addx 2
|
||||
noop
|
||||
noop
|
||||
addx 7
|
||||
addx -2
|
||||
addx -26
|
||||
addx 31
|
||||
addx 5
|
||||
addx -40
|
||||
addx 5
|
||||
addx 33
|
||||
addx -31
|
||||
noop
|
||||
addx 1
|
||||
addx 4
|
||||
addx 1
|
||||
addx 4
|
||||
addx 20
|
||||
noop
|
||||
noop
|
||||
addx -14
|
||||
addx -1
|
||||
addx 5
|
||||
noop
|
||||
noop
|
||||
addx 1
|
||||
addx 2
|
||||
noop
|
||||
noop
|
||||
addx 7
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
noop
|
||||
noop
|
Loading…
Reference in New Issue