- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计 算 机 教 育Computer Education第 3 期2012 年
计 算 机 教 育
Computer Education
第 3 期
2012 年 2 月 10 日
27
中图分类号:G642
文章编号:1672-5913(2012)03-0027-03
计算机程序设计教学中的抽象思维能力培养
刘卫国,施荣华
(中南大学 信息科学与工程学院,湖南 长沙 410083)
摘 要:提高学生的程序设计能力是计算机程序设计教学需要解决的关键问题。本文结合教学实践,
指出学生的抽象思维能力薄弱是重要的制约因素,从教学方法角度提出培养学生抽象思维能力的途径
和方法。
关键词:程序设计;抽象思维;能力
计算机程序设计的教学关键是培养学生的程
序设计能力。我们在教学过程中发现,学生的抽 象思维能力薄弱是制约程序能力培养的重要因素。 这里的抽象思维能力可以理解为如何从计算机的 基本工作原理出发,将具体的解题步骤抽象为一 般的解题程序,或者可称为计算机化的思维。
人们分析和解决问题的思维活动转化成计算机程
序的过程 [1]。这就决定了在进行程序设计时的思 维方式应该是计算机化的思维,即从计算机工作 的角度来设计操作步骤,使问题一步一步地得到 解决。
2
程序设计难在哪里——直观到抽象的
1
程序设计的本质——“教会”计算机
跨越
如何解决问题
程序设计教学中碰到的普遍现象,是在讲
授某一个程序的设计思路(算法)时,学生往往 听得懂,但合上书本,要自己来写程序时就犯 难了,除了记忆性地罗列一些语句外,难以形 成明确的编程思路、编出正确的程序,不知从 何下手。但如果能将问题分解,采用各个击破的 方式,学生就容易理解。这说明学生习惯于直
计算机是在程序的控制下自动工作的,完成
各种不同的任务,需要不同的程序。但计算机本 身不能形成解决实际问题的程序,而必须由人来 编写。在使用计算机求解问题时,必须从计算机 工作原理的角度,将实际问题的求解过程用计算 机所能理解的程序语言表达成程序,最终计算机 执行程序并在程序的控制之下完成解题任务。从 这个意义上说,程序设计的本质就是“教会”计 算机如何解决问题。
程序设计的关键是设计算法。算法是为解决 问题而采用的方法和步骤,如果从计算机完成任 务的角度,一个计算机程序就是利用程序设计语 言对算法的一种实现。本质上讲,程序设计是将
观形象思维,面临的主要困难在于直观到抽象、
特殊到一般的跨越,所以程序设计教学中如何
实现直观思维到抽象思维的转变是需要解决的 关键问题。
程序设计反映了利用计算机解决问题的全 过程,在这个过程中离不开抽象思维 [2]。当用计 算机对问题进行求解时,首先要对问题进行详
计 算 机 教 育Computer Education282012细分析,明确问题的要求,然后要抽象成适合
计 算 机 教 育
Computer Education
28
2012
细分析,明确问题的要求,然后要抽象成适合
在计算机中表示的数据结构和形式化的数学模 型,最后把问题的数学模型或处理需求转化为 有效的算法,并编码实现,从而得到问题的结 果,这就是计算机的问题求解机制。在这个机制 中,面临的主要问题就是对问题进行抽象和形 式化,并构建算法 [3-4],这是一个科学抽象过程, 所以抽象思维是程序设计的基础。从提高学生的 程序设计能力上讲,对学生抽象思维能力的培 养十分重要。
两个数两两进行比较,使小的在前,大的在后。
先考虑第 1 轮比较:x[1] 与 x[2] 比较,如果 x[1] 大于 x[2],则将 x[1] 与 x[2] 互换,否则不交 换。然后,将 x[2] 与 x[3] 比较,如果 x[2] 大于 x[3],则将 x[2] 与 x[3] 互换。如此重复,最后将 x[n-1] 与 x[n] 比较,如果 x[n-1] 大于 x[n],则将 x[n-1] 与 x[n] 互换,否则不互换,这样第 1 轮比
较 n-1 次以后,x[n] 中必定是 n 个数中的最大数。
再考虑第 2 轮比较:将 x[1] 到 x[n-1] 相邻的
两个数两两比较,比较 n-2 次以后,x[n-1] 中必
定是剩下的 n-1 个数中最大的,n 个数中第二大的。
3
教会学生如何编程序——抽象思维能力
如此重复,最后进行第 n-1 轮比较:x[1] 与
培养
x[2] 比较,把 x[1] 与 x[2] 中较大者移入 x[2] 中,
x[1] 是最小的数。最后 x 数组按从小到大顺序
排序。
最后归纳总结如下:用双重循环来组织排 序,外循环控制比较的轮数,n 个数排序需比较 n-1 轮,设循环变量 i,i 从 1 变化到 n-1。内循环 控制每轮比较的次数,第 i 轮比较 n-i 次,设循 环变量 j,j 从 1 变化到
文档评论(0)