程序工具论文范文

2024-06-21

程序工具论文范文(精选9篇)

程序工具论文 第1篇

关键词:语文教学大纲,工具性,人文性,课堂程序

一、语文教学大纲对语文课程性质的解读

对语文教育根本性质的争论,一直就存在。有的主张“工具性”为主,“人文性”为辅,有的主张“人文性”为主,“工具性”为辅,还有的主张二者并重,平分天下。为此争论不休。其实问题的答案不难寻求,我们只需心平气和地看一看大纲对语文教育根本任务的规定,就可以得到答案。教育部在2000年3月颁布的《九年义务教育全日制初级中学语文教学大纲(试用修订版)》的“教学目的”中提出:指导学生正确地理解和运用祖国语文,提高阅读,写作和口语交际能力,发展学生的语感和思维, 养成学习语文的良好习惯。同时颁布的《全日制普通高级中学语文教师大纲(实验修订版)》在“教学目的”中也提出:进一步提高学生正确地理解和运用祖国语言文字的水平,使他们具有适应实际需要的现代文阅读能力, 写作能力和口语交际能力,具有初步的文学鉴赏能力和阅读浅易文言文的能力;掌握学习语文的基本方法,养成自学语文的习惯,培养发现、探究、解决问题 的能力, 为继续学习和终身发展打好基础。两部大纲,都把“正确运用和理解 祖国语言 文字”作为第 一重要的 根本任务,展开来讲就是阅读、写作和口语交际能力。这 些语文教育的根本任务项目,严格意义上讲,不仅有人文的成分,更具备工具的特性。既然如此,我们可以 把用于辩论、诘难、争执的时间省下来,考虑一下语文课该如何上。

二、借鉴语文名家的课堂程序设计我们自己的课堂程序

过去的语文课,教师在课堂上一讲到底,被称为“满堂讲”,这已经被否定了;后来提倡启发式,教师在课堂上一问到底,成了“满堂问”,也遭到非议;再后来提倡训练式,教师在课堂上让学生一练到底,变成了“满堂练”, 又受到了质疑;现在又有人提倡语文课堂上要让学生读书,这样会不会形成了“满堂读”的局面呢?我们不得而知,只是隐隐觉得 有些不妥,细想来,全是“满堂”惹 的祸,为何不去设计一套程序,在语文课上将“讲、问、练、 读”有机地结合起来,引导学生主动思考、探究、发现呢? 我们的师长、学长在 这方面已 经做了可 贵的有益 的探索,并且有的还形成了自己的理论。如钱梦龙经过长期的教学实践,总结出了“三主四式”的课堂教学方法,即“教师为主导,学生为主体,训练为主线”,“自读式、教读式、复读式、练习式”。如魏书生在培养学生自学能力的理论指导下,进行语文教学的心理实验,提出了“课堂教学六步法”的教学 方法,即“定向、自学、讨 论、答疑、自测、自结”。站在巨 人的肩膀 上,再总结自 己的教学 实践,我们也可以设 计一套具 有自己特 色的课堂 操作程序:

导入(包括燃情 和定向)———自学 (包括自读 和深思)———答疑(包括讨论和点 拨)———延伸(包括感悟 和迁移)———测验(包括落实和总结)

这个操作程序与课堂教学进程应该是吻合的,大致可以分为五个环节。

第一环节:导入。俗话说,良好的开 始是成功 的一半。每一堂课,教师都要设计一个能引起学生兴趣的导语,以点燃他们心中的激情,引导学生把注意力凝聚到教学中来。如学习舒婷的诗作《致橡树》时,可以这样设计导语:汉乐府中有一首诗歌叫做《上邪》,全文内容是: “我欲与君相知,长乐无绝衰。山无棱,江水为竭,冬雷震震,夏雨雪,天地合,乃敢与君 绝。”可见,古代女性 对爱情是那么的忠贞不渝。现代女性的爱情观是怎样的呢?除了忠贞不渝外,还有没有更为丰富的内涵呢?就让我们一起来感悟舒婷的诗作《致橡树》吧,相信大家会找到答案的。所谓定向,即是确定本节课的教 学目标, 为学生导航,解决“为什么学”和“学什么”的问题。上述导语中的教学目标已经不言自明。没有目标的教学是不负责任的,是误人子弟的。本环节应以教师的“讲”为主。

第二环节:自学。这一环节一定要体现学生学习的主体性与主动性,一定要在课堂上响起琅琅的读书声。学生带着问题阅读,边阅读边思考,边阅读边勾画圈点, 或质疑问难,刨根问底;或读出了新意,读出了发现……通过阅读培养学生对语言文字的感受能力、筛选能力、理解能力、鉴赏能力、记忆能力等。当然,“读”的方式也是丰富多彩的,可以单个读,可以集体读,可以分角色读……这样就可以变分析语言为学习语言,同时也给了学生感悟语言积累语言的时间和机会。上海复旦大学附中的黄玉峰老师曾用过一个生动的比方形象地阐明了 课堂上不让学生读书的危害:“这(只分析语言而不学习语言)就好比吃饭,整整十二年,可怜我们的孩子天天在分析研究为何‘吃饭’,分析研究饭里有什么营养成分, 可就是没有真正的扒几口!无怪乎到头来各个面黄肌瘦,营养不良,偶尔有几 个稍稍健 壮的,也是得益 于课外,自己吃的。”因此,本环节应以学生的“读”为主。

