実例4 (Fizz Buzz)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/17 23:55 UTC 版)
「COBOL」の記事における「実例4 (Fizz Buzz)」の解説
000100 IDENTIFICATION DIVISION.000200 PROGRAM-ID. FIZZBUZZ.000300 DATA DIVISION.000400 WORKING-STORAGE SECTION.000500 01 I PIC 9(3).000600 01 HENSHU-IKI PIC X(8).000700 PROCEDURE DIVISION.000800 PERFORM VARYING I FROM 1 BY 1 UNTIL I > 100000900 MOVE SPACE TO HENSHU-IKI001000 IF FUNCTION MOD(I 3) = ZERO001100 MOVE 'FIZZ' TO HENSHU-IKI001200 END-IF001300 IF FUNCTION MOD(I 5) = ZERO001400 STRING001500 HENSHU-IKI DELIMITED BY SPACE001600 'BUZZ' DELIMITED BY SIZE001700 INTO HENSHU-IKI001800 END-STRING001900 END-IF002000 IF HENSHU-IKI = SPACE002100 MOVE I(3 - FUNCTION INTEGER(FUNCTION LOG10(I)):)002200 TO HENSHU-IKI002300 END-IF002400 DISPLAY HENSHU-IKI002500 END-PERFORM.002600 STOP RUN. 出力結果は実例3と同じであるが、STRING文による文字列の連結を利用することで、3の倍数かつ5の倍数(すなわち15の倍数)か否かの判定を無くしている。なお、上記の例におけるSTRING文は、Java等におけるhenshu_iki = henshu_iki + "Buzz";(あるいはこれを略記したhenshu_iki += "Buzz";)と同様の動作をする。
※この「実例4 (Fizz Buzz)」の解説は、「COBOL」の解説の一部です。
「実例4 (Fizz Buzz)」を含む「COBOL」の記事については、「COBOL」の概要を参照ください。
- 実例4のページへのリンク