计算机语言十篇

时间:2023-04-09 01:04:13

计算机语言

计算机语言篇1

计算机语言包括机器语言、汇编语言、高级语言,机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合,它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能,比如汇编语言(assembly language),机器语言具有灵活、直接执行和速度快等特点,高级语言比较容易识记和理解,像CB语言等。

(来源:文章屋网 http://www.wzu.com)

计算机语言篇2

[关键词] 计算机语言 程序设计 学生

语言是人类所特有的用来表达意思、交流思想的工具,由语音、词汇和语法构成一定的系统。计算机语言顾名思义是在计算机上使用的语言,是用于编写程序的开发工具,人们把自己的意图用计算机语言编写程序,输入计算机,告诉计算机完成什么任务以及如何完成,达到人对计算机进行控制的目的。计算机语言的种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。目前,计算机语言发展速度非常快,种类非常多,怎样在短短的一个学期内上好这门课呢?

一、明确教学目的

教师首先应该明确教学目的。这一学期让学生明白都学什么。计算机语言教学是让学生掌握计算机语言的语言特征,学会用计算机语言进行程序设计的技能,培养学生的独立思考能力和一定的自主创新能力。教学过程首先是让学生端正思想,明确学习计算机语言的意义;其次是让学生明白学习计算机语言最终就是要学会用语言来编写程序,为实际工作服务,为人类服务的。而不是死抠那些语法。培养学生利用计算机分析问题和解决问题的能力以及逻辑思维能力。

二、关键是注重计算机思维培养

学生毕竟以前从来都没有接触过计算机语言课,一些解题的思维还停留在高中阶段。形象化方法在教学中作用高级计算机语言虽然同我们生活中自然语言有很多相近的地方,但它毕竟不是自然语言,尤其对于初学者,更是很难在短时间内完全接受和理解。在实际教学中发现有些学生对一些简单的编程问题就是不知从何下手,没有所谓的“计算机思维”,缺乏对基本的计算机关键是注重计算机思维培养所以教师应该注重培养学生的计算机思维。在讲课中,应集中精力对章节的知识结构进行详细阐述、对所要解决的实际问题进行深入剖析,不应花太多的时间放在对语句语法的过多讲解。当遇到实际编程时,需积极引导学生把“要想干什么”的问题,直接转化为“要解决什么”的问题。当问题确定以后,必须选择正确的算法。当然,计算机编程中的算法和数学中的算法存在很大区别,需要教师对学生们的计算机思维进行长期而有针对性的训练和培养。

三、程序设计的教学要考虑“纵”、“横”、“竖”三个方面

这里所讲的“纵”向是指代表语言学角度;“横”向是指计算机角度;“竖”向是指数学逻辑角度。这三个方面的交叉点即为语言的一个知识点。每个语言知识点要按四个角度进行讲解:(1)含义及书写格式;(2)功能和执行;(3)限制与注意点;(4)应用举例。一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。

例如,Visual foxpro中的do while…..enddo结构的讲解,可以按如下步骤进行:

(1)含义及书写形式

Do while

Enddo

(2)功能和执行

1判断条件表达式的值,若为真,则往下执行,否则退出循环。

2执行命令行语句

3重复步骤1和2

(3)限制与注意点

1 do while语句和enddo语句必须成对出现,缺一不可。

2在书写时,do和while之间有空格,end和do之间没有空格。

(4)应用举例

例1:求1+2+3+……+100的和

Sum=0

I=1

Do while i

Sum=sum+i

I=i+1

Enddo

@2,30 say “和=”

@2,40 sum

例2:求2+4+6+…..100的和

Sum=0

I=2

Do while i

Sum=sum+i

I=i+2

Enddo

@2,30 say “和=”

@2,40say sum

执行这两个程序并比较他们之间的区别。

四、知识性和趣味性的结合

常言道:兴趣是最好的老师。兴趣是培养学生程序设计能力的前提,兴趣是学生参与的第一步。孔子说的好:“知之者不如好知者,好知者不如乐知者。”在计算机语言教学中,普遍存在学生对整个语言学习不够重视的情况,很多学生认为反正将来自己不会吃编程这碗饭,从思想上就轻视语言课的学习。另外由于计算机语言自身的抽象、枯燥,语法规则繁琐难记的特点,学生的学习兴趣普遍比较低。再加上课本知识的连贯性非常紧密,前一节的内容没有弄清楚的话,后面的内容将很难进行,如果学生有一节没有听懂,后面的内容就更难听懂,他们就更不愿意听讲,除个别自学能力强爱学习的学生会自己去钻研或请教老师,把不清楚的地方搞清楚,而那些自学能力不强或者自觉性比较差的学生,就可能会因为上课听不懂,而不愿意听讲,课后不看书,这样越不听讲,越不懂,越不懂,越不愿意听,形成一个恶性循环,最后造成放弃这门课程的学习,很是可惜。因此,在程序设计教学中,教师要积极开展和体现程序设计语言的“新奇”,以激发学生的兴趣。既要让学生知道计算机能干什么,有哪些奇特的功能,还要通过程序设计方式来实现一些趣味的内容。

五、程序设计课堂应强调以学生为中心

建构主义的观点认为,学习不是知识经验从外到内的输入过程,而是学习者通过新旧知识经验之间充分的相互作用而“生成”自己的知识的过程,学习要以学习者为中心。这是因为:(1)学习者已有的认知结构是新知识得以生成的前提和基础。(2)新知识的“生成”是通过学习者积极主动的加以活动完成的。(3)学习者需要对学习活动积极主动地进行自我计划,自我监视,自我评价和自我调节。教师应该对所学习内容进行设计,设计出有价值、有意义的问题,引导学生通过概括、分析、推理来建构起这些相关的知识。

总之,计算机语言类课程作为一门重要基础课程,不仅要求教师能够以身作则,不断用新知识、新理论充实自己,努力提高自身的综合素质,强化教学意识,而且要求教师在教学过程中能很好地把握大学生的特点,勇于探索,大胆改革,在教学实践活动中不断改进教学方法、提升教学艺术,千方百计挖掘学生潜能,为学生提供各种形式展示自己聪明才智的机会和场所,强化素质教育,最终真正实现提高教学质量的目的。

计算机语言篇3

关键词:C语言

中图分类号:TP3-4 文献标识码:A 文章编号:1007-9599 (2012) 08-0000-02

一、C语言的主要特点

(1)C语言适合于多种操作系统,也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言。

(2)C语言具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。而且计算功能、逻辑判断功能也比较强大。

(3)C语言结构式语言的结构化方式可使程序层次清晰,便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。

(4)C语言把高级语言的基本结构和语句与低级语言的实用性结合起来,可以像汇编语言一样对位、字节和地址进行操作。

二、C语言几个函数的使用方法

(一)main()函数的正确定义

main()函数必须声明为int main()或int main(void)或int main(int argc,int **argv)

不能定义为void main(){}以消除无返回值警告,但是它可能导致与调用者期待的返回顺序不能的返回顺序

(二)有关i++的定义

int i=3;

printf("%d",(i++)*(i++));我的编译器输出结果是9,而不是12。原因尽管后缀自加和后缀自减操作符++和--在输出其旧值之后才会执行运算,但这里的“之后”常常被误解。没有任何保证确保自增或自减会在输出变量原值之后和对表达式的其它部分进行计算之前立即进行。也不能保证变量的更新会在表达式“完成”之前的某个时刻进行。本例中,编译器选择使用变量的旧值相乘以后再对二者进行自增运算。

(三)NULL(空指针)到底是什么?

每个指针都有一个特殊的值,空NULL,这与其他对象或函数的地址都不相同,也就是说在程序中通过&(取地址运算符)永远无法得到NULL地址。

当一个指针类型的变量被赋予0值,那么编译器在编译的时候会将其作为NULL指针,即在指针初始化、比较、赋值的时候NULL可用0代替。即自己定义

#define NULL 0

如果NULL要以函数参数传递的时候,编译器可能不知道这是指针类型的变量而把其当作是常数0看待,这是可以进行强制类型转换(char*)0来使编译器将其作为NULL来使用。即

#define NULL ((void *)0)

所以空指针的使用注意

*在源码中使用空指针常数时,则使用0或NULL

*在函数的参数传递时如果使用空指针,则使用NULL或相应的类型指针0((type *)0)

(四)*p++的含义是自增指针p,还是自增p的内容

*p++和*(p++)等价,++和--比前缀的一目操作运算符优先级高,它的含义是自增p并返回p增加前地址的内容。所以如果自己比较混淆,干脆使用括号消除自己的歧义。

三、数组的应用

用简单变量固然能编出各种各样的程序,但在实际处理问题时,常常遇到这样的情况:需要对同一类型的数据进行多次记录,并且需要将历次记录保留下来进行处理。例如,某班有40名同学,他们的某次测验的成绩共有40个数据,需要将数据记录下来分析成绩。如果用简单变量来表示,命名起来很麻烦,操作更不方便。

我们可以把同一类型数据的变量用同一个名字来代表,而这一类型的不同变量用不同的号码加以区别。如用m1,m2,m3…m40代表测验成绩,可以表示为m(1),m(2),m(3)…m(40)。我们把按一定顺序排列的一组数据或变量叫做数组。数组中的每个数据或变量叫做数组元素。

在数组中,每个数组元素都处于某一确定的位置,这个位置就称为该数组的下标。如果数组元素是变量,也就称为下标变量。

下标变量的格式为:

数组名(下标)

例如,a(1)、a(2)…t(10)等都可以作为下标变量。

数组中下标的个数称为数组的维数。我们经常使用的有一维数组和二维数组。

数组定义方法:类型 数组名[下标] (下标是指数组的长度)

例:int array[10]//这样我们就定义了一个长度为10的数组

为什么说在某些情况下数组比单个变量好用呢?下面来做一个示范:

输入一个五位数,分解为五个单个数字并输出。

要做到这个要求首先要懂得拆数。下面来讲一下拆数的方法:

首先,我们要使用取余来取一个数个位数字。使用“%”便可以达到要求。

例如:123 % 10=3(123对10取余,就是123除以10等于12余3,我们就把这个余数取出)

然后:123/10=12(如果定义int类型的变量,这里的“/”不是除以,而算是整除,所以小数点后舍去)

再用:12%10=2(十位的数也被取出了)

最后:12/10=1(百位的数也被取出了)

综合以上拆数的方法,我们可以发现,一个数取余,就可以拆出一个单位数,再整除10、取余,就又可以得到一个数。这样我们就可以将一个多位数拆分为多个单位数。这就是拆数的基本方法。

下面我们使用非数组方法来做一次

int a,b,c,d,e;//定义5个变量分别保存5个数字

long n;//用于读取输入的数

do{printf("请输入一个5位数");

scanf("%d",&n);}while(n>99999||n

a=n%10;

b=n/10%10;

c=n/100%10;

d=n/1000%10;

e=n/10000;

printf("这五个数是%d %d %d %d %d",e,d,c,b,a);

这样写一个程序,用了这么多变量,如果要拆十几位的数,那就十分麻烦了。所以,下面使用数组来做一次,大家可分别来作比较。

int a[5];//定义长度为5的数组,注意:下标的范围是0~4,所以后面a[5]是不可使用的

long n;

int i;

do{printf("请输入一个5位数");

scanf("%d",&n);}while(n>99999||n

for(i=0;i

{a[i]=n%10;//每次取最后面那位(这应该很容易理解,不理解的话把程序输入到电脑中试验一下就知道了)

n=n/10;//每次取完以后原数要缩小十倍,给下一次做准备

}//做完5次拆数,循环退出

/*在上面的循环体中,我使用了i作为a数组的下标,因为i是可以变的,而i的变化就可以指定到数组的下一个位置。也就是说,现在a[0] a[1] a[2] a[3] a[4]分别保存的就是原数的个位、十位、百位、千位、万位。在输出的时候,我们同样可用循环从后往前输出。*/

printf("这5个数是");

for(i=4;i>=0;i--)//注意这里是从4~0的循环,增量部分使用i--,每次减一

{printf("%d",a[i]);//因为i是变量,所以每次做循环体的时候a[i]表示的是就是a[4]、a[3]、a[2]……}

计算机语言篇4

计算机平面设计技术的应用给人们的生活增添了许多色彩,同时也让其成为多个领域视觉体验与作品设计的主要部分,不断创新的计算机平面设计技术开始在社会中越来越多个行业中发挥作用,其中色彩语言无论是在平面设计语言表达还是在情感表达方面都起到了不可或缺的作用,因此研究色彩语言在计算机平面设计中的应用具有重要的现实意义。本文主要从色彩语言与计算机平面设计二者之间的应用关系入手,分析了色彩语言的应用与更深层次的应用。

【关键词】

色彩语言;计算机平面设计;应用

一、色彩语言和计算机平面设计间的关系探究

计算机平面设计在社会生活中逐渐具有举足轻重的作用,为了提升其视觉体验效果,不断的发挥色彩语言在其中的重要作用自然无可厚非,因此色彩语言目前已经成为计算机平面设计中的主要角色。可以在应用层面把色彩语言与计算机平面设计两者之间的关系划分为以下两个方面。其一,色彩语言是计算机平面设计中的重要陪衬,例如色彩语言中的一些元素能够直接应用于视频、图像、文字等之中,从而使整个平面设计作品在色彩语言的衬托下展示了更好的视觉效果,达到了商品在审美与实用两个方面相互增值的效果,最终让产品能够被更多的消费者认可与理解;其二,计算机平面设计能够在过程中实现色彩语言的优化与完善。计算机平面设计的过程也是对色彩进行优化使用的过程,其能够让色彩变得更新颖,更高层次发挥色彩的吸引力与感染力,从而实现产品设计的外观与实用性相统一的作用。

二、色彩语言在平面设计中的应用探讨

以平面设计为基础的计算机平面设计被广泛的应用在企业的形象展示设计、产品包装设计、商业广告设计等各个方面。这种以文字、图像等形式作为传播载体的功能设计,能够很直接的传递一个理念以及与企业或产品有直接关系的信息和文化。曾经色彩被简单的当作文字或图形的附属品来使用,后来市场不断提高的竞争力,使得色彩语言成为平面设计方面的有利武器。接着色彩语言就成为了能够很好表现产品或企业个性的主要方式,并在不断的使用过程中占据了设计作品中的主要元素。

三、色彩语言在计算机平面设计中更深意义上的应用

3.1色彩语言在计算机平面设计中的情感应用

色彩作为平面设计作品中画面渲染的主要元素,本来不具备情感特征,只是一种物理的视觉表象,然而将它融入在我们的生活当中时就会引起我们的情感共鸣从而产生情感作用,进而实现平面设计效果上的升级,因此色彩语言能够为平面设计作品的情感表达加分。利用色彩在冷暖感觉上的作用搭配进行色彩选择,能够很好的把产品的实物特征展现给消费者。利用色彩的收缩与膨胀特征加以科学的调配与叠加,能够大大提升设计画面的视觉效果,另外还可以降低长时间的观察给人们带来的视觉疲劳的可能性。如果在设计画面中添加部分带有沉静感的色彩元素,就能够让人的心理变得比较愉悦进而让别人更好接受作品的设计目的,而且各种不同的情感都可以根据不同的色彩进行表达。

3.2色彩语言在计算机平面设计应用中加强效果探讨

通过上文中的相关论述和分析,知道了色彩语言在计算机平面设计中的重要位置,不但是更高层次的展示产品实用性与美观性的关键,而且能够实现消费者情感共鸣的效果,为了提升其在计算机平面实际上的适用范围,我们需要探讨其在计算机平面设计应用中的加强效果。根据不同色彩语言能够通过平面设计作品给人们带来不同视觉体验及情感表达效果的差异性作用,就能够更多掌握色彩语言的灵活性,实现更强的设计效果。为了更巧妙的挖掘出色彩语言在计算机平面设计中的作用,还可以从色彩语言的基础表达和它的含义特征着手,以此来不断提升其在产品设计理念和思路方面的能力,更加直接的给消费者展示商品的基本性能。首先能够通过对设计图最简单的色调调和与选择开始,进而体现商品的冷暖感觉,比较的直接的将商品的实际特征表达给消费者;其次,利用色彩的收缩效果和膨胀效果两个方面的搭配与变化应用于平面设计之中,实现设计画面视觉效果的整体提升,避免短时间内甚至长时间带来的视觉疲劳;再次,就是将沉静感的色彩当作重点,利用能够引起人们心里变化的色彩展示出不一样的表达效果,那么就可以将情感表达的复杂度和深刻度扩大,实现不同的设计体验。因此,色彩语言能够给计算机平面设计带来无限的视觉遐想。

四、总结

本文首先探讨了色彩语言与计算机平面设计两者间的关系,论述了色彩语言在计算机平面设计应用中的重要性,又通过视觉感觉得出了色彩语言能够为平面设计增加情感特征的结论,分析了色彩语言在计算机平面设计应用方面的策略,希望为计算机平面设计在产品设计的表达上呈现出其最初的价值,即实现产品销售的经济意义。

作者:温金辉 单位:港口理工学校

参考文献

计算机语言篇5

摘要:“计算机程序设计语言”课程是计算机科学与技术学科核心的课程之一,极大地影响着学生对计算机领域的理解和兴趣。本文针对教学过程中存在的问题,提出了层次化教学目标思想。以面向对象语言C++为例,介绍基于层次化教学目标体系的具体思想和内容,并提出与之相适用的课程及实验设计,达到优化教学方法,提高教学质量的目的。

关键词:计算机程序设计语言;层次化教学;C++

中图分类号:G642

文献标识码:A

1“计算机程序设计语言”教学现状

“计算机程序设计语言”是普通高校计算机教育的基本专业课程,在计算机领域的各个专业的课程体系中都处于核心的地位。这门课程不仅可使学生获得基本的程序设计能力及锻炼学生的逻辑思维能力,它还极大地影响着学生对计算机领域的兴趣和理解,对引导和培养学生在计算机工程及理论方面的研究兴趣起着先导性和基础性的作用。因此,“计算机程序设计语言”的教学质量成为影响大学本科计算机教学质量和效果的一个关键的因素。

影响课程教学质量的主要三个因素为教学内容、教学方法和实验设计。当前,大部分教师受传统教学模式的影响,教学的重点都放在程序语言的基本语法的讲授,课堂所设计的程序实例大部分围绕语法规则的演示和说明,这种模式同样也影响到实验环节的设计。这种就事论事,形而上学的教学模式具有许多明显的弊端,主要体现在以下几方面:

(1) 不利于培养学生的学习兴趣

许多从事程序设计语言教学的教师(包括笔者)都有这样的感受:每讲授一门新的程序设计语言课,初期学生都抱着积极,对获取知识的极大热情投入课程的学习,但随着教学过程的深入,这种热情往往不能持久。导致这种局面的原因固然有教师本身的教学方法和教学手段的缺陷,但根本原因还是教学内容的设置不科学。在单纯以讲授语法规则这种教学模式下,学生难以保持长久的学习兴趣和动力。

(2) 不利于学生建立综合化,系统化的知识体系

程序设计语言是表达设计者思想和计算机计算逻辑的符号系统,具有多层面、多视角的内涵。要把学生培养为具有高素质的程序设计人员,仅仅熟悉没有精神的符号及符号规则远远不够,这需要学生具备设计高质量程序的综合化的知识体系,而当前的程序设计语言的教学现状并不能满足这种需求。

(3) 不利于培养学生解决实际问题的综合能力及创新意识和思想

当前,素质教育成为各级教育系统,包括高等院校所关注的热点,知识高等院校所关注的“素质”内涵不同。笔者认为高校大学毕业生应具备的素质包括:综合化、系统化的专业知识体系;应有已有的知识体系解决实际问题的能力;具有创新的意识和思想。总体而言,大部分教师对程序设计语言课程所采取的教学不利于这种素质的培养。

针对这种现状,结合我国高等教育发展的现状,本文提出程序设计语言的层次化教学目标的思想,并以面向对象程序语言为例,论述在层次化教学目标驱动下的课程设计。

2层次化的教学目标

各项教学活动有效展开的基本条件是合理的教学目标的确定,但单一的教学目标并不能适用当前中国复杂的高等教育现状。社会经济的快速发展产生了明显的多类型、层次化的人才需求,这种趋势在各类软件公司里表现得尤其明显。为了适用这种人才需求的转变,高等教育领域在这些年相应地发生了巨大的变化,各种类型、各种不同层次的教育机构大量出现,改变了过去高等教育机构单纯负责培养具有从事复杂脑力劳动的高级专业人才的状况。这些变化最终体现为教师的工作,体现为教师针对不同的教学对象所制定的教学目标体系。

当前,由于社会信息化的发展,各类计算机类课程已经渗透到各个学科,例如笔者所在的苏州大学,几乎所有的院系都设置了信息技术类的有关课程,大约超过一半的院系设置了“计算机程序设计语言”的课程,因此“计算机语言设计课程”的教学质量是总体教学质量评估的重要组成部分。笔者多年来一直在苏州大学承担程序设计语言的课程,包括一类本科计算机专业基础课程、二类本科专业基础课和公共基础课程。大量的教学实践表明单一的教学目标不能适用多样化的教学对象、多样化的人才需求和程序设计语言知识逻辑在广度和深度方面所具有的层次化的特点。下面将论述程序设计语言课程的层次化的教学目标体系及各层的具体内涵。

2.1低级目标

该目标要求掌握标准化的程序语言语法体系,以学生掌握基本的标准语法体系为基本要求,并能初步应用语言开发较小型的简单应用程序,具备初步的程序设计能力。低级目标要使得学生对所学知识“知其然”,课程教学内容主要围绕标准的语法规则,课堂和实验环节所选定的程序实例大多围绕着验证和演示语法规则及语法规则之间的联系进行设计。在以低级目标驱动的教学中,因为重在基本知识的传授,因此核心教学内容的选择是第一位的要素。当然每门程序设计语言课程都有其固有的核心内容,例如,在C++语言中,核心的教学内容为:面向对象的概念、继承、多态、模板及异常等,即使如此,还需要根据教学对象,对教学内容和授课方式进行选择和取舍。总的原则是围绕重点概念和知识采取“精讲多练”和“突出重点”的方式进行教学。

2.2中级目标

中级目标则要要求学生围绕目标程序设计语言,具备系统化的程序设计方法和技巧,逐渐使学生“知其所以然”。该层目标不仅要让学生掌握“语法”,还要让学生掌握“语义”;不仅让学生掌握语言本身,还要让学生扩展思维,了解、理解更多的外延的知识;不仅要让学生掌握基本的程序设计方法,要让学生初步掌握系统化的程序设计方法和建立起程序质量的观点。程序设计语言的外延知识涉及计算机专业许多重要的核心课程,包括编译原理、算法分析与设计、计算机组成与结构、离散数学、数据结构和软件工程等。当然,不可能指望通过一门课程的学习,使学生有效地、完整地掌握所有这些知识,只能使与实现中级目标有紧密联系的知识能渗入到重点的知识讲授和实验的安排中。

2.3高级目标

不管是初级目标的“知其然”,还是中级目标的“知其所以然”,都是知识学习,而高级目标阶段的重点是运用知识,体验知识,要求学生具备利用目标程序设计语言解决一定复杂度和规模的实际问题的能力,建立抽象的程序设计思想、方法和质量的观点。高级目标的教学内容的重点在如何在所讲授的语言框架里解决一定规模的应用问题,并从具体的实现里提炼出抽象的设计思想,分析实现的质量,总结好的实现方法和设计思想。

确立了教学目标,下一步的焦点为围绕实现具体的教学目标,制定各教学环节的具体的教学内容和教学手段,主要包括课堂教学环节和上机实践环节。结合笔者的教学实践,下一节将围绕这方面的内容展开论述。

3层次化的目标引导的课程设计

C++语言因其强大的功能及广泛的实用性而日益成为当前高校理工类专业程序设计的主流教学语言,因此本节将以C++为例,讨论层次化教学目标思想如何在教学实践中得到贯彻。C++程序设计语言的教学涉及课堂教学和实践教学两个环节,下面将就这两方面展开论述。

3.1课堂教学

确定目标课程的教学内容是开展有效的课堂教学,取得既定的教学目标的前提和基本要求。针对本文所提出的层次化的教学目标体系的基本内涵,C++程序语言的课堂教学内容在深度和广度上也应该展现出层次化,递进性的特点。

在低级目标中,掌握本程序语言的基本语法体系是最重要的目标,在教学内容的设计上,应确定语言的最核心最重要的语法现象。过程化程序设计向对象化程序设计是C++语言的最重要的特征,因此“对象”和“类”,以及由此产生的“继承”,“封装”,“多态”和“异常” 成为最核心的教学内容。在教学时应集中注意力于这些类对象的关键个性技术,围绕关键技术“精讲多练”,使学生深刻理解面向对象C++的这些关键技术;要有重点,不能面面俱到,有所失,才能有所得。

低级目标是为了使学生掌握知识,使其“知其然”,那么中级目标则要逐渐使受教育者“知其所以然”,教学的重点从对语法的训练转向对语义的理解,包括静态结构语义和程序执行语义。在C++的教学中,以C++对象模型作为教学内容的重点,通过从静态的程序代码结构和运行的程序状态两方面展开课堂教学,这样在知识语言的“所以然”的基础上,学生不仅知道什么是“多态”,并且知识“多态”是怎么实现的;什么是运行时类型检查(RTTI),运行时类型检查能提供什么程序设计策略等;许多的外延知识能沿课堂展开,例如编译原理、算法分析与设计等。由Stanley B. Lippman所著的《Inside The C++ Object Model》为我们设计课程材料提供了方向性的指导。

低级目标和中级目标都是针对知识的学习,而高级目标则针对知识运用,提高运用知识进行设计的能力。此层次涉及知识的学习、理解和综合运用,要在有限的时间内,实现教学目标,在课程教学内容的选取和设计及课时的安排上,具有一定的难度,对教者和学者都具有一定的挑战性。“设计模式”可以成为本层次的基本或延展性的教学内容。设计模式虽然不与具体的设计语言有着必然的、密切的联系,但事实上各种技术性、或纯教学性的书籍中,都把面向对象语言作为实现各种设计思想的不二选择。通过设计模式内容的讲授,可以使得学生对面向对象的基础知识有更深刻的理解,同时增强灵活运用所学知识的能力,体验面向对象程序设计方法学所带来的设计上的“美”,激发学生的创造力。

当然,上面针对课堂教学内容的论述仅仅进行了基本的界定和论述,需要通过下面几方面来贯彻实施,以达到各个层次的教学目标:

(1) 通过教者的努力,设计出丰富的、具体的课程素材;

(2) 针对不同的教学内容,设计多样化的教学手段和方法;

(3) 针对不同的教学内容布置合理的作业和考核方法。

3.2实践教学

在程序设计语言的教学中,课堂教学和上机实践教学是并重的环节,不可偏废,一起决定着教学的质量和教学目标的取得。如何设计安排上机环节通过大量的教学实践,已经总结出了大量的行之有效的方法。下文就实验内容及实验的组织形式进行一些必要的、有益的讨论。

结合课堂内容,以往的实践环节主要由学生编制一些小的程序,进行语法现象的演示及验证。但笔者通过大量的教学实践发现:这种普遍采用的,且行之有效的方法,对于学生巩固知识,提高调试程序的能力和技巧具有显著的效果。但随着教学的深入,这种方法也显示出种种的弊端,例如:学生专著于知识点,必然缺乏对知识的整体把握;学生容不易形成良好的编程习惯等。针对这种情况,笔者在实践的环节中,增加“读程序”的分量。教师提供一些高质量的程序范例让学生进行阅读、理解,并对范例的程序风格和设计方法进行总结比较,以提高学者的综合能力,尤其是到了后期,所提供的范例更具有综合性、全面性和示范性,能极大地提高学生掌握知识的深度和广度,激发他们的学习热情。

在实践人员的组织形式上,一般在程序设计语言的教学中,都是学生独立进行的。在教学实践中,也可引进一些软件开发中的方法,比如采用小组制的形式,根据实践内容的不同,小组或大或小。即使是在低层目标为导向的教学中,也可采用小组的方法进行实践环节的教学,不过此时小组人数不宜过多,最佳数目为二人。采用这样的方法,有以下的益处:

(1) 便于学生进行交流,以达到取长补短的目的;

(2) 提高教学效率,以较少教学活动取得同样甚至更好的效果;

(3) 培养团队合作精神等。

在以中级和高级目标为导向的教学中,实践环节应从语法演示和验证为重点转变为以知识的理解和知识的运用为重点,因此除了结合教学内容设计相应的实践内容外,最显著的特点是增加综合性的项目开发环节,以达到知识的综合掌握和运用。

当前以语法的演示和验证目的实践环节的设计具有大量的教学实践可资借鉴和学习,但针对更高两层教学目标的实践环节则缺乏有效的素材和经验可以利用,需要通过进一步的教学实践活动加以积累和总结。当前的一些做法是借用开发一个具有一定规模的项目来弥补纯语法的演示和验证实践方法的不足。

4结论

本文针对当前在程序设计语言的教学中存在的问题,提出了多层次教学目标的观念,并介绍了各层次目标的具体内容和以此目标为导向的主要的教学环节的设计。各个层次的教学内容和教学方法手段并不是彼此割裂的,如何针对各种不同的教学对象进行合理的课程设计,以提高教学质量有待于进一步的大量的教学实践活动。下一步最主要的工作总结探索各种教学资源以及相应的考核方法,尤其是用于中级目标和高级目标为导向的教学活动。

参考文献:

[1] 吴乃陵. 面向对象C++程序设计教学改革[J]. 电气电子教学学报,2003,25(2):9-11.

[2] 徐宏,聂影,黄征华,等. 计算机程序设计语言的教学探索[J]. 教学研究,2004(2):89-93.

[3] 沈军. 程序设计语言类课程的教学思路研究[J]. 高等工程教育研究,2001(1):80-82.

[4] Stanley B. Lippman. Inside The C++ Object Model [M]. Addison-Wesley Publisher, 1996.

[5] Erich Gamma, Richard Helm, Ralph Johnson ,et al. Design Pattern: Elements of Reusable Object Oriented Software [M]. Addison-Wesley Publisher,1995.

Research on Teaching of Programming Language

CHEN Dong-huo,YAO Wang-shu

(School of Computer Science and Technology, Soochow University, Suzhou 215006, China )

计算机语言篇6

【关键字】自然辩证法    计算机语言   计算机技术   编程语言   因特网 

 面向对象正文一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而在这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张的说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序执行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。一、科学认识大门的钥匙--当代自然辩证法自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。自然辩证法是马克思主义哲学的一个重要组成部分。在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。它集中研究自然界和科学技术的辩证法,是唯物主义在自然界和科学技术领域中的应用,它的原理和方法主要适用于自然领域和科学技术领域。学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。下面我将以自然辩证法的观点来分析计算机语言的发展历程。二、计算机语言的发展历程和发展趋势计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。1、计算机语言的发展历史: 二十世纪四十年代当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型-----面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java,这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。2、计算机语言的发展现状:目前通用的编程语言有两种形式:汇编语言和高级语言。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。

高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。

高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类和编译类。3、计算机语言的发展趋势:面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。下面是一张计算机语言发展图表,从中不难得出计算机语言发展的特性: ² 简单性提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序² 面向对象提供简单的类机制以及动态的接口模型。对象中封装状态变量以及相应的方法,实现了模块化和信息隐藏;提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用² 安全性用于网络、分布环境下有安全机制保证。² 平台无关性与平台无关的特性使程序可以方便地被移植到网络上的不同机器、不同平台。三、面向未来的汉语程序设计语言:从计算机诞生至今,计算机自硬件到软件都是以印欧语为母语的人发明的。所以其本身就带有印欧语的语言特征,在硬件上cpu、i/o、存储器的基础结构都体现了印欧语思维状态的"焦点视角",精确定义,分工明确等特点。计算机语言也遵照硬件的条件,使用分析式的结构方法,严格分类、专有专用,并在其发展脉络中如同他们的语言-常用字量和历史积累词库量极度膨胀。实际上,计算机硬件的发展越来越强调整体功能,计算机语言的问题日益突出。为解决这一矛盾,自六十年代以来相继有500多种计算机语言出现,历经五代,至今仍在变化不已。汉语没有严格的语法框架,字词可以自由组合、突出功能的整体性语言。在计算机语言问题成为发展瓶颈的今天,汉语言进入计算机程序设计语言行列,已经成为历史的必然。1、 发展汉语程序设计语言的理由:1)计算机语言问题解决,只能从人类语言中寻找解决方案;    2)计算机语言的现存问题是形式状态与功能需求的矛盾;    3)计算机硬件的发展已为整体性语言-汉语进入计算机程序设计语言提供了条件2、 汉语程序设计语言的技术特点:1)汉文字的常用字高度集中,生命力极强,能灵活组合,简明准确地表达日新月异的词汇,这些优点是拼音文字无法企及的。    2)汉语言的语法简易灵活,语词单位大小和性质往往无一定规,可随上下语境和逻辑需要自由运用。汉语言的思维整体性强,功能特征突出。    3)汉语程序设计语言的发明者采用核心词库与无限寄存器相结合的方法,实现了汉语言的词素自由组合;将编译器与解释器合一,使汉语程序设计语言既能指令又能编程;以独特的虚拟机结构设计,将数据流与意识流分开,达到汉语程序设计语言与汉语描述完全一致,通用自如。具有汉语言特性的汉语程序设计语言的出现,打破了汉语言不具备与计算机结合的条件而不能完成机器编码的神话。还为计算机科学与现代语言学研究提出了一条崭新的路径,它从计算机语言的角度,从严格的机械活动及周密的算法上,向世人证实汉语的特殊结构状态,及其特殊的功能。四、计算机语言之父——尼盖德尼盖德帮助因特网奠下了基础,为计算机业做出了巨大贡献。    尼盖德是奥斯陆大学的教授,因为发展了simula编程语言,为ms-dos和因特网打下了基础而享誉国际。克里斯汀·尼盖德于1926年在奥斯陆出生,1956年毕业于奥斯陆大学并取得数学硕士学位,此后致力于计算机计算与编程研究。1961年~1967年,尼盖德在挪威计算机中心工作,参与开发了面向对象的编程语言。因为表现出色,2001年,尼盖德和同事奥尔·约安·达尔获得了2001年a.m.图灵机奖及其它多个奖项。当时为尼盖德颁奖的计算机协会认为他们的工作为java,c++等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路,“他们的工作使软件系统的设计和编程发生了基本改变,可循环使用的、可靠的、可升级的软件也因此得以面世。”尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进。五、结束语用科学的逻辑思维方法认识事物才会清楚的了解其过去、现在和未来,计算机语言的发展同样遵循着科学技术发展的一般规律,以自然辩证法的观点来分析计算机语言,有助于我们更加深入地认识计算机语言发展的历史、现状和趋势,有了自然辩证法这把开启科学认识大门的钥匙,我们将回首过去、把握现在、放眼未来,正确地选择计算机语言发展的方向,更好的学习、利用和发展计算机语言。六、致谢首先感谢张老师,张老师幽默的讲解和精炼的内容使我受益匪浅,使我对以后的工作和生活有了更深刻的认识。另外要感谢本文所参考的文献的作者和相关网站。最后还要感谢在我写论文过程中提供无私帮助的人们,以及给我支持的家人和朋友。

 

