算法为先的C语言教学模式探讨

合集下载

c语言教学方法探讨

c语言教学方法探讨

C语言教学方法探讨姓名段富元学号 1406170032院系机械工程学院机械系专业机械设计与制造班级 14机械一班完成时间 2015年11月18号摘要C语言是很多高校理科专业最普遍的一门基础课程,如何让学生快速的对C 语言有所了解,并进而消除他们对程序设计的畏惧性,使对计算机编程一无所知的学生掌握C语言的简单使用与编程能力。

从教学内容,上机实训和培养学生学习兴趣等几个方面进行了探讨。

关键词:C语言;教学方法;学习兴趣;实践目录前言..............................一、C语言教学中存在的问题。

1.1 学生学习热情不高,对学习没兴趣1.2 学生不注重基础教学1.3 学生数理和英语基础相对较差1.4 上机实践不够重视二、C语言教学方法探索。

2.1 改进C语言教学方法2.2 明确C语言教学内容和教学目的2.3 培养学生信心,增强学生学习动力2.4 加强C语言上机实践前言目前,C语言已经发展成为应用最广泛的计算机程序设计语言之一,不仅是计算机专业的学生学习C语言,而且很多非计算机专业的学生对它也有着浓厚的兴趣。

高等院校几乎所有的计算机类专业和许多理工科专业都开设了C语言程序设计课程。

全国计算机等级考试、专升本等考试都将C语言作为一个重要的考核内容。

因此,学习和使用C语言的人越来越多,学好C语言成为一种越来越普遍的需要。

但是想要学好C语言并不那么简单,这使得我们的教学有一定的困难。

本文就C语言教学过程中的一些经验与体会做一些探讨。

绝大部分同学以前没有接触过程序设计方面的知识。

因此,对他们来说,程序设计方面的概念还是一片空白。

因此如何在有限的学时内,让学生对计算机编程一无所知的学生掌握C 语言,并有一定的编程能力是非常重视的问题。

第一章C语言教学中存在的问题C语言程序设计”是理科生的主要基础课程之一,也是学生学习程序设计不可缺少的一门学科.通过这门学科的学习,学生应该掌握程序设计的一些基本方法和技巧。

《算法与程序设计》有效教学策略探究

《算法与程序设计》有效教学策略探究

《算法与程序设计》有效教学策略探究《算法与程序设计》是计算机科学与技术专业的一门重要课程,其教学对于学生培养算法思维、提高编程能力具有重要的意义。

由于算法与程序设计的复杂性和抽象性较高,常常使得学生难以理解和应用。

为了有效教学,我们需要探究合适的教学策略。

我们应该注重培养学生的算法思维。

算法思维是解决问题的关键能力,它包括问题的分解、抽象和归纳等能力。

在教学中,我们可以通过引入具体的问题、案例和实例,让学生充分理解问题的本质和解决思路,培养他们分析和抽象问题的能力。

可以通过让学生编写算法伪代码或流程图的方式,让他们更好地理解和应用算法。

我们应注重培养学生的编程能力。

编程是算法与程序设计的核心技能。

在教学中,可以通过讲解编程语言的基本语法和特性,让学生掌握编程语言的基础。

可以通过举一些实例,让学生在课堂上动手实践和编写程序,锻炼他们的编程能力。

还可以鼓励学生参加编程竞赛或编程实践项目,提高他们的实践能力和创新能力。

我们应注重培养学生的合作意识和团队精神。

算法与程序设计是一个团队合作的过程,需要学生之间相互合作和交流。

在教学中,我们可以设计一些小组项目,让学生分组合作完成。

通过与他人的合作,学生可以相互帮助、互相学习,提高彼此的能力。

还可以通过开展一些讨论和辩论活动,帮助学生培养批判性思维和表达能力。

《算法与程序设计》的有效教学策略包括培养学生的算法思维、编程能力、问题解决能力以及合作意识和团队精神。

只有通过这些有效的教学策略,我们才能更好地培养学生的算法思维和编程能力,使他们成为具有创新精神的计算机专业人才。

新形势下的C语言有效教学模式探究

新形势下的C语言有效教学模式探究

