cobol/demo/fizzbuzz.cob · 963 字节 · 下载原文
*> FizzBuzz 1..20 —— 循环(PERFORM VARYING)+ 判别(IF / 取余)的组合。
*> 运行: vml run examples/cobol/demo/fizzbuzz.cob
IDENTIFICATION DIVISION.
PROGRAM-ID. FIZZBUZZ.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 I PIC 9(3) VALUE 0.
01 R3 PIC 9(3) VALUE 0.
01 R5 PIC 9(3) VALUE 0.
PROCEDURE DIVISION.
MAIN-PARA.
PERFORM SHOW-ONE VARYING I FROM 1 BY 1 UNTIL I > 20.
STOP RUN.
SHOW-ONE.
COMPUTE R3 = I - (I / 3) * 3.
COMPUTE R5 = I - (I / 5) * 5.
IF R3 = 0 AND R5 = 0 THEN
DISPLAY "FIZZBUZZ"
ELSE
IF R3 = 0 THEN
DISPLAY "FIZZ"
ELSE
IF R5 = 0 THEN
DISPLAY "BUZZ"
ELSE
DISPLAY I
END-IF
END-IF
END-IF.