参考文献

1.《计算机语言与计算机程序发展历史》博客中国网

2.《计算机发展史》  上海科学技术出版社

3.《软件发展与社会进步》蔡希尧

4.《自然辩证法概论》 北京航空航天大学出版社

计算机语言篇7

汇编语言是一种面向机器的特殊程序设计语言,计算机汇编语言是指通过汇编语言程序设计实现计算机的硬件系统控制的指令的一种程序构成。利用计算机汇编语言进行编程设计,不仅可以有效提高工作效率,还可以节省程序空间,实现最大利用。本文将主要对计算机汇编语言的相关理论及其在实践中的具体应用进行研究分析。

一、计算机汇编语言的概念

在计算机的系统操作过程中,主要是通过计算机硬件设备对计算机的软件发出工作命令完成的。计算机汇编语言是通过汇编语言本文由http://收集整理程序的设计,来操控计算机的某一程序系统,从而实现汇编语言程序对计算机的控制。计算机汇编语言的这一操作控制过程也正好符合计算机主机中中央处理器的工作原理和工作结构。控制命令是由控制编码与操作数构成,操作数的处理功能和中央处理器能够拥有的功能是由控制编码来控制实现,中央处理器是控制命令得以执行的根本,操作数能够为中央处理器执行控制命令提供处理对象。

