求解数列和通用程序

  计算机语言课教学中,要编程来解决一系列的数列求和问题。例如:求
  1+2+3+4+……+100;1+1/2+1/3+……+1/100
  1+2+1+2+3+1+2+3+4+……1+2+3+……100等等。学生对这类问题普遍感到难于掌握。为此,我把学生学过的数学知识运用于程序设计中,总结出一个编程求解数列和的通用程序,供大家参考。
  以 2+4+6+……100的和为例,用BASIC可编程如下:
  S=0
  FOR N=1 TO 50
   (1)
  S=S + 2 * N
  (2)
  NEXT N
  PRINT S
  END
  先分析数列 {2、4、6、……、100},它的项数:N=50,通项:an =2 * N
  请看上面程序:在(1)中填入的恰好是数列的项数:50; 在(2)中填入的恰好是数列的通项:2 * N,于是得到一个求数列和的通用程序框架:
  S=0
  FOR N=1 TO (1)
  S=S + (2)
  NEXT N
  PRINT S
  END
  结论:当拿来一个欲求和数列,先求出它的项数N和通项表达式 an (用“N”表示的)。然后,将  N 与 an 的值分别嵌入上面(1),(2)两处,则程序完成。
  例如:欲求以下数列和
  (1) 1* 2、 2* 3、……、50 * 51
  (N=50,an=N*(N+1))
  (2) 1/2、2/3、……、98/99、99/100
  (N=99, an=N/(N+1))  
  (3)1+2、1+2+3、1+2+3+4、……、1+2+3+……+100
  (N=99, an=((N+1)(N+2))/2) ……
  则只需将各数列N与 an 值分别嵌入程序框架的(1),(2)处即可。此程序在 GWBASIC .QBASIC中均通过。

(黑龙江省财贸学校计算机教研室 佟林 157011)

(上一页)---(下一页)