第三环节:答疑。在自学 的基础上,教师可以 根据学生的座次划分出若干学习小组,让学生就老师提出的问题或就自己发现的问题展开讨论。比如,分析《雷雨》中鲁侍萍的形象时,可设计这样一个问题:鲁侍萍认出周朴园后,面对周朴园,还有没有其他选择?实践证明, 通过讨论,学生得出的答案是丰富多彩的:

A.选择逃避,默默走开。

B.狠狠敲他一笔(青春损失费、精神损失费、孩子抚养费)。

C.玉石俱焚,让周朴园身败名裂。

D.希望再续前缘,“相逢一笑泯恩仇”。

E.无怨、无恨、无爱,“得失随缘,心无增减”。

……

教师再稍加点拨,学生便会较为全 面、深刻地把 握住鲁侍萍这个人物形象。在此过程中,教师不能冷眼旁观,必须参与其中,或提问,或点拨,或故布疑 阵……在此过程中,教师还要善于发现学生的闪光点,尊重学生的人格、情感、智慧潜力、个体差异及创新精神。本环节对教师设计问题的能力、随机应变的能力、适时点拨的能力是一个考验。本环节应以学生的“说”为主,教师的“问”为辅。

第四环节:延伸。学习的目的是“经世致用”,不“延伸”就难以培养出学生的迁移能力与创造能力,就难以引导学生从课内走向课外,就难以让学生触发联想,有灵感的闪光。在此环节里,教师可有意识地、有针 对性地设计几道“跳一跳,够得着”的题目,引导学生从课内走向课外,去感悟生活,开阔眼界,触发联想。比如学习《公输》这篇课文后,教师印发了鲁迅的《非攻》一文,让学生阅读思考讨论:《非攻》中的墨子形象和《公输》中的墨子形象有什 么区别?两篇文章 的不同之 处在哪里? 这就从课内所学迁移延伸到课外,进行拓展训练和发散思维。拓宽学生 的知识面,开阔视野,培养研究 精神。通过思考讨 论学生明 白了这是 鲁迅另辟 蹊径,新编故事,借历史人物,热情地表达了自己对人民群众的赞美和歌颂。《非攻》突出了墨 子的仗义 性格和反 对一切侵 略战争,主张加强实力、奋起自卫的思想,凸现了墨子勇敢、机智的性格和忘我的精神。在鲁迅笔下,墨子是为 人民利益埋头苦干、拼命硬干的人,是“中国的脊梁”的形象化。《非攻》中的墨子 与《公输》中的墨 子相比起 来更有人性意味,更能表现出墨子应有的形象。墨子的语言更通俗,更贴近我们现实中的人,人物的性格内涵更丰富。《公输》中墨子僵硬的对白,是把墨子从一个人变成了神坛上一个远离普通人的圣人了。这些异同点基本由学生 自己思考、归 纳、写出来,本环节应 以学生的 “说”为主,教师的“问”为辅。

第五环节:测验。这是课 堂教学的 最后一环 节,目的是总结、落实、强化本课堂所学内容,以期让学生真正能一课一得或一课多得。若发现问题,又可当堂 解决, 这样既能提高课堂效率,又能减轻学生的课外负担。本环节对训练题目的质量和数量有较高的要求,即质精量少。总结本堂课所学内容的方式当然也是多样化的,相对来说,在学生自结的基础上,教师再进行归纳、整理的总结方式效果会更好一些。目前我们学校的课堂上强调让学生多说多写多练多讲,重视课堂上知识的随时落实和当堂检测,比如教师讲完“如何体悟诗歌的思想感情”这个知识点后,给学生三分钟巩固时间,然后立刻检测本知识点。最后五分钟教师下发当堂测验试卷,给三首诗,让学生根据课上所学的知识,来解决实际问题,归纳出这三首诗的思想感情。然后由学生当堂讲解,教师适当点拨并提升。本环节应以学生的“练”为主,教师的“讲”为辅。

必须说明的是,本程序是 开放的、灵活 的。学无止境,程序也是无止境的。我们需在发展中弃旧 图新,扬长避短,使本程序不断发展完善,符合先进理论,符合教育规律,不能坚守一个程序而拒绝其他。本程序的“导入、自学、答疑、延伸、测验”五个环节也并 不是孤立 的、僵死的,而是互相联系、渗透、融合的。还必须澄清一个错误认识,有人认为,这样一来,语文教育岂不成了一条“技术教育”的生产流水线?语文课岂不成了“技术”课? 不多解释,只想提醒大家一个事实:千变万化的围棋不是也有双赢模式吗?在课堂上若想达到“从心所欲而不逾矩”的境界,必须从设计课堂教学程序开始,正如苦练武功必须先从平常招式入手,方能达到“无招胜有招”的境界。

程序工具论文 第2篇

那么如何检测自己所使用的工具中是否含有后门呢?对于有一定经验的高手而言可以使用WSockExpert进行网络数据抓包,如果系统中没有WSockExpert,可以使用Netstat命令,用于显示协议统计信息和当前TCP/IP网络连接及端口占用信息。