中央处理器执行系统所发出的控制命令,从而的实现命令完成。中央处理器实现这一过程主要依据其强大的功能和结构特性。在计算机的中央处理器中,中央处理器的控制器部分首先对其它系统所发出的控制信息中的操作码进行编译、执行等工作,然后再通过已经接收、编译的信息,发出控制命令,从而帮助整个计算机系统完成运行工作;中央处理器的运算器部分则是实行对控制器所接收到的数据信息进行高速运算功能;另外,中央处理器中还有一个寄存器的部分,主要是用来储存数据的,寄存器的功能不同,在处理数据和执行命令时所发挥出的作用也就不同。WWw.133229.Com

在计算机的实际应用中,汇编语言在对计算机软、硬件的操控和工作效率上的优点是其它编程语言不能够实现的。在通过计算机硬件设施来控制计算机的软件系统上,很多时候都只有汇编语言可以满足;在利用汇编语言进行编程来完成工作目标上,汇编语言不仅能够快速的完成工作目标,而且整个目标程序的设置也是最简短的,在空间和时间上都具有无可比拟的优越性。这里可以通过一个对比显现出来,假设现在通过汇编语言和不是采用汇编语言的两种方法来计算目标程序,通过两个操作运算过程就可以明显看出,不采用语言汇编计算方法的计算过程,在运算中不仅花费的时间要远远高于运用汇编语言来计算的方法,而且冗杂繁芜的计算过程占用了计算机的大部分空间,而运用语言汇编计算方法的计算过程只占用了一少部分空间,孰优孰劣,结果不言而喻。

