基于计算思维的C语言程序设计教学探索.docVIP

基于计算思维的C语言程序设计教学探索.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于计算思维的C语言程序设计教学探索

基于计算思维的C语言程序设计教学探索   摘要:文章根据作者教授C语言程序设计过程中学生学习遇到的障碍,提出了在教学中加入计算思维进行授课。并用实际案例来讲解了计算思维在教学中的应用,然后总结了C语言程序设计的一般思路,并对教学同仁提出了自己的建议。 中国论文网 /8/view-7218676.htm   关键词:计算思维;教学改革;教学设计;程序设计   1问题的提出   C语言是大学理工类必修课程,对于计算机专业来时更是基础课程,它是后继课程数据结构、算法分析等前驱课程。但是对于刚接触计算机的大学新生来说,学习C语言课程有一定难度。C语言涉及的规则与概念相对较多,需要一定的理解力度,并且C语言程序设计语句使用形式比较灵活,非常容易出现错误。通过时间教学发现,在学习课程前面的语法规则、变量表的时候初学者能跟上进度,但一旦学习后边比较复杂的知识章节时候就及其困难。甚至有学生C语言学习完成后,考试成绩非常好,但是要用C语言解决一个实际问题时候就无从下手,没有清晰的程序设计思路与合理的解决方案,总之学生在学习程序设计时,有两种情况,一种是面对繁杂的知识点无从下手,脱离的程序设计的思维,第二种是即使记住了很多知识点,仍然不知道灵活使用,不知道在什么时候用什么知识去解决什么问题。追究学生的这些问题,说明学生学习思维的僵化,那么启发学生使用正确的思维模式来学习,比仔细分析,详细讲解知识点更为重要。   2解决的办法   而计算思维就是帮助学生降低程序设计的难度,计算思维是运用计算机科学的基础概念去求解问题、设计系统和理解人类的行为,它包括了涵盖计算机科学之广度的一系列思维活动。所以在平时的教学中,教师要注重培养学生的计算思维,让他们从实际的问题中去思考,不要着手就考虑具体的语法,先分析实际问题的解决办法。例如,要录入一个班级N名同学的5门课程的成绩,求出每位同学的平均分,然后对全班同学的排除名次,并把成绩单提供给学校存档。   计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题。首先要分析问题,要分析出我们要做什么工作,分析上面问题,细化我们要做的工作。   (1)获取全班同学的5门课程的成绩。   (2)求每位同学的平均分。   (3)排名。   (4)输出成绩单。   然后,根据细化后的工作,再逐个击破,对于输入全班同学的5门课的成绩,我们需要做到以下几点。   首先要选择用什么样的数据结构来存放学生的成绩,有多名同学,多门成绩,最好是选用结构体来定义学生的类型,然后用数组来存放多名学生信息。   结构体的定义:   确定先录入全班同学的一门课的成绩,再录入第二门课的成绩,以此类推,还是,按照同学,先录入一个同学的5门课成绩,再录入第二个同学的5门课的成绩,以此类推。   不管(2)中要用那种方法录入多名同学的多门课程的成绩,都需要用到循环,而且是双重循环。   那么分析(2)中的第一种录入方法,按照课程数输入每位同学的成绩,我们用for循环来接收数据:for(int   i=0;i5:i++)   for(int j=0;jN:j++)   分析(2)中第二种录入方法,按照学生数来输入每门课程的成绩,我们用for循环来接收数据:for(int   i=0;i(N;i++)   for(int j=0:j5:j++)   分析这两种录入的方法,第一种,我们要求平均值,需要在录入完成以后,再写一个循环,来专门求平均值,第二种,我们在录入的时候,就可以求平均值,分析的算法的执行效率,选择第二种,下面给出代码:   此处是用数组和指针结合来使用,解决了输入的问题,并且一并把求平均分的问题也解决了。其实,根据实际情况,若数据较少且变化少,此处可以只使用数组来解决,若是数据变化较多的大量数据,此处可以用链表实现。   此处就是计算思维的应用,我们从分析了多种解决问题的方法,然后比较,不断的细化,不断的转化,不断使其简单,用最为简洁,明了,有效的方法来解决问题。   然后是排名,排名实际上就是排序,是按照平均分降序排序。解决排序的算法有很多种,有冒泡法,快速排序法,插入排序,选择排序等等一共有八大排序方法。根据每种排序方法的优缺点,我们分析,在解决这种小型数据的排序问题上,可能最为简单的排序方法,反倒最有效。选择了冒泡法来实现排序。具体的冒泡法排序的算法到处都是,此处不在赘述。   排名完成以后就是输出成绩单,输出成绩就按照排序完成后的数据,按顺序输出,此处也不做赘述。   现在,我们来整体上分析这个例子,我们来整理下思路,实际上这个问题,我们只用了四步就完成,第一步是确定数据结构,第二步是输入方式,第三步是运算操作,第四步就是输出。  

文档评论(0)

cby201601 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档