Posted at

【COBOL】paizaスキルチェックの値取得・出力サンプルコード


COBOLのサンプルコードがない

興味を持った言語に触ってみる際、paizaスキルチェックで問題を解いてみることが多いのだが、提出可能だがサンプルコードが載っていない言語がある…。

COBOLのサンプルコードを上げてくださってくれている方もいらっしゃるが、同じ問題を他言語と比較してみたい欲もあるので、paizaスキルチェックのサンプルコードに則ったコードを記載します。

Elixirのコードを作成したが、COBOLもなかったのでCOBOL版です!


サンプルコード

参考: 値取得・出力サンプルコード


入力される値

2

2 5
3 4


期待される出力

hello = 2 , world = 5 

hello = 3 , world = 4


COBOL

IDENTIFICATION DIVISION.

PROGRAM-ID. hello.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 N PIC 9(20).
01 INP PIC X(21).
01 a PIC X(10).
01 b PIC X(10).

01 i PIC 9(2).
01 j PIC 9(2).
01 k PIC 9(2).
PROCEDURE DIVISION.
MAIN.
ACCEPT N

PERFORM N TIMES

ACCEPT INP

PERFORM VARYING i FROM 1 BY 1 UNTIL INP(i:1) = SPACE
END-PERFORM

MOVE INP(1:i) TO a
ADD 1 TO i
MOVE INP(i:21) TO b

PERFORM VARYING j FROM 1 BY 1 UNTIL a(j:1) = SPACE
END-PERFORM
SUBTRACT 1 FROM j

PERFORM VARYING k FROM 1 BY 1 UNTIL b(k:1) = SPACE
END-PERFORM
SUBTRACT 1 FROM k

DISPLAY "hello = " a(1:j) " , world = " b(1:k)

END-PERFORM.

STOP RUN.


参考にさせていただいた記事

AtCoder ABC 過去問 を COBOL で解いてみた