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 オルタナティブ・ブログ
ちなみに私は割り算恐怖症なので、絶対に割り算にだけは手を出しません。
コンピューターって、計算機なのにね。なにやらせてんだか。