問題1:偶数・奇数の判定
目的:条件分岐と入出力の練習
内容: ユーザーに整数を入力させ、偶数か奇数かを判定して表示する。
回答
TEST: PROCEDURE OPTIONS(MAIN);
DECLARE I FIXED;
PUT SKIP LIST('数字を入力してください');
GET LIST(I);
IF MOD(I,2)=0 THEN
PUT SKIP LIST('偶数です');
ELSE
PUT SKIP LIST('奇数です');
END TEST;
問題2:10個の整数の平均値を求める
目的:配列、ループ、計算の基本練習
内容: 10個の整数を入力させて配列に格納し、平均値を求めて出力する。
回答
TEST: PROCEDURE OPTIONS(MAIN);
DECLARE NUM(10) FIXED;
DECLARE TOTAL FIXED;
DECLARE AVE FIXED;
DECLARE I FIXED;
PUT SKIP LIST('10個の整数を入力してください:');
DO I = 1 TO 10;
GET LIST(NIM(I));
TOTAL = TOTAL + NUM(I);
END;
AVE = TOTAL / 10
PUT SKIP LIST('平均値は',AVE,'です。');
END TEST;
問題3:文字列を逆順にして出力
目的:文字列処理の基本
内容: 文字列を1つ入力し、それを逆順に表示するプログラムを作る。
回答
TEST: PROCEDURE OPTIONS(MAIN);
DECLARE S CHAR(100) VARYING;
DECLARE LEN FIXED;
DECLARE I FIXED;
PUT SKIP LIST('文字列を入力してください:');
GET EDIT(S) (A);
LEN = LENGTH(S);
PUT SKIP LIST('逆順に表示:');
DO I = LEN TO 1 BY -1;
PUT EDIT(S(I:1)) (A);
END;
PUT SKIP;
END TEST;