un-inception/test/fib.cob
Russell Ballestrini 2b35819393 Initial commit: 42 UN CLI implementations
Unsandbox CLI implementations in 42 programming languages for the
permacomputer project. Public domain software for code execution
across all ecosystems.

Languages: Python, JavaScript, Ruby, Go, Rust, C, C++, Java, Kotlin,
C#, F#, Haskell, OCaml, Clojure, Scheme, Common Lisp, Erlang, Elixir,
D, Nim, Zig, V, Dart, Groovy, Scala, Julia, R, Crystal, Fortran,
COBOL, Prolog, Forth, Tcl, Raku, Lua, PHP, Perl, Bash, TypeScript,
Objective-C, PowerShell, AWK

Includes test suites and service lifecycle tests.
2025-12-23 09:57:08 -05:00

32 lines
991 B
COBOL

IDENTIFICATION DIVISION.
PROGRAM-ID. FIBONACCI.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 99 VALUE 0.
01 J PIC 99 VALUE 0.
01 N-STR PIC X(4).
01 VAL-STR PIC X(4).
01 FIB-ARRAY.
05 FIB-VALS PIC 9999 OCCURS 11 TIMES.
PROCEDURE DIVISION.
MAIN-LOGIC.
MOVE 0 TO FIB-VALS(1).
MOVE 1 TO FIB-VALS(2).
PERFORM VARYING I FROM 3 BY 1 UNTIL I > 11
COMPUTE FIB-VALS(I) = FIB-VALS(I - 1) + FIB-VALS(I - 2)
END-PERFORM.
PERFORM VARYING J FROM 1 BY 1 UNTIL J > 11
COMPUTE I = J - 1
MOVE I TO N-STR
INSPECT N-STR REPLACING LEADING "0" BY " "
MOVE FIB-VALS(J) TO VAL-STR
INSPECT VAL-STR REPLACING LEADING "0" BY " "
DISPLAY "fib(" FUNCTION TRIM(N-STR) ") = "
FUNCTION TRIM(VAL-STR)
END-PERFORM.
STOP RUN.