二、汇编语言与高级语言、delphi语言、c语言的结合运用

(一)汇编语言与高级语言的结合运用

在计算机的实际程序应用中,一般程序员在进行程序编写时大部分是运用高级语言来完成,而在整个程序的重要部分,或者说在实际中运行要求高、运行次数又较多而且可以直接与计算机硬件设施相关联的部分,其程序的编写都是运用汇编语言来实现的。采取以上的方法,是因为在实际操作中虽然汇编语言拥有工作速度快,工作效率高,占用空间小的优势,但它同时也要求对计算机内存装置有相当的熟悉度,在进行程序编制和读写时也存在有一定的难度,在计算机程序编写的实践应用中有一定的不便利性;而高级语言除了占用计算机存放空间比较多,程序编写的代码较长使计算机运行速度较慢外,高级语言本身也存在有丰富的函数和数据信息、齐全的运算符、可移植性好、易读易写等优点。这样将汇编语言与高级语言结合在一起运用到计算机程序编写实践中,不仅可以取长补短实现优势互补,提高工作效率,还节省了计算机的空间占有量。

另外,在计算机程序编写的实践应用中,汇编语言除了与高级语言可以相互结合使用实现优势互补外,汇编语言和delphi语言、c语言之间也可以结合使用,以实现计算机程序编写过程的最大高效便利化。

