4-8 繰り返し処理 (4) ―カウント用変数を使ったプログラム―

i は何回目の繰り返しかを数える変数です。これを文法用語では「制御変数」と呼びますが、ここでは分かりやすく「カウント用変数」と呼びましょう。■C++Builder 文■beginFor■C++Builder 文■endNext の間を1回実行するたびに、i は1つずつ増えます。この性質を利用すると、自然数の和などを簡単に求めることができます

【基礎課題 4-17】

■C++Builder 画像■次のようなフォームのプログラムを作ってください。(最初の値は「0」にしておいて下さい。)

コンポーネントコンポーネントコントロール NameNameオブジェクト名
上のスピンエディットスピンエディットテキストボックス ■C++Builder 文■SpinEditResultTextResult
下のボタン ■C++Builder 文■ButtonCalcCommandCalc

このプログラムで 1+2+3+4+5 を計算させて結果を表示させます。下線部を埋めてください。

■C++Builder block■
procedure TForm1.ButtonCalcClick(Sender: TObject);
var
  i: Integer;
begin
  for i := 1 to 5 do
    begin
      SpinEditResult.Value := SpinEditResult.Value +              ;
    end;
end;
Private Sub CommandCalc_Click()
  Dim i As Integer
  For i = 1 To 5
    TextResult.Text = TextResult +             
  Next
End Sub

【基礎課題 4-18】

■C++Builder 画像■上のプログラムを改良して、5 までではなく任意の数までの和を求める (どこまで足すかを指定できる) プログラムを、forforFor 文を使って作って下さい。

【基礎課題 4-19】

■C++Builder 画像■2+4+6+8+… を計算するプログラムを、forforFor 文を使って作って下さい。

【基礎課題 4-20】

■C++Builder 画像■1+3+5+7+… を計算するプログラムを、forforFor 文を使って作って下さい。(最初の値は「0」にしておきます。)

【応用課題 4-2】

左のピラミッドは、1番上の段は石が 12=1 個、上から2段目は 22=4 個、上から3段目は 32=9個です。このピラミッドが5段になったときの石の個数を求めるプログラムを作りなさい。

また、このプログラムを改良して、

■C++Builder 画像■ ピラミッドの段数を入力して「計算」ボタンを押したら
■C++Builder 画像■ 答を出力する、というプログラムを作って下さい。

【応用課題 4-3】

1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81

右は、かけ算の九九表です。この全ての数の合計を求めるプログラムを作って下さい。

ヒント 例えば、1行目(1番上の横の並び)の和を求めることはすでにできるはずです。これに、2行目、3行目の和を順次加えて行けばよいのです。

すると…

最終的には「4-2 if 文の中の if 文」のように「forforFor 文の中の forforFor 文」という形になるはずです。

これができたら大したもの!