4-6 繰り返し処理 (2) -For 文の導入―

【基礎課題 4-13】

何乗の値を計算したいか (ここでは 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

【基礎課題 4-14】

先ほどのプログラムを改変して、

数値を入れたら (この例では 3)
3の累乗が求められるプログラムを作りなさい。

【基礎課題 4-15】

かけ算は、足し算の繰り返しと考えることができます。例えば、2×5は、「2を足す」ということを5回繰り返すことです。

このように考えると、かけ算の記号「*」を使わずに、For文を使ってかけ算の答を求めることができます。

前のページのプログラムを改変して

数値を入れたら (この場合は 6)
4+4+4+…+4 を求めるプログラムを、For文を使って作って下さい (ただし、プログラムの中でかけ算「*」を使ってはいけません。)。

【基礎課題 4-16】

怒りの度合いを数値で入力し「怒る」ボタンを押すと
その度合いに応じて「こら! こら! …」と表示するプログラムを作りなさい。
  • 度合いが1なら「こら! 」
  • 度合いが2なら「こら! こら! 」
  • 度合いが3なら「こら! こら! こら! 」
    (以下同様)