新形势下的C语言有效教学模式探究随着信息技术的飞速发展,编程已经成为了一项具有广泛应用的技能。

而C语言作为一种结构化编程语言,具有简单易学的特点,被广泛用于系统软件、嵌入式系统、游戏开发等领域。

然而,传统的教学模式已经无法满足学生的需求,因此需要探索新的有效教学模式。

一、针对实际应用情况的教学模式C语言是一门应用广泛的编程语言,因此教学内容应该以实际应用为导向。

在教学过程中,可以选择一些实际场景来进行编程实践,例如编写简单的嵌入式系统、编写简单的游戏等。

通过解决实际问题,学生可以更好地理解C语言的概念和特点,同时也能够提高他们的编程能力和解决问题的能力。

二、灵活多样的教学方式在新形势下,教学方式也需要与时俱进。

传统的教堂式授课已经无法满足学生的需求,因此可以尝试采用灵活多样的教学方式。

1.项目驱动式教学:通过给学生提供一个完整的项目,让他们在实践中学习C语言的理论知识和编程技巧。

例如,可以给学生提供一个要实现的功能,然后让他们根据所学的知识和技巧来完成编程任务。

通过这种方式,学生可以更好地理解知识点和技巧的实际应用。

2.小组合作式教学:将学生分为小组,每个小组负责完成一个编程任务。

通过小组合作,学生可以相互交流和学习,提高彼此的编程能力。

同时,小组合作也能够培养学生的团队合作精神和沟通能力。

3.实践导向的教学:在教学过程中,可以通过实验、实践等方式来增强学生对C语言的理解和掌握。

例如,可以让学生编写一些简单的程序来实现一些功能,通过实际操作来加深对C语言的理解。

三、注重动手实践与理论结合C语言是一门实践性较强的编程语言,因此在教学过程中应注重学生的动手实践。

可以通过实验、实践、编程练习等方式来提高学生的编程能力和解决问题的能力。

同时,也应注重理论与实践的结合,让学生在动手实践的过程中逐渐理解C语言的原理和概念。

四、注重培养学生的思维能力C语言的学习不仅仅是学习一门编程语言,更重要的是培养学生的思维能力。

《C语言程序设计》课程教学方法研究

《C语言程序设计》课程教学方法研究

《C语言程序设计》课程教学方法研究随着信息时代的到来,计算机教育已成为现代教育的必修课程之一。

而C语言作为计算机编程语言的基础,其在计算机相关专业中的地位尤为重要。

为了使学生更好地掌握C语言编程技能,需要采用适合的教学方法。

一、基础知识教学法C语言是面向过程的编程语言,掌握基础语法和数据类型等知识点是编写程序的前提。

因此,专业教师应在教学初期注重基础知识讲解。

同时引导学生积极思考语法规则,并提高对关键字、数据类型、流程控制语句等概念的理解。

二、项目式教学法对于编程语言学习而言,理论知识虽然重要,但运用实际项目教学思维方式更为实际。

通过“理解”的方式来让学生更好地掌握C语言编程技巧,更好地完成实际项目并在项目中获得经验。

这种教学方法可以更有效地提高学生的兴趣和实践能力,同时增强学生创新思维。

案例式教学法是一种以案例为基础的教学方法,将理论知识与实际案例结合,鼓励学生独立思考,发掘不同的解决方法。

通过对编程思路的分析和对案例程序的编写对比,学生可以更深入的理解C语言编程思路,并对编程的实际应用有更深入的掌握。

案例式教学法有助于激发学生求知欲,通过编写四句话、文件读写等简单实例程序,加强学生的程序设计思维。

探究式教学法的理念是尝试性探究的基础之上,去探讨一个问题的解决方案和方法,更大程度地激发学生的好奇心和创新能力。

在C语言编程教学中,专业教师可以通过提出问题和问题探究的方式,引导学生进行C语言程序的实际编写和调试。

这种教学方法不仅能够提高学生的自学能力和解决问题的能力,而且还能够加强学生的合作思维和团队意识等综合能力。

实验式教学法在实际操作中,通过安排一系列实验项目,让学生在实验中自己动手实践从而深入掌握C语言编程技巧。

