计算机语言范文
时间:2023-04-09 01:04:13
导语:如何才能写好一篇计算机语言,这就需要搜集整理更多的资料和文献,欢迎阅读由公务员之家整理的十篇范文,供你借鉴。
篇1
测试存在于人类生活的各个方面,人们随时都处于一种测试和被测试中。语言作为人类生活必不可少的交流工具,也是测试的一个目标。随着信息交流技术的发展,计算机技术在语言教学和测试领域发挥着日益重要的作用。同时随着经济全球化的发展,英语日益成为一门具有世界性质的语言,在一些正式交际中,对语言的要求提高了,这也就意味着我们必须寻找一门合理有效公正的测试方式来评估人们的语言水平。计算机技术的发展促使语言测试的介质发生了变化,由传统的基于笔纸的语言测试发展到计算机适应性语言测试,并向基于网络的个性化自适应性语言测试发展(孔文,李清华 2002)。因此,基于计算机技术的语言测试发展起来了,研究者也开始在这一方面给予更多的关注。
二、语言测试特点
任何测试无论其测试方法和目标,它必须具有两个特性,即信度和效度。信度指测试结果是否稳定可靠。即测试的成绩是否反映了受试者的实际语言水平。例如,如果在受试者不变的情况下,在同一测试中,受试者的分数忽高忽低,则这个测试缺乏信度。测试的信度主要涉及到试题本身的可靠性和评分的可靠性这两个方面。效度亦称测试的有效性,指一套测试对应该测试的内容所测的程度,即一套测试是否达到了它预定的目的以及是否测量了它要测量的内容。测试的信度与测试的效度有着密切的关系。一般来说,只有信度较高的测试才能有较高的效度,但效度较高不能保证信度也一定较高。测试结果愈重要,愈要确保测试的信度和效度。
计算机技术的迅速发展在一定程度上改变了教育,语言学习是教育的一个方面,同样也受到了计算机技术的影响,对语言掌握熟练程度的语言测试研究者们开始转向对基于计算机的语言测试研究。同时计算机的应用,可以同时进行大规模的测试。计算机辅助测试(CAT)相对容易,在计算机辅助测试中,受试者通过一些和他能力匹配的试题以证明其语言掌握程度。测试项目可以从早已存入电脑的测试题库中抽取,电脑自动选择合适的测试项目,一旦受试者通过了一定水平的测试项目,计算机自动转入更高级项目进行测试。这套计算机测试的优点在于:(1)可以立即得到测试结果;(2)试验过程的执行管理具有灵活性;(3)测试过程时间较短;(4)对老师和学生诊断信息的实用性;(5)对计算机题库的有效使用。20世纪80年代,随着计算机软件技术的不断发展,CAT被认为和传统笔纸测试相互替代使用的测试手段而被广泛应用于各个研究机构和大学。随后发展起来的计算机适应性语言测试(CALT)和CAT类似。然而,在测试者们热衷于计算机测试时,CAT存在的一些问题也开始得到了学者们的关注。在本文中,将研究基于计算机语言测试所引起的两个问题:计算机熟练度和实用性。
三、语言测试与计算机技术的关系
在本章中着重讨论基于计算机语言测试中出现的问题,对这些问题给予详尽的介绍。
首先是计算机熟练程度。从广义上讲,计算机熟练程度包括对计算机使用的态度问题,对计算机使用的焦虑程度以及使用和公平性也得到了关注。从狭义上讲,计算机熟练程度只是对计算机的熟练掌握。CAT需要考虑到受试者对计算机使用的态度,对计算机掌握不熟练可引发受试者的焦虑。在Jamieson,Taylor,Kirsch和Eigner(1998)研究中,对1169名参加托福机试的同学的表现进行了研究,根据用时,表现和态度的不同做了分析,发现上机指导比实际答题花费的时间长;超过95%的受试者成功完成了试题。对于采取纸笔测试和机试的态度做了对比,受试者愿意接受机试。有学者认为受试者的焦虑对其语言表现影响很大,而语言能力的高低并不能去除机试所带来的焦虑,尤其对计算机应用技术的担忧。伴随计算机和因特网技术的进一步普及,越来越多的人开始接触并掌握计算机技术,这样使得计算机的熟练程度对测试结果的影响相对降低,但不是完全没有,由于有些地方经济发展不发达,当地人们还没有接触过甚至听过计算机,如果这样的话,在大规模高风险的测试中,这些人就处于相对劣势,那么这项测试在信度和效度方面有所降低。例如,托福考试,是一项考察学生是否有语言能力适应在北美大学的生活学习状况的测试,参加考试的全是一些非英语语言的学生,他们来自不同的国家,有着不同的语言和文化背景,对于一些来自贫困国家的部分学生来说,他们有可能没有熟练地掌握计算机技术,如果采用托福机试在一定程度上影响他们的测试表现,进一步影响他们的未来。因此,对于那些希望接受国际学生的机构和院校来说,他们必须保证所有参加机试的学生对计算机的熟练程度是一样的。
其次,实用性的问题计算机语言测试不可忽略的问题,尤其在大规模高风险考试中,比如托福雅思。基于计算机语言测试,顾名思义离不开计算机,因此在设计测试中,需要考虑到计算机的相关因素,如计算机的数量,型号,性能等。计算机测试成本较高,购置大量计算机设备花费大,因此,一些机构没有采纳这种测试工具。另外,在计算机测试中很可能遇到一些不可避免的技术性问题,这也是CAT致命的弱点。其次,许多实践证明计算机辅助测试比传统纸笔测试更实用,更灵活,测试范围,受试者规模大小,测试时间及地点都是可以变动且对测试本身没有多大影响。计算机可以存储大量信息,当然设计测试者可以事先输入大量的测试项目,分类,设计测试流程;测试完成后,计算机可以长期保存测试结果。在测试中,受试者可以根据自身水平选择适合自己的试题,测出自己的语言水平。每一项测试项目都是唯一的,若受试者水平处于中级,他就可以跳过初级直接测试中级,如果中级顺利通过,他可以测试高级,检测自己是否具有高级水平。还有,CAT能很快提供测试结果及反馈信息,这样受试者能很快知道自己的水平,也可以适当选择符合自己水平的测试项目,以增强自己在学习中的自信力。最后计算机根据事先的程序对受试者的测试结果进行自动评估,这样不仅节省了很大的人力,而且迅速得出准确的测试结果。因此计算机在教学和测试方面发挥着重要的作用。
四、结论
篇2
计算机语言中的数组技术是一种功能强大又应用很广泛的技术,在教学中,如何介绍好它,给学生展示出其特点,是值得探讨的事情。多年的计算机编程语言的教学,特别是多年的《c语言程序设计》的教学经验,笔者发现在编程中,数组技术与循环技术应用很广泛,在大部分程序中都有它们的身影,可以说它们是编程的两个灵魂技术。本文主要探讨在教学中,如何介绍数组技术以及展示它的应用。以《c语言程序设计》为例。
一 问题的引入
教师给学生教计算机编程时,常向学生们介绍:
程序=数据结构+算法
其中,数据结构是指程序中所本文由收集整理要处理的数据在计算机内存中的存贮表示;算法是指计算机处理这些数据的步骤。数据结构是算法有效实现的前提。
数据结构的知识在课程《数据结构》中会有详细、全面而又系统的介绍,在《数据结构》所进行的算法设计与实现中,应用到最多的就是数组技术来存储数据,实现其数据结构,可见数组技术的应用广泛。
二 数组技术的教学引入
数组是可以申请绑定到一组地址连续、来存贮大批量数据的内存空间一种编程技术。因此,在程序中,当程序员需要将大批量的数据存贮到内存中时,就需要使用数组技术来申请内存空间了。
例如:设计程序,让计算机能将键盘输入的10个整型数按从小到大的次序输出?
问题分析:需要把这10个整数同时存储在内存条中,计算机才能对它们进行排序,这就需要申请使用10块内存空间。显然,若要利用前面我们所介绍的单个变量说明技术,程序中需要定义10个整型变量,才能申请得到10块内存空间,而此法显然是太繁琐了,试想若要排序的是100、1000个数呢?此时,数组技术就显现出它的作用了。下面程序就是利用数组接收并存储10个整数,再使用冒泡排序方法控制计算机将这10个整数从小到大排序,并输出;10个数据在内存中的存储形式(即数据结构)见左下图。
三 数组技术的协作性
1.数组与字符的协作
在c语言中,没有提供字符串这种数据类型的,但是字符串操作、文本编辑处理等也是程序设计中经常要实现的操作。而字符串本身的定义是由一个或若干个字符组成的有限序列,表达形式为:str=”s1s2…sn”,显然就预示了在解决字符串的存储问题上,也是需要一次性申请多个内存字节,使用数组技术才能易于申请到足够的内存字节来存储字符串。因此,在c语言中,用字符数组来实现字符串的存储,实质上也给我们展示了在以往的计算机语言(如pascal语言)中,字符串数据类型的实现原理。
例如:以下程序是模拟银行atm机上,密码最多允许三次输入错误,如果三次都错了,就不能继续操作了,程序中,密码的存储和操作都是用数组来作为载体的。
2.数组与结构体的协作
在实际应用中,某些问题的编程实现需要多种技术综合应用,才能达到解题的需求。
例如:设计程序,找出下列成绩表中的最高分、最低分及平均分。
程序设计分析:首先需要将该二维表数据存入线性结构的计算机内存中,显然这个表中的数据量较多,需要用数组技术来批量申请内存空间,如果使用简单数据类型的数组(如 int xuhao[10];)只能存储一列数据,而表中有三列数据,则需要用三个简单数据类型的数组,那要是二维表的列数是10列、20列甚至更多列呢?如果使用简单数据类型的数组来申请内存空间,内存的访问将是低效的。解决这一类问题,最好的方式是将结构体技术及数组技术综合起来应用,用结构体封装每一个学生不同数据类型的数据信息,再用结构体来定义数组,就可以申请足够的内存空间,又提高程序的可读性,并进而提高程序的运行效率。程序代码如下:
四 数组技术在《数据结构》中的应用
《数据结构》这门学科主要研究是数据在计算机内存中的存储形式,常见得存储形式有顺序存储形式、链式存储形式、索引存储形式及顺序与链式综合应用存储形式(如树的双亲孩子链表表示法)等,而其中的顺序存储形式、索引存储形式及顺序与链式综合应用存储形式,都要使用到数组技术。
五 结束语
篇3
关键词:计算机语言;发展;分类
一、计算机语言的分类
计算机语言可以分成机器语言,汇编语言,高级语言三大类。
(一)机器语言
计算机所能识别的语言只有机器语言,即由0和1构成的代码。例如:某台计算机字长为16位,即有16个二进制数组成一条指令或其他信息。16个0和1可组成各种排列组合,通过线路变成电信号让计算机执行各种不同的操作。由此可见,使用机器语言是十分麻烦的,特别是在程序有错需要修改时。
(二)汇编语言
汇编语言的实质和机器语言是相同的,都是直接对硬件操作。但比机器语言更为简便,只不过用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,更容易识别和记忆。机器指令“1000100111011000”可翻译为汇编指令“mov ax,bx”。汇编语言的另一个特点是它所操作的对象不是具体的数据,而是寄存器或存储器,这也是为何汇编语言的执行速度要比其他语言快,但数据是存放在寄存器或存储器中,必然就存在着寻址方式,也就是怎样找到所需要的数据,因此这也使编程更加复杂。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。
(三)高级语言
由于汇编语言依赖于硬件体系且助记符量大难记,因此人与计算机交流的仍十分痛苦,人们意识到应设计一种这样的语言,它接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有计算机上通用。于是人们又发明了更加易用的高级语言。在这种语言下,其语法和结构更类似汉字或者普通英文,且由于远离对硬件的直接操作,一般人经过学习之后都可以编程。高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如流行的iava,c++,FoxPro,易语言等,这些语言的语法、命令格式都不相同。高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,易学习掌握。高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。
二、常见计算机语言
根据语言产生的出发点和各自的发展,计算机语言系统已经发展得越来越庞大,不同的语言擅长于的地方,所以用途也有差别。在此简单的列举几个常用也是我们日常更多接触到的计算机语言。
BASIc语言是解释型的语言,需要一个解释器将高级语言代码转为机器码然后才可以执行,与编译器比起来,解释器费时比编译器更多,但可少占用内存。BASIC与其他计算机语言系统相较,既具有易学易懂的特点,又是较好的结构化程序设计语言,具有学习、推广的现实意义。BASIC$语言除了能进行科学计算和数据处理外,还能进行字符处理、图形处理、音乐演奏等。因此BASIC语言不仅适用于科学计算,也适用于事务管理、计算机辅助教学和游戏编程等方面。
c语言应用广泛,是一门通用计算机编程语言。其语言灵活性好,效率高,可以接触到软件开发比较底层的东西。c语言一共只有32个关键字,9种控制语句,34种运算符。c语言把括号、赋值、强制类型转换等都作为运算符处理。此外c语言还具有数据类型丰富,允许直接访问物理地址,对硬件进行操作,生成目标代码质量高,程序执行效率高,可移植性好等优点。从应用的角度,c语言比其他高级语言较难掌握。因此对操作员对程序设计的熟练度要求较高。
Java$语言的语法与c语言和很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了c中很少使用的、很难理解的那些特性,如操作符重载、多继承、自动的强制类型转换。Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。典型的应用是在网站的系统后台程序,如访问数据库和网络编程上,当前有许多衍生级别的平台应用,都是在它的基础上进行开发的,如各式各样的中间件和WWW服务器等。
篇4
关键词:计算机语言;多媒体教学;教育技术;多媒体课件
随着计算机多媒体技术的发展,多媒体教学作为一种新的教学手段和教学方法,给教育和教育技术的变革和发展带来了机遇,也给学员普遍认为难学的计算机系列课程的教学改革带来了新的契机。多媒体教学,以其形象直观、操作灵活、可重复性与可参与性强而成为当今教学改革大潮中的一个重要方面,受到各级各类学校的普遍重视,多媒体教学软件的研制与应用的空前发展,对促进教学内容、教学方法与教学手段的改革,提高教学效率和质量起到了极其重要作用。但是在实践过程中,也存在一些有待改进的问题,如教师主导地位的体现、教学信息流的把握等,如何科学实施多媒体教学,是一个值得探讨的问题。笔者经过几年的多媒体教学实践,仅以切身的感受对计算机语言多媒体教学谈一些看法。
一、计算机语言课程的主要特点
计算机语言课有其明显的课程特点,第一是概念多、逻辑严密、格式规范、系统性强,不仅是其他后续计算机课程的理论基础,而且在培养逻辑思维能力上具有其他课程不能替代的作用;第二是抽象内容较多,需要流程图辅助多,这一特点是很多学员觉得计算机语言课难学的主要原因,但是这种抽象性正是学员完成思维方式转换所必须的。具有这种特点的课程能不能用多媒体教学手段呢?答案是肯定的,只要运用恰当,其效果是传统教学手段难以企及的,但是要用好却是不容易的。
二、多媒体课件的设计原则
在实施多媒体教学时,在科学性、教育性、技术性、艺术性“四性”统一的基础上,应着重突出教育性。
(一) 科学性
科学性是多媒体教学所考虑的首要因素。教学内容上,必须保证概念准确、推导严密、表述严谨、引用资料正确。表述上,符号表示(变量和保留字)和格式是最易出错的地方,我们统一规定:变量用斜体表示,保留字用加粗,格式上采用缩进式,体现程序设计的对称性与层次性。
(二)教育性
教育性是多媒体教学最重要的因素。通过符合认知逻辑、符合教学规律的多媒体课件和多媒体教学,能够攻克教学难点,提高教学效率,拓展教学时空,培养教学素质。
1、攻克教学难点
攻克教学难点,就是要将传统教学方法不易讲清楚,不易讲透彻的内容,通过多媒体手段让学员理解、掌握。例如:冒泡排序是一个难点,传统教学手段不容易讲清楚。通过动画模拟出两两相邻数的比较,大数下沉,内外循环变量控制次数,直至结束,整个过程形象直观、生动,学员也就很容易理解冒泡排序这种算法。
2、提高教学效率
提高教学效率是多媒体教学的显著特点,主要体现在视听结合、节省板书和作用时间、增强图形显示效果这三个方面,有效地解决传统教学中信息流量太低,信息质量不佳的问题。
教学理论表明:信息传播方式不同,学习效果也不同。人们从听觉获得的知识中能记忆的仅15%,从视觉中获得的知识能记忆的是25%,而把视听结合起来的知识能记忆的为65%。人们对语言描述的识别时间是2.8秒,而对色彩识别仅需要0.9秒。因而视听结合,可以提高教学效率。例如,讲到屏幕作图时,通过相应的画点、线、圆、椭圆等时,学员就对相应的语句记忆更加深刻。
3、拓展教学时空
多媒体教学的一个重要特点,就是可以超越课堂的时空界限。课堂上没有条件做的,演示效果不好的,短时间做不出的,可以通过多媒体课件展示出来。例如比较排序,是排序算法中的重要实例,如果比较数值成百上千,用传统口述方法很难讲清,如果用多媒体课件辅助,演示其动态交换数据的过程,问题就迎刃而解。
(三)技术性
技术性是进行多媒体教学的保障。我们尽量作到课件操作简便,修改容易,容错性好,交互性强,扩展性强。
(四)艺术性
艺术性是提高教学效果的有效手段。赏心悦目的背景、形象生动的画面,都能调动学生,使其进入积极愉快的学习状态。因此,我们尽量注意色彩的搭配、背景的选取、画面的设计。
要注意处理艺术性和教育性之间的关系。首先是页面要清晰易认,背景宜简洁。这样,一方面可减少因杂乱的背景使学员注意力分散,另一方面也可方便文字、线条等的搭配。文字、图形、动画等与背景的反差宜大一些,重要内容更应突出。文字不能多、应突出要点,以提纲形式为佳。其次是中心突出。授课内容是中心,不能片面强调艺术性而冲击教育性。如图片应与内容相关,动画要严格服务于教育性,不能华而不实。画面过于花哨,颜色过于亮丽,对比过于强烈,都容易造成学员视觉疲劳,同时放映方式过于多变,也容易使学员精神紧张,不利于长时间保持注意力集中。当然也决不能走向另一个极端,单调到教案搬家或黑板搬家的形式。
三、多媒体教学应更体现培养学员创新能力,加强素质教育
培养创新人才的关键是要培养学员的创新思维及创新能力。计算机语言课是学员较早接触、课时较多,内容经典、丰富的重要课程,它是后期学习其他计算机课程的重要工具,而且对学员创新思维的启迪,创新能力的培养具有重要作用。传统的教学方法只注意知识的传授,忽视了能力的培养。课堂讲授多以教师讲授为主,方法呆板,甚至满堂灌填鸭式,调动不了学员的学习积极性,学生被动地跟着老师的思路走,没有自己思考的余地,培养学员的创新能力,强化素质教育具有不可替代的优势,例如,就排序算法而言,有比较排序、选择排序,冒泡排序、希尔排序、基数排序等多种,用多媒体课件重点讲述其中的一种或二种,让学员弄懂弄透,深刻理解排序的内涵,而其他就没有必要一一讲授,让学生亲身体会,去揣摩其他算法的思想。切实让素质教育进课堂。
四、多媒体教学中常见问题及对策
在实践中,要注意克服多媒体教学中常见的问题
(一)黑板搬家
应用多媒体教学,遇到的第一个问题是黑板搬家,即课件只是简单文字加图形。而真正要达到攻克教学难点,提高教学效率,拓宽教学时空的目的,必须根据教学的需要,使用动画、视频、图片和文本等多种媒体,杜绝简单的黑板搬家。
(二)主导地位
多媒体教学第二个问题是教师的主导地位问题。利用多媒体课件授课,学生的注意力多数时间集中于投影屏幕,这就容易改变传统教学中,教员所占据的主导地位,计算机辅助教学一定要定位于“辅助”二字上,教员的个性能否得到充分的发挥基本上决定了多媒体教学的成败。教员的讲解阐述、动作、表情,特别是与学员的交流一定要起主要作用,多媒体只应作为辅助手段,弥补传统教学方法在直观、形象、信息流量等方面的不足产生传统手段难以取得的效果,但绝对不能喧宾夺主。从课件的构思开始就一定要有教员的个性,讲授起来才可能流畅自然。多媒体教学同时也为教师的个性展示提供了条件。传统教学手段把教师很大部分课堂时间用于板书,所以说是教师“钉在了黑板上”,而多媒体教学把教师从板书中解放出来,给出更多的时间展示教师的个性风采,也为开展启发式、讨论式教学提供了条件,只要教师对课件熟悉,对所授内容熟悉,完全可以得心应手地控制教学进程,体现出对重难点的把握和突破。
(三)信息飞逝
多媒体教学出现的第三个问题是信息量过大,呈现速度过快,超过一般学生的信息接受能力,出现“信息飞逝”的现象。针对这一问题,强调教师认识到:课堂教学,不是讲座或者学术报告,重要问题是应当讲深、讲透。我们用以下方法解决该问题:控制呈现内容的数量,即把信息量控制在适当范围内;精练页面内容,讲解遵照认识规律,循序渐进;重要内容延长停留时间,加入阐述和讲解,一般内容则加快速度,能留下印象即可;适时提问,插入思考题,加强双向交流。
(四)灵活不足
应用多媒体教学的第四个问题是灵活不足。由于课件在课前准备,教员无法根据课堂上学生的实际反应及气氛,在课件中有针对性地组织或调整内容。这个问题我们是这样解决的,由经验丰富的教员,在重难点处,设计几套预案,以超级联接的形式出现在课件中,在课堂上根据不同的情况选用;同时利用传统手段,临时加入部分内容,体现教员的个性化创造、师生间教学交流、最新信息的快速反映。
五、几点思考
(一)对计算机课程实行多媒体教学的评价问题
教学手段的现代化能有效地增大单位课时的信息量,比较直观、生动,这是毫无疑问的。尽管由于认识方面的原因,对计算机辅助教学有截然不同的认识,甚至有“在学员看来,点鼠标的劳动量与写黑板的劳动量完全不同”的说法。我们认为,教学手段不存在绝对的优劣之分,效果的好坏关键在于任课教员。作评价时一定要把计算机辅助教学存在的不足与授课教员本人的问题和学员学习方法的问题区别开,即看问题究竟是不是由教学手段引起,不要把所有的问题全部归咎于教学手段上。例如,对学员课堂不记笔记的问题,只要课件设计得当,教员教授中适当停顿,学员可以记笔记,而且由于多媒体文学、图形规范,清晰,客观上更便于学员记笔记,当然学员还可以把课件拷贝到自己的计算机上,复习、做笔记的条件就更好了。
(二)多媒体教学与传统教学的难度比较
多媒体教学的实施难度实际上比传统教学手段大。如果不具备相当丰富的教学经验,最好不要盲目进行多媒体教学。我们的体会是课件一定要有教员的个性,符合各自的教学风格。首先课件一定要自己做,即使有共用的“刚性”内容,也一定要加入自己的创意,有时就是对呈现内容的顺序调整也能起到突出的效果,“弹性”部分的内容就更应体现出教员的教学风格;其次一定要熟悉课件和授课内容,才可能有流畅自然的讲授。和传统教学相比,设计课件、熟悉课件是新增内容,备课量增大,从这个意义上讲,点鼠标的劳动量并不低于写黑板的劳动量。
参考文献:
[1]黄玲,郭雪辉.浅谈多媒体技术对高职教学的影响[J].辽宁行政学院学报,2008年07期.
篇5
关键词:计算机语言;编码;任务教学法;程序设计
1.引言
学习计算机语言,人们就能够使用计算机语言与计算机进行交流,这样就能为人们解决实际工作和学习中遇到的许多特殊问题。巧妙使用计算机做工具,人们就能够将个人的想法在计算机上实现。例如,Foxpro关系型数据库管理系统是具有解决普遍意义上的大量数据存储和管理工作功能的数据库语言,但是解决具体的实际问题,还必须使用数据库语言编写程序。
2.计算机语言教学
2.1计算机语言
语言是人类所特有的用来表达意思、交流思想的工具,由语音、词汇和语法构成一定的系统。是人类为了能使人与计算机间进行交流,专为计算机设计的语言,变换成计算机可以读懂的信息符号。这些信息符号是按照一定的规则进行的编码,是人与计算机间特有的用来表达人的意思、交流思想的工具,并指导计算机进行信息的采集、分析、加工、处理、保存和利用等。计算机语言的种类非常之多,总的来说可以分成机器语言、汇编语言、高级语言三大类。目前通用的编程语言有两种形式:汇编语言和高级语言。高级语言是目前绝大多数编程者的选择,和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关,但与完成工作无关的细节(例如使用堆栈、寄存器等),这样就大大简化了程序中的指令。
2.2理论课教学的改革
2.2.1合理安排教学内容。教师在组织教学过程中,应该合理安排教学内容,将一些枯燥乏味的内容尽可能注入通俗有趣、与他们生活息息相关的实例中去,这样既可以使学生掌握基本知识,又增强了他们解决问题的能力。
2.2.2改变授课模式。应采用交流式、对话式、讨论式等多种互动的模式,让学生积极地参与到课堂教学中来,充分调动学生的主观能动性,发挥每个学生的聪明才智,让课堂变为教师和学生的共同课堂。
2.2.3实施问题教学法。高职高专学生的基础较差,在学习中表现理解能力差的特点,因此在理论教学过程中,要结合计算机语言类课程和高职高专学生的特点,改变传统教学模式,将以往教师帮助学生解答疑惑转变为教师寻找、发现与理论知识和学生生活相关的实际问题,使学生在思考、解答问题中增强理解,培养学生进行创造性思维的能力,充分调动高职高专学生的学习积极性,使学生在解决问题的过程中获取新知识,新理论。
2.2.4实施任务教学法。任务教学是以明确的任务作为课堂主要教学目标,在学生实践任务过程中,培养学生自我分析、解决、问题能力的教学模式。在实施任务教学法的过程中,教师必须根据教学进度、学生所关心的问题,针对某一阶段的教学内容和技能要求,设计一个包含相关知识点的综合性任务,使学生在真实的问题下应用旧知识,探索新知识,使所学知识得到巩固、加深和迁移。
2.2.5使用多媒体授课,课堂渗透实践。计算机语言类课程是理论与实践结合非常密切的课程,在讲授理论知识时经常会遇到一些抽象的、难以理解的概念、理论和算法,教师使用多媒体对它们进行演示、模拟,使抽象、复杂的问题简单化,从而使学生便于理解和掌握,同时也更能激发学生学习计算机语言课程的兴趣和求知欲望。
2.3实践课教学的改革
2.3.1精心设计实践内容。教师既要善于营造热烈的群体氛围,又必须给学生留有冷静的独立思考的空间。在设计实践内容的过程中,应着重做好以下三个方面。一是要结合学生的实际情况。尽量体现知识性、趣味性、实用性,激发学生的灵感和创造欲,使学生对实验内容感兴趣,产生上机一试的愿望;二是要注重实践课与理论课相适应,这样才能够加深学生对基本理论、基本知识的理解和掌握;三是注重尺度的把握。在设计实践内容时,难易程度和工作量的大小是教师要考虑的内容。
2.3.2.主动指导。在传统的实践教学中,教师总是等学生问问题,这种被动指导存在着许多弊端,特别对刚接触这门课程的学生来说显得尤为突出,因为学生刚接触编程,实践过程存在很多问题,教师要变被动为主动,主动发现问题,对于学生普遍存在的问题要进行集中演示,引导学生主动完成实践内容。
2.3.3注重实践过程。指导教师在实践教学过程中只注重实践结果,把实践内容布置给学生,学生交上机报告,教师认真批改报告,至于报告中的结果是怎样来的,具体实现过程是什么,作为教师却全然不知,因此教师要全身心地投入到实践的全过程中去,只有这样,教师才能真正掌握学生的实际情况,发现问题,及时解决问题。
2.3.4加强实践课讲评。作为计算机语言类课程的教学绝对不能忽视实践教学中讲评这一重要环节。以往教师只对理论课上布置的作业所存在的问题进行讲评,忽视实践课的讲评。实践课是检验学生基本知识、基本理论、基本技能掌握情况的一把尺子,不注重实践课讲评,结果使实践课教学效果越来越差,从而影响整个课程的教学质量。
3总结
要学好计算机语言,理论和上机操作相结合非常重要。计算机语言教学的侧重点应放在掌握程序的三大结构上,程序设计三种结构为顺序结构、分支结构(也称为选择结构)和循环结构。注重培养学员使用模块结构读程序、写程序的能力。程序中的交换、累加、累积、分类、排序、删除、标志设定等都各有一种固定的功能模块(像物理学中的定理、公式),编程时可以直接使用。对这些模块熟悉后,读程序就容易,写起来也不会感到太吃力,且有条理,思路也会较清晰。
参考文献:
篇6
关键词:哲学理念;形象思维;抽象思维;创新
中图分类号:TP312.1-4文献标识码:A文章编号:1007-9599 (2012) 05-0000-02
电子计算机是一个仿生电子设备,仿的就是我们自己的大脑。为实现人机对话,人们发明了计算机语言,然而计算机语言使用为数很少的一些关键词,程序结构又只有顺序、选择、循环三种,使得学生在学习计算机语言时感到“词汇量”太少,算法的设计与描述也遇到了前所未有的麻烦。
计算机语言教与学的困惑的根源在于教师过于强调语法的教学,程序设计的应用性目的不强,注重抽象、逻辑性思维,忽略了形象思维,使学生感到程序是一个虚无缥缈的世界,看不见,摸不着,想不到,用不了。久而久之,对计算机语言产生了厌恶逃避之心,教与学走入了一个“死胡同”。
走出计算机语言教学困境的方法是要求教师通过教学使学生深刻体会到世界观和方法论的科学真理性和力量;将教会学生科学的思维作为自己的崇高目标,为思维而教,教会思维;充分发挥左脑与右脑的抽象思维与形象思维能力,让语言与算法由抽象的虚拟世界变成一个实实在在的东西,让学生在一个“现实世界”里领悟语言与算法,使学生从传统的思维中走出来,创新思维及创新能力得到极大的发展。
本文结合C语言的教学,从哲学理念与科学思维两方面作一些计算机语言教学法方面的研究与实践。
一、树立哲学理念,用辩证唯物主义指导教学,培养创新精神
大家都知道中药,为了治疗某一个疾病,不同的医生开出的药方可能是不同的,药方里多味药共同起作用,有的疗效好,有的不太好,而有的医生神秘地加上某味药后,就有了药到病除的神效。在中药的配方里头蕴含着普遍联系的理念:药与药的联系,药与病的联系。
同样,知识与知识之间,知识与应用之间也有着内在的关联。在程序设计教学过程中,教师应设计一些具有现实应用价值的任务,它能让学生把与任务有关的知识点紧密联系在一起而形成一张网,在这张网中,既有旧知识,也隐藏着新知识,旧知识某方面的功能得到应用并得以巩固,新知识因为需要而学习,整个网也体现了知识的综合应用。知识的价值在应用中得到了充分体现。
教师要在学生熟悉的事物和陌生的事物之间运用类比,找到它们的相似与不相似之处,如生物的进化是生物自身的否定之否定,反映了生物现在与历史之间的、生物与生物之间的联系,在计算机语言中同样有着进化现象,如类型-数组-结构体-类的发展就如同单细胞生物向多细胞生物的进化,无机物向有机物的进化。高阶知识的雏形是基础知识,也是基础知识的合理组合,明了知识之间的血缘关系,学生更加重视基础知识的学习,而对高阶知识的理解就显得容易得多了。
在程序设计中,要培养学生的“求异”精神,实现辩证的肯定与否定。教师的讲解不是权威,不是唯一正确答案,鼓励学生进行小修小改,甚至另辟蹊径,找出一个更为睿智的思路,学生的任何思考都应辩证地肯定。学生在另觅思路的过程中,有的想法正确,有的想法错误,其实正确与错误不是绝对的,正确的程序可能在时间或空间上或许有一些问题,而错误的程序只要稍作修改(如语句顺序的改变)就是正确的,有时错误本身是正确的,只是因为它出现的时机或地方不对而已,正确与错误只有一步之遥。学生走过的不可能是一条“直路”,让他们在这条“曲折”的思路上做一回苦行僧,在这条创新的道路上完成一次洗礼,实现自我新的发展。
二、协调左右脑思维,提高科学思维素质,培养创新能力
美国的罗杰.斯佩里教授通过实验证实了左右脑分工理论。大脑分为左半球和右半球,一般左脑具有言语、概念、分析、计算、逻辑推理,将复杂事物细化等功能;右脑具有音乐、绘画、空间几何、想象、创造、综合等功能,右脑最重要的贡献是能进行创造性思维,研究表明右脑具有的巨大潜能并没有被充分利用。
现今的计算机语言教学大多都是以左脑为中心的教学,右脑基本处于睡眠状态,而学生的左脑也在抽象与逻辑思维中昏昏欲睡。
充分利用右脑惊人的形象思维能力,调动右脑思维的积极性是科学思维的关键。
计算机的数字世界是现实世界的一面镜子,现实世界里有什么,数字世界里就有什么,只是表现形式可能不同而已。计算机语言的概念、理论、方法在现实世界里都能找到它的“生活原型”。以概念教学为例,概念的重要性在于它是一种语义规定,弄不清楚就会出现“个个字都认识,句句话都听不懂”的现象,概念教学要加强形象思维。 C语言的指针概念是学生的一大难点,对于C系统中这一灵魂性的知识点,“地址”是它的原型,“地址”是一个“范围”概念,它不仅包含开始信息,也包含结束信息,还包含此范围内数据的特征三方面的信息。形象地理解了指针的概念后,对指针的重要性、指针的运算,通过指针获取数据的运算就有了一个“实实在在”的理解。这样的例子举不胜举,如容器与变量,时分秒的变化与循环,族谱与树结构等等。
李政道教授倡导科学与艺术的结合,他邀请画家们“画科学”。爱因斯坦描述他的思维过程是先用形象思维,再将形象思维转换成语言。计算机程序设计既是一门技术,也是一门艺术,在进行程序设计的过程中利用左右脑分工理论,重视右脑功能,并将左右脑“并联”起来协调工作。左脑将复杂的过程进行功能分解,右脑负责过程的形象化,将过程想象成一幅幅形象生动的画面,最后,由左脑负责将画面描述的算法抽象成一个个的语句,最后形成完整的程序。
右脑的思维具有无序性、不拘泥于局部的分析,而是统观全局,以大胆猜测跳跃式地前进,达到直觉的结论。在程序设计中有一个很有意思的现象,学生很快地想出了方法,但要求他们用计算机语言描述步骤时,他们却犯了难!步骤难以描述了,甚至在看似简单的顺序结构上也出现了困难,没有了头绪,此时可利用左脑的分析与细化功能对右脑绘制的主要画面做一些重组,变无序为逻辑上的有序,对右脑的思维进行“慢镜头”式的细化,细化到每一个“镜头”都能用一个语句加以描述为止。
人的右脑就像一台照相机,将输入大脑的信息以直观的图像加以思考并记忆,“图像记忆”这种右脑特有的机能,是右脑高速海量记忆的奥秘所在。在学习过程中,不妨“模糊性”学习,对接触到的东西先混个眼熟,混个耳熟,有意识地训练右脑的形象记忆与情感记忆,使记忆更生动、长久不忘。
人的创新能力与右脑思维密切相关,在左脑的配合下,右脑充分发挥想象力,在一闪念间产生顿悟,将一些看似不相干的知识与知识,知识与应用联系起来,并能进行综合应用。程序设计中不断“求异”的精神,是对右脑思维潜能的充分发挥,使我们的学生成为洋溢着创新欲望、充满活力的人。
三、结束语
做任何事情都要讲究一个“算法”,教师要用聪明的办法将学生教聪明。计算机语言教学追求一种科学思维方法,在哲学思想的指导下,正确进行左右脑思维,特别重视右脑思维,为我国培养更多的创新型人才。
参考资料:
[1]钱学森主编.关于思维科学[M].上海人民出版社出版,1986,7
篇7
关键词:C;汇编;SQL;综合交叉实验
中图分类号:TP311文献标识码:A文章编号:1009-3044(2011)09-2115-02
目前对高校学生仅仅进行知识传授已不在适应素质教育培养目标,而学生的能力培养必须要在逐步的实践过程中增强。实验课环节不仅能够巩固所学理论,而且提高了学生把所学知识转化为实际运用的能力。虽然现在对课程实验环节建设已经比以前有了很大进步,实验的实用性也有一定提高,但大多数学生在面对具体项目时仍觉乏力,原因之一是因为课程实验环节过于单一。因此,可以考虑在教学过程中引入综合实验内容,在一个实验环节中同时应用几个不同课程的知识去解决问题。这样的实验不仅能使学生更好的掌握知识,也极大提高乐学生学习的主动性,启发他们对如何应用所学知识的思考。
1 C、汇编、SQL语言的背景
计算机相关专业学生所须具备的基本能力之一就是对计算机语言的熟练掌握和灵活使用,其中C语言、汇编语言和SQL语言是必须学习和掌握的重要基础内容。
C语言在1978年诞生于美国电话电报公司(AT&T)贝尔实验室,在1983年由美国国家标准学会制定C 语言标准(ANSI C)。早期的C语言主要是用于UNIX系统,由于C语言的强大功能和各方面的优点逐渐为人们认识,到了80年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。C语言是一种结构化语言,层次清晰,便于按模块化方式组织程序,易于调试和维护。此外,C语言还具有效率高,可移植性强等特点,因此被广泛地移植到各类各型计算机上,形成了多种版本的C语言。目前最流行的C语言有以下几种:Microsoft C 或称 MS C;Borland Turbo C 或称 Turbo C;AT&T C;这些C语言版本不仅实现了ANSI C标准,而且在此基础上各自作了一些扩充。
汇编语言是面向机器的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言的长处就在于编写高效且需要对机器硬件精确控制的程序。汇编语言目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。汇编语言通常是与高级语言配合使用,应用非常广泛。汇编语言的主要应用有:70%以上的系统软件是用汇编语言编写;某些快速处理、位处理、访问硬件设备等高效程序是用汇编语言编写;某些高级绘图程序、视频游戏程序是用汇编语言编写。汇编语言是我们理解整个计算机系统的最佳起点和最有效途径,而学生则经常认为汇编语言的应用范围很小,而忽视它的重要性。
SQL全称是结构化查询语言,是IBM圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,得到了广泛的应用。如今无论是Oracle、Sybase、Informix、SQL server这些大型数据库管理系统,还是像Visual Foxporo、PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言。SQL包含4个部分:数据查询语言SELECT;数据操纵语言INSERT、UPDATE、DELETE;数据定义语言CREATE、ALTER、DROP;数据控制语言COMMIT WORK、ROLLBACK WORK。虽然SQL语言表面看内容不多,但是功能却非常强大,应用非常灵活,但却只需很少时间就能学会,最高级的命令在几天内便可掌握。
从上述内容可知,各门语言都有自己不同的长处和用途,在某些时候,功能完善且强大的C语言也不能替代汇编语言和SQL语言的作用,本文就是想通过C、汇编和SQL语言在实际项目中的综合应用,使学生不在局限于只对一门课程的单一学习,提高学生综合运用知识解决实际问题的能力。
2 计算机语言综合实验教学的应用与研究
Turbo C作为教学语言用的较多,但是Microsoft C更好的提供了数据库、网络、汇编的库函数,该文将采用Microsoft C作为教学实践开发平台,以商业零售行业中前台收银作为实际应用背景进行计算机语言综合实验教学研究。
学生在面对这样一个实际系统时,除了要巩固C语言的基本数据类型、运算符、表达式、程序设计结构、数组、结构体、指针、函数、文件等基础内容,更为重要的是要学习实用且较大型软件(该前台系统主要代码有一万多行)的总体编程思路和编写方法。学生可以从较为底层的位置认识并了解大型软件(包括Windows)采用消息机制的开发思路和主要方法。前台收银系统主程序部分代码如下:
int main(viod) //主函数
{short bLoop=1;
int Result;
double rCal;
char value[81];
//定义消息结构指针
Msg *Message;
//定义台头Panel
TPanel HeadPanel={10,1,1,1,638,62,clSilver,1,,0}
...
InitFone(); //初始化字库
InitGraph(0x12); //进入图形模式
if(GetSystemParam()) //读取系统参数,不成功
InBuffer(-1,CM_CONNECT,0,0); //发送程序关闭消息
else// 发送数据库连接消息
InBuffer(-1,CM_CONNECT,0,0)
//消息循环
While(bLoop)
...}
汇编语言在对底层硬件操作方面,速度更快,效果更好,为了保持在低档POS机上也能够快速显示图形界面,商用前台收银系统采用部分汇编代码对图形处理显得非常必要。通过对此部分的学习,可以使学生深入而具体的了解汇编语言的实际应用,而不是像目前在汇编语言讲授后,学生仅仅对8086(8088)基础知识有简单了解,不知道怎么应用和进一步学习。前台收银系统部分汇编代码如下:
//设置图形模式
viod InitGraph(int INT10)
{reg.x.ax=INT10;
int86x(0x10,®,®,&sreg); //调用中断
}//关闭屏幕显示
viod CloseScr(viod)
{_asm{
mov dx,0x3c4
mov a1,1
...
}}
//打开屏幕显示
viod OpenScr(viod)
{
_asm{
mov dx,0x3c4
mov a1,1
...
}}
实际应用系统几乎都会用到数据库,在目前关系数据库广泛使用情况下,很少有软件程序没有使用SQL语言,SQL语言很少单独使用,大都嵌入到其它语言中。本文中所提到的前台收银系统同样需要大量对数据库操作,需要在C语言中嵌入SQL语言。在Microsoft C中提供了内嵌SQL语言所需库函数,为我们使用SQL操作后台数据库提供了应用基础。前台收银系统内嵌SQL代码示例如下:
void sql_initbc()
{
char tmpjbsj[9],tem[9]="00:00:00",nDate[11];
DBINT xsbs=0,maxlsh=0;
DBCHAR tem_scjbsj[30],dMaxTime[21],bcMax[7];
//提示
Printf("\n\n取收银机上次交班时间:",clSilver);
sprintf(_bvalue,"select JBSJ from QTSY_SYJB where SYJH=$s...",Param.SyjNo);
Printf(_bvalue,clSilver);
sql_time(g_now); //取当前日期时间
uf_strmid(nDate,g_now,0,10) //分离日期
if(_syfs==0||dbproc==NULL||DBDEAD(dbproc))
{
...
}
else
{
...
}
}
3 结束语
该文通过商业自动化前台收银系统的实际应用开发,完成了C语言、汇编、SQL三门课程的深入实践,既巩固了多门课程内容又熟悉了各种语言工具之间的联系方式。这样的综合交叉实验环节如果仅是部分实行,在设计上难度不大,但是带给学生的收获却非常大。通过综合实验教学,可以使部分学生在编程思路和知识应用方面接近目前高校本科毕业设计水平,使得毕业后能够基本满足企业在程序设计方面的用人要求。
参考文献:
[1] 迟成文. 高级语言程序设计[M]. 经济科学出版社.
篇8
1、学习入门级C语言自学教程;
2、学习C语言的结构,如C程序执行入口及结束等;
3、掌握C语言固有关键字,先熟悉基本,再由易入难;
4、安装C语言程序编译执行器,做好程序测试准备;
5、将教材或资料中的程序案例输入到编译执行器中,进行测试,检查结果是否与预测相同;
6、对于测试成功的程序案例,进行修改调试,通过反复调试来加深对程序的理解;
7、能熟练编写小程序后,应加强对数据结构及常用算法的学习;
篇9
“计算机科学与技术”专业学生在专业学习不同阶段都会学习不同的程序设计语言,为什么要学习这么多种语言?每种语言有什么特点?这是学生常感到困惑的问题。
笔者在长期教学过程中把C语言和汇编语言、机器语言有意识地结合起来讲解,使学生更好地掌握不同计算机语言特点,理解不同计算机应用语言的不同应用领域,取得一定的经验,同时在教学活动中取得不错的效果,受到学生的欢迎。
一、C语言和汇编语言、机器语言的关系
C语言称之为“高级语言”或“中级语言”,汇编语言、机器语言称之为“低级语言”。初学计算机的学生很难理解为什么这么命名。理解好这些概念,对今后进一步学习其他专业课程十分重要。
在教学过程中,讲解汇编语言时,首先将汇编语言和机器语言的关系告诉学生:计算机其实不认识汇编语言,也不认识C语言,计算机唯一能执行的只是机器语言。
机器语言是用“0”、“1”写成的语言,每条机器语言指令都对应一串“0”和“1”的代码,如果用这种代码编程很不方便,既不方便记忆,又不方便理解和调试。因此采用一系列符号代替这种“0”和“1”写成的机器语言指令,例如:8086CPU中的机器指令1011000000000110,我们就用MOV AL,06H 这种符号代替,后者只是帮助记忆和理解的“助记符”。
我们把用这种助记符写成的指令称之为“汇编语言指令”。汇编语言指令和机器语言指令是一一对应的关系。用“汇编语言指令”写成的程序称为汇编语言源程序,必须“翻译”成“机器语言”才能执行。由于汇编语言指令和机器语言指令是一一对应的关系,因此“翻译”起来比较简单,我们把这个“翻译”的过程称为“汇编”(Assembly)。
使用汇编语言和机器语言的编程必须了解计算机的CPU内部结构,以及硬件接口电路,它和计算机底层密切相关,因此称之为“低级语言”。
同样,计算机也不认识C语言,C语言是用C语言语句编写程序。用“C语言”写成的程序称为C语言源程序,这种用C语言语句编写的源程序必须“翻译”成机器语言才能执行,只是这个“翻译”过程更复杂,翻译出来的机器语言代码更大,我们把这个过程称为“编译”(Compile)。
由于C语言是按照自然语言的特点,同时结合数学表达式编程。基本不用了解底层硬件的结构,可读性强,学习重点在数据结构和算法,所以称之为“高级语言”。
使用其他“高级语言”编程的过程也都一样,都必须把用这种语言编写的计算机“源程序”通过“编译”变成“机器语言”、“目标程序”,才能被计算机认识并执行。
通过这样讲解,学生理解了C语言等“高级语言”和机器语言“低级语言”之间的关系。
二、学习多种计算机语言的原因
我们在教学过程中发现学生学习计算机语言的重点放在学习语言的数据类型、程序结构、语法规则等局部细节上,忽视从总体上把握和理解计算机语言。在实际教学中,我通过讲解汇编语言和C语言的特点,告诉学生不同计算机语言的不同应用场合。
首先,汇编语言是针对CPU的,不同CPU的汇编语言又是不同的。学习起来困难一些,但生成的代码短、程序执行效率高,更适合实时控制、硬件编程。
高级语言如C语言,由于是按照自然语言方式编程,因此程序本身容易读懂。由于不需要了解硬件底层,因此我们更多的是学习如何用计算机实现一些数学算法。
教学过程中为了让学生理解这些概念,我特意采用C语言和汇编语言分别编写一个程序实例,实现显示“I WISH YOU SUCCESS!”(取文件名A)。
两个程序输出结果一样,但用不同语言编写,通过实例对比说明C语言和汇编语言的特点。
C语言源程序:
#include
main()
{printf(“I WISH YOU SUCCESS!”);
}
汇编语言源程序:
DATA SEGMENT
BUF DB 0AH,0DH,’I WISH YOU SUCCESS!$’
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET BUF
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
这两个程序都实现显示器输出“I WISH YOU SUCCESS!”。
可以看到C语言程序的源程序文件A.C为63个字节,通过编译,可执行文件A.EXE为9489个字节。汇编语言的源程序文件A.ASM为263个字节。通过汇编,可执行文件A.EXE为560个字节。
从这个程序设计实例我们知道,相比较C语言和汇编语言,C语言的源文件小(71个字节),但是可执行文件很大(9515个字节),汇编语言的源文件大(352个字节),但是可执行文件很小(554个字节)。
通过这两个程序设计实例,学生清楚地感受C语言(高级语言)源程序可读性好,容易理解,汇编语言源程序可读性差,难看懂。但从效率来说,同一个程序,汇编语言的目标代码效率远高于C语言。
其实,不同计算机语言有各自特点,也有不同的应用领域。如在实时控制、内存容量很小的情况下编程就应该使用汇编语言,如果算法复杂,要求有较好的用户界面,就要采用C语言或者其他计算机语言。同时计算机语言是发展的,不断会有新语言出现,也不断有语言被淘汰。学生可以根据自己的应用需要,选择学习不同的计算机语言。
认真学好几门计算机语言,对今后实际工作帮助很大,同时再学习新语言会举一反三,学习起来会轻松很多。
三、计算机程序与语言
计算机专业学生最喜欢的是学习各种计算机语言,许多人认为掌握的计算机语言越多,水平越高,不懂得计算机程序和计算机语言的关系。其实计算机领域里有一个最著名的公式:计算机程序=数据结构+算法,这个著名公式里根本没有提到计算机语言。
为了更好地说明计算机程序和语言的关系,我以学生学习程序设计过程中最常见的习题1+2+……+100为实例,使用C语言和汇编语言分别编写一个程序,同时告诉学生:在用计算机解决实际问题的过程中,最重要的是找到用计算机解决这个问题的算法,至于用哪种语言编写是其次的。
C语言源程序:
#include
main()
{int sum=0,i=;
For(i=1;i<=100;i++)
Sum=sum+i;
printf(“%d”,sum);}、
汇编语言源程序:
DATA SEGMENT
RESU DW
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,0
MOV BX,0
NEXT: ADD AX,BX
INC BX
CMP BX,101
JC NEXT
MOV RESU,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START
在1+2+……+100这个例子中,关键是知道:sum=sum+i,然后通过改变i的步长,实现编程。至于用汇编语言还是用C语言或者其他语言都可以,不同语言只是使用的语句或者指令不同而已。
通过在课堂上生动地比喻和列举教学实例,学生渐渐理解算法的重要性,知道如果要熟练掌握编程,包括两方面学习,既要学好各种语言的语法规则、数据类型,又要学会根据问题设计出最优秀的算法。
四、结语
搞好计算机程序设计语言教学需要不断根据学生学习中的疑惑探索和实践不同教学方法。在C语言和汇编语言教学过程中,可以融合教学的地方很多,如C语言中的“指针”和汇编语言的“寻址方式”; C语言中的“函数”和汇编语言的“子程序”;C语言中的“移位运算”和汇编语言的“移位指令”区别等。C语言和汇编语言的融合教学可以提高学生的学习兴趣,促使学生积极思考,调动学生的学习积极性和主动性。
篇10
【论文摘要】学习之间的影响有促进和干扰之分,一种学习对另一种学习起促进作用的称为正迁移;如果起干扰或抑制作用的,称为负迁移。在计算机语言教学实践中,学生要接触许多新知识,会面临许多新问题,通过对所讲授内容进行合理安排,加强学生对基本概念、基本语法的理解等途径,可以促进学生产生积极的迁移,提高教学实效。
心理学上把已获得的知识、情感和态度对后续学习活动的影响或者后续学习活动对先前学习活动的影响称为学习迁移,它广泛存在于知识、技能、态度、品德等学习中。学习之间的影响有促进和干扰之分,一种学习对另一种学习起促进作用的称为正迁移;如果起干扰或抑制作用的,称为负迁移。知识的迁移在学生学习知识的不同阶段都表现出来并发挥作用,教学中,教师应遵循促进学习迁移的教学原则,尽量引导正迁移,避免负迁移,充分体现“为迁移而教”,促进学生对所学新知识的迁移与运用,对于提高计算机编程教学效果具有很重要的作用。
1.精选教学材料,重基础、找规律,促进计算机语言教学中的正迁移
我们在组织教材时,应把基本概念和规律放在首位,突出教材的系统性和规律性。例如在计算机程序语言教学中,程序是计算机编程中的一个重要概念,程序的实现要遵循问题的求解步骤。算法是学生对求解问题的第一个描述,学生熟练了通过算法来描述题目的求解,才有可能去利用程序语言进行源代码的组合,而后编写出符合要求的源代码。算法描述求解步骤的熟练应用,便成了一个迁移的生长点,在学习其他程序设计语言时,就可以举一反三,触类旁通。这告诉我们:迁移,能够利用原来的“序”作为生长点,产生适合于其他领域的新“序”。教学实践也证明,这样的"生长点"找准了,并做好迁移示范,迁移的效果是相当明显的。这样的“生长点”在计算机编程过程中很多,也就是我们平时所讲的“基础”。抓好基础,才能举一反三,才会触类旁通。在学生头脑中有意培养一些熟练的“生长点”,让迁移从中“生长”开去,是一条正迁移的捷径。
2.合理编排教学内容,准确把握不同语言之间的异同点是实现正迁移的有效途径
在计算机教学中,应注意对不同计算机编程语言知识进行异同比较,在对比过程中,学生始终处于主动积极、探索进取状态,引起有意注意,促成思维交锋,这样对完善旧知识,自觉完成从旧知识到达新知识的迁移,并巩固新知识,都极为有利;不然,就语句论语句,该对比不对比,不仅不会促进迁移,反而会造成负迁移。
心理学研究表明:对比抗干扰,加强对易混知识的比较,找准分化点,利于排除干扰,加深对某些相关概念的认识和理解,促使易混知识在学生头脑中彻底分化。例如:学生学过“当型循环”后,已能熟练掌握用“当型循环”来编写程序。当学了“计数型循环”后,碰到问题时,对于究竟该用哪种循环来求解,学生往往感到不知所措。这种负迁移的产生,是因为比较牢固的旧知识排挤了巩固程度较差的新知识。为了克服这种干扰,可采用列表比较,逐条对比的方法,严格划清十分相似的新旧知识间的界限,让学生掌握新旧知识的异同点。通过新旧知识的对比,达到较好的教学效果。
类比推理也是分析比较行之有效的方法,类比促进迁移。在计算机编程教学中,类比方法具有探索和解释两个功能。探索功能体现在学生通过类比提出假设,进行推测,提出问题,并设想解决问题的方向。解释功能在于唤起学生头脑中已有的知识或经验表象,对将要学习的知识提供一个相近的表象,实现知识或经验的迁移。例如学习过C语言程序设计的知识点后,在学习PHP网页程序设计时,就可以对比以前所学过的C语言程序设计知识,通过类比分析,实现学习的正迁移。 转贴于
3.创设问题情境,激发学生的求知欲是实现正迁移的催化剂
创设问题情境就是在讲授内容和学生求知心理之间制造一种“不协调”,将学生引入一种与问题有关的情境中,造成一种悬念,使学生产生向往、探索的欲望,处于欲罢不能的状态。创设问题情境时应注意:问题要小而具体、新颖有趣、有适当的难度;有启发性,要善于将所要解决的课题寓于学生实际掌握的知识基础之中,造成心理上的悬念。悬念解除之时,也就是正迁移实现之时。例如编程求解N的阶乘,可以用循环来实现;也可以不用循环,利用函数的递归来实现。教师提出两种解题的思路:通过循环实现是利用前面讲过的循环语句来求解,实现起来很容易,但不用循环,仅用函数怎么来求解?至此,引起了学生认知的冲突,创设了问题的情境,唤起学生强烈的求知欲,以高度集中的注意力去探究上面提出的问题,把学生的注意力引到如何通过函数的递归来实现问题的求解,加深学生对函数递归编程的认知。
在教学中还可以采用幻灯片、实验演示等多种可以丰富感性认知的呈现方法来培养学生对计算机编程的浓厚兴趣。例如许多学生喜欢玩电脑游戏,通过实验演示方法向学生展示用计算机语言编写的一些游戏例子,激活学生的学习兴趣,将学生的兴趣从玩游戏转到编写游戏程序上来。实验演示有利于开阔视野、发展智力,特别是发展学生的创造力。实践证明,只要我们利用学习动机的迁移,因势利导地把学生已有的对其他活动的兴趣转移到学习上来,这样就可以激发学生学习新知识的强烈动机。
4.促进新、旧知识的交互作用,改善认知结构是防止负迁移的有效手段
人的每一个认识活动都含有一定的认知结构,它是人类认识客观事物在主观上的反映。建构认知结构,是计算机编程教学的中心环节。促进新、旧知识的交互作用,对于完善认知结构,使认知结构系统化、综合化、整体化具有重要作用。
在教学中,要引导学生积极地把新概念或规律与自己认知结构中原有的适当概念相联系,把新概念、规律纳入原有概念、规律中,同时使新概念、规律与原有的有关概念、规律进一步分化和融汇贯通,组成一个整体结构。例如学习C语言编程时,可指导学生进行如下的认知活动:
4.1把C语言中的数据类型和表达式概念与认知结构中原有的计算机编程语言的概念相联系。
4.2把C语言中的基本语句的语法规则与原有的计算机编程语言相关语句的语法规则相比较,将新旧(下转第78页)(上接第73页)知识融汇贯通,形成一个有机的整体结构。
在教学中,要引导学生积极地唤起头脑中已有的有关概念,与新感知的概念一起,进行进一步的概括和抽象,总结出共同因素,上升到更高的层次。例如在学生认知结构中已有了结构化程序设计中的顺序结构程序设计、分支结构程序设计、循环结构程序设计的基础上,再来学习可视化编程。可视化编程是在结构化程序设计上的一个提升,用可视化编程工具编写程序,学生可以象搭积木似的来构造程序的框架,但问题的具体求解方面还是要用到结构化程序设计的概念。由结构化程序设计到可视化编辑,认知结构需要更新到一个更高的层次。
综上所示,迁移对计算机语言的学习作用不容忽视。教学不只是要让学生掌握一门学科或几门学科的具体的知识与技能,而且还要让学生学会如何学习,即掌握学习的方法。学习方法是一种学习经验,它可以对后继学习产生一程比较广泛的一般性迁移。在计算机编程教学中,使学生养成良好的学习习惯、掌握正确的学习方法,是促进知识顺利迁移所不可少的前提。所以教师在采用行之有效的教法、认真研究学生的学法,进行教学改革的同时,认真学习知识迁移规律,并考虑影响知识迁移的各种因素,定能提高教学效果,使教学达到持久迁移的目的。■
【参考文献】