![]() |
何乗の値を計算したいか (ここでは 3 乗) を入力して「計算」ボタンを押すと |
![]() |
その値を計算してくれる、というプログラムを作りましょう。 |
まずはつぎのようにフォームを作ってください。
コンポーネント | オブジェクト名 |
---|---|
左のテキストボックス | TextJo |
右のテキストボックス | TextResult |
コマンドボタン「計算」 | CommandCalc |
注意 TextResult.Text の初期値を 1 にしておくのを忘れないようにしましょう。
このプログラムでは、「何回2倍するか」はプログラム実行後にユーザが決めるので、今までのようにプログラム実行前に
Private Sub CommandCalc_Click() TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 続く TextResult.Text = TextResult.Text * 2 End Sub
とあらかじめ決まった回数だけ書いておくことはできません。
そこで、同じ動作を繰り返させる 「For 文」という命令を使います。プログラムを次のように書いてください。
実行して動作を確認しましょう。この For 文は、下のような構造になっています。
For カウント用変数(ここでは i) = 初期値(ここでは 1) To 繰り返し回数 繰り返し処理1; 繰り返し処理2; ・ ・ Next
決まった回数の繰り返しにも使えます。下の2つのプログラムは全く同じ動作をします。
Private Sub CommandCalc_Click() TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 TextResult.Text = TextResult.Text * 2 End Sub
Private Sub CommandCalc_Click() Dim i As Variant For i = 1 To 15 TextResult.Text = TextResult.Text * 2 Next End Sub
先ほどのプログラムを改変して、
![]() |
数値を入れたら (この例では 3) |
![]() |
3の累乗が求められるプログラムを作りなさい。 |
かけ算は、足し算の繰り返しと考えることができます。例えば、2×5は、「2を足す」ということを5回繰り返すことです。
このように考えると、かけ算の記号「*」を使わずに、For文を使ってかけ算の答を求めることができます。
前のページのプログラムを改変して
![]() |
数値を入れたら (この場合は 6) |
![]() |
4+4+4+…+4 を求めるプログラムを、For文を使って作って下さい (ただし、プログラムの中でかけ算「*」を使ってはいけません。)。 |
![]() |
怒りの度合いを数値で入力し「怒る」ボタンを押すと |
![]() |
その度合いに応じて「こら! こら! …」と表示するプログラムを作りなさい。
|