(二)汇编语言与delphi语言的结合运用

汇编语言与delphi语言在进行计算机程序编写是相互结合使用,主要是在delphi语言编写的程序中运用一定的数据信息将delphi语言程序融入到汇编语言编写程序中去,实现两种语言程序相互结合。

汇编语言编写程序与delphi语言编写程序之间在进行参数信息的相互传达时,可以由delphi语言编写程序向汇编语言程序进行传递,也可以由汇编语言程序向delphi语言编写程序进行传递。

delphi语言编写程序向汇编语言程序进行参数传递时,首先在delphi语言编写程序选出汇编语言程序中或者编写过程中的正确参数信息,然后在对这些参数信息进行汇编过程中直接运用其变量参数数据,其中存在的所运用变量参数之间语法不相同情况是由于变量参数在被传送的过程中,相互传递数据信息其实是地址。

汇编语言程序向delphi语言编写程序进行参数传递时,对汇编语言程序中的固定数据信息参数的传递有一定的特殊要求,汇编语言程序向delphi语言编写程序的参数传递过程则是运用指针的方式进行数据值的传递的。

(三)汇编语言与delphi语言的结合运用

汇编语言与c语言的相互结合使用,既可以通过运用汇编语言和c语言分别先编写好一套程序,然后将两种程序相互结合起来,同时还可以运用关键字将汇编语言的程序穿插到c语言程序中去这两种方式来实现。两种结合方式实现的具体过程可如下所示。

