progress-4gl
数字を使って作業する
サーチ…
前書き
プログレスABLは3つの数値フォーマットをサポートしています:32ビットと64ビットの整数と浮動小数点数
演算子
進歩はオペレータとして+ / - *をサポートします。彼らは過負荷にならない。除算は常に小数を返します。計算中の数字のいずれかが小数である場合、小数が返されます。それ以外の場合はINTEGER
またはINT64
。
+=
または++
演算子はありません。変数を増減するには、変数をプラスまたはマイナスに割り当てる必要があります。ですから、変数に1を追加するには、 i = i + 1.
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
i = 3.
j = 2.
DISPLAY i + j. // 3 + 2 = 5
DISPLAY i - j. // 3 - 2 = 1
DISPLAY i / j. // 3 / 2 = 1.5
DISPLAY INTEGER(i / j). //Integer(3/2) = 2.
DISPLAY i * j. //3 x 2 = 6
より多くの数学関数
EXP - 数値を力に上げた結果を返します。
EXP(ベース、指数)
MESSAGE EXP(10, 2) VIEW-AS ALERT-BOX. // Messages 100
SQRT - 数値の平方根を返します。
SQRT(数値)
MESSAGE "The square root of 256 is " SQRT(256) VIEW-AS ALERT-BOX. // Messages 16
MODULO - 除算後の剰余を決定します。
発現MODULO塩基
DISPLAY 52 MODULO 12. //Displays 4
ROUND - 小数点以下の桁数に小数点以下の桁数を丸めます。
ROUND(数値、精度)
DISPLAY ROUND(67.12345, 6) FORMAT "99.99999". // 67.12345
DISPLAY ROUND(67.12345, 5) FORMAT "99.99999". // 67.12345
DISPLAY ROUND(67.12345, 4) FORMAT "99.99999". // 67.12350
DISPLAY ROUND(67.12345, 3) FORMAT "99.99999". // 67.12300
DISPLAY ROUND(67.12345, 2) FORMAT "99.99999". // 67.12000
DISPLAY ROUND(67.12345, 1) FORMAT "99.99999". // 67.10000
DISPLAY ROUND(67.12345, 0) FORMAT "99.99999". // 67.00000
TRUNCATE小数点以下の桁数を指定した小数点以下の桁数に切り捨て、小数値を返します。
TRUNCATE(数値、場所)
DISPLAY TRUNCATE(67.12345, 6) FORMAT "99.99999". // 67.12345
DISPLAY TRUNCATE(67.12345, 5) FORMAT "99.99999". // 67.12345
DISPLAY TRUNCATE(67.12345, 4) FORMAT "99.99999". // 67.12340
DISPLAY TRUNCATE(67.12345, 3) FORMAT "99.99999". // 67.12300
DISPLAY TRUNCATE(67.12345, 2) FORMAT "99.99999". // 67.12000
DISPLAY TRUNCATE(67.12345, 1) FORMAT "99.99999". // 67.10000
DISPLAY TRUNCATE(67.12345, 0) FORMAT "99.99999". // 67.00000
ABSOLUTE - 数値の絶対値を返します。
DISPLAY ABS(10 - 12). //Displays 2
DISPLAY ABS(-2) = ABS(2). //Displays yes
MINIMUMとMAXIMUM - 最小値と最大値を返します
MINIMUM(number1、number2、... numbern)
MAXIMUM(数値1、数値2、...数値n)
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
DEFINE VARIABLE k AS INTEGER NO-UNDO.
i = 40.
j = 45.
k = 56.
DISPLAY MINIMUM(i, j, k) MAXIMUM(i, j, k). // Displays 40 and 56
数字の比較
等価性、不等式などを比較するための標準関数が組み込まれています。
名 | シンボル | オルタナティブ | 例 |
---|---|---|---|
等しい | = | EQ | i = j |
等しくない | <> | NE | i <> j |
未満 | < | LT | i <j |
以下 | <= | LE | i <= j |
より大きい | > = | GT | i> j |
それ以上 | ≥= | GE | i> = j |
シンボルは代替シンボルと交換することができ、その逆も可能です。したがって、 var1 <> var2
はvar1 NE var2
と同じものvar1 NE var2
。
floatと整数を比較することはできますが、たとえば日付と整数を比較することはできません。
乱数発生器
RANDOM -乱数を生成し、
ランダム(低、高)
低および高の間の擬似ランダム整数を生成する
// Example that generates 20 random numbers between 1 and 20 (1 and 20 included)
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DO i = 1 TO 20.
DISPLAY i RANDOM(1, 20).
PAUSE.
END.