C++, VB, Javascript の対応
どの関数から実行されるか。
C++ コマンドライン実行の場合、mainが実行される。 Javascript webページのjavascriptの場合、onload という予約された変数に代入された関数がまず実行される。 VB Windowsデスクトップアプリの場合、ボタン、フォームロードなどが、実行の起点となる。
関数定義
C++ double func1(double x,int n){ return(x * n); }Javascript function func1(x,n){ return x * n; }VB Public Function func1( _ ByVal x As Character, _ ByVal n As Integer) _ As Double Return x * n; End Function
for文
C++ for(i=1; i<10; i++ ) {
...
}
Javascript for(i=1; i<10; i++) {
...
}
VB for i=1 to 10 step 1
...
next
変数宣言と代入
C++ double x;
int i=1;
x=i;
Javascript var x;
var i=1;
x=i;
VB Dim x,i
i=1
x=i
演算子
x + y 加算 x - y 減算 x * y 乗算 x / y 除算 x % y 剰余、x をy で割った余り x ** y 累乗、x の y 乗
Math.ceil(x) xの小数点以下を切り上げ Math.floor(x) xの小数点以下を切り捨て Math.round(x) xの四捨五入 Math.random() 範囲 {r}={r| 0≦r<1} の乱数 Math.abs(x) 絶対値 Math.max(x, y) 最大値 Math.min(x, y) 最小値 Math.sin(x) sin(x) Math.cos(x) cos(x) Math.tan(x) tan(x) Math.log(x) 自然対数 log(x) Math.exp(x) 指数関数 exp(x) Math.E() 自然対数の底 Math.pow(x,y) xのy乗
クラスc1のメソッドm1を使う
引数がx1,x2,x3の場合
前提 c1がクラスで、m1がそのメソッドの場合 C++ y=c1.m1(x1,x2,x3); Javascript y=c1.m1(x1,x2,x3); VB y=c1.m1(x1,x2,x3)
if ステートメント
C++ if (x==1) {
...
}
Javascript if (x==1) {
...
}
VB if x=1 then
...
end if
文字列処理と色の指定
塗りつぶし色は
c1.fillStyle
で指定するが、c1.fillStyle の色の指定は "rgb(12,34,56)" というような文字列で指定する必要がある。そのため、以下のような2行で色を文字列に変換して指定している。
red = (i * 30).toString(10);
c1.fillStyle = 'rgb(' + red+ ',0,0)';
これらの命令では、iiの値を文字列に変換して色を作成しているが、その過程を以下に表で示す。
表の右の欄には左の欄の式を計算した値、または、代入文で右辺を計算した値を示す。
式または命令 値 i = 2; 2 (この後 iの値は2である) i*30 60 (i * 30).toString(10) "60" red = (i * 30).toString(10); "60" (この後 red の値は文字列の "60" である) 'rgb(' + red "rgb(60" 'rgb(' + red + ',0,0)' "rgb(60,0,0)" c1.fillStyle = 'rgb(' + red+ ',0,0)'; "rgb(60,0,0)"