1.先分别进行程序编写再将两种程序相互结合的方式是先建立一个汇编语言编写的程序的大结构,再将详细的功能命令序列加入到结构框架中。像加入一个有关函数的程序命令:先建立一个该函数命令的架构框架,然后对该项指令进行代码编译,形成一个汇编语言程序文件,可以对文件名称有一定改动,然后在已经做好的汇编程序文件的数据信息代码后面加入一些内容,最后就可以进行汇编语言程序文件与c语言程序文件相结合了,在这里,可以通过直接将源文件进行结合和通过tcc实现对汇编语言程序文件与c语言程序文件的结合。需要注意的是在运用这种方式实现程序编写时,要首先将各个信息模块分别编译好。

转贴于

2.运用通过关键字实现两种语言编写程序相互结合的方式时应注意的是,在实现c语言编写程序与汇编语言编写程序相结合的过程时,数据信息编译结合的方式只能选择纯dos,运用tcc命令来完成,同时一定要有相关的必须操作选项。

三、计算机汇编语言在数据排序中的应用

(一)运用计算机汇编语言进行数据排序的必要性

数据排序是将一组没有规律、较杂乱随意的一般数据信息,通过计算机程序的高速运算功能,按照一定的规律或者顺序排列成一组新数据。重新排列得出的新数据不仅在整齐清楚、有规律可循,而且在实际应用中,也可以帮助使用者提高工作效率,在短时间内找到需要的信息,有很大的便利。数据排序过程中对“一组没有规律、较杂乱随意的一般数据信息”进行运算排序时,如何能够对“强大的、随意的数据”运用最快速、方便的方法在短时间内做到最好的处理,这里就要说到计算机汇编语言功能了。计算机汇编语言编制程序时是运用汇编功能将数据信息编成代码传送到计算机的主机控制系统中,然后通过主机控制系统向各个程序发出命令,以此来完成运行功能。其中,汇编语言可以讲“强大的数据信息”转化为指令代码,再次可以实现对计算机的直接控制,这些都是实现数据排序的最佳途径。

(二)计算机汇编语言数据排序的过程分析

这里,我们运用一个实例来对计算机汇编语言实现数据排序的应用过程进行分析。假设现在需要对计算机编写一个程序,是将一组数据按照一定的排序规律进行排序。好了,现在我们已经将题目要求设置完毕,来看看计算机汇编语言程序是怎么来完成这个题目的。常用的一种计算机汇编语言程序进行数据排序的方法是气泡排序,就是对数据信息中连接最近的两组数据进行对比,然后找出这两组数据之间的规律,再用所得出的规律与下一组数据进行对比,以此类推,直到第一次规律排序完成,然后重新进行对比、寻找、排列……,最后直至停止对比。

该过程中,计算机将接收到的数据信息按照相关要求进行程序写入,然后运用汇编语言功能将写入程序信息进行代码转换,传递给计算机的运算器,进行一次次的运算、传递,最终排出有一定规律的数据。运算过程中相互挨着的两组数据对比,产生结果在于后面数据对比交换是该运算过程中的规律,另外,运算中还用到不停地对比、再对比的重复循环过程,使汇编语言功能实现的更明显。

整个数据排序过程中,计算机程序操作不仅将排序方法在计算机空间开展的复杂程度控制得很低,使得空间效率较高外;在时间上,每一次的对比、排列也因为程序指令对计算机的直接控制而保持在最短内;另外,计算机系统采用的排序方法也是一具有稳定性的排序法。

计算机汇编语言在数据排序的实际应用中,除了上述介绍到的数据排序方法外,还有快速排序、基数排序、选择排序等多种形式,都能够实现数据的快速、稳定排列,运用计算机汇编语言实现数据排序是计算机程序编写中的一种常有应用。

计算机语言篇8

一九九三年美国的克林顿政府提出了“信息高速公路”计划,从而,这十多年间在全球范围内引发了一场信息风暴,信息技术几乎触及了现代生活的方方面面,毫不夸张地说没有了信息技术,现代文明的生活将无从谈起;作为信息技术中最重要的部分,计算机技术无疑是其发展的核心问题,而我们知道计算机只是一台机器,它只能按照计算机语言编好的程序运行,那么正确认识计算机语言的过去和未来,就是关系到计算机发展的重中之重;以自然辩证法的观点认识和分析计算机语言的发展历程,将有助于更加全面地推动计算机技术的发展,有助于更加准确地掌握计算机语言发展趋势。

一、科学认识大门的钥匙