1.关闭系统中所有可能连接网络的程序,然后只登录某个程序,打开命令提示符,输入并执行“Netstat -an>C:NET1.TXT”命令,将未运行木马前的网络连接状态保存在C:NET1.TXT之中,关闭程序,

2.运行“后门,配置并生成木马程序。

3.运行生成的QQ木马程序后重新登录程序。打开命令提示符,输入并执行“Netstat -an>C:NET2.TXT”命令,将运行木马后的网络连接保存在C:NET2.TXT中。

5.比较NET1.TXT和NET2.TXT我们会发现在NET2.TXT中多出了几个网络地址,而除了我们配置得到木马的连接地址外,其它就是后门了。

在用Netstat进行后门测试时要注意:Netstat并不能立即返回当前的网络连接状态,会有延迟,也就是说我们执行Netstat后看到的网络连接状态很可能是3秒钟以前的,不过这并不影响我们对后门的测试。

程序工具论文 第3篇

This toolkit is designed to help staff of adolescent pregnancy prevention (APP) projects who want to incorporate adolescent relationship abuse (ARA) prevention into their existing programming. Whether projects are new or established, this toolkit provides practical tools for youth workers to choose from and adapt to best fit their projects and participants.

This toolkit also provides guidance about selecting from the available tools and ensuring high-quality implementation of ARA prevention approaches. Different tools may be useful at different stages of a project and for programs with different goals and levels of funding. This toolkit describes when, how, and why tools should be used if ARA is being addressed. APP projects are encouraged to share this toolkit with their partners.

This toolkit is designed to guide projects that want to incorporate ARA prevention into their programming through this process from start to finish. It is structured in four sections, as depicted in the flowchart below.

The first section, Organizational Readiness and Planning, is devoted to organizational readiness and planning steps to address ARA, which are especially important for projects that have never addressed ARA before. Youth workers will find information on developing a project plan, strengthening partnerships with relevant organizations, and developing policies and procedures related to ARA prevention and response.

The second section, Selection and Adaptation of Materials, provides tools and practical guidance about selecting materials, including specific lessons and multi-session curricula, to address ARA. Strategies for selecting materials, as well as guidance about making adaptations to existing APP programs or selected ARA prevention materials to best meet project needs, are also included.

The third section, Preparation for Implementation, includes tools to help projects prepare for implementation of ARA prevention approaches, including orientation and training of selected staff. This section also provides resources related to ARA prevention and response that projects can use and adapt for their target audiences, including youth and parents.

The fourth section, Monitoring and Evaluation, provides tools that can be used to monitor or evaluate ARA prevention approaches, including those related to evaluation planning and assessment of potential outcomes for participants who receive ARA prevention activities.

The appendix offers additional resources that projects can use for reference and to enhance their staff’s knowledge about ARA.

http://ncfy.acf.hhs.gov/features/ara-toolkit/getting-started

程序工具论文 第4篇

1 使用条件

(1)系统中安装了JAD反编译文件jad.exe;

(2)系统可编译JAVA程序;

(3)为反编译过程准备了可编译的JAVA类文件。

假设:将jad.exe文件拷贝到C:下,在磁盘中准备一个JAVA类文件。

例如:在D:下建立一个Example.java文件,程序代码如下:

通过编译在D:产生Example.class文件,将Example.class文件拷贝到C:下。

2 命令格式

打开“命令提示符”操作窗口,命令行在C:使用。格式如下:

将反编译得到的Example.java文件,编译运行结果与D:中Example.java文件编译运行结果相同。

3 参数说明

JAD反编译工具提供了多个参数为命令行操作提供服务,用户可以在“命令提示符”窗口中键入jad-芽浏览参数及功能。常用参数及功能如下:

参考文献

[1]http://bbs.maxpda.com/thread-149458-1-1.html.

[2]张孝祥.java就业培训教程.北京:清华大学出版社,2003(9).

从Word工具栏中启动应用程序 第5篇

单击Word“工具”菜单下的“自定义”命令,打开“自定义”对话框,在常用工具栏上“插入超链接”按钮上右击鼠标,在弹出的菜单中执行“分配超链接”下的“打开”命令,打开“分配超链接”对话框,通过“查找范围”右侧的下拉按钮,找到计算器程序文件CALC.EXE(通常位于C:Windows目录中),“确定”退出,关闭“自定义”对话框。以后需要调用“计算器”时,单击工具栏上“插入超链接”按钮,弹出一个安全警示对话框,不必管它,按“确定”按钮,即可启动“计算器”程序。对于其他一些按钮,您也可以按需要作出相应的设置,

在使用“分配超链接”时注意以下几点:

1. 给按钮分配了超链接后,在单击该按钮后只会直接打开它所链接的应用程序,但不会对执行菜单命令或按下快捷键产生影响。如经过上述操作后,可通过按下“Ctrl+K”键或选择“插入”下的“超链接”命令,打开原来的“插入超链接”对话框。所以在实际使用时最好选择那些快捷键很熟悉的按钮来进行分配。

2. 要想改变或恢复原来的按钮功能,可以再次打开“自定义”对话框,然后右击该按钮,选择“分配超链接”下的“打开(或删除链接)”命令,可以重新分配(或删除)该按钮的超链接。

