読者です 読者をやめる 読者になる 読者になる

COBOL技術者の憂鬱

COBOLプログラマは不在にしています

FizzBuzz問題

どうしてプログラマに・・・プログラムが書けないのか?

またまた妙なものが流行っているようなので、ついつい自分も手を出してしまいました。

IDENTIFICATION  DIVISION.
PROGRAM-ID.     FizzBuzz.
DATA            DIVISION.
WORKING-STORAGE SECTION.
01 IX           PIC 9(03).
01 TBL-ALL.
   05 TBL       PIC X(08) OCCURS 100.
PROCEDURE    DIVISION.
MOVE SPACE TO TBL-ALL
PERFORM WITH TEST BEFORE VARYING IX FROM 3 BY 3 UNTIL IX > 100
  MOVE 'Fizz    ' TO TBL(IX)
END-PERFORM
PERFORM WITH TEST BEFORE VARYING IX FROM 5 BY 5 UNTIL IX > 100
  IF TBL(IX) = 'Fizz    '
    MOVE 'FizzBuzz' TO TBL(IX)
  ELSE
    MOVE 'Buzz    ' TO TBL(IX) 
  END-IF
END-PERFORM
PERFORM WITH TEST BEFORE VARYING IX FROM 1 BY 1 UNTIL IX > 100
  IF TBL(IX) = SPACE
    DISPLAY IX
  ELSE
    DISPLAY TBL(IX)
  END-IF
END-PERFORM
STOP RUN.

シンタックス・ハイライトがCOBOLに対応していることに感動しつつ、5分程度で書きました。
さてと、テストテスト・・あれ、コンパイラは?


ちなみに、COBOLで書く人なんているのかなぁと思って探してみたら、いらっしゃいました。
人によって結構、違ってくるもんなんですね。


COBOL DE 回答
FizzBuzzって何のことかわかりますか?:一般システムエンジニアの刻苦勉励:ITmedia オルタナティブ・ブログ


ちなみに私は割り算恐怖症なので、絶対に割り算にだけは手を出しません。
コンピューターって、計算機なのにね。なにやらせてんだか。