当代自然辩证法,是马克思主义对于自然界和科学技术发展的一般规律以及人类认识自然改造自然的一般方法的科学,是辩证唯物主义的自然观、科学技术观、科学技术方法论。它主要研究自然界发展的总规律,人与自然相互作用的规律,科学技术发展的一般规律,科学技术研究的方法。马克思、恩格斯全面地、系统地概括了他们所处时代的科学技术成功,批判地吸取了前人的合理成分,系统地论述了辩证唯物主义自然观、自然科学发展过程及其规律性,以及科学认识方法的辩证法,以恩格斯的光辉著作《自然辩证法》为标志,创立了自然辩证法继续发展的广阔道路。自然辩证法是马克思主义哲学的一个重要组成部分。在辩证唯物主义哲学体系中,自然辩证法与历史唯物论相并列。它集中研究自然界和科学技术的辩证关系,是唯物主义在自然界和科学技术领域中的应用,它的原理和方法主要适用于自然领域和科学技术领域。学习和运用自然辩证法将有助于我们搞清科学和哲学的关系,从而更加清楚地认识科学的本质和发展规律,更加全面的观察思考问题,只有加深了认识,我们才能更好地发挥主观能动性,迎接新的科学技术的挑战。下面我将以自然辩证法的观点来分析计算机语言的发展历程。

二、计算机语言的发展历程和

发展趋势

计算机语言的发展是一个不断演化的过程,其根本的推动力就是抽象机制更高的要求,以及对程序设计思想的更好的支持。具体的说,就是把机器能够理解的语言提升到也能够很好的模仿人类思考问题的形式。计算机语言的演化从最开始的机器语言到汇编语言到各种结构化高级语言,最后到支持面向对象技术的面向对象语言。

1、计算机语言的发展历史:

二十世纪四十年代,当计算机刚刚问世的时候,程序员必须手动控制计算机。当时的计算机十分昂贵,唯一想到利用程序设计语言来解决问题的人是德国工程师楚泽(konrad zuse)。几十年后,计算机的价格大幅度下跌,而计算机程序也越来越复杂。也就是说,开发时间已经远比运行时间来得宝贵。于是,新的集成、可视的开发环境越来越流行。它们减少了所付出的时间、金钱(以及脑细胞)。只要轻敲几个键,一整段代码就可以使用了。这也得益于可以重用的程序代码库。随着c,pascal,

fortran,等结构化高级语言的诞生,使程序员可以离开机器层次,在更抽象的层次上表达意图。由此诞生的三种重要控制结构,以及一些基本数据类型都能够很好的开始让程序员以接近问题本质的方式去思考和描述问题。随着程序规模的不断扩大,在60年代末期出现了软件危机,在当时的程序设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型——面向对象程序设计,由此也诞生了一批支持此技术的程序设计语言,比如eiffel,c++,java。这些语言都以新的观点去看待问题,即问题就是由各种不同属性的对象以及对象之间的消息传递构成。面向对象语言由此必须支持新的程序设计技术,例如:数据隐藏,数据抽象,用户定义类型,继承,多态等等。

2、计算机语言的发展现状:

目前通用的编程语言有两种形式:汇编语言和高级语言。汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。高级语言是目前绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。 高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 解释类和编译类。

3、计算机语言的发展趋势:

面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不再是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。

三、面向未来的汉语程序设计

语言

从计算机诞生至今,计算机自硬件到软件都是以印欧语为母语的人发明的。所以其本身就带有印欧语的语言特征,在硬件上cpu、i/o、存储器的基础结构都体现了印欧语思维状态的"焦点视角",精确定义,分工明确等特点。计算机语言也遵照硬件的条件,使用分析式的结构方法,严格分类、专有专用,并在其发展脉络中如同他们的语言-常用字量和历史积累词库量极度膨胀。实际上,计算机硬件的发展越来越强调整体功能,计算机语言的问题日益突出。为解决这一矛盾,自六十年代以来相继有500多种计算机语言出现,历经五代,至今仍在变化不已。汉语没有严格的语法框架,字词可以自由组合、突出功能的整体性语言。在计算机语言问题成为发展瓶颈的今天,汉语言进入计算机程序设计语言行列,已经成为历史的必然。

1、 发展汉语程序设计语言的理由:

1)计算机语言问题解决,只能从人类语言中寻找解决方案;

2)计算机语言的现存问题是形式状态与功能需求的矛盾;

3)计算机硬件的发展已为整体性语言-汉语进入计算机程序设计语言提供了条件

2、 汉语程序设计语言的技术特点:

1)汉文字的常用字高度集中,生命力极强,能灵活组合,简明准确地表达日新月异的词汇,这些优点是拼音文字无法企及的。

2)汉语言的语法简易灵活,语词单位大小和性质往往无一定规,可随上下语境和逻辑需要自由运用。汉语言的思维整体性强,功能特征突出。

3)汉语程序设计语言的发明者采用核心词库与无限寄存器相结合的方法,实现了汉语言的词素自由组合;将编译器与解释器合一,使汉语程序设计语言既能指令又能编程;以独特的虚拟机结构设计,将数据流与意识流分开,达到汉语程序设计语言与汉语描述完全一致,通用自如。具有汉语言特性的汉语程序设计语言的出现,打破了汉语言不具备与计算机结合的条件而不能完成机器编码的神话。还为计算机科学与现代语言学研究提出了一条崭新的路径,它从计算机语言的角度,从严格的机械活动及周密的算法上,向世人证实汉语的特殊结构状态,及其特殊的功能。

四、计算机语言之父

尼盖德帮助因特网奠下了基础,为计算机业做出了巨大贡献。 尼盖德是奥斯陆大学的教授,因为发展了simula编程语言,为ms-dos和因特网打下了基础而享誉国际。克里斯汀•尼盖德于1926年在奥斯陆出生,1956年毕业于奥斯陆大学并取得数学硕士学位,此后致力于计算机计算与编程研究。1961年~1967年,尼盖德在挪威计算机中心工作,参与开发了面向对象的编程语言。因为表现出色,2001年,尼盖德和同事奥尔•约安•达尔获得了2001年a.m.图灵机奖及其它多个奖项。当时为尼盖德颁奖的计算机协会认为他们的工作为java,c++等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路,“他们的工作使软件系统的设计和编程发生了基本改变,可循环使用的、可靠的、可升级的软件也因此得以面世。”尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进。

五、用科学的逻辑思维方法

计算机语言篇9

笔者下面以VB课程设计为例,浅谈课程设计的一般过程。

(一)精心选题

精心选题,力求既要结合书本的知识,又要结合学生将来可能遇到的实际工作需要。

课程设计题目不宜过大,不切实际,使学生无从下手。题目要使学生在自己通过搜集资料及在指导教师的指导下能够完成,使他们有成就感,增强他们学习的自信心。实践证明题目多、可操作性强、趣味性强、实用性强,对开阔学生的视野、丰富学生的知识、提高学生的实践能力有极大的好处。

我考虑到VB课程设计的特点以及每个学生不同的兴趣爱好精选了十几个题目,让学生分组设计。

如文字编辑系统,学生都学过Word等文字处理软件,对它有较深的体会,那么文字处理软件是怎么实现的呢?通过这个题目可使学生把以往所学专业知识和VB有机结合起来。又如古诗欣赏系统,是专门为一些对文学感兴趣的学生而设置的,这样的题目设计能够调动他们的积极性。除了以上题目外,还备以下题目:睡眠测试系统、设计计算器、设计电子贺年卡、窗体背景图案系统、设计一个收款计算程序、密码检测、数据流动等。

(二)合理布置题目

在布置题目时,要根据具体情况进行处理。可采用分组的形式进行,避免多人同时做一个题目,导致重复劳动或抄袭现象的发生。

布置题目时采取先在黑板上以文字形式布置题目,让学生先独立思考,然后再在机器上布置题目即在机器上运行程序,让学生直接看到运行后的效果。另外,教师一定要将每个题目都自己先完成,给出具体结果,使学生具有感性认识,增强他们的自信心。

在软件开发中,实际上用户要定制一个软件时给出的往往只是文字或表格要求,即用户需求,学生要将用户的需求用计算机程序设计的形式表达出来,这就涉及到软件开发的知识。在课程设计过程中我有意识地将软件开发工程中的一些方法传授给学生,使他们了解软件开发的一般步骤和过程,这样可以少走弯路。

