前言:中文期刊网精心挑选了c语言程序设计实例范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
c语言程序设计实例范文1
关键词:C#语言;课堂教学;示例教学;教学模式;案例讨论
中图分类号:G642.0文献标识码:A文章编号:1009-3044(2012)06-1351-03
Case Discussion Method in《C# Language Program Design》Curriculum Practice
LI Hai-bo,MA Ming
(Nanyang Institute of Technolgy, Nanyang 473004, China)
Abstract:According to C # language and the problems in the traditional teaching model, presents a case discussion teaching method. Class? room teaching will be dispersed sample combination, form a case module is introduced to the teaching practice, using case teaching method to arouse the students’ interest in learning, training students thinking of object-oriented programming and the ability to analyze and solve problems, in order to make students to learn in order to practise purpose.
Key words:C# language; classroom teaching; examples of teaching; teaching mode; case discussion
随着互联网技术发展越来越快,人们对网络应用程序的需求也越来越多,而C#(C Sharp)语言自从2000年问世以来,由于其安全、跨平台、面向对象、开发速度快等特点,很快得到用户和企业的青睐,成为当今最流行的网络编程语言[1]。为顺应社会需求,各高校计算机相关专业都将C#语言课程纳入到教学计划作为高年级的就业方向课程。但是在教学过程中很多学生反应C#语言涉及的概念比较抽象难懂,规则和类库繁多;知识点零散,容易出错;学生在遇到实际编程问题时感觉“无从下手”。作者从实际教学环境入手,对《C#语言程序设计》课程从教学方法、教学手段等方面进行了一些改革,并取得了较好的教学效果。具体改进措施和方法如下。
1案例讨论教学法对传统教学方法的改进
1.1传统教学方法存在的问题
目前,《C#语言程序设计》课程是我院07级、08级软件工程专业的就业方向拓展课程。该课程是C++语言的后续编程课程,目的是让学生在建立面向对象编程的基础能力上熟练掌握C#基本语法规则,并提高实际编程能力。以往的教学方法都是先从基础概念入手,再就C#语言所带的基本控件进行讲解,其中着重讲解C#如何操作数据库中的数据。每节课先以理论概念结合一些简单示例程序讲解,最后安排学生上机操作加以深刻理解。
在以往的教学模式中,教师按照教科书编排顺序进行教学,讲授大量编程知识,但学生遇到实际项目编程应用并不理想。平时的知识点和课堂示例过于分散,学生无法体会到各个知识点之间的联系;学生在学习过程当中感觉平时的知识点很抽象,课堂上掌握的只是些表面知识,并不能正确的理解和加以应用;即使课堂上听明白了,时间一长有些知识点又会遗忘。经常在实际的编程项目中感觉“无从下手”。久而久之导致学生逐渐失去了编程的兴趣和信心,觉得没有实际用途,并产生消极情绪[2]。
综上所述,产生问题的原因在于传统教学方法只是让学生掌握了基本编程知识,知识点之间的结合应用不够灵活,在实际项目应用当中想不到应该使用哪个知识点来解决问题,因此,为了改善这种现状,有必要对C#课程的教学模式进行改革和探讨。1.2案例讨论式教学方法
C#语言的课程内容既丰富又零散,要求学生既要理解一些抽象的概念、方法又要具备一定的编程、动手能力。这就要求教师在现有课堂教学时间当中充分调动学生的积极性、主动性和参与性,采用先进的教学模式和手段,师生共同配合较好地完成教学任务。
在传统教学中,当理论知识讲述之后,针对该知识点做出示例,可以使学生加深对该知识点的理解,掌握知识的使用方法。但 是平时的课堂示例只是单独的几个知识点,如何把相关的知识点联系起来完成某个功能模块,这是我们考虑的问题。
案例讨论式教学法是运用实际案例进行交互式教学的方法。在教学过程中,要求以实际的案例模块作为被解析对象,在教师指导下按照软件工程的思想将某一工程项目分析解剖,以其中某一模块为实现目标,学生共同参与案例的分析、讨论,寻找实现途径。通过这种教学活动达到学习知识、分析问题、解决问题的目的。
通常情况一个案例应用到多个知识点。比如一个登陆模块的实现,它需要熟练掌握C#的基本语法、IF…ElSE语句、数据库操作等知识点并结合使用。所以在本课程教学中,笔者经常在讲授一部分知识点后,把各个知识点串联起来放在实际的案例模块当中。先组织学生参与讨论,分析出该案例中某个模块需要哪些知识点来完成。学生通过文字描述整个模块的实现过程,最后指出知识点在整个案例实现过程中的具体环节,确定软件处理流程,上机编码。这种方法可以使学生遇到问题后回顾以前所学知识,并把知识跟实际案例相对应,从而解决实际问题。
经过一段时间的零散知识讲解之后,应该把几个零散的知识点贯穿起来,结合实际的项目需求,组织学生分析讨论。这样不但学到了知识,还可提高对案例的分析、解决问题的能力,能够达到学习与实践的统一。因此,案例讨论式的教学模式是一种帮助学生快速适应未来职业需求的学习形式。
3 C#课程案例讨论式教学实践与教学质量评价方法
3.1“案例讨论”教学模式的实践
在“案例讨论”的C#课程教学过程中,根据该教学程序将整个教学活动分为以下几个阶段:
(1)案例需求设计
案例应该是一项具有实际意义的工程任务,也是某一具体项目中的一个模块,它的选取是学习的关键[3]。首先,案例设计要目标明确,既要满足教学要求,又能有一定应用价值;其次,案例设计要符合学生的特点,案例中应该包含之前所讲授的部分知识点,难度要适中,在平时的教学情况下学生可以分组进行讨论、明确的目标后安排学生的学习,在这一过程中要对本班学生的具体情况进行分析,定义基本任务,还可以有延伸问题;最后,案例设计要符合面向对象和面向工程的要求,让学生按照软件工程的设计要求制定该案例的分析方案。案例整体结束后,师生可以共同评价其工作成果。
教师在设计案例时,设计一个案例,让每个小组讨论同一个案例,这样可以在后期进行组与组之间的对比,激励组内成员的团结性。
(2)案例讨论前的必要准备
在布置任务之前,学生已经学习了该案例模块的基本理论知识。但在实际教学过程中,每个知识点有可能都是独立的,缺乏知识点之间的联合应用,学生很难对一些理论知识系统理解,一旦马上进行项目应用往往难以适应,感觉“无法下手”等情况,因此教师在进行布置任务前有针对性的以前知识点进行必要的复习,同时也能对学生的学习情况,相关知识的掌握情况有一个了解。这样就为教学的开展做了必要的铺垫。
(3)组织学生讨论
案例讨论是以学生为主体,但一个案例模块如果让一个学生去思考,可能会在思路上受到限制、难度有时过大。如果让所有人都参与,则合作、分工难度过大,因此,学生的组织应以小组为单位,可自由组合也可由教师编排,每组5人左右,指定其中一人为小组组长,最后讨论出整个流程,并对整个流程分析出需要哪些知识来实现。这样既能锻炼学生的分析问题、解决问题能力,也能锻炼学生在项目开发过程中的沟通协调能力。
(4)采用“讨论式”教学方法,监控整个讨论流程
学生以小组进行讨论时,教师可以指定整个讨论流程,规定时间限制,一般讨论30-40分钟时间,先让每个小组针对该模块确定工作流程思路,写出文字描述的软件工作流程,再次针对每个小组自己设计的软件工作流,指出流程中需要的知识点名称,最终提交整个流程文档。由小组成员提出自己的见解和工作计划并在这一过程中相互启发、相互学习,经过讨论最终确定出较好的解决方案。在这个过程中教师应采用“讨论式”的教学方法,组织同学们一起对方案和遇到的问题进行讨论,充分发挥学生的主动性和创造性。
(5)教师讲评
教师将每个小组的最终文档汇总,如果思路流程正确优秀的小组可以得到好评及表扬,对思路有问题的小组教师可以适当的指出其问题的所在,加以纠正。最后教师就该案例,说出正确的软件工作流程,在该流程中所应用到以前学习过的知识点,让整个学生明确思路和解决方案,布置模块编码任务,从而为功能编码的实现打下基础。
(6)实际编码环节,提高上机质量
在传统的教学模式中,上机实验由教师根据教材内容进行编排,主要以书上的例题、课后习题为主,学生只是将程序敲入计算机,运行一下即完成了上机任务。虽然程序运行结果正确,但对程序本身的设计理解并不透彻,只是掌握了该知识点的使用方法,无法理解在实际的案例工作中应该如何应用。
在“案例讨论”的教学模式驱动下,以案例讨论为主线,明确遇到问题首先应该考虑使用以前的哪些知识点解决,待思路和知识点完全确定后,再进行编码,这样可以有效的解决学生遇到实际项目时难以下手,也不知从何下手的问题。最终以讨论文档和案例程序为阶段考核和评价的依据,充分利用实验环境和条件,加强上机实验的应用效果,保证教学质量。
3.2教学质量评价方法
C#语言是一种面向对象的程序设计语言,针对C#语言及“案例讨论”中理论学习与实践并重的特点,在考核过程中采用新的教学质量评价方法,即将考试机制与案例讨论实现有效结合,综合评定教学效果。
以往的考核形式多为期末笔试+平时成绩(出勤、作业等),这种评价方式虽然能反映学生的学习态度及对一些基本概念、知识、理论的掌握情况,但无法全面反映出学生对知识点实际的理解和灵活应用,因此将考核形式变为期末笔试+案例讨论报告+案例程序,其中期末笔试主要检验学生对基本概念、语法、结构的学习和掌握情况,测试的是学生的基础理论部分,这部分成绩可占整个评价结果的50%;而案例讨论也作为一项考核内容,重点考核的是学生的分析问题解决问题的能力,最终以平时的讨论报告为主要依据,因此其成绩将占整个评价结果的25%;最后一个部分为项目源代码,主要考察学生的实际编码能力,按小组分工给出具体的分数,占整个评价的25%。
采用案例讨论为核心的教学模式,将原有的以“课堂、教师、书本”为中心的架构变为以“课堂示例、案例分析、实际应用”为中心的架构,将所学知识与实际应用紧密结合,学生既学到了知识又得到应用锻炼;教师既完成了教学又培养了学生的能力,达到了“教书、育人”的双重目的[4]。
4结束语
案例讨论教学对于语言程序设计课程来讲是一种比较有效的教学模式,它突破了传统教学模式,让学生学习一段基础理论知识之后,通过对实际案例问题的分析来理解掌握知识点,这样不仅能快速地掌握所学知识,也为代码的实现打下了坚实的基础,而且能够培养学生的社会责任感和团队合作能力,提高学生的具体分析能力和解决实际问题的能力,培养出的学生能很快适应市场需求,有助于解决学生的就业问题。因此,案例讨论教学方法不仅适合计算机程序设计语言教学的需要,也是应用型软件开发设计人才培养的一个有效途径。
参考文献:
[1]吴晓艳. C#语言程序设计精品课程建设的探索[J].科技信息,2010(25):48-50.
[2]蒋卫祥,朱利华.项目教学法在JavaWeb程序设计教学中的应用[J].科技信息(学术版),2006(9):410.
[3]李桂琼.程序设计课程的教学改革初探[J].计算机时代,2007(8):73-74.
[4]吕晓华,李素朵,张燕.任务驱动教学模式在java课程教学中探索与实践[J].北京:硅谷,2008(9):180.
[5]张悦.项目驱动教学法在C语言课程中的应用[J].职业教育研究,2007.
[6]吕晓华,李素朵,张燕.任务驱动教学模式在java课程教学中探索与实践[J].北京:硅谷,2008(9).
c语言程序设计实例范文2
关键词:独立学院;C语言程序设计;教学改革;教学
中图分类号:G642 文献标识码:A 文章编号:1003-2851(2011)09-0-01
一、引言
随着我国的高等教育的普及化,民办教育已成为我国教育体系的重要组成部分。C语言程序设计课程是我院部分专业学生必修的基础课程。该课程的教学目的是向学生介绍程序设计的基本知识,培养学生解决和处理实际问题的思维方法与基本能力,使学生具有初步的程序设计和程序调试的能力,为今后使用C语言解决实际问题打下良好的基础。为此,笔者在从事民办学院C语言程序设计课程教学的过程中,针对我院学生特点,对教学方法和实践教学环节的教学改革做了一些探索。
二、课程教学面临的问题
目前,在C语言教学中存在着以下几方面的问题:
(一)独立学院在校学生的基础比较薄弱。
(二)C语言牵涉到的概念复杂,规则繁多,使用灵活,使学生在学习时感到厌倦。
(三)缺乏较好的教学方法
传统的教学方法已经不能适应独立学院教育的特点,采取何种适合独立学院学生的教学方法,是教学改革的一个重点。
因此,面对新的教学对象,如何丰富教学方法、改革教学模式、加强对教学过程的管理、保障教学任务的顺利完成,是我们必需认真思考和解决的问题。
三、课程教学改革的实践与探索
(一)对比式教学的应用
对同一问题,引导学生从不同的角度去思考,找出多种方法来解决。比如,在解决1+2+3+….+100的和的问题时,可以采用for循环,或while循环,也可以采用do…while循环。这种对同一问题寻找不同解决方法实现的教学方式,有效地开阔了学生的思路,同时通过对不同循环的比较,能够找到这三者之间的联系与区别,加深学生对循环的理解和掌握。
(二)温故而知新
为了使学生能举一反三、触类旁通,每次教学结束时及时布置相关的课后练习,使学生在课后进一步复习巩固,同时在下一次课讲课之前,将上节课的重点以习题的形式让学生当堂完成,并且当堂给予订正与讲解,对完成好的同学给予适当的奖励,激发学生的兴趣。为学习以后的知识奠定坚实的基础。
(三)注重情感教育
教师无论在课堂上还是在课下都应该关心同学,了解他们的思想动态,及时与他们交流,解决他们各方面的困难。使学生从心理上能够喜欢老师,达到爱屋及乌的效果。
(四)加强实践教学环节
1、启发学生的学习兴趣,使学生的学习由被动变为主动。定期组织涉及到大量的典型应用的计算机程序设计竞赛,激发学生的学习兴趣,鼓励学生参与项目,使学生学以致用。
2、加大实验教学力度,真正培养学生解决实际问题的能力。对实验要有老师演示,学生模仿,到最后的逐渐放手,让学生自己来实现源程序编写、调试和运行。以锻炼学生的动手能力、创新能力和表达能力。
(五)充分应用现代教育技术
教学中采用电子演示文稿、大屏幕多媒体联机演示、网络教学等各种先进的教学手段,使课堂教学生动活泼,既提高教学效果,又提高教学效率。
1、充分利用多媒体技术将课程的重点难点以及抽象的内容通过动画的形式直观、形象、生动地展示出来,使学生更易于理解和掌握;2、利用网络将课堂教学延伸到课外,学生根据需要通过网络学习有关的内容。教师的课件和教学用资料上传到教学资源下载中心,方便学生课外学习和复习;3、建立QQ群,同学们可以在群里相互解决疑难,也可以通过在线老师解决,这样可以使遗留问题及时得到解决。
四、结束语
通过C语言程序设计课程存在的问题的思考和分析,针对现状,结合独立院校实际,结合教学和个人体会,提出一些改革的措施和想法,探索出一套适合于独立学院学生的教学方法。
参考文献:
[1]张天宝,王攀峰.讨论新型教与学关系的建构[J].高教研究,2001.
[2]沈军.C程序设计语言课程的教学新思路[J].电气电子教学学报,2000,(4):28-29.
[3]张敏霞.程序设计语言课程教学方法改革的探索与实践[J].中国高教研究,2004,(2):9.
c语言程序设计实例范文3
Abstract As a fundamental and central course of computer profession, the C programming language directly affect training goal of computer profession. Therefore, Adapting to the development of Computer profession in new situation, the traditional C language programming teaching method and implementation strategy need to reform. In this paper, the author summarize some views on the teaching reform from the teaching experience of C programming language course.
Key words C programming Language; teaching organization; teaching method
“C语言程序设计”课程是计算机专业学生的一门程序设计入门课,是培养学生程序设计思想和能力的技术基础课,同时也为后续的专业课程奠定了坚实的基础。其中专业核心课程“数据结构”一般以“C语言程序设计”为辅助教学工具,学生在具备了“C语言程序设计”的基本程序设计思想和方法以及数据结构的基础知识后,才能进一步学习Visual Basic、Java等高级语言程序设计。因此,必须将“C语言程序设计”课程的教学作为计算机专业培养的核心任务。
1 “C语言程序设计”教学现状分析
目前,计算机专业“C语言程序设计”课程的教学大多还停留在传统的教学模式上,主要以教师的“教”为主,教师根据教学内容的组织讲授基本的概念、讲解例题、布置作业给学生进行上机练习,学生在教师的指导下完成编程练习。在教学的过程中,学生完全处于被动接受的状态,无法发挥学习的积极性和主动性,以至于大部分学生普遍反映“C语言程序设计”枯燥、难学,缺乏学习兴趣,学生普遍的编程能力较差。
由于新生入校后已有的计算机专业基础知识薄弱,学习方法欠佳,以至于学生在初次接触“C语言程序设计”这样抽象难学的程序设计课程时,都会难于正确把握课程的学习方法。因此,任课教师应该准确地分析学生的学习现状,深究原因,找到解决方法,能够最大限度地激发学生的学习兴趣,引导学生合理有效地学习,并且培养学生分析和解决问题的能力。
2 “C语言程序设计”教学改革
依据培养目标的定位,教师应以培养学生基础能力和提高学习兴趣为原则,合理地开展“C语言程序设计”课程的教学改革。为此,笔者结合“C语言程序设计”的教学体会,提出如下的观点。
2.1修订“C语言程序设计”的教学大纲,编写和选用适合计算机专业的教材
首先,教师应准确定位课程的教学目标和任务,“C语言程序设计”课程的教学目标主要体现在知识、技能和素质三个方面。其知识目标要求学生较好地掌握“C语言程序设计”的基本语法、语句、控制结构以及结构化程序设计的基本思想,这是学习本门课程的核心要求。课程的技能目标体现在使学生认识到算法、良好的程序设计方法及上机实践的重要性,并且掌握算法设计和结构化程序设计的方法。另外,在素质目标方面要求培养学生利用“C语言程序设计”分析和解决实际问题的能力。其次,教师应结合教学目标和任务合理组织教学大纲。鉴于“C语言程序设计”课程实践性较强的特点,教师还应根据教学大纲的要求,制定合理有效的实践教学大纲,制定实践教学内容和实施方案。实践教学内容应紧密联系实际应用,并强调充分调动学生的积极性、主动性和一定的团队协作能力,另外还应注重培养学生分析和解决实际问题的能力。
依据教学大纲中教学内容的组织和实践教学的设计,教师应合理地编写和选用课程的教材。目前,“C语言程序设计”方面的教材甚多,以清华大学谭浩强教授编写的《C语言程序设计程序设计》一书为代表的一系列优秀教材为课程的教学提供了较好的导向作用。但根据计算机专业的培养目标和课程的定位,教师应对教材的内容进行适当的调整。
另外,在教学过程中教师应严格按照程序设计的规范和方法分析和解决应用问题,应培养学生规范的程序设计方法和严谨的编程习惯。例如要求学生在日常程序设计练习中按照“问题定义―问题分析―算法设计―编写程序―上机调试运行”的流程实施,并且在算法设计环节使用规范的程序流程图描述算法。这样一系列的措施有助于培养学生良好的编程风格和习惯,为后续其它的程序设计语言的学习夯实基础。
2.2改革教学组织和实施策略,优化教学结构
由于“C语言程序设计”课程的实践操作性较强,学生在上机实践的过程中,不仅可以消化和巩固课堂所学知识,还可激发和提高学习兴趣、锻炼逻辑思维能力。教师应注重将课本上的理论知识和实际应用问题进行有机结合,提高学生的程序设计能力,进一步培养学生分析问题和解决问题的能力。因此,课程的教学组织主要分为理论教学、上机实践教学和课程设计教学三个环节。
其中,理论教学主要遵照教学内容的要求, 采用多媒体教学与传统板书教学有机结合的方式,实施理论与实践一体化的多媒体教学环境,实现交互式教学。其次,教学中应重视“兴趣引导”,激发学生学习热情,引导学生主动学习。另外,应注重以模拟实践教学为主线,提高课堂教学的教学效果。
上机实践教学以课堂理论教学为前导,内容设计应以巩固和综合运用主要知识点为主线,内容具备实用性,以循序渐进的任务驱动方式指导学生从简单的程序设计开始逐渐扩展到完成综合的程序设计,以由浅入深、由单一到综合的过程展开,符合学生的认知习惯和知识的拓展,使学生利用所学知识解决实际的问题,培养程序设计的能力。
结合课程的特点,课程设计环节应利用“C语言程序设计”的基础理论和上机实践课中学到的编程知识和编程技巧,通过布置具有一定难度、一定编程量的课程设计任务,使学生通过课程设计掌握高级编程语言的知识和编程技术,具备分析问题和解决问题的能力。
2.3秉承合理有效的教学理念,改革传统的教学方法
传统的“C语言程序设计”教学方法一般采用灌输式的单向教学法,学生被动地接收知识,并且教学知识点零散,建构系统的知识体系,另外理论教学和实践脱节,学生只会纸上谈兵,动手实作能力较差,不能利用所学的知识解决实际问题。因此,在教学过程中应重视教学方法的改革。“C语言程序设计”教学主要采用“任务驱动”、“案例教学”、“讲练结合”的教学方法,三种方法有机结合,合理地组织课程的教学。
“任务驱动”教学法要求按照教学目标的要求,围绕教学内容,合理地安排一个任务。其主要分为三个基本环节,首先提出任务,例如设计判定学生成绩等级的程序;进一步分析任务,提出问题的解决方法,主要设计程序的算法;最后解决任务,讲授解决任务运用的知识点,例中主要的知识点为选择控制结构的语法及应用。
“案例教学法”以综合的“C语言程序设计”程序案例为主线,贯穿所有章节的知识,课程教学具有系统性和连贯性。例如,提出“学生成绩管理系统”案例,实现成绩的录入、添加、修改、删除、查询、统计和排序等功能。通过分析案例,明确系统的基础知识和各个功能模块的相关知识点,如表1所示。
另外,“讲练结合”的教学方法主要应用于上机实践教学环境中,采取边讲边练的教学互动形式,完成程序设计实例。教师先讲解和演示与本次实践任务相关的应用问题和注意事项,学生按照要求动手完成实践任务,教师及时了解学生在实践中出现的问题,加以正确的启发和指导。最后教师对本次实践任务的完成情况进行总结,集中反馈出现的问题并提出解决方法。
2.4完善课程的考核方案,合理评价学生的学习成果
鉴于“C语言程序设计”课程理论和实践并重的特点,课程考核应主要分为理论考核和实践考核两大方面。其中理论考核以笔试为主,考试内容应遵照教学大纲和考试的要求,突出课程的主要知识点;实践考核主要以上机实践教学环节制定的任务和课程设计为考查对象,客观地反映学生掌握知识和运用知识的能力。
“C语言程序设计”的课程设计考核应采用学生答辩的形式,从学生运用知识的能力、分析和解决问题的能力、创新能力等方面进行综合考核。
c语言程序设计实例范文4
关键词:C语言教学;课程导入;项目驱动式;软件工程
中图分类号:G712 文献标识码:A 文章编号:1672-5727(2012)04-0095-02
C语言程序设计是一门过程性程序设计语言,它的发展贯穿了计算机发展的历程,它蕴含了程序设计的基本思想,囊括了程序设计的基本概念,所以它是理工科高等院校的一门基础课程。另外,在计算机教育方面,C语言是为数不多的与国外保持内容同步的课程之一,因此,它在相关专业教学中的地位和重要性不言而喻。
C语言教学的现状
传统的C语言程序设计的教学,从教学形式上看,通常是多媒体教室讲课+学生上机训练。从教学内容上来看一般都是“说明书”式的教学,即教师进行教学时往往是逐一地讲解相应的知识点,然后加以举例说明,最后学生进行针对性练习。这种以概念、举例、练习三部曲的方式来按部就班地组织教学,由于受到教学课时等因素的影响,在讲授程序设计思想、方法等重要概念和应用时,已没有足够的教学时间让学生去做一些具体的综合性练习。这种教学方式的缺点是:一般都脱离了实际应用,纯粹的过程性程序设计使学生在学习和上机时,将学习重点放在C语言的语法上,不知道所学习的东西有什么用,不能很好地把握知识的重点,也不能很好地训练在实际工作中所需要的技能。由于不能很好地调动学生的积极性,因此普遍存在着“教师难教,学生难学”的状况。
C语言教学改革
针对以上问题,我们认识到在C语言课程的学习上,首先要转变一种观念,使学生学习C语言的主要目的不再局限于单纯地了解和掌握基本语法规范,而是把学习的重心转移到培养学生运用C语言解决实际问题的编程能力,把C语言作为一种实践工具,介绍程序设计的基本思想和方法,培养学生无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法的能力。
在实际教学中,将课程导入设计和项目驱动教学引入C语言教学中,取得了一定的效果。
(一)课程导入在C语言教学中的应用
课程导入的设计 课堂导入是课堂教学中的第一个环节,是指课堂教学伊始的3~5分钟内教师和学生所有教学活动的统称。这一环节时间很短,但作用重大,如果设计得当,可以快速集中学生的注意力,激起学生的求知欲,为后续教学的顺利开展带来极大的便利。所以,课堂导入是课堂教学中一个不可忽视的重要环节。下面通过对课堂导入环节的分析,结合教学实例,提出这一环节的一些设计原则。
课程导入的教学示范 课程导入需要良好的教学案例。下面以C语言中的循环结构程序设计部分的课程导入为例加以介绍。
1.强化理解概念。循环的相关概念如循环控制条件、循环变量、循环体等是设计循环结构程序的关键因素,在本部分教学之初,必须透彻理解。因此,设计了“植树”案例。具体描述为:学校要求每人种植50棵树,种树的具体过程描述如图1所示。通过图1,可以对循环基本概念进行如下定义:(1)循环体:重复执行的动作,如图1中的“挖坑、浇水”;(2)循环控制条件:重复执行循环体的条件,如图1中的“总棵数
2.归纳、总结,强调功能。现实中许多问题的求解都可以归纳为计算机能重复执行的操作。例如,数值计算中的数列问题,数值计算中的对象遍历(查找、排序)等问题。重复工作是计算机特别擅长的工作之一,也是计算机解决问题时遇到最多的一类问题。这部分主要强调循环结构在程序设计中的重要作用。
3.循循善诱,引出新课环节。介绍C语言提供的三种循环控制语句:(1)while语句;(2)do-while语句;(3)for语句。这部分主要使学生认识到编制循环结构的程序所需要掌握的工具。
4.分析简单的数列求和实例,练习编制循环程序引入程序设计实例求“1+2+3+…+100累加和”。通过提问、启发等多种方式共同设计算法,如下所示:
算法1:直接写出算式(用变量sum存放和)
sum=1+2+3+4+5+…+100
算法2:
步骤1:考虑1+2+3+…+100可以改写为:(((1+2)+3)+…+100),
sum=0;
sum=sum+1;
sum=sum+2;
…
sum=sum+100;
步骤2:根据规律上述式子可以改成:
sum=sum+i,i=i+1
…
步骤3:完整算法:sum=0,i=1;
判断如果i小于或等于100,执行步骤3,否则算法结束;
sum=sum+i; i=i+1;返回步骤2
(二)在C语言教学中实施项目驱动教学法
提高教学质量和教学效果,不但要通过良好课程导入的设计使学生很容易地融入新的教学内容中,还要在具体知识的学习上吸引学生,提高学生的学习兴趣。“项目驱动”教学法以提高学生的学习兴趣,重点培养学生分析问题、解决问题的能力为目的,是培养学生自主学习能力的一种新的教学法。
所谓项目驱动教学法,是师生通过共同实施一个完整的“项目”工作而进行的教学活动,它既是一种课程模式,又是一种教学方法。可以看出,项目教学都是实践导向的和任务驱动式的教学。
C语言程序设计作为计算机类专业的基础课程,若摆脱传统的“说明书”式的教学模式,采用“项目驱动”教学模式,将学生的关注点由繁复的C语言语法转移到实践性较强的项目的设计与开发上来,将会极大地提高教学效果。
帮助学生树立软件工程的基本思想 在计算机行业中,软件是通过人们的智力活动把知识与技术转化成信息的一种产品。软件的设计已经用工程的观念来进行管理,软件设计工作被当作一项系统工程来对待。C语言作为大多数工科院校学生接触的第一门程序设计语言,在学习之初,首先应该让学生简单了解什么是软件工程思想。同时,当前的程序设计教学也必须以切合将来软件工程开发的实际需要为第一目标,使学生在学习程序设计的初级阶段就树立正确的软件工程观点。这样做,不仅可以为学生将来从事计算机应用设计打下良好的基础,而且有利于培养学生分析问题的完备性以及统筹全局、协调关系等基本素质。
软件工程思想 经典的软件工程思想将软件开发分为3个阶段:软件定义、 软件开发和软件维护。软件定义可进一步划分为问题定义、 可行性分析和需求分析。在这一阶段,通过对应用问题及其环境的理解与分析,建立系统模型,将用户的需求精确化、 完全化。软件开发阶段可进而划分为总体设计、详细设计、编码和测试。总体设计阶段的主要任务是如何得到一个能够实现用户需求的理想的系统结构,详细设计的任务是进行系统所需要的数据结构设计或者数据库的物理设计以及模块逻辑开发。编码即软件系统的实现阶段,在现代软件工程中,编码阶段所占的比重正在逐渐地缩小。软件测试是软件工程过程的一个重要阶段,其主要任务是对软件分析、设计和编码各阶段的产品进行检查,保证软件开发产品的正确性、完全性和一致性,检测并修正软件中出现的错误。软件维护是在软件产品交付给用户之后进行的修改工作,维护工作的好坏直接影响到用户的满意程度,关系到开发者的信誉。
以软件工程思想指导一个完整的软件开发项目 在C语言教学实施过程中,配合“项目拓展驱动教学法”,整个课程教学围绕一个“工程项目”进行,以项目的构建过程为线索安排教学步骤,教学过程由项目任务来驱动;同时,以软件工程思想指导整个软件项目的建设。下面以“通讯录管理系统”的设计与实现为例,简单加以介绍。首先,将整个课程学习分为两个阶段。第一阶段为单项的编程练习阶段。该阶段重点是掌握C语言的基本语句、数据类型与程序结构等;第二阶段是实训项目编程实践阶段。主要进行数组、函数、结构、指针和文件内容教学,同时,逐步组建“通讯录管理系统”,并且添加文本菜单,整合扩展记录添加、排序、查询、统计和记录浏览等功能并编写程序文档,形成完完整整的应用软件。具体设计参见表1。
通过这种逐步拓展的实训项目和设计,不但可以将C语言的知识点都融化到一个个实训项目的程序编写中,而且可以熟悉一个软件项目的简单设计过程。在学习过程中,学生参与整个完整项目的分析、设计、实现全过程,在课堂教学中将理论与实践教学有机地结合起来。这种开放性、创新性的教育思想和模式可使学生从被动接受者变成主动参与者,促进学生应用能力的提高。
良好的课程导入设计可以充分调动学生的求知欲,为后续教学环节的顺利开展带来极大的便利;而将软件工程思想结合项目驱动教学法引入C语言的教学中,从学生接触编程语言开始,就培养软件工程思想,有助于学生从整体上体会软件开发的全过程,充分调动学生的学习兴趣。
参考文献:
[1]肖荣,黄宏新,车云霞.论课堂导入及其设计[J].天津市教科院学报,2001,(4):38-41.
[2]杨玫,刘瑜,孔波.引入软件工程思想的C语言案例教学法[J].科技信息,2010,(20).
[3]李爱军.“项目驱动”教学法在C语言教学中的应用[J].办公自动化杂志,2010,(18).
c语言程序设计实例范文5
【关键词】监测台;机房设备;电路
1.单片机客户端系统
单片机客户端有以下部分主成:串口通信、PS2键盘控制、红外遥控控制、光电传感、热释电、温度传感、12864液晶模块显示、蜂鸣器报警、8路开关控制。PC主机端自身拥有人机交流模块,用户也可在PC端通过键盘和鼠标实现8路开关的控制;同时PC主机端负责接收并处理来自单片机客户端的控制数据和防区数据,通过一定的算法实现单片机客户端与PC主机端的数据同步;PC主机端还负责同步系统时钟和显示温度数据的功能;PC端在处理防区数据时有辨别防区和记录最新防区报警时间的功能;其中实现实时同步的关键是数据交流和中断处理,以下在我们的系统总方框图中将给出我们的处理算法。单片机客户端系统总方框图如图1所示。
图1 单片机客户端系统总方框图
2.单元电路设计
2.1 控制部分电路(如图2所示)
图2 控制部分连接图
2.2 PS2部分电路(如图3所示)
图3 PS2接口硬件连接图
2.3 液晶显示部分电路图
显示部分电路如图4所示:
图4 12864串行通信电路图
2.4 温度传感器部分
温度传感器我们使用的是DS1820 单线数字温度计,DS1820数字温度计以9位数字量的形式反映器件的温度值。
DS1820通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。 因为每个DS1820都有一个独特的片序列号,所以多只DS1820可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
DS1820依靠一个单线端口通讯。在单线端口条件下,必须先建立 ROM操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM操作命令之一:1)读ROM,2)匹配ROM,3)搜索ROM,4)跳过ROM,5)报警搜索。这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。
一条控制操作命令指示DS1820完成一次温度测量。测量结果放在DS1820的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存器中数据读出。温度报警触发器TH和TL各由一个EEPROM字节构成。如果没有对DS1820使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH和TL进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。如图5所示为温度传感器控制电路。
图5 温度传感器控制电路
2.5 红外遥控器整体电路图
矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4×4个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。
先从P1口的高四位输出低电平,低四位输出高电平,从P1口的低四位读取键盘状态。再从P1口的低四位输出低电平,高四位输出高电平,从P1口的高四位读取键盘状态。将两次读取结果组合起来就可以得到当前按键的特征编码。使用上述方法我们得到16个键的特征编码。红外遥控器整体电路图如图6所示:
图6 红外遥控器整体电路图
2.6 串口部分电路
串调调试原理图如图7所示:
图7 串口调试原理图
2.7 设备控制电路
设备控制电路如图8所示:
图8 设备控制电路图
参考文献
[1]田立,田清,代方震.51单片机C语言程序设计快速入门[M].北京:人民邮电出版社,2007.
[2]楼然苗,光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.
[3]涂时亮,友德.单片微机控制技术[M].上海:复旦大学出版社,1994.
[4]戴佳,戴卫恒.51单片机C语言应用程序设计实例精讲[M].电子工业出版社,2006.
[5]吴炳胜,王桂梅.80C51单片机原理与应用[M].冶金工业出版社,2001.
作者简介:
c语言程序设计实例范文6
教师在教学活动实践中突出难点的同时应学会分散难点,从而降低学生学习中的困难,为学生们主动学习奠定基础,具体可以从以下三个方面入手:(1)从实际问题的重复性出发.教师精心设计实例,从日常生活中容易看到和理解的问题入手,提出较为实际的切入点,然后在教师的引导下,让学生自己动脑归纳重复行为,以达到理解和掌握循环结构的主要特点.在整个课堂上教师应明确学生才是学习的主体,而教师只是扮演主导角色.在循环结构设计时应牢牢把握程序设计的主要思想即从上到下,逐步求精,突出学习的重点并将其分散,达到让学习容易理解和接受的目的.(2)教师在教授难点知识时应安排好过渡环节,在讲授C语言基础内容时可以适当的安排循环程序,不过先不要将其功能,为讲解现在的内容做好铺垫,这样能够使学生掌握基础知识的同时,对学习本节内容有心理准备,这种循序渐进式的教学方法,可以达到提高教学质量的目的.(3)在循环程序设计应用时,教师应在学生对基本知识了解的基础上再进行更为复杂程序的扩展,逐层深入,使学生对C语言程序设计有更全面的认识.讲解重点知识时教师应在黑板上板书清楚,同时可以进行适当的提问,一方面让学生参与到教学活动中去,能够达到活跃教学气氛的目的.另一方面通过提问教师了解学生们对C语言循环结构掌握和理解情况.当写出程序后教师让学生放到实际环境中运行,并针对出现的问题让学生们自己分析,并进行调试,直到程序运行稳定.这个环节非常重要,在查错纠错的过程中学生对循环结构的理解会得到显著的提高.
2认真设计和组织教学过程
2.1提出问题
C语言循环结构的学习主要包括两方面内容:循环结构程序设计的算法表示和用C语言将循环结构表示出来.由于该内容是C语言学习的重、难点内容,因此教师应准确把握循环学习的引入问题.比如教师可以在课堂上提出计算10的阶乘这个简单的问题.这时学生们会利用之前学习的知识能够轻而易举的解决,但是如果计算n的阶乘用之前学习的顺序和选择结构就很难解决,以此引入循环结构学习的必要性,这样就能轻松的引入循环结构的学习,引入时教师应结合多种教学手法,调动学生们学习的积极性和热情.
2.2解决问题和讲解新知识
当教师通过提出问题引入循环后,应首先分析使用循环结构计算n阶乘的自然语言和流程图.其次,解决这类问题时C语言提供了较为常用的三种结构,教师可以根据需要选择不同的循环控制语句进行演示.最后,讲解不同循环控制语句的作用,让学生自己体会不同语句的区别.为了进一步提高教学效率,教师除了运用传统的教学手法外还可以选择以下方法,以达到让学生尽快掌握循环结构的目的.(1)教师在课堂上应充分发挥自己的主导作用,注重从不同角度去启发学生,调动学生们主动学习的热情,从而能够主动的去分析问题和解决问题.(2)灵活运用各种驱动式教学方式,按照提出问题、分析问题、解决问题的思路,让学生紧跟教师教学步伐,逐步实现教学目标.(3)加强学习和研究国外教学方法,教学活动实践中注重国际上常用的解析教学方法.(4)培养学生实际解决问题的能力,让学生将编写的程序在实际的环境中运行,并善于分析运行中出现的错误,从而主动的寻找解决问题的方法,这样不但能够巩固好之前所需知识,还能进一步加深学生对循环结构的理解.(5)注重利用现代科技手段,增强学生对循环结构重难点知识的理解,提高教学效率.注重板书和投影仪结合教学方式的运用,尤其是分析过程,应进行详细的板书让学生能够充分的了解和学习循环结构的思维过程.
3注重循环结构数组中的教学
执行循环结构的本质是对数据的判断和操作,利用循环结构操作数组是现实中遇到的常见问题,因此,教师在学生充分理解循环结构的基础上,应适当扩展循环结构操作数组知识的讲解,从而使学生形成一个完整的C语言知识系统框架.数组和基本数字之间的区别是操作数组应控制好其下标,对于初学者来讲运用循环结构编写的语句运行时经常出现下标越界的情况,出现这种情况的原因是学生没有很好的将循环结构和数组知识联系起来.因此教师在教学过程中应注意利用循环结构操作单一数据到数组的过度,让学生自己比较两者的区别.教师在教学过程中应让学生观察这些语句的区别,不难发现这些语句的不同之处在于数据下标,这个时候教师可以引导学生去思考,能否使用for循环语句中的变量i来代替下标的变化呢?
4总结