3. 分配的超链接对象可以是应用程序,也可以是文件夹或具体文件。如果是文件夹,按下按钮后会快速定位到该文件夹,这对于快速打开其中的文件很方便;如果是具体文件,就会调用相应的关联程序打开该文件。

程序工具论文 第6篇

报表需求变更是软件开发与生俱来的特性,任何业务逻辑的变化都会带来报表需求的变更。为提高开发效率、降低开发难度、方便后期维护,一般使用报表工具来设计报表。报表工具的使用人群可分为非专业用户和程序开发人员。

面向非专业用户的报表工具,难于设计复杂报表,运行效率较低,且一般需定制开发。面向程序开发人员的报表工具,用户需掌握SQL和开发语言知识,可设计复杂报表,运行效率较高,一般为通用的报表系统。

目前,市面上流行的大部分面向程序开发人员的报表工具,须生成中间数据集(DataSet),然后画出或在单元格填写相应内容,报表定义复杂繁琐,开发代码量大。为此,提出一种面向程序开发人员的通用报表工具,实现直接从数据库中提取数据,并降低报表定义难度,从而提高开发效率。

2、报表工具模型简介

报表工具一般由报表设计器和报表生成引擎两部分构成。报表设计器是一个可视化的工具,在报表设计器中可定义报表的样式和输出规则。报表生成引擎是一个控件或动态链接库,通过读取样式和输出规则,生成最终的结果文件。如图1所示:

3、面向程序开发人员的通用报表工具的实现

根据上述模型,利用Excel作为样式设计器,使用文本文件作为输出规则设计器开发了面向程序开发人员的通用报表工具。工作原理:开发人员先制作好报表模板,内容包括样式文件和输出规则文本,并把模板存储在模板库上,同时在服务器部署报表生成引擎。生成报表时,服务器调用报表生成引擎,从模板库上读取样式文件和输出规则进行解析并生成Excel结果文件。

3.1 输出规则定义

输出规则是一个多行文本,每行代表一条输出语句。输出规则按功能分为多个栏目,每个栏目中可定义多条输出语句,常见的有6个栏目,分别是:

·".输入定义":定义输入参数。要生成报表,通常会有一个条件来限定报表的取数范围,也就是会输入一个参数。如要打印员工的基本信息卡,则须把工号或姓名作为参数传入模板,引擎会根据传入的参数,读取出该员工的信息并形成报表。

·".初始化定义":定义初始化的操作。如在生成报表前须先执行某个数据库存储过程,或须先初始化的某个临时变量。

·".页扩展定义":Excel有多个Sheet,可在本栏目定义一条可以得到多行数据集的输出语句,数据集的每行记录作为一个分页,从而实现多页报表。如,要打印部门的全体员工的基本信息卡,每个员工占据一个Sheet,则可以在本栏目中定义一个得到员工数据集的语句,循环该数据集可将报表分为多页。

·".表头表尾定义":定义表格的表头表尾的输出语句。对于表体扩展(行扩展、列扩展、行列交叉扩展)的报表来说,除了扩展部分的表体外,还会有表头表尾。如,打印部门的员工花名册,表头部分是部门名称,表尾部分是打印时间,中间行扩展的部分是每个员工的具体信息。

·".行扩展定义":定义行扩展报表的表体部分。在本栏目定义一条可以得到多行数据集的输出语句,数据集有几行,则表体也扩展多少行。如,打印部门的员工花名册,可在本栏目定义一条输出语句,来得到满足条件的员工数据集,数据集的每一行代表了花名册的一行。

·".单元格输出定义":定义各单元格的输出语句,即某个单元格要填写什么数值。

输出语句的形式为Target>>SQL,如:$变量1, A1>>Select Field1, Field2 From Table1 Where Id=$编号。其中,">>"作为分隔符号;"SQL"通常是一条Select SQL语句,也可以是脚本语言或存储过程;"Target"是数据所要存放的位置,一般为变量或单元格索引。有关说明如下:

·".输入定义"中:语句只填写"Target",不填写">>"和"SQL"。

·临时变量:语句中可使用临时变量,临时变量以单个"$"符号开头,使用前不需先定义。

·系统变量:系统变量以两个"$"符号开头,是为方便报表生成而具有特殊含义的变量。如,"$$SheetName"代表当前Sheet的标签文字,每次设置它的值时都会改变当前Sheet的标签文字。

·单元格索引:使用RC格式填写,如"C2"代表第2行第3列。

·执行Select SQL得到的数据集可能存在多条记录,可在SQL后面加上"~n"以指明使用第几条记录。

输出语句的执行步骤是:第一步,把"SQL"提交到数据库执行取得数据。若"SQL"中存在临时变量或系统变量,则执行前先用实际值替换;第二步,根据"Target",把结果存放到单元格或变量中,若是系统变量则还需根据其意义执行相应操作。

3.2 报表模板管理

在服务器上建立一数据表,用于存储模板文件,数据表结构如下所示:

模板管理的功能包括:

新增模板:弹出一个窗口填写模板编号和模板名称。之后,还须执行修改模板功能,来定义样式和输出规则。

修改模板:调出报表设计器窗口定义报表样式和输出规则。样式可直接画或读入已有的Excel文件,输出规则可在文本文件中以每行一条输出语句的方式填写。

