4-5 繰り返し処理 (1) ―累乗―

スーパーファミコンは 16 ビット、PlayStation は 32 ビット、NINTENDO 64 は 64 ビット、さらにはこのコンピュータのメモリは 64 MB あるいは 128 MB 等々、コンピュータ関係のもので出てくる数には決まった数が多いですね。これらの数は、2×2×2×…×2の形で求められる、コンピュータにとって“きりのいい”数なのです。

【練習問題】

下の表を埋めましょう。

    2の個数 答 (計算結果)
21 2 1 2
22 2×2 2 4
23 2×2×2 3  
24 2×2×2×2 4  
25 2×2×2×2×2 5  
26 2×2×2×2×2×2 6  
27 2×2×2×2×2×2×2 7  
28 2×2×2×2×2×2×2×2 8  
29 2×2×2×2×2×2×2×2×2 9  
210 2×2×2×2×2×2×2×2×2×2 10  

2×2×2×2×2 のように、ある数 a を b 個かけることを累乗といいます。

2×2×2×2×2 のことを、2を5個書く代わりに「25」と書いて「2の5乗」と読みます。

【基礎課題 4-11】

「2倍」ボタンを押したら
左の値が2倍になり、さらにもう1度「2倍」ボタンを押したら
さらに2倍になり、ボタンを押すごとに値がどんどん2倍になっていく、というプログラムを作りましょう。

まずは、フォーム上にコンポーネントを次のように配置してください。

コンポーネント オブジェクト名
左のスピンエディット TextNumber
右のボタン CommandDouble

注意 TextNumber.Text の初期値を 1 にしてください。

次の空欄を埋めてプログラムを完成させて下さい。

Private Sub CommandDouble_Click()
  TextNumber.Text = TextNumber.Text * 2
End Sub

【練習問題】

このプログラムを使えば、25 の値を調べたいときも「2倍」ボタンを5回押すだけで求められます。では、このプログラムをもっと改良して、ボタンを1度押すだけで 25が求められるようにできないでしょうか。

これはそれほど難しくありません。ボタンを押したときに今までの5回分の動作をすればよいのですから、

Private Sub CommandDouble_Click()
  TextNumber.Text = TextNumber.Text * 2
  TextNumber.Text = TextNumber.Text * 2
  TextNumber.Text = TextNumber.Text * 2
  TextNumber.Text = TextNumber.Text * 2
  TextNumber.Text = TextNumber.Text * 2
End Sub

となります。実行して動作を確認してみましょう。

【基礎課題 4-12】

ボタンを1度押すだけで 215 が求められるよう、プログラムを改変して下さい。

Private Sub CommandDouble_Click()















End Sub