第3講 繰り返し処理for文
第4話 階差数列の2乗の和解答例
1,2,3,・・・,100とか
5,7,9,・・・,31
のような数の並びを等差数列といいます。
そして最初の項(数字)を初項、後ろの項と前の項の差を交差といいます。
交差は項差ではないことに注意してください。
どこの差も一定なのが等差数列なので、公の文字を使い交差というのです。
それで今回の和のテーマ名が階差数列の2乗の和解答例となっています。
それでは答え合わせをしましょう。
@1の2乗+2の2乗+3の2乗+・・・+100の2乗
解答例
Module Module1
Sub Main() '私は社長だ。
Dim a, i As Long 'aは整数を入れる箱を用意 iはFor文の制御変数
a = 0 '初期化
'以下計算
For i = 1 To 100
a += i * i
Next
'以上計算
Console.WriteLine("1の2乗+2の2乗+3の2乗+・・・+100の2乗={0:d}", a)
End Sub
End Module
実行画面
1の2乗+2の2乗+3の2乗+・・・+100の2乗=338350
A5の3乗+7の3乗+9の3乗+・・・+31の3乗
(これは初項5、公差2、末項(最後の項)31の等差数列の2乗の和です。)
解答例
Module Module1
Sub Main() '私は社長だ。
Dim a, i As Long 'aは整数を入れる箱を用意 iはFor文の制御変数
a = 0 '初期化
'以下計算
For i = 5 To 31 Step 2
a += i * i * i
Next
'以上計算
Console.WriteLine("5の3乗+7の3乗+9の3乗+・・・+31の3乗={0:d}", a)
End Sub
End Module
実行画面
5の3乗+7の3乗+9の3乗+・・・+31の3乗=130788
前話でも今話でもいちいち初項・公差・末項をプログラムコードに入れていました。
このやり方は、汎用的(用途の広い)なプログラムの組み方ではありません。
プログラムは、汎用的にして普遍的なものにすることが理想です。
そこで、初項・公差・末項をキーボードから指定して、
計算することが出来るように変更します。
キーボードから入力したものをコンソール画面から取り組む方法は、
第2講の第8話で学んでいます。
その方法を使って、
等差数列の和を求めるアプリ
↓
キーボードから初項を入力してエンター
↓
↓
キーボードから交差を入力してエンター
↓
↓
キーボードから末項を入力してエンター
↓
を開発してください。