这种教学方法不仅能够提高学生的实践操作能力、培养学生的实验技能、加深学生对课程知识的理解和掌握,还能促进学生团队协作和创新思维等综合能力。

在实践中,学生可以通过编码调试代码,反复尝试练习,提高自己的编程技巧,同时也能够更好地理解与掌握C语言的相关知识点。

c语言教学方法探讨

c语言教学方法探讨

c语言教学方法探讨随着科技的发展和社会的进步,计算机程序设计已经成为了越来越多人的必备技能。

而“C语言”作为编程语言中的经典之作,一直是计算机专业学生和编程爱好者们必修的课程。

如何在教授C语言时做到有效教学,让学生们能够快速学习掌握,也是我们教育工作者需要思考的问题。

本文将探讨C语言教学的具体方法。

一、注重基础课程C语言的学习需要从基础内容入手,包括常量、变量、数据类型、运算符、输入输出等方面的知识。

在教学中要注重讲解这些基础概念,增强学生对这些知识的掌握程度,为后续深入的学习打下坚实的基础。

二、学以致用在学习C语言时,不仅仅要学会用C语言编写代码,还要明白如何将所学的知识应用到实际中。

这需要教师在课堂上注重对C语言的应用进行讲解,例如开发中使用的算法、数据结构,以及如何在实践中优化代码等。

结合实际的案例进行授课,会让学生更好地理解知识点,掌握C语言的实际应用能力。

三、以小组为单位进行编程实践编写代码是C语言学习过程的重要组成部分。

在教授编程方面,教师可以将学生分成小组,让他们在一起完成编程任务。

这种方式不仅能够丰富学生的编程经验,还能够促进同学之间的交流与合作,提高他们的问题解决能力和创新能力。

四、重视实验操作C语言的学习需要进行实验操作。

在考试方式上,可以把考试分为理论考和实验考试两部分。

理论考试强调学生的基本理论知识和基本应用能力,而在实验考试中则可以评测学生的实际操作能力。

由于实验对于C语言学习的重要性,实验室管理人员应该根据教师的教学要求,制定严格的实验规范,确保实验进行有序且安全。

五、注重师生互动C语言的学习是需要师生互动参与的。

教师应该主动与学生沟通,关注学生的学习进展和学习心理问题,及时给予适当的帮助和指导。

通过师生互动,可以让教师更好地了解学生的学习情况和需求,以此来调整教学方式和方法,让学生更好地掌握C语言的知识和能力。

六、提高学习兴趣和积极性学生对C语言的兴趣和积极性对于学习的成功有着至关重要的作用。

以算法为例探讨中职C语言教学方法

以算法为例探讨中职C语言教学方法

EDUCATION ·METHOD教学·教法文 黄 力以算法为例探讨中职C 语言教学方法一、现状分析(一)C 语言是一门入门级的编程语言,它不仅可以培养学生利用计算机解决问题的能力,也是后续计算机专业相关课程甚至非计算机专业一些重要课程的基础,在高校中是一门基础的必修的课程,而在中职学校中C 语言,在非计算机专业中开设得也很普遍,只是对知识的掌握深度比高校低几个层次。

(二)作为C 语言的学习者,中职的学生本身也与高校的学生在思有很大的区别。

1.学生的数学基础较差,知识也不成体系,逻辑思维不强。

2.学生的学习兴趣不浓厚,学习上畏难情绪较重,主动学习的动力不足。

3.学生本身的学习能力较差,学习意志力差。

根据以上几点,在实际的对于C 语言知识的讲解过程中可以尝试实例教学法。

通过剖析精典的实例,让学生了解、掌握并模仿其解题的思维方式,更可以起到事半功倍的效果。

通过对经典案例的模仿不仅可以大大增强学生的成就感,降低相关知识点的学习难度,更能激发学生学习兴趣。

在实际的实例教学过程中应注意两点:1.精选案例,案例要具有鲜明的一类特征,易于学生模仿。

2.讲透案例,不仅要将知识点讲透,更要将解题的思维讲透。

二、实例教法算法是C 语言的重点,也是难点。

