编程题目

2024-05-20

编程题目(精选10篇)

编程题目 篇1

不使用任何库,编写一个函数char*remove(const char* src,char c),参数src为输入的字符串,长度不确定,不为空。参数c为任何可能的字符返回值。Src中删除了所有字符c的字符串。对是否通过动态分配内存的方式返回这个字符串还是使用静态的内存不做限制。

第二题:

如下这段代码是否有错误,如果有,请找出错在哪里写出原因并改正

Voidf()

{

Charstr[6]=”12345”,Constchar*p1=str,Char *constp2=str

P1[0]=’6’

P2{0}=’7’

P1=NULL

P2=NULL

}

第三题:

调用函数Function2之后,x, y, z三个变量的值是什么?

VoidFunction2(int x,int& y, int* z)

{

X=1;

Y=2

*z=3;

Return;

}

Intx,y,z=0

Function2(x, y, &z);

第四题:

正则表达式.**123d能与以下哪些选项匹配? CD

A.******123

B.*****_1234

C.******1234

D._*1234

E._*12

3写出下面的生活场景可以用那种数据结构描述

(1)汽车进出加油站加油。(2)货车装货、卸货。____

第六题:

在32位操作系统中A占__ 字节,B占____字节

structA

{

inta;

int*b

charc;

}

union B

inta;

charb;

char * c;

};

阅读下面的C/C++源代码,请指出哪些代码是错误的或有风险,如果有,请指出错误是什么? const int * foo1()

{

int a = 10;

return &a;

}

const int * foo2()

{

int a = new int(10);

return a;

}

const int * foo3()

{

static int a = 10;

return &a;

}

int main(int artc,char* argv[])

{

const int *p1=foo1();

const int *p2=foo2();

const int *p3=foo3();

return 0;

}

第八题:

调用函数Founction2之后,x,y,z三个变量的值是什么?

void Function2(int x,int &y,int *z)

{

X = 1;

y = 2;

*z=3;

Return;

}

int x,y,z=0;

Function2(x,y,&z);

(必知必会)在32位X86平台,下述代码段输出结果是? unsigned int i=1;

unsigned int j=2;

printf(“0x%08xn”,i,j);

if(i – j >0){

Printf(“%d>%d”,i,j);

}else{

printf(“%d<=%d”,i,j);

}

输出为:,第九题:

请指出以下程序中的错误

Void test1()

{

char string [11];

char *str1=”Sinfor test”;

strcpy(string,str1);

}

第十题:

有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为__A__

A0;B1;C2;D3;

设有以下定义

Int a=0double b=1.25char c=’a’#define d 2 则下面语句中错误的是____

Aa++Bb++Cc++Dd++

第十一题:

请问运行TEST函数会有什么样的结果

Void test(void)

