150 likes | 333 Views
第 2 回 算術式の計算. 今日の内容 2つの数の和 ( プログラムの意味 ) 数の表現 変数、整数と実数 実数 変数の型 入力文、代入文 変数宣言の必要性 加減乗除(算術演算子)、算術関数 型の不一致 小数点以下,切り捨て 算術式の表現 今日の練習問題. 1. 2つの数の和 ( プログラムの意味 ). Sub 足し算 () Dim a As Integer Dim b As Integer Dim c As Integer a = InputBox(” 最初の数は ?”)
E N D
第2回 算術式の計算 今日の内容 • 2つの数の和(プログラムの意味) • 数の表現 • 変数、整数と実数 • 実数 • 変数の型 • 入力文、代入文 • 変数宣言の必要性 • 加減乗除(算術演算子)、算術関数 • 型の不一致 • 小数点以下,切り捨て • 算術式の表現 今日の練習問題
1. 2つの数の和(プログラムの意味) Sub 足し算() Dim a As Integer Dim b As Integer Dim c As Integer a = InputBox(”最初の数は?”) b = InputBox(”次の数は?”) c = a + b MsgBox(”2つの数の和は” & c & ”です”) End Sub 入力とか「c に入れる」って、どういうことだろう?
2. 数の表現 1ビット(bit) = 0か1かという2つの状態を表す情報量 = 0か1かが入る箱 □ 1バイト(byte) = 8ビット (アルファベット1文字は1バイトで表現可能) 8ビットで表すことの出来る数字は?
3. 変数、整数と実数 変数宣言Dim a As Integer Dim b As Integer Dim c As Integer 計算機の中で整数 ...,-2,-1,0,1,2,... を蓄えておく 16ビット=2バイトの箱 注: この値を超えた場合にどのようになるかを試してみよ。 Dim a As Long 32ビット=4バイトの箱 およそ-20億から20億を蓄えることが出来る
4. 実数 • Dim x As Single • 0.000123 • - 43200 • 計算機の中での実数の表現 • 仮数部 と 指数部 の組であらわし、4バイトで表現。 仮数部 指数部 Dim y As Double 計算機の中での実数の表現 仮数部 と 指数部 の組であらわし、8バイトで表現。
6. 入力文、代入文 入力文:キーボードからのデータを変数に入れる 代入文:右辺の式の値を変数に入れる
7. 変数宣言の必要性 Sub 宣言強制の必要性() test1 = 2 MsgBox testl End Sub 2行目はtest1だけど,3行目はtestlだよ VBAは変数宣言しなくても,自動判定するが, 単純なミスを防ぐために,きちんと宣言しよう. モジュールシートの一番上に Option Explicit と入力する Option Explicit Sub 宣言強制の必要性() test1 = 2 MsgBox testl End Sub
8. 加減乗除(算術演算子)、算術関数 ^ べき乗 (2^3は2の3乗) - マイナス -3+a*b/c * 掛け算 / 割り算 5/3=1.6666... \ 割り算の商(答えは整数) 5\3=1 Mod 割り算の余り 5 Mod 3=2 + 足し算 - 引き算
9. 型の不一致 割算の計算をしようとしたが、 Dim a As Integer Dim b As Integer Dim c As Integer a = 5 b = 2 c = a / b MsgBox c 左辺のcは整数 右辺の式 a/b の値は実数 c : [ ] Integer a/b: [ ] Single 答え) Dim c As Single 答えは2となります.なぜ?
10. 小数点以下,切り捨て Int(数値) 小数点以下切り捨て 応用: -Int(-数値) 小数点以下切り上げ Round(数値) 小数点以下丸める (ほぼ四捨五入) Round(数値, 桁数) 指定した[桁数]以下 の小数を丸める
練習2 解 • y = p*x+q+a/(x-r) • e = sqr(a^2+b^2)*sin(c+d) • h = abs(a*x+b*y+c*z+d)/sqr(a^2+b^2+c^2) • x1 = (-b+sqr(b^2-4*a*c))/(2*a)x2 = (-b-sqr(b^2-4*a*c))/(2*a)