如果纯粹讲算法理论,学生根本听不懂,关键是太枯燥学生不会去听。

但是如果以实例作为切入点,则更能吸引学生并让学生更易理解。

对于实例的选择,我们选取经典的猴子吃桃问题。

实例选择的理由:1.算法只有十步左右,程序也很简单,易于讲解。

该实例也是C 语言中经典案例之一。

2.吃桃问题,学生易于理解,也较有兴趣。

关键是算法思维清晰,易于模仿。

【题目】一只猴子摘了N 个桃子,第一天吃了一半又多吃一个,第二天又吃了余下的一半又多吃了一个,到第十天的时候发现还有一个。

【分析】:数学的常规的解题思路如下假设剩下S1、S2、S3、S4、S5、S6、S7、S8、S9只要一步步地数学求解即可解决问题。

高职院校C语言课程教学模式探讨

高职院校C语言课程教学模式探讨

高职院校C语言课程教学模式探讨随着计算机技术不断发展,C语言已经成为一门不可或缺的编程语言。

在高职院校的教学中,C语言课程的设置非常重要,不仅涉及到学生在计算机编程方面的实际应用能力,同时也关系到高职院校的办学水平和质量。

因此,如何探索C语言课程的教学模式,是当前值得关注的问题之一。

一、传统的C语言教学模式传统的C语言教学模式一般采用教师授课为主的方式,注重基本语法和简单的应用程序实现。

这种模式缺乏实践的熏陶和对编程思想的深入理解,往往使得学生们只能停留在语言的表层,对于如何运用C语言解决实际问题的能力和创新的意识不够熟悉。

因此,为了提升C语言教学的实效性和趣味性,需要采用新的教学方法和模式。

二、探索基于项目教学的C语言教学模式基于项目教学的C语言教学模式是传统模式的升级版,它以建立工程项目为基础,将“理论知识+实践操作”相结合,让学生们更好地掌握编程思想和能力。

特别是在高职院校,由于学生们热衷于实践操作和创新思维,更适合这种教学模式的实施。

1.项目选择首先,要针对不同的专业领域,选择适合的项目,比如数控、自动化、网络通讯等领域。

最好是结合当地的实际情况,开展一些有针对性的课程设计。

2.项目计划在选择好项目之后,就要制定具体的项目计划,包括项目的目标、时间表、预算、人员分配、任务分解等。

这个阶段最好由学生团队在教师的指导下完成。

3.基础知识培训完成项目计划之后,就是进行基础知识培训。

这个阶段的重点是让学生们掌握必要的编程知识和技能,学习语言的基础语法和常用库函数,并且通过小练习逐步提升编程能力。

4.编写代码在进行到这个阶段时,每个学生之后就要开始着手编写自己项目的代码。

这个过程中可以学生们互相交流,通过范例代码等途径提高团队协作意识,同时将知识点渗透到实践中去,提高学生们的创新能力。

5.测试和调试完成代码编写之后,就是测试和调试阶段。

这个阶段最好让学生了解项目的重要性,建立对项目质量和完成时间的责任感,同时也能够发现代码中可能存在的问题,并进行修改。

计算机教学中c语言教法探讨

计算机教学中c语言教法探讨

计算机教学中c语言教法探讨
随着科技的进步和不断改善的计算机技术,计算机在各个行业中的应用越来越普遍,学习计算机知识的重要性也逐渐上升。

在计算机教学中,C语言的应用和学习越来越重要。

对于计算机教学中C语言的教法具有重要的意义,传统的循序渐进式教学方式已经不能满足当今社会日益复杂和发展迅猛的需求。

首先,应当探讨计算机教学中C语言的综合理论。

应把C语言的语言知识结合起来,围绕语言的基础知识、程序的设计原理以及变量、作用域、子程序等方面进行系统的理论讲解和深入分析,使学习者对C语言有一个全面、准确的理解。

其次,应大量运用计算机技术和互动环境,在实践和课堂活动中引入大量的现代计算机技术,以提高教学效率,实现精细化教学。

例如使用模拟环境让学生对工作原理和代码变更都有更加深入的了解,并且可以搭建实际的案例进行编程训练,更有利于学的理解和掌握。

