第一篇:计算机应用强化及程序设计周总结
计算机应用强化及程序设计周总结 最近,我们专业进行了计算机操作实习,虽然内容都很基本,但是却让我们不得不对我们的计算机方面的知识进行重新的认识,就像我们的实习的目的“通过计算机操作实习,使学生掌握windows操作系统的基本操作,掌握office软件的使用方法。”又有哪个同学敢说他完全掌握了?
刚开始接到实习内容与实习通知的时候,大家开始都很想知道计算机实习到底是实习什么内容,当看到实习内容的时候,大家都有“学校太侮辱我们智商”的想法,大家都为实习的内容感到沾沾自喜,以为自己都会,以为自己太了不起,windows操作系统多熟悉?Word、PowerPoint、Excel文档编辑和V.B.程序设计多轻松?其他办公软件谁没用过?……不过这些想法都被一点一点的实际问题所击溃。
下面我谈一下对Word软件的使用方法得感受。我们都
知道Word是Microsoft公司的一个文字处理器应用程序,它主要用与日常的文字处理工作,通过它可以编排精美的文档、绘制图片、设计表格,还可以制作包含图片、声音、视频的多媒体文件等。可以说Word功能之强大远远超出了我们的想象,刚开始认为老师所布置的实习任务太容易满足了,因为不就是写一篇在学报上面发表的文献吗?打字谁不会啊,最后当听说所有的内容,图表,函数…都得与文献保持高度一直的时候都觉得这个其实真的很难,当初我的想法
也是这样的,不过最后我还是决定恶补一下Word。我把以前的《计算机文化基础》书拿了出来把Word这一章仔细的看了一遍,并且上网查询了很多关于Word编辑的实际问题,也主动的向班内的高手请教,毕竟Word这个办公软件很强大而自己知道的与掌握的却有太匮乏了。
我充分应用在上机实习课上所学的word操作技能,完成了老师要求的文章的制作。这使我真正感受到了计算机的好处和上机实习所带来的实际的效果,这使我更加认识到学习计算机的重要性,和学好计算机的好处。通过对老师布置的文章的输入,编辑和排版,我更加熟悉了Word软件的一些操作技巧,也学会了很多Word的小技巧,例如,通过对文章的输入,编辑与排版,我学会了制作文章的页眉与页脚,学会了Word的强大的制表功能,Word软件可以自动制表,也可以手动制表。Word的表格线自动保护,表格中的数据可以自动计算,表格还可以进行各种修饰。在Word软件中,还可以直接插入电子表格。用Word软件制作表格,既轻松又美观,既快捷又方便,我也学会了Word的一些特殊符号的输入,学会了怎么插入函数,怎么实现文档字体间距的缩进,怎么分栏,以及如何在Word中调整汉字与英文字母间的距离……总之我学到了很多,也认识到很多自己的不足。随着社会的发展,科技的进步,当今社会已步入了信息社会,知识经济将成为新世纪的主导产业。伴随计算机的逐步推广
和使用,计算机已在科研、生产、商业、服务等许多方面创造了提高效率的途径,学习计算机有着十分重要的意义,如果不会使用或者不了解计算机,无疑就会变成新时期的“文盲”。
而在计算机的操作实习中,我们又重新学习和熟练了计算机的基本操作和相关的知识,这使我们在原有的计算机水平上有了进一步的提到,使我们在处理一些较为基本的软件方面能够比较熟练。我想,这些基础知识的巩固,为我们以后在计算机方面的学习打下了一个良好的基础,并能使我们在其他的一些相关的工作中带来很大的方便。通过实践,我们自身的计算机的操作技能也得到了加强,这充分起到了理论联系实践,使得理论知识和实践能够很好的进行互相补充与互相进步,并能在实践的认真操作中,得到有效的融合与渗透。我想,这种新的体会与认识只有你亲自上机实践才可以理解与感受到,这无疑是我们今后学习的宝贵经验与财富。在上机操作中,的确让我学到了很多有用的知识。
这次的实习我用Word制作了一份个人简历,利用了Word的强大的制表功能,我首先初始化了页面,新建了一个Word文档,然后为表格添加标题“个人简历”并利用了Word的插入表格命令,经过反复的调整(合并单元格,单元格对齐,字体调整等)并最终把个人简历制作成功,虽然不够完美,不过我已经尽力让它看起来很像那么回事,也很认真的填写
了个人简历,经过这次的制作表格的过程,我认识到确实自己还很“不够熟练”,纸上得来终觉浅,绝知此事要躬行。这句话是我对此次的最深体会,以前只是学习书本的理论知识,现在猛然面对实际问题显得那么的不知所措,不过通过自己的反复摸索最终克服了各种难关,把简历做好,引用马克思主义的一句经典的话就是“理论联系实际”。
目前,计算机的应用也变得越来越广泛,我们大学生,尤其是我们电信的学生更应该好好努力的学习,毕竟,计算机课程,对我们专业是非常有用。知识是无穷的,而学习更是无止境的。计算机是这把知识宝库的钥匙,用这把钥匙去打开知识的大门。这样,你便可以在知识的天空里遨游,在知识的海洋里泛舟。有了知识,你便有了生活的资本,便有了向科学高峰攀登的绳索。
在这次实习中,所以给我的启示是很多的。这次的实习我真正感受到了计算机的好处和上机实习所带来的实际的效果,这使我更加认识到学习计算机的重要性,和学好计算机的好处。通过这几天来与计算机近距离和频繁的接触,使我渐渐对计算机产生了浓厚的兴趣。让我对计算机理论知识有了一定的了解,但实践出真知,唯有把理论与实践相结合,才能更好地为社会服务。为期一周的上机实习,虽然时间不长,不过确实提高了我的动手能力,同时也让我了解到了自己的不足,我会继续努力,完善自我!
第二篇:计算机程序设计比赛活动总结
计信系“技能接力赛 ——程序找茬” 活动总结
计算机在各行各业中应用都很广泛,基本上每个公司都会用到PPT、WORD等很多应用软件,为了促进计算机与信息工程系学生努力学习关于计算机的各方面知识,让同学们对各种软件有更好的了解我们举办了计算机系列比赛。
总体来说,我们这次以“技能接力赛”为主题的系列活动,各个阶段都十分成功,成功的原因我们总结为以下几点:
1、准备较充分
“凡事预则立,不预则废”在这次活动中得到了充分体现,正是因为有了详实的考虑、周全的计划和充分的准备,这次活动才有了成功开展的前提。如我们提前几个月就和老师商量,并且在活动开始之前我们就有了详细的计划及活动部署。
2、密切配合
多方面的积极协助和努力,是活动得以完成的保证。如在活动中我们需要的用电插座问题就是由学办、文艺部的工作人员帮助安排的。
3、分工具体安排合理
在活动没有开始之前,各部长就已经将劳动任务合理分配,同时也注意到宣传组织及工作时间的协调。事后,同学们普遍反映良好。
4、活动全面深入
从初期活动内容的确定到联系相关部门,一直到宣传组织同学进行分工,充分提高了同学们的思想认识。
当然在成功的背后,我们也认真反省思考了我们的不足。
1、场面有点混乱。活动虽然经过具体分工,详实安排,但在实际过程中由于人数较多,场面有点混乱,个别成员没有完成自己的分工。
2、安排上存在不足。主要体现在活动中个别支部成员不够积极,对分配的任务不能及时保证质量的完成,这与管理和分工上的失误有一定关系。
3、时间有些仓促。这主要是由于教室问题到四月二十七日(星期五)下午才最终解决。
附件
比赛项目:程序找茬
比赛时间:四月二十七日(星期五)下午 比赛地点:图书馆一楼(待定)
参赛对象:全系学生(主要针对我系大
二、大三学生)题目及比赛形式:题目可以有选择题、填空题和程序题构成,或
者只有程序题,可以找一些老师帮忙出题,或者找历年的竞赛题。
评分规则:根据考生完成作品所用时间和作品效果选出优秀作
品!
团总支
计算机与信息工程系
学生会
2012年5月20日
第三篇:计算机及应用
杜拉拉
五年以上工作经验 | 男 |28岁(1982年9月1日)
居住地:上海
电 话:139********(手机)
E-mail:dulala@51job.com
最近工作 [ 9个月]
公 司: 上海XX科技发展有限责任公司
行 业: 计算机软件
职 位: 高级软件工程师
最高学历
学 历: 硕士
专 业: 计算机应用
学 校: 上海理工
------------------
自我评价
本人为人踏实、勤奋,严格要求自己,工作积极,一丝不苟,对新事物有较强的接受能力。对自己已掌握的技术敢于创新,精益求精,能够妥善的处理周围的人际关系,团结同事,并具有极强的团队合作精神。
求职意向
到岗时间: 即时
工作性质: 全职
希望行业: 金融/投资/证券
目标地点: 沈阳
期望月薪: 面议/月
目标职能: 其他
工作经验
2009 /1--至今:上海XX科技发展有限责任公司(150-500人)[ 1年9个月]
所属行业: 计算机软件
开发部 高级软件工程师
独立负责并完成:
软件开发整体项目的规划、框架设计、软件开发工作;
公司内部系统的维护、升级、数据资料的存储备份等。
------------------
2005 /6--2008 /12:XX网(某知名网站)(50-150人)[ 3 年6个月]
所属行业: 互联网/电子商务
技术部 BI工程师
XX网商业智能(BI)团队核心人员,参与开发维护XX网数据仓库;负责网站优化项目。基于web日志,利用数据挖掘方法,完成对XX网用户行为模式的分析;运用文本分类、协作过滤等技术实现对自动推荐的改进。经过我们团队的卓越工作,为运营提供了详实的决策依据,有利于公司广告投放等业务的展开。主要职责:点击流分析,用户行为分析,web挖掘。
项目经验
2010 /2--至今:上海XX车辆有限公司备品管理系统
软件环境: windows2008、C#、SqlServer2005
开发工具: Visual Studio 2008、SqlServer2005
项目描述: 上海XX车辆有限公司备品管理系统,厂内备品进、销、存管理责任描述: 调研需求、编写文档、程序开发、系统实施、维护
------------------
2010 /2--至今:上海XX车辆有限公司结算系统
软件环境: windows2008、C#、SqlServer2005
开发工具: Visual Studio 2008、SqlServer2005
项目描述: 上海XX车辆有限公司网上结算系统,服务商数据结算、统计、分析、查询责任描述: 调研需求、编写文档、程序开发、系统实施、维护
------------------
2009 /8--2010 /1:上海XX学院教务处管理系统
软件环境: windows2008、C#、SqlServer2005
开发工具: Visual Studio 2008、SqlServer2005
项目描述: 长上海XX学院教务处管理系统
责任描述: 调研需求、编写文档、程序开发
------------------
2009 /1--2009 /5:XX公务员网上报名系统(新版)
软件环境: windows2008、C#、SqlServer2005
开发工具: Visual Studio 2008、SqlServer2005
项目描述: XX公务员网上报名系统(新版)
责任描述: 调研需求、编写文档、程序开发、系统实施、维护
教育经历
2007 /9--2010 /6上海理工 计算机应用 硕士
------------------
2002 /9--2006 /7上海理工 计算机科学与技术 本科
语言能力
英语(良好)听说(良好),读写(良好)
英语等级: 英语四级
第四篇:计算机程序设计期中考试
《计算机程序设计》期中考试试卷答案分析
一、单项选择题(每空2分,共30分)
1.若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为()
A、4B、16C、32D、52
分析:先计算逗号表达式a=4,b=16,c=32;逗号表达式的结果为最后一个逗号后表达式的运算结果,因此为32;再将32赋值给num,因此选C.2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()
A、必须为字母B、必须为下划线
C、必须为字母或下划线D、可以是字母,数字和下划线中任一种字符
3.下面四个选项中,均是合法转义字符的选项是()
A、''''''n'B、''' 17''“'
C、' 18''f''xab'D、' ' '101''xlf'
分析:转义字符是在一般字符前加,表示对其含义加以改变;主要有三类:
(1)单引号’,由于字符的定界符为单引号,因此要表示普通字符单引号,必须加;斜线,为了和转义字符的区别,因此也需要用转义’’,第1个表示转义,第2个表示普通字符;
(2)一些特殊的控制符,如换行符’n’,制表符’t’等;
(3)八进制,十六进制的转义字符,八进制以 为开始,后面跟八进制数,十六进制以x为开始,后面跟十六进制数
4.下面四个选项中,均是不合法的用户标识符的选项是()
A、AP_0doB、float la0 _A
C、b-a goto intD、_123 temp INT
分析:b-a中间有-不合法,goto和int均使用系统关键字作为标识符不合法.5.若有定义:int k=7;float a=2.5,b=4.7;则表达式a+k%3*(int)(a+b)%2/4的值是()
A、2.500000B、2.7500000C、3.500000D、0.000000
分析:整型数据的%和/运算,其结果只能是整数,因此k%3*(int)(a+b)%2/4的计算结果为0
6.设变量y为float类型,x为int类型,则以下能实现将y中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()
A、y=(y*100+0.5)/100.0B、x=y*100+0.5,y=x/100.0
C、y=y*100+0.5/100.0D、y=(y/100+0.5)*100.0
7.已知a、b、c为int类型变量,若有输入语句:scanf(”a=%db=%dc=%d“,&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是()
A、132<回车>B、a=1b=3c=2<回车>
C、1<回车>3<回车>2<回车>D、a=1<回车>b=3<回车>c=2<回车>
8.已知ch是字符型变量,则不正确的赋值语句是()
A、ch=5+9;B、ch=' ';C、ch='7'+'9';D、ch='a+b';
分析:字符型数据只包含一个字符.9.判断char型变量c1是否为大写字母的正确表达式是()
A、'A'<=c1<='Z'B、(c1>='A')&(c1<='Z')
C、(c1>='A')&&(c1<='Z')D、('A'<=c1)AND('Z'>=c1)
10.若希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()
A、num%2==1B、!(num%2==0)C、!(num%2)D、num%2
11.以下正确的if语句是()
A、if(n>0)printf(”%f“,n)C、if(n>0)
printf(”%f“,-n);{ n=n+m;printf(”%f“,n);};
elseprintf(”%f“,-n);
B、if(n>0)D、if(n>0)
{ n=n+m;printf(”%f“,n);}{ n=n+m;printf(”%f“,n)};elseprintf(”%f“,-n); elseprintf(”%f“,-n);
分析:复合语句{}后不能加;
12.以下程序运行的结果是()
main()
{intx1=3, x2=0, x3=0;
if(x1=x2+x3)
printf(”* * * *“);
else
} printf(”# # # #“);
C、存在语法错误D、无输出结果 A、输出:* * * *B、输出:# # # #
分析:x1=x2+x3是赋值表达式,其结果为0,因此表示假,执行else后的分支语句.13.语句while(!y)中的表达式!y 等价于()
A、y==0B、y!=1C、y!=0D、y==1
14.设有程序段如下,则描述正确的是()
int x=10;
while(x=0)x=x-1;
A、while循环执行10次B、循环是无限循环
C、循环体语句一次也不执行D、循环体语句只执行一次
分析:循环条件表达式x=0是赋值表达式,其结果为0,即假,所以循环一次也不执行。
15.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是____
for(y=100;x!=y;++x,y++)
printf(”****n“);
A、循环体只执行一次B、是无限循环
C、循环体一次都不执行D、for语句中存在语法错误
分析:循环判断条件x!=y的值为0,即为假,循环不执行
二、填空题(每空1分,共20分)
1.若有定义:int y=7; float x=2.5,z=4.7;,则表达式x+(int)(y/3*(int)(x+z)/2)%4的值为___5.5_____。
2.若采用十进制数的表示形式,则077为___63___,0111为__73__,0x29为__41__,0xab为___171___。分析:077为八进制数:计算7×81+7×80=63;0111计算:1×81+1×80=73
0x29为十六进制数,计算2×161+9×160=41,0xab计算:a代表10,b代表11,10×161+11×160=171
3.设x、y、z均为int类型变量,请用C语言的表达式描述以下命题。
① x或y中有一个小于z___x ② x、y和z中只有两个为负数 _x<0&&y<0&&z>=0||y<0&&z<0&&x>=0||x<0&&z<0&&y>=0___ ③ y是奇数 __y%2(或y%2==1)__ 4.设x、y、z均为int型变量,且x=3, y=-4, z=5,请写出下面每个表达式对应的结果。 ①(x&&y)==(x||z)____1___ ②!(x>y)+(y!=z)||(x+y)&&(y-z)____1__ 5.若a是int型变量,且a的初值为6,则计算表达式后a的值为____-60____ a+=a-=a*a 分析:赋值运算符具有右结合性,因此先计算a-=a*a,相当a=a-a*a,a=6-6*6=-30,再计算a+=-30,即a=a+(-30)=-30+(-30)=-60 6.若a和b均为int型变量,则以下语句的功能是__交换变量ab的值__ a+=b;b=a-b;a-=b; 7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为___10__,n的值为__6___ x+=n++ 8.若s是int型变量,且s=6,则下面表达式的值为___1___ s%2+(s+1)%2 9.已知有变量定义:int x=4;float y=3.5;则执行 x+=y+2 之后,x的值为__9__ 分析:x+=y+2相当与x=x+y+2=4+3.5+2=9.5,但是由于x为整型,因此对9.5取整赋值给x 10.C语言规定,可执行程序的开始执行点是__主函数(main)___ 11.有int a=3,b=4,c=5;则以下表达式的值是______1______ !(a+b)+c-1&&b+c/2 分析:先计算!(a+b),再计算算术表达式,最后计算逻辑表达式&&,因此结果只能是1或者0,此题结果为1 12.执行下面程序段后,k值是_____36____ k=1;n=263; do{ k*=n%10;;n/=10;}while(n); 分析:do_while循环先执行循环体,然后判断while后的表达式是否为真; 第1次执行循环体,k=k*n%10=3,n=n/10=26,此时n不为0,因此循环继续; 第2次执行循环体,k=3*26%10=18,n=n/10=2,n不为0,循环继续 第3次执行循环体,k=18*2%10=36,n=n/10=0,n为0,循环结束 13.设a、b、c均是int类型变量,则执行以下for循环后,c的值为_40_ for(a=1, b=5; a<=b; a++) c+=a+b; 分析:c的初值为0,循环初值a=1,b=5,循环条件a<=5,循环变量变化a++,由于b不发生变化,因此循环执行5次,累加a+b的和,即c=1+5+2+5+3+5+4+5+5+5=40 三、分析程序并写出运行结果(每题5分,共20分) 1.设有说明:int a=1,b=0; 则执行以下语句后的输出结果是**0** ______**2**_________ switch(a) { case 1: switch(b) { case 0: printf(”** 0 **n“); break; case 1: printf(”** 1 **n“);break; } case 2: printf(”** 2 **n“); break; } 分析:这是一个switch的嵌套,外层switch,由于a的值为1,所以进入case1 分支; 执行内层swtich,由于b的值为0,所以,执行case 0分支,输出**0**;遇到break,结束内层swtich; 外层switch的case 1分支没有break语句,因此继续执行下一个分支case 2,输出**2** 2.当a=1, b=3, c=5, d=4 时,执行完下面一段程序后x的值是__2___ if(a 分析:else总是与它距离最近的if配对。 3.下面程序的输出结果是____a=16 y=60_____ #include “stdio.h” main() {int a,y; a=10;y=0; do{ a+=2;y+=a; if(y>50)break; }while(a=14); printf(“a=%d y=%dn”,a,y); } 4.下面程序的输出结果是__7__ #include 四、程序填空(每题5分,共10分) 1.下面程序的功能是计算1至10之间的奇数之和以及偶数之和。 main() {int x, y, z, k;x=z=0;for(k=0; k<=10; k+=2){ x+=k;_y=k-1_; 或 y=k+1z+=y;} printf(”偶数之和 = %dn“, x); printf(”奇数之和 =%dn“,__z+1_);此时对应z=k-11 } 2.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。请填空。 main() { charch1; scanf(”%c“, ch1); if(_ch1>=’A’&& ch1<=’Z’_) ch1=ch1+32; elseif(ch1>='a' && ch1<='z') __ch1=ch1-32__; printf(”%c", ch1); } 五、编程题(共20分) 1.从键盘输入3个数,找出其中的最小数和最大数并输出。(10分) 答案有多种,下面给出二种参考(注意在使用if~else时,尽量使程序简洁,效率高)参考1:利用if语句 #include int main(){ int a,b,c,max,min; printf(“input a,b,c:”); scanf(“%d%d%d”,&a,&b,&c); if(a>b){ max=a;min=b; }else{ max=b;min=a; } if(c>max) max=c; if(c min=c; printf(“max=%d,min=%d”,max,min); return 0; } 参考2:利用条件表达式 #include ina main(){ int a,b,c,max,min; printf(“input a,b,c:”); scanf(“%d%d%d”,&a,&b,&c); max=a>b?a:b; max=c>max?c:max; min=a min=c printf(“max=%d,min=%d”,max,min); return 0; } 2.编程计算1 21 51 81 111 14...1 3n1的和并输出,直到某一项的绝对值小于10-6为止。(10分) #include #include int main(){ int n=2; double item,flag,sum=0;/*注意item和sum应均为实型数*/ flag=1; item=flag/n; while(fabs(item)>1e-6){/*fabs函数是对实型数求绝对值*/ sum=sum+item; flag=-flag;/*flag用来控制符号的正负*/ n=n+3; item=flag/n; } printf(“sum=%f”,sum); return 0; } 我对程序设计的一点粗浅看法 ——计算机程序设计发展史 【内容提要】 程序设计(Programming)是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计一般是以某种程序设计语言为基石,构造出这种语言下的程序。程序设计的过程一般包括分析、设计、编码、测试、排错等不同阶段。 程序设计语言是人们为了描述计算过程而设计的一种具有语法语义描述的记号。没有程序设计语言支持的计算机无异于一堆废料。从最早的一代设计程序语言——机器语言,到现在的面向于数据库的第四代语言,程序设计语言的发展已经突破了语言的本身,更是一种交互式程序设计环境的发展。在计算机问世至今的半个世纪中,人们一直在为研究出更新更好的程序设计语言而努力着。 【关键词】 程序设计语言程序设计方法 计算机技术 发展 计算机程序设计发展史 一、程序设计语言的发展 (一)“史前”时期 世界上最早的“计算机”是我国的算盘,它被人们沿用至今。在17世纪,Pascal等人发明了一种以传动齿轮为基础的“计算机”,它是以齿轮的转动来控制计算的累加与进位。上个世纪初,英国剑桥大学著名数学家Charles Babbage于1822年与1848年分别设计出了两种差分机,并于1833年制造出了有名的分析机。分析机在原理上与当今社会的计算机非常类似,它靠输入读进穿孔卡片来对输入的数进行算术运算并给出结果。而且分析机可以随意重复运算序列。这些是由Ada Lovelace设计的运算序列可以解决许多问题。实际上,这种运算序列就是程序的雏形,而这种设计思想一直沿用至今。因而Ada Lovelace被称为是世界上第一个程序员(ADA语言就是为纪念她而命名)。1890年Hollerith研制出了一种同样使用穿孔卡片的统计机被用作各种统计工作。此后,Hollerith成立了一个公司,这个公司便是如今的IBM。 本世纪30年代,英国数学家Turing提出了图灵机的概念,它是由一个控制块、一条存储带及一个读写头构成的能执行左移、右移、在存储带中清除或写入符号以及条件转移等操作的机器。这种图灵机的结构虽然较为简单,但是却能完成现代计算机所能完成的一切运算。随后Church发明了一种以逻辑公式中约束变量的代入为主要运算的λ-演算,这种运算已经相当于一种语法与语义都非常简单的程序设计语言,已被广泛应用于程序理论以及程序设计语言理论与实践的研究中。 (二)低级语言时期 1.第一代程序设计语言——机器语言 机器语言是二进制机器代码编成的代码序列,用来控制计算机执行规定的操作。其特点是能直接反映计算机的硬件结构,并且用机器语言编写的程序不须作任何处理即可直接输入计算机执行。由于机器语言与机器是一对一的,不同的机器有不同的指令系统,一种机器编写的程序也无法直接搬到另一种机器上运行。一个问题如果需要在多种机器上求解,那么就必须对同一问题重复编写多个应用程序。 2.第二代程序设计语言——汇编语言 由于机器语言程序的直观性差,且与人们习惯使用的数学表达式及自然语言差距太大,导致机器语言难学、难记,编写出来的程序难以调试、修改、移植和维护,极大限制了计算机的推广作用。在这种情况下,用助记符号来表示机器指令的操作符与操作数(亦称运算符与运算对象),用地址符号或标号代替指令或操作数的地址的汇编语言出现了。机器不能直接识别使用汇编语言编写的程序,还要由汇编语言编译器转换成机器指令才能运行。 由于汇编语言与机器指令之间是一对一的关系,导致即使是编写一个很简单的程序也需要数百条指令。所以在汇编语言的基础上,人们又研制出了只需一条指令便可编译成多条机器指令的宏汇编语言。而后又研制出了用于把多个独立编写的程序块连接组装成一个完整程序的连接程序。但汇编语言大多是针对特定的计算机或计算机系统设计的,所以它对机器的依赖性很强,同时还有很多的机器语言中存在的问题,汇编语言也没有解决。 (三)高级语言阶段 1954年,第一个完全脱离机器硬件的高级语言——FORTRAN语言问世了。高级语言在不同的平台上会被编译成不同的机器语言,使得程序设计语言不再过度的依赖某种特定的机器或者语言环境。1970年,一个标志着结构化程序设计时期开始的语言问世了,它就是Pascal语言。这个标致性的语言拥有严格的结构化形式、丰富且完备的数据类型,运行效率高、查错能力强。同时Pascal语言还是一种自编译语言。这个以法国数学家pascal命名的语言现已成为使用最广泛的基于DOS的语言之一。 80年代初,在程序设计的思想上又发生了一次大的革命。这个时期研制出的语言多为面对对象的程序设计。之后,高级语言的目标则是面对应用的程序设计。它侧重于描述程序“做什么”而不是“如何做”。 程序设计语言的发展是一个不断演变的过程。从最开始的机器语言,到汇编语言,再到各种各样的高级语言,最后到支持面对对象技术的面对对象的语言,甚至未来的面对应用的语言,它的演化过程的根本推动力就是抽象机制的更高要求,以及对程序设计思想的更好的支持。也就是说把机器能够理解的语言提升到能够很好的模拟人类思考问题的形式的过程。 二、程序设计方法的发展 (一)传统的程序设计方法 传统的编程方法主要是基于DOS操作系统下计算机程序的编程方法。用传统的编程方法编制完成特定功能的程序时,必须设计程序的算法,明晰数据的流程。传统编程方法的算法是变化多端的,同一问题可以有最优算法,也可以有一般算法,甚至可能存在劣等算法;它的数据流程是纷繁杂乱的,数据的调用、控制方向等又是交叉变化的,而且这种编程方法一般依赖于操作平台、编译系统等,所以移植性比较差。导致程序的设计也变得困难和繁琐。 (二)可视化编程方法 可视化编程可通过调用控件,并为控制对象设置属性,根据开发者的需要,直接在窗口中进行用户界面的布局设计。该项技术的优点是:编程简单、自动生成程序代码、效率高。因此在当今的编程语言中也被广泛采用。 (三)面向对象的编程方法 为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息而应运而生的面对对象的编程方法达到了软件工程的三个主要目标:重用性、灵活性和扩展性。用这种方法编写出的计算机程序是由单个能够起到子程序作用的单元或对象组合而成的。 面向对象设计是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法。是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是对具有层次关系的对象类的属性和操作进行共享的一种方式。从传统的程序设计方法,发展到可视化编程序设计方法,进而发展到面向对象的程序设计方法的发展轨迹,是计算机程序设计方法发展的三个重要的阶段。在程序设计实践中,这三种方法不仅严格独立,又相互交叉,彼此紧密联系。但是需要指出的是,在当今社会面向对象的程序设计方法是最大众化的程序设计方法,这是毋庸置疑的。 今天,程序设计方法学的研究已经取得了非常多的成果,不仅是结构程序设计的方法日益完善,且广泛推广。模块程序化,递归程序设计方法和逐步求精程序设计方法等均取得了巨大的成果,成为当今社会程序设计中非常有效的方法。而抽象数据的代数规范和程序的形式推导技术仍在发展中,特别是程序变换技术和自动化方面还不成熟,但也取得了可喜的进展。 结论 用科学的逻辑思维方法去认识事物才能更加清楚的了解过去、现在和未来。程序设计的发展同样遵循科学技术发展的一般规律。以自然辩证法的观点来分析程序设计有助于我们更加深入的认识和探讨程序设计发展的历史、现状和未来的发展趋势。有了自认辩证法这把开启科学认知大门的钥匙,我们将回首过去,把握现在,放眼未来。才能正确的选择程序设计的发展方向,更好的学习和利用程序设计来改变我们的生活。 参考文献 1.《程序设计语言概念》(美)Robert W.Sebesta 编著 中国电力出版社 2006.1 2.《程序设计语言编译原理》 陈火旺编著 国防工业出版社 2000.3 3.《汇编语言程序设计》 刘丽莉 编著 北京大学出版社 2010.11 4.《计算机语言及其应用实例》 童隆正,许远编 电子工业出版社2003.8 5.《计算机语言处理》(日本)安居院猛,中正之 编著 国防工业出版社2003.5 6.《程序设计方法》 教育部师范教育司 编著 高等教育出版社2001.1 7. 《程序设计方法学》 胡正国,吴健,邓正宏 编著国防工业出版社2003.1 8.《数据库发展新技术》 磊哲 编著 电子工业出版社2006.1 9.《智能协作信息技术》 姚莉,张维明 编著 电子工业出版社 2002.4 10.《软件发展与社会进步》 蔡希尧 编著 电子工业出版社2006.2第五篇:计算机程序设计发展史