《用循环结构for语句解决数列前n项和问题》(算法与程序设计)-山东省济南九中周燕

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用循环结构For语句解决数列前n项和问题
山东省济南九中周燕
对应标准:选修1:算法与程序设计
条目:(二)程序设计语言初步(1)
学习目标:
(1)体会并理解用循环结构解决问题的基本思路。

(2)掌握循环语句的用法。

(3)能够用循环结构解决问题。

建议学时:1
过程设计:
1、引入:(1)回忆初学顺序结构时的习题:求S=1+2+3+…+100的值,使用的是特殊解法:S=(1+100)*(100/2)=5050,体现不出计算机解决问题的优越性;这其实是求解数列1,2,3,…,n,…的前100项和问题,请学生观看如下程序解题过程。

set talk off
clear
s=0
for i=1 to 100
s=s+i
endfor
?’s=’,s
return
(2)提出问题:是否可以实现s=1+2+3+…+1000以及s=1+2+3+…+n(n任意给定)的求解?(3)将程序梢做修改,解决以上问题,让学生对循环结构的功能有感性的认识,引发学习兴趣,引入循环结构,以For语句为例介绍。

2、给出循环结构流程图,For语句格式,并对照例1参照如下表格讲解循环过程。

clear
s=0
for i=1 to 100
s=s+i
endfor
?’s=’,s
return
3、教师提出问题:求解
s=1+1/2+1/3+……+1/999,相邻学生可自愿组合,讨论完成:给出算法、写出源程序、得出结果;教师巡回辅导过程中,找出掌握较好及较差组,提出表扬或给予指导鼓励。

(部分学生会写出for i=1 to 1/999 s=s+i语句,教师需因势利导,启发学生根据错误提示找出问题所在,强调i是整型变量的含义,必要时可打断学生练习,统一讲解。


4、教师继续提出问题:求解s=1+1/3+1/5+ ……+1/999,要求学生在原程序上修改,给出答
案。

并设问:若for 语句写为 for i=999 to 1,该句如何完成。

5、教师继续提出问题:若求解以下问题,程序应如何修改? s1=1+3
1+51+……+9991 s2=1+(31)9+(51
)9+……+(9991
)9
6、学生讨论求解,教师巡回辅导。

7、总结:利用for 语句求解数列前n 项和问题,可写出如下语句:
for I= 初值 to 终值 step s=s+□,其中□代表数列的通项。

8、思考题:若求解s=1*(31
)9*(51
)9*…*(9991
)9,程序应如何修改?
自我评析:本案例通过循环结构与顺序结构解决同一问题的对比引入课题,使学生对循环结构先有一个感性的认识,,而且本节课又是解决学生高一时就已熟知的数列求和问题,可引起学生的兴趣。

在学习过程中,始终以问题驱动学习进程。

通过变换数列样式,启发学生修改程序解决问题,问题由易而难,符合认知规律;允许学生自由组合,集思广益,讨论求解,是对学生合作能力的一次锻炼;教师对学生出错较多的问题及时点拨并加以总结,给学生一定的自由又能统领全局,使学生能体会到解决问题的乐趣与成就感,并熟练掌握了for 语句的用法,从中体会循环结构解决问题的方法。

相关文档
最新文档