最后,教师可以利用各种软件工具或实践训练来丰富课堂教学。

利用C语言软件工具,能够迅速使学习者掌握C语言,潜入学习者的心理及兴趣,调动学生内心深处对编程的热爱,让学生充分享受编程的乐趣。

通过以上探讨,我们可以看出计算机C语言教学的教法必须灵活多样,既要不断探索新的理论,也要大量运用计算机技术和实践训练,同时要采取有效的技巧才能实现真正的教学效果。

只有结贴理论和实践、同步理论和技术,才能改革传统的教学模式,最终使学生掌握C语言,发挥C语言的最大价值。

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

算法为先的C语言教学模式探讨摘要:本文通过分析C语言教学中存在的问题,提出算法学习对学生学习语法和上机操作有着积极的作用,进而阐述算法为先的教学方法,实践证明,该教学方法从根本上调动学生学习C语言的积极性和主动性。

关键词:C语言;算法为先;教学模式1引言为适应社会和经济的信息化需要,掌握计算机技术显得尤为重要。

C语言以它结构化丰富、灵活性大、可移植性强、效率高等优点,被广大高校作为计算机专业基础课,以及许多非计算机专业学习程序设计的首选课。

但是又由于C语言涉及的概念复杂,规则繁多,数据类型和运算符丰富等特点,使许多初学者望而生畏。

很多文献致力于研究好的教学方法,帮助学生掌握C语言语法及上机技巧,这在一定程度上改善了教学效果,但是学生的学习热情仍然缺乏积极主动。

本文通过分析算法在C语言教学中的重要作用,进一步探讨算法的教学方法,目的是从根本上激发学生的学习热情,降低学习难度。

2C语言教学中常见问题分析算法设计、基本语法规则、程序调试是C语言教学的核心内容。

算法注重解决某一问题采用的方法步骤,语法注重语言规范,用规范的C语言描述的算法必须通过上机调试才能实现,三个核心内容紧密联系。

然而在教学环节中,教材内容基于语法体系,通常采用课堂讲语法、上机调程序的教学模式,忽视了算法在教学中的积极作用,殊不知过细的语法知识易使学生失去兴趣,灵活的编辑环境让学生望而却步,学生的学习热情很难调动起来。

2.1语法细节易使学生失去学习兴趣通常C语言是学生接触的第一门程序设计语言,任何程序主要由数据和操作两部分组成,围绕这一特点,C语言教学内容可归纳为:算法,数据结构,程序结构三部分。

算法是编程的指导思路;数据结构是数据的组织形式,可细分为基本数据类型,构造类型,指针类型、位运算;程序结构是操作语句的组织形式,具体包括预处理,函数,顺序结构,选择结构,循环结构。

虽然C语言知识结构清晰,但是它是面向过程的编程语言,具有灵活的编程格式及丰富的运算符和函数,如果对语法细节不熟悉,以及相关概念混淆不清,很难编出正确的程序。

教师往往投入较多课时,讲解C 语言语法,而繁多的语法细则,不仅使学生难于记忆,而且容易误导学生的编程思路。

例如scanf函数的应用:scanf函数的一般使用形式为:scanf(格式控制,地址表列)。

格式控制是用双撇号括起来的字符串,它包含两种信息:(1)%和格式字符,如%d,%c,%s等,它的作用是按指定的格式输入数据;(2) 普通字符,即在数据输入时,需要原样输入的字符。

地址表列由若干个地址组成,通常是变量的地址或字符串的首地址。

输入多个数据时,空格,回车键,跳格键为默认分隔符。

如:“scanf(“%d%d%d”,&a,&b,&c);”语句,运行时输入:6└┘8└┘9↙,可得到变量a,b,c的值。

如果输入语句变为:“scanf(“%d,%d,%d” ,&a,&b,&c);”,仅添加了两个逗号,仍按以上方式输入,则会出错。

原因在于格式控制部分出现的普通字符“,”,在数据输入时要原样输入,正确的输入方式为:6,8,9↙。

可见C语言语法格式非常灵活。