删除模板:删除选定的模板。

测试模板:为了验证模板的正确性,设计了测试模板功能。测试时,程序依据报表的输入参数定义,生成一个参数值填写窗口供填写,之后程序调用报表生成引擎,读取样式文件和输出规则,以OLE方式操作Excel,由此可直观看到报表生成的每个步骤,方便测试和查错。

3.3 报表生成引擎

3.3.1 报表生成引擎的调用

引擎提供了两个接口函数,原形如下:

OleCreateReport函数通过Ole方式操作Excel,适用于生成报表过程须让用户看见的场合,一般被C/S程序调用。在报表生成较慢时,为了让操作人员不误认为电脑死机,可让其看见报表的填写过程。

RWCreateReport函数通过XLSReadWriteII2控件操作Excel,适用于不显示生成过程的场合。该控件可直接生成XLS文件而无须安装Excel,之所以要采用这种方式,是因为在B/S环境下用Ole方式操作Excel时,如果某个报表生成任务导致Excel出错,会因Ole服务器错误而使后续所有报表都无法生成。

这两个接口函数的参数和返回值的意义为:

connTemplate,是存放模板的数据源,格式为"数据库名称:连接字符串"。比如模板存放在某个Access数据库中,则字符串为:Access:数据库连接字符串。

conn,是业务数据的数据源,格式同connTemplate。当connTemplate和conn相同时,可只填写一个,另一个填为空。

iTemplateId,是模板编号。

strParam,是报表的参数值,多个参数时用回车分隔。比如要生成一个员工的基本信息卡,则要把工号作为参数值传入。

strXlsFileName,是报表结果文件的文件名,若为空,则自动生成一个报表结果文件名。

函数返回值,是报表结果文件的文件名。

3.3.2 报表生成引擎中的实现

引擎根据接口函数传入的参数,打开模板数据库读出样式文件和输出规则文本。之后,用Ole方式或用XLSReadWriteII2控件打开样式文件,连接到业务数据库,解析输出规则文本并生成报表。解析流程如图2所示:

3.5 报表模板定义的例子(文件领用登记表)

报表样式如下图3:

输出规则文本如下:

输出规则文本说明:

(1)输入定义

定义了一个"$领用人",解析时需把参数值接收到"$领用人"临时变量中。

(2)初始化定义

初始化"$序号"临时变量的值为0

(3)行扩展定义"

这里只有一行,该行定义了一个行扩展语句。引擎把SQL中的变量用实际值替换后,在数据库中执行该SQL可得到一个数据集,须循环数据集中的每一行记录,循环体:把字段值填入"$文件GUID"临时变量,同时在当前表格中插入复制一行(根据".单元格输出定义"栏目可知单元格索引在同一行中),然后依序执行"单元格输出定义"栏目的各输出语句。

(4)单元格输出定义

行最后面的下划线,表示下一行与本行属于同一个输出语句。文字太长写不下时,可据此分为多行填写。行前面有双斜杠线的,表示该行是注释行。

各输出语句的SQL有变量时先用实际值替换,然后到数据库中执行SQL,最后把得到的第一条记录的各字段分别填写到对应的目标单元格。

4、结束语

本人十多年来对该报表工具不断进行改进完善,通过添加脚本支持、具特定意义的系统变量和自定义函数,该工具可满足大部分报表需求。经在数十个系统中应用本工具表明,它能方便地挂接到各种数据库系统中,避免报表的重复设计和代码的重复编写,可大大提高报表设计的灵活性和开发效率。

摘要:本文提出了一种面向程序开发人员的通用报表工具, 实现直接从数据库中提取数据, 并降低报表定义难度, 从而提高开发效率和系统性能。着重分析了报表设计器和报表生成引擎的实现过程, 并给出了调用报表工具的方法和定义报表模板的实例。

关键词:通用报表工具,Excel,报表模板,报表生成引擎

参考文献

[1]黄锦等:基于Excel的报表生成工具的设计与实现;成都信息工程学院学报, 2009年12月

程序工具论文 第7篇

在机械加工中常遇到零件上有许多相同或相似的几何形状体,或形状相似的零件[1]。宏程序的一个常见应用便是在一组某些方面相似的零件中,例如,基本形状相似,这组所有的零件都通过使用变量而不是固定的尺寸数据和加工数据来进行编程,采用简单的主程序(宏程序的形式),并对每个零件用不同的数据输入值进行调用。

编写一个这类宏程序常比编写单个零件程序需要更多的时间和精力,但当宏程序编写完成并调试成功,就可以不考虑其他编程,所需做的仅是参数的修改(如转速、进给速度、尺寸、深度等)。本文仅以车削定位销为例阐述宏程序作为工具对相似零件组进行参数化编程的过程。

2 参数化编程

2.1 图纸分析

在机械设计与制造中,定位销是机械结构加工和装配的主要零件[2],如图1所示[3]为4个具有相似特征的定位销,材料为20钢,Ф50mm棒料,零件设计采用参数化的方式表达设计意图。所有的尺寸和材料均已给出,该组零件共标注7个尺寸,其中2个尺寸固定,其余5个尺寸为变量,2个倒圆之间有一个台肩面,尺寸标注完整,轮廓描述清晰。

