5.1.N88BASICの演算
数値定数・変数と文字定数・変数との混合演算はできない
演算の優先順位は以下のとおり。また各演算は上の方の実行が優先する。
| 演算子 | 内容 | 例 | 
|---|---|---|
| ^ | 指数(べき乗)演算 | 2^16 | 
| - | 負号 | -5 | 
| *,/ | 乗算,実数の除算 | A*5,A/5 | 
| \ | 整数の除算 | A\10 | 
| MOD | 整数の剰余(余り) | A MOD 2 | 
| +,- | 加算,減算 | A+5,A-5 | 
| 演算子 | 内容 | 例 | 
|---|---|---|
| = | 等しい | X=Y | 
| <>,>< | 等しくない | X<>Y,X><Y | 
| < | 小さい | X<Y | 
| > | 大きい | X>Y | 
| <=,=< | 小さいか等しい | X<=Y,X=<Y | 
| >=,=> | 大きいか等しい | X>=Y,X=>Y | 
| 演算子 | 内容 | 例 | 
|---|---|---|
| NOT | 否定 | NOT X | 
| AND | 論理積 | X AND Y | 
| OR | 論理和 | X OR Y | 
| XOR | 排他的論理和 | X XOR Y | 
| IMP | 包含 | X IMP Y | 
| EQV | 同値 | X EQV X | 
文字列の連結は(+)を使います。
1000 A$="abcd":B$="1234" 1010 C$=A$+B$ 1020 PRINT C$ abcd1234
5.2.perlの演算
数値と文字との混合演算はできる(後述)
| 演算子 | 内容 | 例 | 
|---|---|---|
| ++,-- | インクリメント,デクリメント | $a++,$a-- | 
| - | 負号 | -5 | 
| ** | 指数(べき乗)演算 | 2**16 | 
| *,/,% | 乗算,実数の除算,整数の剰余(余り) | $a * 5,$a / 5,$a % 2 | 
| +,- | 加算,減算 | $a + 5,$a - 5 | 
| 数値演算子 | 文字演算子 | 内容 | 例 | 
|---|---|---|---|
| == | eq | 等しい | $x == $y,$x eq $y | 
| != | ne | 等しくない | $x != $y,$x ne $y | 
| < | lt | 小さい | $x < $y,$x lt $y | 
| > | gt | 大きい | $x > $y,$x gt $y | 
| <= | le | 小さいか等しい | $x <= $y,$x le $y | 
| >= | ge | 大きいか等しい | $x >= $y,$x ge $y | 
| 演算子 | 内容 | 例 | 
|---|---|---|
| !,~ | 論理否定,ビット否定 | !$x,~$x | 
| <<,>> | ビットシフト | <<$x,>>$x | 
| & | ビット論理積 | $x & $y | 
| |,^ | ビット論理和,ビット排他的論理和 | $x | $y,$x ^ $y | 
| && | 論理積 | $x && $y | 
| || | 論理和 | $x || $y | 
文字列の連結はピリオド(.)を使います。
文字列の繰り返しはxを使います。
$a = "abcd"; $b = "1234"; $c = $a . $b; #$c = "$a$b";と同じ print "$c\n"; $a = "123" x 3; print "$a\n"; abcd1234 123123123
| "123" | 123 | 
| " 123" | 123 | 
| "12.3abcd" | 12.3 | 
| "abcd" | 0 | 
| "abcd123" | 0 | 
| "1abcd123" | 1 | 
"00005"などを"5"に換えるには,0を加えます。
$a = "00005"; print "$a\n"; $a = $a + 0; #$a += 0; print "$a\n"; 00005 5
5.3.標準入出力
N88BASICでは,入力はINPUTとLINE INPUT文,出力はPRINT文です。
1000 INPUT A$,B,C$ 1010 PRINT A$,B,C$ 1020 LINE INPUT A$ 1030 PRINT A$ abc,10,xyz abc 10 xyz Hamamatsu, Japan Hamamatsu, Japan
perlでは,入力は<STDIN>,出力はPRINT文です。
$x = <STDIN>; chop($x); #$xの最後の(0A)を除く ($a,$b,$c) = split(/,/, $x); #,で分離する print "$a*$b*$c\n"; abc,10,xyz abc*10*xyz
Copyright (c)1996 GOMASUKE
Since 09/14/1996, Last Updated 09/18/1996