运用scanf函数输入字符时,又出现特殊性。

如:“scanf(“%c%c%c” ,&c1,&c2,&c3);”语句,运行时输入:a└┘b└┘c↙,目的是将a赋给c1,b赋给c2,c赋给c3。

用“printf(“%c,%c,%c”, c1,c2,c3);”语句输出,结果却为a,└┘,b。

出错原因在于:%c格式字符不需要空格作为输入字符的间隔。

正确的输入为:abc↙。

然而,用scanf函数输入多个字符串时,空格又成为有效的分隔符。

如:“scanf(“%s%s%s” ,c1,c2,c3);”语句,其中c1,c2,c3为字符数组名,若输入数据:How are you? ↙,则c1数组的数据是“How”; c2数组是“are”;c3数组是“you?”。

若将语句改为“scanf(“%s”,c1);”,输入字符串:How are you? ↙,用“printf(“%s”,c1);”输出,则只显示How,与原意不同。

如果一定要将带空格的字符串输入到字符数组c1,需要用到另一个输入函数,如“gets(c1) ;”。

虽然任何一个C程序输入数据,都可能用到scanf函数,但是它灵活的编程格式,往往使初学者在具体运用时举棋不定,忘却抓住编程题目的实质性要求。

教材中还有许多值得注意和思考的语法细节,学生编程时,如果缺乏解题思路的引导,常因语法的困扰而失去编程兴趣。

2.2编程环境易让学生望而生畏上机操作是学习程序设计的必备环节,学生可以验证语句的正确性,测试程序的功能,进一步增强对语法知识的理解和记忆。

但是C语言编辑环境的一些特点,又让学生望而生畏。

首先,编辑环境基于DOS,不像其它可视化语言有友好的交互界面,加之初学者对语法知识不熟悉,编程时稍有不慎就会出错。

如经常字母大小写不分;语句末尾忘加“;”;关系运算符“= =”误用为赋值运算符“=”等。

初学者对出错提示缺乏了解,不知道错在哪里,更无从改正,经常一个小小的错误导致整个程序无法运行。

其次,C语言编译程序对语法检测不像其它高级语言那么严格,这种风格虽然给编程留下“灵活的余地”,却常导致一些非语法性和非算法性的隐型错误。

比如程序:main ( ){int a,b;a = 32767;b = a+1;printf(“%d”,b);}运行结果为-32768,不正确,原因在于发生了溢出。

系统运行时并不报错,程序中潜伏的隐型错误,给编程带来很多麻烦,增加了调试难度,对编程者提出更高要求,只有他们较全面地掌握了计算机知识,才可能检查出错误。

然而初学者往往只懂得编程的一部分知识,这使他们感到C语言编程即抽象又复杂。

如果没有浓厚的兴趣驱动,很容易在不知所措中放弃编程。

2.3算法为先,激发学习热情“C语言”课程长期沿袭传统教学模式,以语法体系为脉络展开教学,重视语法细节和操作技巧,忽视算法对编程的指导作用,学生见木不见林,容易失去兴趣,经过一个学期的学习,除了掌握一些零星的语法外,收获甚微,面对具体的编程问题,无从下手。

从事软件开发的人都知道,软件开发过程包括:可行性研究,需求分析,概要设计,详细设计,编码,测试,维护等几个阶段。

重点在于先设计,后编码,并且整个开发环节需要不断查阅资料,反复调试修改,最终才能设计出可运行的软件,单靠记忆和背诵一些语法知识,根本无法适应实际需要。

在教学过程中,正确处理语法与算法的关系,是提高编程能力的关键。

算法是程序设计的灵魂,没有正确的算法,计算机解决不了任何问题,语言只是实现算法的工具,要从算法实现的角度来介绍语言,而不是用语言来套用算法。

程序设计课程本身是综合性较强的一门课,注重由设计算法到书写程序并进行调试的整个过程,它要求学生首先明晰结构化程序设计思路,知道怎么做,其次要求学生用扎实的语法知识实现编程,最后通过上机调试保证程序正确运行。

然而,这个过程并非一帆风顺,会遇到许多意想不到的困难,需要耐心与毅力,只有具备真正的兴趣和强烈的好奇心,才容易完成。