2.2 加工方案设计

该组定位销零件结构较为简单,易确定其加工方案为:装夹采用三爪卡盘;编程零点为在零件右端面和中心线的交点;用一把外圆车刀完成粗精加工;因4个销材料相同,可使用相同的主轴转速和进给速度;分别用指令G71和G70进行粗精加工。

实际的走刀路线(如图2所示)为:快速接近工件,右端面切削;快速退至G71循环起点;粗加工轮廓(图中1-6),留余量;G70完成精加工。

2.3 编写标准程序

以FANUC(0i-TC)为工具,选择零件“销-01”尺寸编写标准程序如下[4]:

当这个标准程序经过试验为正确后,就只需指定其余3个定位销所有改变的参数即可。

2.4 确定变量数据

当加工零件由“销-01”更换为其余3个定位销,更改程序中需变化的数值意味着确定变量数据,在标准程序O0001中用下划线标出的指令即是这些需要变化的数值。下面对这些变量进行定义、赋值,并改写为宏程序指令。

N10中的“X16”代表走刀路线中的“1”点,为避免刀具在进给停顿处的零件表面留下划痕[5],此处沿45°倒角留出引入长度,“X16”即由此计算得来。小径尺寸“"C”定义自变量为“C”,其对应局部变量为“#3”(见表1),即得改写的宏程序指令为“X[#3-2*1-2*3]”。

N20中“X24”指的是小径尺寸“C”,尽管在每个零件中不同,但总在图纸中直接给出,同上变量定义为“C=#3”,改写的宏程序指令为“X#3”。

N30中“Z-23”和“R3”两个数据均是在图纸中直接定义的,对应的变量见表1,因此此处改写的宏程序指令为“Z-#1 R#18”。

同上,N40中“X46”改写的宏程序指令为“X#7”。

N50中的“Z-47”代表走刀路线中的“5”点,此处相对于图纸尺寸,Z向多切削了3mm,留出这个余量是为了后续刀具加工提供加工尺寸,这个“3mm”是每个零件都需要进行切削的。这里存在的变量只有图纸尺寸“B”,将该尺寸定义变量为“B=#2”,即需改写的宏程序指令为“Z-[#2+3]”。

对于自变量的选择,只要是赋值列表1中的任何合法自变量都可以使用[6],并不总会与参数化图纸上的尺寸符号相匹配,本例对于自变量的选择只是基于易于辨识的目的给出的。

2.5 编写宏程序

变量数据确定后,即将确定的宏程序指令带入,编写出的宏程序包含主程序和通用宏程序如下:

2.6 宏程序优化

对于不同的定位销,在程序O0002中,唯一修改变量赋值的方法是在G65调用宏程序中改写指令,这是常用的一种方法,但不是最佳的方法。为增强宏程序的灵活性,使得变换零件后的修改加工操作更简便,可以尝试在一个主程序中包含4种定义变量,然后只需修改一个变量号(程序段N10)来进行选择要加工的零件(销)。本例使用IF函数在主程序中包含4个定义来实现,宏程序O1001不变。

3 结语

本文通过对车削定位销参数化编程编写实例的详细阐述,以宏程序为工具进行程序编制,将所有的尺寸和相应的数学逻辑关系设定成变量,通过循序渐进的修改过程,最终得到一个灵活性和操作性很强的参数化程序。而这个最终程序也不能说是最佳的或者唯一的结果,每个宏程序都还可以改进和变化,以此来使自身的功能更强大、更可靠和更实用,某些改变还可以标准化,例如孔加工循环的程序。但这种编程的思路和改进方法可为需要使用宏程序进行零件编程的工程人员提供参考借鉴。

摘要:提供一个以宏程序为工具的相似零件组参数化编程的编写实例,通过使用变量而不是固定的尺寸数据和加工数据来进行编程,给出最终优化程序,并把这种编程的思路和改进方法作为参考借鉴提供给需要使用宏程序进行零件编程的工程人员。

关键词:宏程序,相似零件,参数化编程,定位销

参考文献

[1]殷保祖.参数化数控编程技术[C]//中国电子学会数控设备使用和管理学术会议论文集,2003:13-17.

[2]曹秀鸽,谷莉,胡玉霞.机械产品设计中销结构的工艺性分析[J].装备制造技术,2011(1):90-92.

[3]彼得.斯密德.FANUC数控系统用户宏程序与编程技巧[M].北京:化学工业出版社,2007:179-180.

[4]北京发那克机电有限公司.FANUC Series 0i-TC操作说明书[Z].2004.

[5]刘书华.数控机床与编程[M].北京:化学工业出版社,2001:183-185.

[6]胡育辉,赵宏立,张宇.数控宏编程手册[M].北京:化学工业出版社,2010:26-28.

程序工具论文 第8篇

在高级语言程序设计的课程教学中, 通过设计开发一些实用的有趣的工具软件, 可以激发学生的学习兴趣;而开发一些可以应用于课堂教学中的简单实用的教学辅助软件, 又可以活跃课堂, 加强与学生互动, 提高教学效果。