{

Char*str=(char*)malloc(100);

Strcpy(str,”hello”);

Free(str);

If(str!=NULL)

{

Strcpy(str,”world”);

Printf(str);

}

交换编程――结对编程的延伸实践 篇2

“结对编程技术是一个非常简单和直观的概念:两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计、同一个算法、同一段代码或者同一组测试。与两位程序员各自独立工作相比.结对编程往往只需花费大约一半的时间就能编写出质量更高的代码, 但是,人与人之间的合作不是一件简单的事情——尤其当人们都早己习惯了独自工作的时候。实施结对编程技术将给软件项目的开发工作带来好处,只是这些好处必须经过缜密的思考和计划才能真正体现出来。”(引自《结对编程技术》,原名为《Pair Programming Illuminated》,作者为Laurie Williams, Robert Kessler)。下面我们分析一下结对编程的特点:

结对编程在很多项目中得到应用,也作为XP(极限编程)一个非常著名的观点和做法被很多人大为推崇。

结对编程是两个人同时做同一件事情的一种方法。表现上会给人一种浪费一个开发人员的感觉,实质上这的确是可以提升效率的。

同样的这个做法,我在上海进行的一个类ERP项目中用过一次,当时在我做完权限系统的全部功能后,和一个兄弟合作了一个模块,我们两个人只用了三四天时间,就完成了这个新的模块的全部功能。相对于我们此前做的功能模块来说,时间不到那些模块开发时间的十分之一。但由于结对编程会让人感觉到资源被浪费了一半,在20的一个项目中,我提出进行结对编程的时候被领导拒绝了。这件事以后,我就开始考虑如何才能降低这种表面的浪费,而又能让大家交流起来,同时能提高团队的稳定性。

产生背景

年我的项目组要做如下这样的一个项目:

这是电信MSS系统的核心业务系统部分,包括了规划、设计、施工、验收、财务、合同等多个重要环节和多个部门的业务。当时团队开发人员数量较少,人员技能较为均衡,没有水平超出其他人过多的技术人员。这个项目在最初评估的开发周期就是第一个版本在五个月内完成,整个项目至少要做上一年以上,而最后的实际情况是,这个项目随着不断的升级和调整一直开发了三年多。最初的开发团队是十一个人,后来扩展到二十三个人,主要开发人员总数为十六个人,其中有四个人技术水平相对较高,另外的七个人技术水平相对较低但是也都有三年多的实际项目开发经验,其中有三个是我带的三个应届毕业生。

由于开发团队中没有技术水平超出其他人很多的人员存在,因此技术方案的论证过程都是在大家的共同讨论中制定下来的,只是在团队整体控制上,当时我有相对较强的发言权。因此在权衡了整个项目的实际情况后,完成需求工作我就告诉弟兄们——第二阶段设计模型的开发大家交换来做。

刚开始很多弟兄不理解,因为相对而言我的开发经验比其他人多了几年,所以当时我说的一些话兄弟们还可以接受,于是我就直接要求大家按照我的计划执行。在设计模型开发完成后,我再次要求大家进行交换。两次交换完成后,保证了每一个模块都有至少两个人对其十分熟悉,一方面不会因为人员的变动造成团队的不稳定(这一点考虑相对较少,因为当时的团队合作时间比较长,大家彼此十分熟悉和了解),另一方面保证每一个模块的开发人员都能找到人进行讨论,从而增加了团队内的沟通,方便了协调工作的进行。

因此在那个团队的开发过程中,我们经常是大呼小叫,无论走到哪里,都是十分热闹的场景。

方法定义

与结对编程类似,交换编程也是一个非常简单和直观的概念:两位或者多位程序员轮流开发同一个软件系统的同一个模块的不同阶段的任务。交换编程的方式更合适的说法应该是交换开发,这种方式不仅仅可以应用于软件项目,也适合其他研究开发型项目。相对而言,这更是一种更容易被人们接受的方法,在前文大家已经看到了它在实际项目中的事实,这里先分析一下它与结对编程的不同之处:

它仍然采用传统的一人一机的开发方式,结对编程是两人一机。

它在每个迭代间进行多人交换或者两两交换,结对编程没有交换的概念。

它与传统的编程方式之间的差别是在每个迭代间进行多人交换或者两两交换,而传统编程没有交换的概念。

这里说明一下两个概念:

轮轮流交换:三个以上的程序员之间相互交换所开发的工件,不仅限于三个。例如:A1的开发内容交给A2,A2的交给A3,……,An的交给A1。这种方式称为轮流。

两两交换:两个程序员之间相互交换所开发的工件。仅限于两人之间。

建议实施方式

交换编程中的操作与其他过程有较大的差异,根据经验,建议在软件工程实施的各个阶段按照如下的方式进行:

需求工程中,需求调研和需求分析进行轮流交换,轮流交换至少是三个以上的人进行互换,不是两两互换;

概要设计(分析模型)开发中,需求分析到概要设计也进行轮流交换;

详细设计(设计模型)开发中,概要设计到详细设计再进行一次轮流交换;

编码实施启动后,详细设计到编码的交换采用两两交换,注意这个时候不再采用轮流交换了。

在全程建模的开发方法下的交换编程应用方式如下图:

由于目前没有进行实际数据的度量对比,本文也无法从量化的数据上来说明问题,只能通过一些具体的事实来进行说明和验证:当时这个项目的模块从7个扩展到了11个,人员数量从11人扩展到了23人,我们在七个月内满足了南方11家省级电信公司和集团公司的基本业务需求,从4月到月期间,基本完成了这些省公司版本的二次定制开发任务。

在编码以前全部采用轮流交换的目的就是为了让更多的人了解项目进展的全部内容,有利于增加团队内的交流,使更多的人对项目所开发的内容熟悉,并能让他们提出自己的观点,也有利于使更多的人从更多的角度来研究某个系统模块所需要实现的功能和用户需要解决的实际问题,不会因为某个人的定式思维而出现理解偏差,从而造成对需求的理解不到位。

详细设计到编码的交换采用两两交换,这是因为前期需求已经基本上都稳定下来了,这时候不需要对用户需求进行更多方面的理解,只需要进行实施并进行纯粹的编码工作即可。此时做轮流交换就不存在任何意义了,相反只能影响开发进度。

优劣势分析

这里所提到的优势都是和具体的开发方法相关联的,大部分是相对于XP方法中的结对编程,同时也会分析它与传统开发方式间的优劣。

开发时间“浪费”不明显

表现

这个开发时间“浪费”不明显是相对于结对编程与传统开发模式而言的,至少让老板没有感觉到人员分配方式带来了人员的浪费。大家都知道,结对编程需要两个人共用一台计算机、一套键盘、做同一个故事,这样的开发方式往往会给人感觉浪费了一个人,虽然事实上未必如此。但是如果哪个项目经理第一次甚至说前几次这样做,估计大多数老板都会表示反对的,因为他会感觉自己的技术人员只有一个人在做事情。同样,在的敏捷中国开发者大会上,ThoughtWorks的总经理也提到了这个问题,他的解释是这样的:当两个人合作三个月以后,效率会超过两个人单独编程的效率!但请注意:这里有一个时间前提——三个月以后。

三个月这个时间未必是真实确凿的时间分界线,它只是一个模糊的大概的时间范畴,如果两个人配合的好,也许只需要两个多月,如果配合不好,也许需要四五个月的时间,或者更长的时间……。我相信这样的说法连Martin也不会反对的。从这个时间界限上,大家可以看看国内公司的项目状况,然后再继续我们的讨论。

分析

项目情况:国内很少有时间限度较长的项目,大多数项目都是在三个月到半年时间内结束,有些甚至只有一个月。这样的时间特性,将使得这个三个月的期限变成了一句空谈,也就是说,当两个人磨合好的时候,项目已经结束了。这时候,有人会说,下一个项目还可以继续合作呀,好,那我们来看看国内项目团队的人员变动情况,然后再继续。

人员情况:国内大多数的公司都处于一种为了谋生而存在的状态下,有很多技术人员都有三五个月就跳槽的经历。不仅仅是技术人员,往往公司也是这种状态,很多公司就是为了某一个项目而建立的,老板在招聘技术人员的时候,都是往最低限压低技术人员的工资,当一个技术人员对项目了解到一定程度的时候,这个时间往往是在三个月到半年时间之间,

半年,或者一年,是一个人最容易发生跳槽行为的时候,因为这个人了解了公司的实质情况,如果老板当时骗了人,那么这个人必然要离开公司;如果老板当时过分地压低了他的收入,那么这时候这个技术人员就希望能够获得加薪等等,除此之外,还有很多很多其他的因素,都会给人带来未知的行为。也可以说,国内很少有团队成员能够合作达到一年以上的时间。这样的话,第一个项目磨合好了,第二个项目就是在考虑跳槽,第二个项目未结束人就走了,这是我们平时很常见的现象。

这个时候做结对编程,效果就不会那么明显,因为在人员相对成熟的时候,人的心理发生了较大的变化,工作的积极性和配合程度也远远不及刚刚进入公司的时候。那么结对编程在这样的环境下还能进行下去吗?估计不用分析就可以知道了。这时有人会说,如果配合不好,那就换人结对,不一定非要这两个人结对。那这就要从项目组人数说起了。

项目组人数:在我所开发过的项目中,大概有不到一半的项目有十个人以上的开发团队。最大的团队开发人员是不到三十人,这二十多人还要分成几个组,每个组也就五六个人而已。在这种情况下,结对的问题就出现了,在组内的你只能和这么三五个人结对,是不是都很容易配合起来呢?这个事情很难说。配合不好怎么办?换人?换项目?还是换公司?当然,如果配合了三个月还配合不好,站在公司的立场上,是肯定要考虑开除掉某人了,至少也要将他降薪或者调离这个项目组,因为公司承担不起这么大的风险。项目经理更是在担着风险,因为结对编程的事情老板本来就不太乐意看到,本来老板就有意见,而项目组如果发生了这样配合力度很差的情况,项目经理的处境可能就非常危险了。

综合上面这三个方面的情况,我们可以得到如下的结论:

结对编程在中国这些短小项目过多的情况下是不太适合的!结对编程其实更适合一些相对人员较为稳定的开发环境,否则,三个月的低效率配合时间会让老板将项目经理的脑袋当球踢的。但是,结对编程还是有其好处的,比如,提高项目组的稳定性,当一个人离开后,另外一个人可以很快地将新人带到位,项目组不会因为人员变动而发生较大的风险问题。同时,结对编程提高了程序员之间的交流,团结了项目组内成员,同时容易形成人月神话中提到的胶冻团队的效果。另外,在三个月后还是有效率提高的情况发生,的确能够带来很好的效益的。

这时候,交换编程就带来了很好的效果,一是没有老板担心的两个人做一件事情的风险,同时增加了项目组内成员的沟通交流,也提高了团队的稳定性。但如何提高团队的稳定性?

项目组稳定性提高

表现

在我前面的例子中可以看到,一个模块至少有三个人对他它很熟悉,因此在后面的开发过程中,无论哪个人发生变动,都不会影响这个团队的稳定性,所有的任务都能够很好的延续下来。每一个系统的模块都会至少按照阶段数量(不同的项目会有不同的开发周期,同时也就有不同数量的人会对这个模块十分熟悉)分给不同的人来进行开发。如果和结对编程配合起来使用,则将会使得对同一个模块了解的人数达到一般交换编程的两倍人数。

分析

有了这样的对每一个模块都很熟悉的人员数量的存在,团队的稳定性就会表现出来,任何一个人的变动或者少数人员的变动都不会对团队和开发进度产生较大的影响。因为随时都可以有其他人来接替这个发生变动的人的全部工作,也很容易培养新人进入到团队内来进行工作。

更适合没有绝对高手的团队

表现

当团队内没有绝对高手存在时,也就是说,系统的架构设计将是更多的人一同讨论出来的,并在开发过程中不断的修改和调整。

分析

没有绝对高手存在,系统架构设计就不能够在系统进行分析设计前完成,而同时架构的不稳定,就无法更好地安排任务计划和制定故事,这些都会影响到整个系统的开发进度和过程,同时,敏捷编程所倡导的很多做法就无法在这个大前提下来进行实施。

国外能够很好地采用敏捷的做法来实施项目的一个原因是,他们有很多有一二十年工作经验的开发人员。这些人员的经验积累是非常重要的,他们可以更好地在项目开始的前期对项目进行整体的控制和把握,同时做好项目计划和制定好任务故事,而这一点在国内尤其是软件公司中还不具备这个条件,因此,很多项目我们都处于的状态类似于我前面所举的电信项目的团队情况,甚至情况比那个团队还要差得多。

团队内交流增加

表现

前面已经提到,“因此在那个团队的开发过程中,我们经常是大呼小叫,无论走到哪里,都是十分热闹的场景。”这种频繁的交流,无形中使得团队的凝聚力提高,相互之间的关系和合作也都更为密切。

分析

如果是一个人从头到尾开发一个模块,他就几乎不需要和团队内非管理人员进行交流,甚至在某些情况下他只需要和客户做好沟通就足够了。而这时候,即使进行了同行评审,这个技术人员也可能会认为两三天的时间内这些人不可能了解这个系统模块的内容。这种评审也就容易流于形式而无法得到真正的重视。其他人也会认为评审是浪费自己的开发时间,于是到了一定程度评审就会成为可有可无的状态。如果有较多的人参与了这个模块的前后期分析和开发,每一个阶段都可以找到别人来进行讨论,在评审时对这些人提出的意见也就更容易接受——因为他至少会认为这几个人比他更早介入这个模块的分析,在某些程度上会比自己了解的更为深入。

唯一可能的劣势

表现

由于存在多人之间的交换,在某一个具体工件的开发的时间上会比一个程序员一直做下来略有延长。

分析

由于在任何一次交换之间都需要前一阶段开发者队后一阶段开发者进行关于业务和技术方面的沟通和交流,因此会延长项目在初期的开发时间。尤其当团队成员相互之间的熟悉程度不够或者配合不协调的时候,这个问题会表现得较为突出,甚至可能影响一些项目的进度以及开发工作的进展。

但是,这个影响会在相应的程度上促进团队内人员之间更快地相互熟悉,这个周期要比结对编程短很多,一般来说,不会超过一个月的时间就可以让团队成员之间相互熟悉(由于不是坐在一起开发,这个熟悉的程度比结对编程的要求低很多,因此时间也相应会缩短很多)。

深入讨论

交换编程的应用方式是有其适用环境的,另外在我的实践和研究中还建议如果团队合适,可以考虑与结对编程配合使用。

适用环境:这种开发方法的适应性较强,这里分为团队状况和项目情况两个部分进行一些说明。

团队状况:交换编程适用于人数超过两个人的开发团队,因为交换一次至少也需要两个开发人员。大的团队也可以应用交换编程的方式,来进行项目开发。要求团队内的成员有一两个具有两三年以上开发经验的,这是对于一般的项目(哪怕没有什么技术难度)的最基本要求。

项目情况:项目规模不限,开发周期的适应性也较强,对于任何类型的项目都可以适用。

与结对编程配合使用:如果领导比较认可结对编程的开发方式,这个时候,您引入交换编程也会带来同样的好处,比如团队稳定性,至少从对系统业务模块熟悉的人数上来看增加了一倍,以及团队凝聚力,因为频繁的交流,从而更多地降低因为少数人的思想和考虑偏差造成对用户需求理解不足等问题。

有了上述的情况表现,也使得团队的规范化操作能力更强,也可以使得很多问题能够在有效的沟通中的到解决。

由此可见,交换编程的存在是有其道理的,没有用过的朋友不妨尝试一下,至少对您的团队没有什么伤害和大的变动。

作者介绍:白慧冬,网名青润,独立软件咨询师,《软件工程之全程建模实现》一书作者,CSDN软件工程/管理版块大版主,一个在不断摸索实践的国内软件工程方法和技术的亲历者。底开发完成了一套软件度量概算产品,并对一些行业应用软件进行了较为成功的度量分析。20完成了全程建模方法中需求与代码影射关系的分析与实践探索。个人Blog为:blog.csdn.net/qingrun 。

编程题目 篇3

浅谈如何学好计算机编程程序语言-Visual Basic程序编程的学习

作为职业学校的大专生,要成为一名合格的.毕业生,就必须学好至少一门编程语言,而在此学习过程中,很多学生都感到十分头疼.我们职业学校通常会选择Visual Basic这几门视化稿程语言来作为学生的程序设计课,本文我们就以Visual Basic这门课程的学习来谈论一下如何学好编程程序语言.

作 者:何小进 作者单位:盐城市高级职业学校,江苏盐城,224003刊 名:科技资讯英文刊名:SCIENCE & TECHNOLOGY INFORMATION年,卷(期):“”(35)分类号:G433关键词:Visual Basic 方法 目标

学习编程的步骤 篇4

真正意义上的程序员是寂寞的,功名利禄容易取,最是难得解语花,程序员的生命里是没有爱情的,如果你不热爱编程,如果你耐不住寂寞,请你马上抽身而退,请你从从程序员的世界里走开!在中国,大多数程序员都是自学成材的,这其中的艰辛自不必多言,如果能够有一个正确的学习步骤,循序渐进,便能省却不少力气了,在此我顺便说说我的学习步骤,希望能够抛砖引玉,和大家共同探讨:(以下仅代表我一家之言!):1:如果你能够熟练的使用Windows的话,你就可以开始你的程序生涯了!

2:首先从C语言开始。有的朋友可能认为C语言太难了,应该从VB开始。虽然,对于一个初学者来说,用一些控件堆砌成一个小软件,是有一些成就感,但是,基础才是最重要的!C语言对于数据类型的描叙,远比VB里面说的更为全面,清楚,明白,而这些却是编程中的根本!

3:学C语言,从数据类型,基本表达式,再到条件语句,循环语句,然后学习函数,再加上一些简单的数组知识,就可以了!一句话,到现在为止,你只要理解结构化程序设计的思想也就够了!

4:有了以上的基础,就要开始学汇编了。汇编开始的时候是很难,那些各种各样的寄存器,分段的内存地址,是很难理解,可是这些知识理解了以后,后面的内容就简单了,学习8086的那些指令,再加上一些伪操作,还有DOS和BIOS中断的调用,就可以看懂书上的汇编程序了。(着重是理解算法,对于后面的那些汇编的应用有兴趣的可以看一下!)到此,你应该会对计算机的理解更深一层!

5:有了汇编的基础,再来学习C语言中的精华部分----指针,可谓如鱼得水了。现在你要对C语言全全面面的学一遍了,谭版的教材要从头到尾认认真真的看两遍以上。6:学完以上的内容,有必要研究一下数据结构了,线性表,堆栈,队列,树,图,二叉树,等等,都要滚瓜烂熟!(最好是清华严蔚敏老师的那本教材)

7:请时刻记住:浮躁是学习编程的大忌!

8:现在,你应该学习一些数据库的知识,还有一些常用的算法了!

9:如果以上的知识你都学精通的话,就可以开始C++的课程了,找本C++上手的书,用一个星期的时间大概了解一下C++,然后找一本VC上手的书,再花一个星期的时间学习VC的界面和用法,就可以做一些简单的应用了!

10:要想学好VC,没有扎实的C++知识是不行的,以下书籍是VC程序员必须翻的烂熟的:C++Primer,Effective C++,Thinking in C++,More Effective C++ 深入浅出MFC。

11:深刻理解C++面向对象的思想!

12:编程的时候,出错是难免的,所以,MSDN一定要熟练使用;好的代码风格会使调试的时候,更加简单的查错,所以,一定要养成良好的编程风格!

13:如果你严格的走好了以上的每一步,你才踏上了编程的门槛,可以混口饭吃了!至于在以后,编译原理,操作系统,还有软件工程等等基础知识,是必不可少的!14:如果现在再来学习JAVA,C#等别的语言的话,应该是触类旁通,拿来就用了,到此,你才可以称得上是一个高手!

数控编程论文 篇5

分院:机电分院 班级:机制4班 姓名:宣

科 学号:20***3 日期:2016.12.21

数控编程是数控加工准备阶段的主要内容之一,通常包括分析零件图样,确定加工工艺过程;计算走刀轨迹,得出刀位数据;编写数控加工程序;制作控制介质;校对程序及首件试切。有手工编程和自动编程两种方法。总之,它是从零件图纸到获得数控加工程序的全过程。

本学期我分院布置了数控编程的实习任务为期2个周期共计2个课时,虽然时间短但是这次实习收益颇多。

每期的课堂讲座先是在机房进行理论学习然后下基地进行实践操作。

手工编程是指编程的各个阶段均由人工完成。利用一般的计算工具,通过各种三角函数计算方式,人工进行刀具轨迹的运算,并进行指令编制。这种方式比较简单,很容易掌握,适应性较大。使用于非模具加工的零件。

编程步骤

人工完成零件加工的数控工艺 分析零件图纸 制定工艺决策 确定加工路线 选择工艺参数 计算刀位轨迹坐标数据 编写数控加工程序单 验证程序 手工编程 刀轨仿真

优点

主要用于点位加工(如钻、铰孔)或几何形状简单(如平面、方形槽)零件的加工,计算量小,程序段数有限,编程直观易于实现的情况等。

缺点

对于具有空间自由曲面、复杂型腔的零件,刀具轨迹数据计算相当繁琐,工作量大,极易出错,且很难校对,有些甚至根本无法完成。

第 2 页 自动编程

定义

对于几何形状复杂的零件需借助计算机使用规定的数控语言编写零件源程序,经过处理后生成加工程序,称为自动编程。

随着数控技术的发展,先进的数控系统不仅向用户编程提供了一般的准备功能和辅助功能,而且为编程提供了扩展数控功能的手段。FANUC6M数控系统的参数编程,应用灵活,形式自由,具备计算机高级语言的表达式、逻辑运算及类似的程序流程,使加工程序简练易懂,实现普通编程难以实现的功能。

数控编程同计算机编程一样也有自己的“语言”,但有一点不同的是,现在电脑发展到了以微软的Windows为绝对优势占领全球市场.数控机床就不同了,它还没发展到那种相互通用的程度,也就是说,它们在硬件上的差距造就了它们的数控系统一时还不能达到相互兼容.所以,当我要对一个毛坯进行加工时,首先要以我们已经拥有的数控机床采用的是什么型号的系统.①通过这次实习我们了解了现代数控机床的生产方式和工艺过程。熟悉了一些材料的成形方法和主要机械加工方法及其所用主要设备的工作原理和典型结构、工夹量具的使用以及安全操作技术。了解了数控机床方面的知识和新工艺、新技术、新设备在机床生产上的应用。

②在数控机床的生产装配以及调试上,具有初步的独立操作技能。

③在了解、熟悉和掌握一定的数控机床的基础知识和操作技能过程中,培养、提高和加强了我的动手能力、创新意识和创新能力。

④这次实习,让我们明白做事要认真小心细致,不得有半点马虎。同时也培养了我们坚强不屈的本质,不到最后一秒决不放弃的毅力!⑤培养和锻炼了劳动观点、质量和经济观念,强化遵守劳动纪律、遵守安全技术规则和爱护国家财产的自觉性,提高了我们的整体综合素质数控编程实习心得体会

数控编程实习 篇6

其所用主要设备的工作原理,以生产实践获的感性知识.二.实习内容

1;安全生产操作规程:听老师讲解有关工业安全方面的知识.遵守操作规程才是安全的保障.a,进入工作场地须戴好劳动防护用品,女生须戴好工作帽.b,上班前须先对机床和润滑系统注油.检查机床分机构的完好性.手柄位置的正确性;启动后应使主轴低

速空转1-2分钟,等机床正常后才能工作.c,工作中需要变速的必须先停车.变换走刀箱,手柄位置要低速时进行.使用电器开的机床不准用正,反车

作紧急停车,以免打坏齿轮.d,不允许在卡盘上及床身导轨上敲击校直工作,床面上不准放置工具或工作.e,更换卡盘或装夹较重工作时,应用木版保护床面如工件不卸,应用千斤顶支承.2;机床类型和主要技术参数:CNC6132

床身上最大回转直径--340mm

最大加工长度--750mm

主轴通孔直径--52mm

主轴转速--100-2100r.p,m

纵向进给最大速度--3m/min

横向进给最大速度--3m/min

X 轴定位精度--±0.01

Z 轴定位精度--±0.02

X 轴重复定位精度--0.005mm

Z 轴重复定位精度--0.01mm

主电机功率--4kw

指令方式---绝对值 / 增量值

最大编程尺寸--±9999.999

零件程序贮存量 / 程序量--6KB

刀架刀数值---4

3;机床结构的组成部分:车床主要由变速箱、主轴箱、挂轮箱、进给箱、溜板箱、卡盘,刀架、尾座、床

身、丝杆、光杆和操纵杆/操作面板(显示器`软键盘)组成.调速方式:变速齿轮调速方式,带传动方式,两个电动机分别驱动调速方式.4;刀具的选折:数控刀具的选择决定了切削用量的确定,是数控加工工艺中的重要过程.它不仅影响数控机床的加工效率,而且直接影响加工质量,同时也对操作者安全问题有影响.应根据机床的加工能力、工件材料的性能、加工工序、切削用量以及其它相关因素正确选用刀具.因此刀具的选折很重要.5;我们所用的刀具材料和刀具有:高速钢刀具;硬质合金刀具等.外圆刀.螺纹刀和切断刀.6;要根据被加工工件的形状来选刀具:要考虑零件是否能够加工出来,以避免少切后者过切的现象.结合工件材料来选折刀具,考虑工件材料个刀具材料的硬度,选好刀具才能进行加工,避免在切削过程中出现打刀问题.根据机床主轴转数和切削用量来选折刀具

7;编程和输入程序: 按照老师给我的工件图纸和尺寸进行编写,我们常用到的主要编程指令有/G90,G71,G72,G73.和程序主要字符:O程序名,T刀具符号,M字符:M03主轴顺时针旋转;F字功能用于控制

CNC编程介绍 篇7

Computerized Numerical Control指的是数控加工中心,也就是普通的加工机器现在变成用电脑控制的那一种。

数控冲床(CNC Turret punch)的特点

通常市场上说的CNC培训主要指铣床,捎带讲加工中心,相对而言,工作机会比较多,工资也比其它机种高一些,但接受培训的人也多,只要看看华人培训学校的广告就知道,没有一家没有这方面培训的,竞争也十分激烈。相对而言,数控冲床则有很多大家不了解的地方: [ 相约加拿大:枫下论坛 rolia.net/forum ]

(1)数控冲床的培训至今在多伦多还没有,我咨询过4家公立学院,华人培训学校和一些洋人的培训学校,都没有。因此竞争相对平和一些;

(2)冲床给大家的概念是很危险的工种,因为在国内,冲床经常会发生冲掉手指等事故,但那是手工冲床。没有红外线保护,我最早看到进口CNC冲床是在国内的展览会上,展示机器正在加工一个熊猫图案的样品,实际上数控冲床是十分安全的,这种冲床完全不同于你想象中国内那种冲床,从安全性来讲,操作员远离机器,仅仅是按一个START按钮就可以了,连STOP键都不必按;同时,机器运转时操作员远离机器,而操作员操作时机器则停着,即机动人停,人动机停,不可能冲动手;全部的机器动作由程序控制,一旦机器运转不正常,只会停下来,给出一个报警信息,不会有其它事故发生;

(3)冲床是二维平面运动,很容易入门,实际上对新移民来讲是更快捷的就业之路,尤其是对那些非机械专业的技术移民非常适合,不需要三维的想象能力要求,当然如果你已经学过CNC铣床再转过来学冲床就是非常容易的事了,另外也不要求你会编程,你只要会操作就可以了,顶多学会setup,而这都不是难事。

(4)是脱离纯打工处境的捷径,为什么这么讲,大家知道,学铣床你必须学会编程你才算真正独立工作,而冲床就不一样,会SETUP就已经可以了,编程则作为专门的职位,有专人在编程,你要做的就是把程序那里把零件加工出来,反过来讲,一旦你成为programmer就不要在车间干活了,你就到office,到技术部门去编程了,不再属于labor,而这个过程,如果你努力的话,有1年时间就可以达到,因为你要做的就是学会Pro-engineer这个软件的钣金件设计功能,而同样的时间内,你能成为铣床的程序员吗?你的铣床编程水平最高,你也得在车间干,我不是诋毁铣床,而正说明铣床比较复杂,冲床更适合新移民学。

编程小结3 篇8

从例1-1中可以看出C语言的一些书写格式和编程风格,下面将做具体解释。

1.文件包含命令

2.主函数

3.变量的定义

4.格式输入函数

5.格式输出函数

6.注释

C语言程序编写规则

从例1-1中可以看出C语言的一些书写格式和编程风格,下面将做具体解释。

1.文件包含命令

2.主函数

3.变量的定义

4.格式输入函数

5.格式输出函数

6.注释

开发C语言程序

我们前面了解到,高级语言远离计算机的硬件,它是使用易懂的类似于英文的语言编写的,不同于机器语言,因此,计算机是无法识别的。高级语言编写的程序指令在计算机运行时需要对其进行翻译,也就是转换成计算机能够读懂的二进制语言。

C语言程序的开发原理

使用高级语言编写出来的程序称为源程序,高级语言翻译成计算机能够读懂的二进制形式后的程序称为目标程序,这个翻译过程称为编译。完成这个翻译任务的系统称为编译系统。C语言的编译过程如图1-1所示。

C语言程序的开发过程

通过C语言的编译过程可以知道,用C语言编写的程序到计算机可以执行的操作是一个复杂的过程,但这些是用C语言编译器完成的,不需要用户的直接参与。C语言开发过程也是一个复杂的过程,是从建立源程序文件直到执行该程序并输出正确结果的全过程。在不同的操作系统和编译环境下运行一个C语言程序,其具体操作和命令形式可能有所不同,但基本过程是相同的。一般来说,这个过程要经历创建源程序、编译源程序、连接目标代码、运行可执行文件等过程。具体的开发过程如图1-2所示。

上机操作C语言程序

编程实现能力 篇9

试论如何提高学生编程能力

韩国勇男工程硕士信息工程系助理讲师

[文章摘要] 计算机应用能力和编程能力是计算机专业教学的两个重要的检验手段,我结合自己四年的软件开发经验和一年的教学经历,从学习、读程序、思考、练习、实践和好习惯六个方面来论述提高学生的编程能力。[关 键 词] 学习编程实践能力

高等职业技术教育是一种能力教育,是一种以学生就业为导向的教育。除了注重学生能力的全面培养外,更要注重学生专业应用能力和专业扩展能力的培养,这样学生才能适应社会发展的需要。我结合自己四年的软件开发经验和一年的教学经历,通过对我们学校学生的了解,感觉学生编程能力比较薄弱,本文从学、读、思、练、实践和好习惯六个方面探讨如何提高高职院校学生的编程能力。

一、学

所谓学就是学习,认真学习专业课程和编程基础课程,不断地学习新的和先进的开发工具;只有扎实的理论基础,理论指导,编程才能游刃有余,才能写出高水平的代码,才能编写出高质量的程序。

最基础的课程是C语言,然后根据应用范围不同而选择不同的开发工具,如果搞底层开发一般使用C和汇编;如果是大型或者游戏软件开发那就是C或C++,一般都用到VC++或者BC++开发工具;网页编程可以选择ASP/PHP/JSP;电子商务方面选择.NET和J2EE;网络应用一般选择JAVA。不过像数据结构,数据库等课程无论哪个方面的开发都需要学的;另外英语和数学也非常重要。

一般的基础课程有C语言,VB程序设计,数据库原理,数据结构,算法设计等,主要是指学习一门语言,一门数据库,一门算法设计;扎实地学好这些基础课程,基础越牢固编的程序效率越高,这一点在以后的编程中会慢慢的体会到;如果基础课程不牢固,作者简介:韩国勇男工程硕士信息工程系助讲

可能也能编软件,写程序,但是很难写出高水平的程序。

例如一般的程序会遇到费用问题,有费用就要考虑费用的大写问题,那么怎样实现费用的大小写转换呢?首先考虑算法设计,然后考虑使用什么语言实现。考虑算法时就要考虑从左向右转换还是从右向左转换,确定后就可以通过循环控制结构来实现转换;中间用判断结构来判断如果为零或中间有零的情况等等。这样一个问题就通过简单的算法和基本控制结构实现了,所以编程必须有扎实的理论基础。

另外,很多的课程告诉我们一些程序的效率问题,例如数据库设计中提到了SQL语句,我们最先想起的就是Select语句,在数据量比较大的情况下,Select语句的查询速度和数据库中表的索引有很大的关系,但是很多情况下Select语句是不使用索引的,如果在Select语句中的where条件中出现下列情况的不使用索引:列上有数学运算的,列上使用substr字符串函数的,‘%’通配符在第一个字符的,在列上使用字符串连接(||)的,Where条件中使用is null或is not null的等。在对大量的数据进行查询时,如果不考虑上面的情况可能写得SQL语句的效率就比较低。

二、读

所谓的读就是读教材、读程序、读网上资料,然后把看到的经典的程序代码,好的算法,整理出来,逐个消化并吸收,转变为自己的知识,提高编程能力。

多读别人的代码,读完后思考你是否能写出比它更精练更有效率的程序,读别人的程序,不要单纯的模仿,思想才是最重要的,主要是理解别人的思想,和自己的思想进行比较,能学到很多东西;多与别人交流,三人行必有我师焉,也许在一次和别人不经意的谈话中,就可以迸出灵感的火花。多上网搜资料,看别人的开发经验心得,算法的实现,变为己有。

三、思

所谓思就是思考,事前思考有没有解决方案,事中思考有没有更好的解决方案,事后考虑有没有需要完善和补充的功能,总之是使程序功能更强大和完善,性能更好!

首先:事前思考有没有可行性,给你一个问题或一个项目,最先要做的就是思考可行性问题,包括技术可行性、经济可行性、法律可行性。如果给你一个悖论,让你用程序来实现,本身是一个悖论,编写程序肯定陷入死循环,怎么可能解决呢?

其次:事中考虑有没有更好的解决方案?微软给了我们很好的思路,比如:登陆界面,保存,输入格式的限制和输入范围的限制等。登陆界面一般有用户名和登录密码,并且默认上次成功登陆系统的用户名,输入的密码显示为一串“*”,在这些操作中可以只使用键盘,我们编写的程序应该怎样实现呢?可以使用setfocus()方法来实现;那么定期保存怎样实现,数据备份怎样实现?其实我们可以在程序中增加登陆时系统时间,在一定的时间间隔内实现备份,最简单的就是调用Winrar进行文件压缩备份;一些输入的限制,要根据输入的内容的逻辑进行判断到底应该输入的内容或范围是什么?例如日期有的月份能输入31日,有的月份就不能输入31日,需要进行逻辑判断,当然了现在已经有很多工具有时间的控件,自动进行逻辑判断。

最后:事后考虑有没有需要完善的,代码有没有

需要优化的?下面举几个代码优化的例子:(1)判断年year是否为闰年,首先我们知道闰年的定义是能被4整除,不能被100整除;或者能被4整除,且能被400整除,然后书写算法(year % 4 == 0 && year % 100!= 0)||(year % 4 == 0 && year % 400 == 0),其实 year % 4 == 0 就不需要了,因为year如果能整除400,肯定能整除4,所以year % 400 == 0一个条件就可以了。(2)求一元二次方程ax + bx + c = 0的根,步骤是先判断a是否为0,在判断b24ac是否为0时,需要这样判断fabs(b2-4ac)<= 1e – 6,因为在计算机中,储存实数一般都有误差。

四、练

所谓练就是动手做练习,教材上的例题、课后习题都是很好的练习素材,这些是编者经过深思熟虑的例子和习题,很有代表性。

边练习,边理解,边思考,多问为什么?然后根据自己的思考和理解对例子作一定的改动,看执行结果,是否和自己期望的一样?出现问题设法调试和改正使其编译通过。例如有很多循环例子,是否可以实现for循环和while循环相互转化,当通过自己的实际转换后才体会到原来每个循环有各自的特点。

练习要分阶段分步骤,开始编一些趣味性大一点的小程序,例如:数据结构书中有很多算法的,试着把它们敲成程序,运行一下,既可以实践检验算法,也可以锻炼自己的实际编程能力,队列,排序,很多都是很经典的。当积累到一定程度就可以按照自己的想法去编一些实用性强一点的程序,开始时没灵感也不要紧,毕竟资源丰富,可以从借鉴别人的劳动成果开始。最后,系统地学学软件工程,完全按照软件生命周期的6个阶段来做。

练习是一个逐渐的过程,开始熟悉语法,编程规范,各种控件的用法,然后再学习各种控件的综合运

用,甚至编写一个小的系统。但是不要为了练习而练习,要加上自己丰富的想象力,不要拘泥于固定的思维方式,多思考、多练习,通过不断的练习,加深对各种工具或控件的运用,提高编程能力。

五、实践

如果有机会,可以做实际的项目工程,在实践中不断地锻炼自己的其他能力:逻辑能力、思维能力、业务能力、沟通交流能力。

逻辑能力和思维能力是编程能力的基础,只有良好的逻辑能力和思维能力才能开发出高性能的程序,才能保证程序的正确性。

业务能力和沟通交流能力是必须的,如果你不知道业务的话,不可能开发出适合用户的程序,因为不懂业务,所以就不知道用户所需,不能更好的为用户服务。

实践的项目不在大小,在于我们的实践经历,通过实践我们知道在实施项目中除了编程能力外还需要其他的能力,通过实践知道项目的实施过程和环节,在实施的过程中遇到各种各样的问题,会使我们明白在编程中怎样解决这些问题,例如:在培训用户使用我们的系统时,发现用户对我们的业务流程不适应,业务流程过于繁琐,他们有自己的业务流程,而且也比较简单,那么我们在编程时就可以借鉴用户的流程,使我们系统的操作流程更简捷;在测试阶段发现用户经常使用业务回退功能,那么我们就把主要的业务流程都增加上业务回退功能,使系统功能更完善;在现场维护阶段发现维护人员看代码看不明白,那么在编程阶段就要注意良好的编程风格和增加适量的注释,这样位护时才能很快的看明白程序,尽快地调试和改正程序中的问题,以便提高工作效率。

所以,编程能力的高低,不是语言懂的越多能力越高,需要我们在实践中不断的锻炼,提高自己的沟

通交流能力和逻辑思维能力,提高编程综合能力。

六、好习惯

所谓好习惯就是在编程过程中要养成良好的习惯,提高编程效率和编程能力:

1、先想后做:在编程前或解决问题前,先考虑该问题是否有可行性,有可行性再考虑计划和实施。

2、游戏规则:编程要遵循软件的生命周期,按照制定计划、需求分析、软件设计、程序编码、软件测试和运行维护这6个阶段来实现软件,不可越级。

3、有备无患:编程之前,先找一些样例程序仔细研究,应该包含哪些基本功能?里面一些难度大的算法应该怎样实现?不打无准备之仗。

4、见名知意:程序再小,用的变量也不会少,变量起名应当“见名知意”,这是老规矩,能提高程序的易理解性和易修改性。

5、编程规范:和见名知意雷同,主要是使得程序层次清晰,易于理解。

6、多加注解:对程序中自定义的变量、函数、子程序加以功能性的注释说明,别嫌麻烦,如果三五个月之后,连自己写的东西都看不明白了,那才麻烦大了。

7、环境保护:如果应用程序需要修改系统设置,记着执行程序前先保存设置,结束后要恢复设置,千万别污染环境。

8、拿来主义:一个人的力量是有限的,大家的力量是无限的,平时多看看书,有好的经验、巧的方法、用得上的段子不妨拿来。

编程转职申请报告 篇10

徐厂长:您好

本人于2004年七月正式加入本公司,根据公司的需要,目前在MVR38/42A机床上做操作工,本人工作认真、细心且具有较强的责任心和进取心,勤勉不懈,极富工作热情;性格开朗,乐于与他人沟通,具有良好和熟练的沟通技巧,有很强的团队协作能力;责任感强,能完成领导交付的工作,和公司员工关系相处融洽而和睦,配合部门领导完成各项工作;积极学习新知识、技能,注重自身发展和进步。先后被公司评为先进工作者,以及派送赴日研修,这对于我来说,既是动力也是压力。在本部门的工作中,我勤奋工作,获得了本部门领导和同事的认同。

在本部门的工作中,当然,在工作中我也出现了一些小的差错和问题,部门领导及时给我指出,促进了我工作的成熟性, 随着对机加工工作的日益了解, 越发觉的自己并不是很适合于在这个部门的工作, 特提出转职申请。

回国快一年多了,我一直以一个研修生的姿态严格要求自己,一定要做的比别人好,虽然很努力了,但并没有什么很突出的创新,我感觉很失败,我想这有很大一部分原因是由于我的兴趣爱好所致,因为我对编程很感兴趣。

企业的存在与发展离不开员工的努力工作,同样,一个员工的发展,也离不开企业的培养,公司给了我这样一个发挥的舞台,我就要珍惜这次机会,为公司的发展尽全力。由于我本人对编程很感兴趣,先后自学AutoCAD2004,Mastercam9编程软件,现在已经有点成绩,并熟悉于西门子840D程序和法兰克程序手工编程,而且熟悉于日本先进的编程格式,在编程过程中积累了丰富的经验,结合本人的性格特点及素质,我觉得我更适合担任机加工编程这一职位。

我对编程很感兴趣!

其次,今年我报考了西南科技大学夜校,机械类专科,打算花两年半时间攻读这门课程,无法全身心投入我现在的三班倒工作。

如果公司给了我这样一个发挥的舞台,我就要珍惜这次机会,为公司的发展竭尽全力。在此我提出转入数控编程职位申请,希望能成为数控编程中的一员,恳请领导予以批准。

如果领导可以批准我的请求,本人工作转接如下:

现在机床上的三个副手都已经在本机床上工作三年了,已经达到可以独立操作的水平,当然其中两个是我的徒弟,这点我是可以肯定的。所以我的转职不会对公司正常生产造成影响。

致 礼

上一篇:停电真可怕作文下一篇:三年级下册轴对称图形(一)公开课演讲稿