经过研究与实践,教师在教学中如果注重算法为先,从算法实现的角度来介绍语法,那么不仅可以加深学生对语法知识的理解,增强语言应用能力,而且通过构造算法,培养了学生的逻辑思维,增强了学生分析和解决问题的实践能力。

学生面对新的问题,会从程序设计思想的角度出发,先设计算法,在迫切想要实现的好奇心下,克服学习语法和调试程序的各种困难,变被动为主动。

著名计算机科学家Dijkstra曾提到:“学编程是一个由新奇到熟悉循序渐进的过程”,继而又说:“在这种激进的新奇中含有愉悦的尝试”。

3算法教学建议由上分析可知,C语言教学目标不仅仅是要求学生掌握语法规则或再现简单程序,更重要的是要求学生具备编程实践能力。

传统教学方式,学生形成以语言为中心的思维模式,编程能力差。

教师应引导学生逐步形成以算法为中心的思维模式,提高编程能力。

但是算法的学习和掌握并不是一蹴而就,必须依靠平时训练和知识积累,以下提几点学习建议。

3.1以结构化程序设计思想为核心,开拓算法设计思路学习的认知规律是将复杂问题简单化,以便于初学者理解和接收。

C语言程序设计遵循结构化程序设计方法,该方法提高了程序的可读性,方便了程序的调试和维护,最重要的是该方法不拘泥于算法多变的外观形式,总结出算法结构的内在规律。

学生掌握了这种规律,面对新的问题,很容易进行知识结构的迁移,复杂的编程问题将变得简单。

结构化程序设计包括结构化算法设计和结构化编程。

由顺序、选择、循环三种基本结构(或基本结构的简单变形),按由上到下的顺序排列,组成的算法称为结构化算法。

已经证明,结构化算法可以解决任何问题。

对于特别复杂的编程项目,可以先采用自顶向下、逐步细化的分析方法,或采用模块化设计方法,把大任务分解为容易求解的若干子任务,分而治之。

对于非结构化算法,还可以用等价的结构化算法替换。

在设计好一个结构化算法之后,就可以进行结构化编程,C语言提供了与三种基本结构相对应的语句,进行结构化编程也并非难事。

由上可知,既然基本结构的顺序组合,可以表示任何复杂的算法结构,并且基本结构易于用C语句实现,那么学生只要深刻理解并熟练掌握这三种基本结构,就会提高设计算法和编写程序的能力。

表1对算法的三种基本结构进行了总结。

说明:算法的表示方法很多,其中N-S流程图最适于表示结构化算法。

表1列出了算法的三种基本结构以及相应的N-S流程图和语句的主要表示形式,学生通过该表很容易理解算法,N-S图,编程三者之间的关系。

教师要向学生说明,任何复杂算法都是由这三种基本结构构成,构造算法其实很容易,大家之所以觉得困难,是因为没有深刻理解A、B代表的含义。

正如表中提到:A、B较灵活,既可以代表选择结构也可以代表循环结构,选择结构中还可以再套用一个循环,循环结构中还可以再嵌套循环或选择……由于A、B代表含义不同,可能构造出各种各样不同的N-S图,教师边阐述,边在黑板上绘制,开拓学生的思维空间。

最后总结:能构造多少N-S图,就可能存在多少算法;顺序、选择、循环是三块基本的积木,形式多样的算法是由它们搭建而成,用于解决实际问题。

这种教学方式,以简单的N-S图为切入点,学生很容易发现N-S图的多样性,算法的多样性,实际问题的多样性之间的联系,从而激发设计算法的浓厚兴趣。

正确的解题算法将减少程序的逻辑错误,算法用N-S图描述出来后,利用相应的C语句,学生很容易编写出程序的主体代码,至于其它编程细节,可以引导学生查阅资料。

这样,学生对语法的学习由被动变为主动。

精心培植的幼苗,一定期盼开花结果,学生经过一番努力,编写出的程序代码,也一定希望能用计算机实现,于是上机调试也变得既有目的性,挑战性又有趣味性。

相关文档
最新文档