本文中利用VB设计开发了一个可用于课堂提问的小工具软件, 可随机抽取某班某个同学进行提问, 能起到加强师生互动、活跃课堂的效果。同时利用此软件的代码展示, 可见代码并不复杂, 但软件工具具有实用价值, 可鼓励同学自主开发一些简单实用的小工具来解决自己学习生活中的一些问题, 从而将从书本所学到的程序设计知识应用于实际, 此种引导启发的作用的意义则更为重大。

工具的界面类似电视中常见“抽奖”的界面, 启动后按“开始”按钮则学生的班级和学号在快速跳动, 按下“停止”按钮则停止跳动, 此时显示的就是要请其回答问题的学生的班级和学号。为保证“抽奖”过程的随机性, 程序设计中其随机性来自两个方面 (详见下面的代码) :一个是利用VB中的随机数产生器函数Rnd和初始化函数Randomize;另一个是教师按下“停止”按钮的时间上的不确定性 (因班级学号跳动很快) 。

对此小工具可做一些扩展, 如可利用文件或数据库来记录每个同学的被提问次数来保证课堂提问的覆盖面, 及相应的回答分数作为平时成绩的依据;也可在学生学号跳变的同时将学生的照片同步跳变来达到更好的视觉效果, 所用的照片既可采用文件的形式, 也可采用数据库来保存, 借此也可教授相关的文件与数据库的编程知识, 更能引起学生的学习兴趣。

1. 界面

界面设计如图1所示, 有四个Label控件、两个命令按钮和一个定时器, 四个Label分别显示“00”、“班”、“00”和“号”。

运行后界面如图2所示, 运行后教师点击“开始”按钮, 则班级号与学号开始迅速变化, 当教师点击“停止”按钮时停止, 此时显示的为随机抽取的要求其回答问题的同学 (如图1中为4班的学号为45号的学生) 。

2. 程序设计

“开始”按钮的事件响应过程如下:

其作用实际上就是打开定时器, 点击后班级号与学号的跳变是由定时器来完成。

“结束”按钮的事件响应过程如下:

其作用是关闭定时器, 使学号与班级号停止跳变。利用上面被注释掉的代码可以很简单的“作弊” (即预先设定被抽取的学生为1班1号同学) , 表面上看似快速随机的跳变并不能保证真正的随机, 可见利用计算机进行类似“抽奖”活动时“作弊”是很容易的 (除非能仔细地检查源代码) , 在此也凸显出计算机安全与“可信计算”的重要性与困难性。

定时器的事件响应过程如下 (为快速跳变, 要把定时器的Interval属性设为50, 即一秒钟跳20次) :

上面的代码中班级号的跳变范围为1~4, 学号范围为1~71。

3. 结束语

在程序设计类课程的教学中, 简单实用的小工具软件开发可激发学生的学习兴趣, 并启发其自主开发实用的小工具软件来解决其自身在学习生活中遇到的问题, 因而具有十分重要的意义。本文利用VB设计开发了一种可用于教师课堂提问的小工具, 并应用于VB课堂教学实践之中, 活跃了课堂、增强了师生互动, 取得了良好的效果。对此简单实用的小工具并可作进一步的改进与扩展, 如引入数据库技术、学生照片跳变、成绩平时记录等等, 也是我们下一步的工作方向。

摘要:在计算机语言程序设计类课程的教学中, 通过一些简单实用的小工具开发, 可提高学生的学习兴趣与教学效果;而可应用于课堂的小工具又能活跃课堂、增强互动;并可以此鼓励学生自主开发小工具解决其工作生活中的问题。用VB设计开发一个可用于课堂随机提问的小工具软件, 为保证随机其随机性来源于两个方面, 并讨论了其可能的扩展与进一步开发。

关键词:高级语言程序设计,教学软件工具,课堂提问

参考文献

[1]范慧琳, 冯姝婷, 洪欣.VISUAL BASIC程序设计案例教程[M].清华大学出版社, 2008.

[2]范慧琳, 洪欣, 冯姝婷.VISUALBASIC程序设计学习指导与上机实践[M].清华大学出版社, 2010.

程序工具论文 第9篇

程序性能分析是在程序执行过程中,对其执行信息的搜集和分析的过程,它是衡量一个程序好坏的重要指标[1],通过程序性能测试可以客观地评价程序当前性能,判断程序是否满足预期的性能需求;其次,可以帮助寻找程序可能存在的性能问题,定位程序瓶颈并解决问题。

程序的性能包括很多方面,常见的有程序的运行时间,运行时占用的内存等[2],相对于内存优化,时间优化显得更为重要,所以在此主要讨论程序的时间优化问题。

性能优化的第一步是测量,测试性能数据是进行性能优化的基础,有了真实的数据,才可以分析数据。毫无疑问,优化应该是针对系统的性能瓶颈进行,而找到性能瓶颈应该是建立在准确的性能数据的基础上。分析工具能迅速帮助程序员定位程序瓶颈,在人们对软件要求越来越高的时代,性能分析工具已经成了不可或缺的一部分。

大多数的编译器以及操作系统有各自的分析工具。例如,Linux平台下的程序性能调优工具Perf、Gprof、GooglePerftools等;Windows平台下的性能分析工具very sleepy、Intel的VTune(同样兼容Linux)、Luke Stackwalker[2]等。文中则主要介绍VS2010自带的性能分析工具。

2 Profiler工具

