网站大量收购独家精品文档,联系QQ:2885784924

基于问题求解思维能力培养的程序设计教学实践.docVIP

基于问题求解思维能力培养的程序设计教学实践.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于问题求解思维能力培养的程序设计教学实践   摘要:问题求解思维是程序设计的重要特点,也是计算思维的重要形式。以累加求和问题为例,呈现了课堂教学的组织方式,详细分析了算法形成过程,有助于学生掌握问题求解的思维规律和方法,培养计算思维能力。   关键词关键词:程序设计;问题求解思维;计算思维;教学改革   中图分类号:G433   文献标识码:A 文章编号文章编号2014)004018403   基金项目基金项目:湖南省2011年普通高等学校教学改革研究立项项目(湘教通〔2011〕315号)   作者简介作者简介:童键(1969-),女,硕士,中南大学信息科学与工程学院讲师,研究方向为计算机应用、软件工程。   1 程序设计与问题求解思维   程序设计基础是学习计算机技术的主要基础课程,已作为大多数专业的必修课。通过该课程学习,能够使学生了解程序设计基本知识,掌握程序设计基本方法和常用算法,掌握程序调试基本技能,培养使用计算机解决实际问题的基本能力[1]。随着信息化技术的不断发展与深入应用,人们认识到,计算思维应成为当代大学生分析和解决问题的基本能力[2]。   计算思维的重要体现是问题求解的思维规律和方法,而程序设计过程正反映了问题求解过程,程序设计是计算思维的重要载体。程序设计教学中经常存在的问题是,学生能够听懂讲解和看懂程序,但没有编写程序的基本思路,不知从何下手。因此,在教学过程中,最重要的不是列举现成程序,而是分析展示解决问题思路的形成过程,引导学生寻找解决问题的正确思路[3,4]。要解决的根本问题是,如何将直观的编程方法转换成适合的解题算法。   程序设计教学既要培养程序设计能力,又要借助程序设计的知识载体,建立问题求解的基本思路,培养良好的思维习惯,从而在科学方法论方面为学生打下分析问题和解决问题的基础[5,6]。因此,要把问题求解思维能力的培养贯穿在整个课程教学中。本文以常见的累加求和问题为例,介绍如何实现程序设计思路的引导,以提高学生程序设计能力和计算思维能力。   2 问题求解思维能力培养   2.1 从数学递推入手,分析递推式和循环执行的联系,引出循环体核心语句   累加求和问题即求若干个数之和,这是最典型、最基本的一类算法,实际应用中很多问题都可归结为累加求和问题[7]。假设用T表示累加和,F表示累加项,则从数学上,累加求和问题可用递推式表示为:   T0=0Ti=Ti-1+Fi (i=1,2,3,…)   递推的数学意义是,第i次累加和T等于第i-1次累加和T加上第i次累加项F。这里下标表示递推次数。从循环角度讲,递推的意义是,前一次循环的累加和T加上本次循环的累加项F得到本次循环的累加和T,程序语言中的赋值语句正好实现该操作,即:   T=T+F   因此,数学上的递推和程序设计中的循环赋值,即赋值语句重复执行,有着天然的联系。循环执行过程正好反映了递推过程。赋值语句重复执行若干次后,T的值即若干个数之和。累加求和问题有两种特例:①当累加项Fi固定为1时,即有递推式Ti=Ti-1+1,此时T可用于计数;②当F0=0,且累加项Fi满足递推式Fi=Fi-1+1,即累加项分别为1,2,3,…,N时,T为1+2+3+…+N的值。从累加问题可以类推到累乘问题,其数学递推式为:   P0=1Pi=Pi-1*Fi(i=1,2,3,…)   其含义是第i次的累乘积P等于第i-1次的累乘积P乘以第i次的累乘项F。从循环角度讲,即本次循环的P值等于前一次循环的P值乘以本次循环的F值,可用下列赋值语句实现:   P=P*F   显然,控制上述赋值语句重复执行若干次后,P值即若干个数之积。   累乘积问题也有两种特例:①当F1=F2=…=FN-1=FN=F时,P的值为FN;②当F0=0,且Fi=Fi-1+1(i=1,2,3,…,N)时,P的值为N!。   2.2 分析循环组织方式,引出算法基本框架   递推问题常用迭代(即重复)方法处理,需求若干个数之和,可用下列步骤(即循环体语句)的重复执行实现:先求累加项F,再将F累加到T。求累加项或累乘项的方法依具体问题而定,而迭代则用赋值语句T=T+F或P=P×F实现。   循环应为有条件的循环,退出循环的方式一般有两种,包括能确定循环次数的计数循环和不能确定循环次数的条件循环,在各种程序设计语言中均有相应实现机制。计数循环可用一个变量(循环变量)计数,完成规定循环次数后即退出循环。条件循环可根据问题求解的具体情况确定结束循环的条件,条件不满足时退出循环。   第一次循环时迭代变量的值(初始值)是不确定的,通常情况下需要确定循环初始值。   根据以上分析,可画出累加问题算法基本框架如图1所示,无论具体问题是

您可能关注的文档

文档评论(0)

小马过河 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档