在设计过程中,教师要尽量要求学生学会搜集资料,充分利用现代化工具,如上网搜集资料,到电脑公司去咨询,到相关部门去了解情况。这样有利于学生掌握第一手资料。

(三)操作要求

按照软件开发技术的原则和方法进行课程设计,并采用结构化或面向对象程序设计的原则和方法。对于课程设计可酌情选择以下过程及文档中重要的几个即可:①问题定义。②可行性研究。从技术可行性、经济可行性、操作可行性来研究系统是否可行。③需求分析。确定系统必须完成哪些工作,也就是对目标系统提出完整、准确、清晰、具体的要求。④总体设计。确定系统的具体实现方案,确定软件的结构。⑤详细设计。设计出程序的“蓝图”,以后程序员将根据这个蓝图写出实际的程序代码。⑥编写代码(程序)。用某种程序设计语言书写的程序。⑦软件测试、调试运行。将所编写好的程序和有关原始数据输入到计算机中,不断地对其进行调试运行(修改程序中存在的语法错误和逻辑错误),直到所设计程序达到设计要求。这部分工作量往往占软件开发总工作量的40%。⑧软件维护。此阶段是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的时期中,因此不属于系统开发过程(此步骤可省略)。软件开发结束时,要对软件评价。可从产品修改、产品转移、产品运行三方面评价。⑨编写文档。一般情况下,软件系统有如下文档:可行性研究报告、项目开发计划、需求规格说明书、概要设计说明书、详细设计说明书、用户操作手册、测试计划、测试分析报告、开发进度月报、项目开发总结报告、程序维护手册、软件问题报告、软件修改报告、数据库设计说明书。

计算机语言篇10

测试存在于人类生活的各个方面,人们随时都处于一种测试和被测试中。语言作为人类生活必不可少的交流工具,也是测试的一个目标。随着信息交流技术的发展,计算机技术在语言教学和测试领域发挥着日益重要的作用。同时随着经济全球化的发展,英语日益成为一门具有世界性质的语言,在一些正式交际中,对语言的要求提高了,这也就意味着我们必须寻找一门合理有效公正的测试方式来评估人们的语言水平。计算机技术的发展促使语言测试的介质发生了变化,由传统的基于笔纸的语言测试发展到计算机适应性语言测试,并向基于网络的个性化自适应性语言测试发展(孔文,李清华 2002)。因此,基于计算机技术的语言测试发展起来了,研究者也开始在这一方面给予更多的关注。

二、语言测试特点

任何测试无论其测试方法和目标,它必须具有两个特性,即信度和效度。信度指测试结果是否稳定可靠。即测试的成绩是否反映了受试者的实际语言水平。例如,如果在受试者不变的情况下,在同一测试中,受试者的分数忽高忽低,则这个测试缺乏信度。测试的信度主要涉及到试题本身的可靠性和评分的可靠性这两个方面。效度亦称测试的有效性,指一套测试对应该测试的内容所测的程度,即一套测试是否达到了它预定的目的以及是否测量了它要测量的内容。测试的信度与测试的效度有着密切的关系。一般来说,只有信度较高的测试才能有较高的效度,但效度较高不能保证信度也一定较高。测试结果愈重要,愈要确保测试的信度和效度。

计算机技术的迅速发展在一定程度上改变了教育,语言学习是教育的一个方面,同样也受到了计算机技术的影响,对语言掌握熟练程度的语言测试研究者们开始转向对基于计算机的语言测试研究。同时计算机的应用,可以同时进行大规模的测试。计算机辅助测试(CAT)相对容易,在计算机辅助测试中,受试者通过一些和他能力匹配的试题以证明其语言掌握程度。测试项目可以从早已存入电脑的测试题库中抽取,电脑自动选择合适的测试项目,一旦受试者通过了一定水平的测试项目,计算机自动转入更高级项目进行测试。这套计算机测试的优点在于:(1)可以立即得到测试结果;(2)试验过程的执行管理具有灵活性;(3)测试过程时间较短;(4)对老师和学生诊断信息的实用性;(5)对计算机题库的有效使用。20世纪80年代,随着计算机软件技术的不断发展,CAT被认为和传统笔纸测试相互替代使用的测试手段而被广泛应用于各个研究机构和大学。随后发展起来的计算机适应性语言测试(CALT)和CAT类似。然而,在测试者们热衷于计算机测试时,CAT存在的一些问题也开始得到了学者们的关注。在本文中,将研究基于计算机语言测试所引起的两个问题:计算机熟练度和实用性。

三、语言测试与计算机技术的关系

在本章中着重讨论基于计算机语言测试中出现的问题,对这些问题给予详尽的介绍。

首先是计算机熟练程度。从广义上讲,计算机熟练程度包括对计算机使用的态度问题,对计算机使用的焦虑程度以及使用和公平性也得到了关注。从狭义上讲,计算机熟练程度只是对计算机的熟练掌握。CAT需要考虑到受试者对计算机使用的态度,对计算机掌握不熟练可引发受试者的焦虑。在Jamieson,Taylor,Kirsch和Eigner(1998)研究中,对1169名参加托福机试的同学的表现进行了研究,根据用时,表现和态度的不同做了分析,发现上机指导比实际答题花费的时间长;超过95%的受试者成功完成了试题。对于采取纸笔测试和机试的态度做了对比,受试者愿意接受机试。有学者认为受试者的焦虑对其语言表现影响很大,而语言能力的高低并不能去除机试所带来的焦虑,尤其对计算机应用技术的担忧。伴随计算机和因特网技术的进一步普及,越来越多的人开始接触并掌握计算机技术,这样使得计算机的熟练程度对测试结果的影响相对降低,但不是完全没有,由于有些地方经济发展不发达,当地人们还没有接触过甚至听过计算机,如果这样的话,在大规模高风险的测试中,这些人就处于相对劣势,那么这项测试在信度和效度方面有所降低。例如,托福考试,是一项考察学生是否有语言能力适应在北美大学的生活学习状况的测试,参加考试的全是一些非英语语言的学生,他们来自不同的国家,有着不同的语言和文化背景,对于一些来自贫困国家的部分学生来说,他们有可能没有熟练地掌握计算机技术,如果采用托福机试在一定程度上影响他们的测试表现,进一步影响他们的未来。因此,对于那些希望接受国际学生的机构和院校来说,他们必须保证所有参加机试的学生对计算机的熟练程度是一样的。

其次,实用性的问题计算机语言测试不可忽略的问题,尤其在大规模高风险考试中,比如托福雅思。基于计算机语言测试,顾名思义离不开计算机,因此在设计测试中,需要考虑到计算机的相关因素,如计算机的数量,型号,性能等。计算机测试成本较高,购置大量计算机设备花费大,因此,一些机构没有采纳这种测试工具。另外,在计算机测试中很可能遇到一些不可避免的技术性问题,这也是CAT致命的弱点。其次,许多实践证明计算机辅助测试比传统纸笔测试更实用,更灵活,测试范围,受试者规模大小,测试时间及地点都是可以变动且对测试本身没有多大影响。计算机可以存储大量信息,当然设计测试者可以事先输入大量的测试项目,分类,设计测试流程;测试完成后,计算机可以长期保存测试结果。在测试中,受试者可以根据自身水平选择适合自己的试题,测出自己的语言水平。每一项测试项目都是唯一的,若受试者水平处于中级,他就可以跳过初级直接测试中级,如果中级顺利通过,他可以测试高级,检测自己是否具有高级水平。还有,CAT能很快提供测试结果及反馈信息,这样受试者能很快知道自己的水平,也可以适当选择符合自己水平的测试项目,以增强自己在学习中的自信力。最后计算机根据事先的程序对受试者的测试结果进行自动评估,这样不仅节省了很大的人力,而且迅速得出准确的测试结果。因此计算机在教学和测试方面发挥着重要的作用。

四、结论