Profiler即性能分析器,是Visual Studio 2010提供的一个程序性能分析工具。利用性能分析工具可以帮助我们在浩瀚如烟的代码中迅速锁定程序性能瓶颈,提高程序性能。

Visual Studio 2010中有一个新的菜单项“分析”,通过该菜单项可以找到子菜单“启动性能向导”。选择“分析|启动性能分析”将打开一个包含了3个步骤的向导,它将引导完成整个程序的性能测试[3]。

第一步,指定分析方法。

第二步,选定要分析的应用程序。

第三步,完成设置,启动性能分析,分析结束后会给出一份性能分析报告。

其中,性能分析报告中主要的关键字信息如图1所示。

3 与传统的程序瓶颈测试方法相比较

常见的排序算法有很多,下面则将50000(1-50000逆序数)个数顺序排列,并分别使用传统分析方法与性能分析工具来验证冒泡算法与堆排序算法的优劣。

3.1 两种算法介绍

3.1.1 冒泡排序算法

采用冒泡排序算法的函数代码如下:

冒泡排序算法的基本思想是:两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。第二趟排序,将次小值2冒泡到第二位置。依次类推,直到没有反序的记录,由此推断,为n个数据排序时,总的时间复杂度为O(n2)。

3.1.2 堆排序算法

采用堆排序算法的函数代码如下:

堆排序算法的基本思想是,将待排序的序列构造成一个大顶堆,此时整个序列的最大值就是堆顶的根结点,将它移走,然后将剩余的n-1个序列重新构造成一个堆,即可得到n个元素中的次大值,反复执行,得到一个有序序列。

分析堆排序算法可以得出,它的运行时间主要消耗在初始构建堆和重建堆的反复筛选上。由二叉树的性质分析可得,第i次区堆顶并重建堆需要用O(log i)d的时间,且需要去n-1次堆顶,则重建堆的时间复杂度为O(n log n),所以堆排序的时间复杂度为O(n log n)。

从基本的时间复杂度分析可以看出,堆排序算法从时间角度上优于冒泡排序算法。如果验证,可以对这两种算法进行性能分析。对程序进行性能分析的方式大致可以分为两种,传统分析方法和使用性能分析工具。

3.2 传统性能分析方法

若要测试50000个数顺序排序消耗的时间,则需要在排序算法前后加入测试代码如下:

将50000个数顺序排列排序,采用冒泡排序算法消耗的时间为22653ms,若采用堆排序算法,耗时为36ms.

从时间角度上堆排序算法确实优于冒泡算法(冒泡算法的时间复杂度为O(n2),堆排序算法的时间复杂度为O(nlogn))。

这么看来,传统的性能分析方式好像很方便,但是冒泡算法耗时长,且堆排算法优于冒泡,节省了大部分的测试流程与时间。在一个庞大的且运行缓慢的程序中,像这样一点点的测试找到最为耗时的代码,工作量就太大了。

3.3 使用性能分析工具VS2010 Profiler

Profiler提出4种分析方法,这里只选择其中的两种方式分析:

3.3.1 采样模式

采样模式的工作原理如下:profiler通过定期中断(默认时1千万个CPU周期、页错误、高速缓存缺失等情况下执行采样)进程收集函数的调用堆栈信息[6]以及该函数的代码路径(非入侵式统计型分析方法)。采样模式速度快,开销低,仅在程序有效使用CPU时收集信息(当进程在等待磁盘、网络或任意其他资源时,Profiler并不会收集样本),且采样的结果会受操作系统中其他进程的影响,所以采样统计结果并不十分精确,适合于对程序全局性能进行初步的分析,找出程序瓶颈大致的区间。

根据Profiler的性能分析向导提示完成整个分析过程,使用冒泡排序算法的性能分析报告情况如下:

CPU使用率表示被分析的应用程序在进行分析的这段时间内占用CPU资源的情况,若运行某个程序后CPU使用率迅速变高,说明该程序有待优化,CPU使用率只是给人们提供一个CPU资源使用的曲线情况,并不能准确地定位程序的“瓶颈”,且CPU使用率的高低与CPU本身的强弱有直接联系。

SortData函数占用的采样样本数最多,所以SortData函数可能存在性能瓶颈。采用堆排序算法后的CPU使用率情况更优。因为采用冒泡算法的应用程序耗时长,而采用堆排序算法的程序耗时短.

优化后的SortData函数所占用的时间相对于优化前的函数增量为-59.52%(冒泡算法时间复杂度为O(n2),堆排序算法时间复杂度为O(nlogn)),说明采用堆排序算法的SortData函数从耗时角度来说确实得到了优化。

由此可见,借助于VS2010 Profiler,无论是使用采样模式还是检测模式,都可以快速地锁定当前程序的性能瓶颈,为程序的优化做准备。程序优化之后,Profiler仍然是一个必要的验证工具,通过比较优化前后程序分析报告可以直接看到程序是否真的得到了优化。相对于人工测试来说节省了很多不必要的时间,而且更为直观高效。这里仅仅只是小试牛刀而已,在庞大的程序中性能分析工具的作用远不止于此。

参考文献

[1]冯宏华,徐莹.C++应用程序性能优化[M].2版.电子工业出版社,2010.

上一篇:成因以及管理下一篇:小儿惊厥怎么办