見出し画像

高校数学10分プログラミング(数学B編 3.数列)9日目「数列の漸化式を考える1」解説

マガジンリスト > 数学B編 3.数列 > 9日目 解説

本日の課題、おつかれさまでした。

課題の漸化式からその数列の一般項を求めるプログラムを作成することができたでしょうか。


解答例

今回の課題の漸化式からその数列の一般項を求めるプログラムの例を示します。

// 階差数列が等差数列となる数列の問題
void setup(){

  int n = 10; // 項数

  float a1 = 1.0; // 数列の初項
  float a = 4.0; // 階差数列の初項
  float d = 4.0; // 階差数列の公差
  
  for(int k=1; k<=n; k++){
    println("第"+k+"項:", difference_progression_arithmetical(a1,a,d,k));
  }
}

// 初項a,公差d,項数nの等差数列の和を求める関数
float sum_arithmetical_progression(
  float a, // 初項
  float d, // 公差
  int n // 項数
){
  return n * (2.0*a + (n-1.0)*d) / 2.0;
}

// 階差数列が初項a、公差dの等差数列となる数列の一般項
float difference_progression_arithmetical(
  float a1, // 初項
  float a, // 階差数列の初項
  float d, // 階差数列の公差
  int n // 第n項
){
  return a1 + sum_arithmetical_progression(a,d,n-1);
}

ソースコード2 漸化式からその数列の一般項を求めるプログラム(完成版)

ソースコード2を、Processing の開発環境ウィンドウを開いて(スケッチ名を「difference_progression_arithmetical_case」とします)、テキストエディタ部分に書いて実行すると、コンソールに

第1項: 1.0
第2項: 5.0
第3項: 13.0
第4項: 25.0
第5項: 41.0
第6項: 61.0
第7項: 85.0
第8項: 113.0
第9項: 145.0
第10項: 181.0

と出力されます(図1)。

図1 スケッチ「difference_progression_arithmetical_case」の実行結果


本日は以上です。
明日も、別のタイプの数列の漸化式について考えていきます。

明日もよろしくお願いします。


読んだ感想などをお寄せください

本記事を読んだ感想や質問などを以下のお問い合せフォームからお寄せください。(お問合せフォームの本文に、本記事のタイトルを入れてください。)


MK’s papa


いいなと思ったら応援しよう!