电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

USB Device实验程序解析

来源:火烈鸟作者:开心麻花2025-09-191

USB Device实验程序解析(精选8篇)

USB Device实验程序解析 第1篇

解析个人贷款的程序

在现实生活中,可能很多人会面临资金短缺,那么就可能会涉及到个人贷款,下面N维贷款小编维大家分享个人贷款的相关程序:

1、签定认购书:客户与已和银行签约的房地产开发公司签定认购书,并向房地产开发公司交纳首期购房款;

2、办理申请:客户到银行委托的律师事务所办理按揭申请手续,包括交验个人资料、交纳各项费用、填写法律文件;

3、货款审查:律师事务所对客户申请进行初审,之后由银行进行审批;若审查不合格,退回客户资料和所收取的费用;

4、其他法律手续:律师事务所代办保险、公证及抵押物的抵押登记、备案;

5、贷款的发放:银行将贷款款项划至发展商帐户,并通知客户开始供楼。以上详细介绍了个人贷款的程序,所以如果您需要贷款就需要了解以上的知识,这样才不会上当受骗!

USB Device实验程序解析 第2篇

剖析:

考查对基本功的掌握:

(1)字符串以’’结尾;

(2)对数组越界把握的敏感度;

(3)库函数strcpy的工作方式,如果编写一个标准strcpy函数的总分值为10,下面给出几个不同得分的答案:

★ 教师资格证笔试考试内容解析

★ 邮政储蓄技能鉴定

★ 邮政储蓄转正自我鉴定-自我鉴定

★ 中级口译笔试真题解析

★ 邮政储蓄员工个人辞职信

★ 腾讯公司程序员笔试题目和答案解析

★ 高三地理必修三知识点解析自然灾害

★ 高一数学课本基础必学知识点解析

★ 高二英语选修八的知识点解析

USB Device实验程序解析 第3篇

关键词:计算机专业,面向对象程序设计,教学实验

0引言

计算机科学技术专业相比较其它专业而言, 具有自己的一些特点, 比如技术更新较快、应用范围广、技术与知识密集, 对学生基本素质要求较高等等。所以, 各大高等院校都在积极推广计算机科学教育, 这对于计算机学科的发展和人才培养有着不可替代的作用。

1合理选择开发环境和实验内容

开展面向对象语言的课程教学, 需要较高水平的软、硬件环境的支持。高标准的计算机软、硬件系统环境是顺利进行课程教学的重要保障。根据武汉大学珞珈学院的具体情况和经费承受能力, 并参考武汉大学的教学模式, 采用Visual C++6.0为开发工具。选择VC 6.0开发平台具有一些优点:①它是由微软公司开发, 功能不仅仅局限于编译功能, 作为一个与Windows平台相兼容的可视化集成环境, 尤其是在Windows操作系统当中具有得天独厚的优势;②VC 6.0包含众多组件, 这为广大的开发人员提供了很大的便利, 这些组件包括编辑器 (用于输入代码) 、调试器 (调试代码) 、类向导 (提供快捷创建类) 等;③C++是从C语言发展而来, 不同于传统C的面向过程开发, 而是一种全新的面向对象开发过程, 而VC作为C++的开发工具, 具有可视化开发功能, 所见即所得。后来虽然微软公司又在VC 6.0之后推出了Visual C++.NET (VC 7.0) , 但应用范围比较小, 它的搭建平台仅仅在Windows 2000, Windows XP和Windows NT 4.0这3款操作系统。所以, 在实际教学中, 很多高等院校更多的是选择Visual C++6.0为开发平台。在这里, 我们结合其它兄弟院校的教学经验, 也采用该编辑器;④Visual C++6.0具有编辑快、自动编译、高级除错等功能。例如, 在调试阶段, 接受用户的远程访问调试, 可以设置断点, 停止程序运行在该断点处, 单步运行等。 开发人员在调试期间, 还允许重新编译被修改的代码, 而不需要将正在编译的程序关闭后重启。这些特征明显可以缩短程序编辑时间, 在大型软件开发上的作用更加明显。

2优化教学内容改革, 选择合理教学内容

目前, 大部分教材都是清华大学出版社编写, 内容比较全面, 知识点讲解也很细致。但是, 有一些难点对于三本院校的学生来说, 在掌握和理解上还是存在一定的难度。因此, 教师在难度的控制上应该由浅入深, 循序渐进, 在讲解语法上, 首先通过课本知识点, 详细讲述。讲述中, 要不断激发学生的求知欲望, 让学生在互动的学习气氛中, 加强知识点记忆。对于关键性的章节, 授课时间可以放长一点, 讲完知识点, 通过举例向学生提问, 通过回答问题了解学生掌握的情况。

3多种教学方法相结合, 提高教学效率

教学方法是教师和学生为实现共同的教学目标, 完成共同的教学任务, 在教学过程中运用的方式与手段的总称。在面向对象语言教学中, 根据三本学校的学生层次, 既借鉴一本、二本学校的教学经验, 也结合本校特点, 在教学方法上加以改进, 在教学内容上加以灵活增补。

(1) 演示法在基础实验教学中的使用。

演示法是指教师通过展示实物、教具, 进行示范性实验, 或通过现代化教学手段, 使学生获取知识的教学方法。对于软件开发的课程, 我们可以采用演示法进行教学。由于学生在大一的时候已经完成了C语言的学习, 虽然C语言是一门面向过程语言, 和面向对象语言有所不同, 但是它们的演示法的实施过程是一样的。所以, 在这一阶段的教学过程中, 我们可以适当地进行演示, 老师在讲台上讲完知识点后, 利用开发平台编写一些简单易懂的代码, 通过示例提高学生学习兴趣和学习效率。

比如, 在讲多态性时, 可以通过几个类之间的继承来介绍这个知识点。

下面我们通过一段代码进行解析:

class tigers{

Public:

play ()

{

cout<<"tigers play balls"<

}

Sleep ()

{

cout<<"tigers sleep at least 8 hours "<

}

Behavior ()

{

cout<<"tigers is catching a cow"<

}

};

class oldtigers:public tigers

{

Public:

play ()

{

cout<<"oldtigers play colorballs"<

};

void main ()

{

Oldtigers otg;

tigers *pn;

pn=&otg;

pn->play () ;

}

在教学课堂上, 教师可以输入以上代码, 并执行。运行结果会让学生看到, 输出结果是tigers play balls。其实在这段代码中, 我们是想调用子类的play () 函数, 这就要求在父类的play () 前加上Virtual关键字, 将父类的play () 函数设为虚函数, 然后再编译运行下就可以看到结果为:oldtigers play colorballs这句话的显示结果了。类的对象与派生类的对象的首地址都是完全一样的, pn指针既是指向父类对象, 又是指向子类对象, 在加上Virtual后, 子类有的就调用子类的函数。而在子类中相同的函数名前就不需要加Virtual, 因为根据类的继承性原理, 它同时也继承了基类的虚函数。在演示中, 可以修改部分代码, 通过得到不同的结果, 给学生讲解多态性的使用方法。

(2) 启发式教学在设计实验教学中的使用。

启发式教学是指授课教师在教学过程中根据教学任务、教学大纲和学习的一般客观规律, 从各自学校的学生实际情况出发, 根据他们自身的特点, 以多种教学方式相结合的形式, 以启发学生的思维为核心, 充分调动学生的学习自主性和积极性, 促进学生掌握好知识的一种教学思想。课程当中的每个章节, 都有重点、次重点和非重点, 教师要针对这些内容的主次对学生进行适当的启发和引导, 突出重点, 找出一些难度适当的编程题作为上机任务, 让学生在教师的帮助下独立完成程序的编写和调试, 在编写的时候发现错误, 掌握知识点。

(3) 讨论法在综合实验教学中的使用。

在课堂上, 老师在讲解完知识点后, 可以在适当的时候, 将学生进行分组讨论, 小组成员之间可以相互交流、相互启发、相互学习, 形成讨论的一种教学方法。在实验这一阶段, 将学生5~7人分成一组, 平均分成5组, 让学生通过查找资料, 上网阅读, 互相取长补短, 完成各自项目的开发。这样, 可以从某种程度上提高学生的编程兴趣, 也可以让学生在学习中获得成就感。

4培养学生积极的学习态度, 增强学生的创新能力和创新欲望

(1) 学生课前自主学习。

在每次实验课前, 将实验内容布置给学生, 学生要在实验课前先自学相应的理论, 查找资料。

(2) 教师为主导。

老师要激发学生的好奇心, 正确引导学生的求知欲望, 尽最大能力挖掘学生的学习潜能, 使学生探索问题的能力逐步增强。到目前为止, 很多面向对象程序设计的老师已经认为, 重视和发展学生的创新思维能力的培养是非常关键的。

(3) 增强学生专业能力为目的。

在课程上, 要进行考勤考评和实验考评。严格制定规范的考核方法, 将课程与实验相结合。课程期末考试和实验考核其中一项不合格者就得重修学分。此外, 可以制定全程考评的3个环节为:预习抽查 (主要检查学生是否提前预习了相关实验内容和理论知识) 、现场操作 (操作平台的使用、调试、编写代码的熟练程度等) 。问题解答 (编程的思想以及波及到的相关技术) 。

参考文献

[1]姚普选, 仇国.程序设计教程:Visual C++[M].北京:清华大学出版社, 2005.

[2]IVOR HORTON.Visual C++2005入门经典[M].北京:清华大学出版社, 2007.

[3]蒋宗礼.计算机科学与技术专业教育[J].计算机教育, 2009 (8) .

深度解析程序自动模式 第4篇

程序自动拍摄模式其实就是我们相机模式转盘上的那个“P”挡模式,它跟A/S挡一样,属于相机拍摄模式中的一种。程序自动拍摄模式在照相机的拍摄模式转盘上是位居第一位的,光从这一点就能看出来它是使用频率非常高的一种半自动拍摄模式。

绝大多数摄影人在购入第一部相机的时候,都会使用“Auto”来拍摄,也就是我们常说的傻瓜模式。然后一些“老鸟”会告诉你,“P”挡(程序自动模式)跟Auto挡基本差不多。反正很傻瓜很低端就是了……最后你就得开始看说明书,学习大师们都在使用的M/A/S挡。

其实P挡是有很多玄妙的用法跟特性的。当使用P挡拍摄时,可以在不改变曝光量的基础上,对光圈的大小和快门速度的快慢进行快速的联动式的调整,十分的方便,基本上可以应付绝大多数题材和光线环境下的拍摄任务。

所以程序自动模式的组合变化会有点像调节曝光补偿?

并不是这样的,在P挡下改变光圈与快门的组合并不能改变画面整体的曝光。也就是说,如果你还是拍一样的画面,在P挡下改变光圈与快门的组合并不会对画面的亮度产生影响。

而调节曝光补偿则是另外一回事,曝光补偿是一种曝光控制方式,一般常见在±2-3EV左右,如果环境光源偏暗,即可增加曝光值(如调整为+1EV、+2EV)以突显画面的清晰度。曝光补偿就是有意识地变更相机自动演算出的“合适”曝光参数,让照片更明亮或者更昏暗的拍摄手法。拍摄者可以根据自己的想法调节照片的明暗程度,创造出独特的视觉效果等。在P挡拍摄模式下,你是可以再进行曝光补偿的调节的。除此以外,在A挡或者是S挡,曝光补偿也是可以调节的,而M挡下曝光补偿是失去作用的。

既然画面的曝光不会发生变化,那我为什么还需要改变光圈与快门的组合?

要知道,影响画面的除了曝光以外,还有很多别的因素,比如景深,比如快门速度。尽管联动改变光圈快门不会对画面曝光产生影响,但是会改变光圈与快门速度的数值。

如果你想要背景虚化的效果,那你

最好找到一个光圈比较大的组合;如果你在拍摄高速运动的物体,那快门速度一定要足够高才可以;当你想要进行光绘、星轨拍摄的时候,比较慢的快门速度也是必须要的。

很多时候,你对光圈与快门的选择都是没有一个固定的标准的,主要是根据创作意图来决定。

这么听起来,似乎P挡跟自动挡(Auto)这两者之间并没有太大区别,对吗?

这两者还是有比较大的区别的,在Auto挡下,你要做的只是按快门拍摄,所有的参数都是相机替你做决定的,所以Auto挡是全自动挡,很多人都把这个模式戏称为傻瓜拍摄模式。在这个模式下你无法对相机的ISO感光度、白平衡等参数进行任何调整。

而使用P挡拍摄模式时,相机只会决定你的光圈与快门组合,白平衡、ISO等参数都可以进行手动的设置。

能给我说说A挡/S挡/M挡分别是什么意思吗?

A挡跟S挡都属于半自动挡位,在A挡下,你可以决定光圈大小,相机会根据测光结果自动匹配相应的快门速度。在这个模式下,白平衡、ISO、对焦方式、测光模式等都是可以自由设置的。S挡跟A挡非常类似,你可以控制快门速度,相机会自动匹配相应的光圈。而M挡则是全手动模式,在M挡下,光圈、快门、ISO等一切参数都是需要你自己手动设置的。要调的参数非常多,所以拍起来会非常麻烦,大多数人只会在一些特定的情况下使用M挡。

如果你的曝光时间要超过30秒,那你还可以仔细研究研究B门模式。

说了那么多P挡的优点,来说说它的局限性吧,什么情况下我应该使用别的模式拍摄?

这个问题其实很难有一个标准的答案,一方面是取决于你的拍摄习惯(你会发现身边很多人只用A挡或者是M挡来拍摄),另一方面也取决于你所圈定的拍摄题材,在不同的题材下,有经验的摄影师会娴熟地改变拍摄模式以达到最高效方便的拍摄效果。

在你拍摄体育比赛的时候,你往往需要把快门速度牢牢掌握在手里,并且快速的完成拍摄,所以这个时候显然S挡(快门优先)要比P挡合适;在你进行艺术人像创作的时候,景深与焦外效果会是你优先考虑的,相比来说快门速度是多少并不重要,这个时候使用A挡(光圈优先)要更加方便一点。如果是进行超过30秒的长时间曝光拍摄,你就只能选择B门模式。

当然,如果一个不懂摄影也没有时间去学习的好友恰好要出游,跟你借机器,你可能只有两个方案。一个就是大声地对他说“相机与女友恕不外借”,还有一种就是让他把模式牢牢锁定在“Auto”挡,然后教他半按快门跟全按快门两种操作方式就好。

拍摄建议 光圈跟快门组合

根据你的拍摄需求,改变光圈与快门的组合,达到最佳的拍摄平衡点。

决定画面曝光亮度的两个最重要的因素就是光圈跟快门。光圈就相当于控制镜头的进光孔大小,光圈越大,镜头的进光孔越大,单位时间内到达传感器的光线就越多,相同曝光量所需要的曝光时间就越少(即快门速度越高)。

同样的道理,当你的光圈越小的时候,你就需要更长的曝光时间,否则画面会曝光不足。这些都是你在程序自动模式下需要注意的权衡。

当你转动相机的轮盘的时候,光圈跟快门会成组合的发生变化,但是总的画面曝光量不会变化。光圈越大,景深越浅,快门速度就越高;光圈越小,景深越大,快门速度就越低。根据你的拍摄题材跟创作目的自行调整就好。

最后,需要注意的是,测光模式跟ISO是独立于P挡模式的,需要你单独设置。

nlc202309040735

详解使用P挡拍摄

跟随步骤来了解P挡的使用

选择模式

在大轮盘上把相机拍摄模式转到P挡,也就是程序自动模式。你会发现半按快门以后相机会自动根据所拍画面来匹配对应的光圈与快门组合,你只需要直接按下快门拍摄即可。

调整设置

启动程序自动曝光以后,转动相机的轮盘,你会发现光圈与快门的组合会变化,同样的场景下,快门越高光圈越大;快门越慢光圈越小。根据你的实际使用需求来调整设置就好。

改变ISO

如果光圈跟快门的组合怎么改变都不合适,画面总是过亮或者是过暗。这个时候你就可以试着调整相机的ISO设置了,ISO值越高,相机的传感器对光线就越敏感。

程序自动模式下的拍摄指导方案

使用P挡拍摄得到的结果并不总是正确的,看看遇到这些情况你该怎么办吧。

白/黑色的主体

程序自动模式下,相机匹配出来的快门跟光圈的组合是基于“中性灰”的基准的,也就是说,如果画面大部分是白色或者是黑色,直接P挡拍出来的都会是灰色。遇到这样的情况,你需要利用相机的曝光补偿功能相应地做出调整,才能得到最合适的曝光。

闪光灯输出

程序自动模式下最好不要使用闪光灯进行拍摄,因为此时的快门同步速度会受到限制,只会在1/60秒到最高同步速度之间调整,经常会拍出上图那样主体被打亮,但是背景曝光不足的照片。你需要更慢的快门速度才可以。如果要使用闪光灯,建议使用A挡或者是S挡。

低照度情况

在程序自动模式下,相机会根据当前的画面亮度以及ISO设置来自动匹配光圈与快门,当遇到光线不太好的场景的时候,把光圈开到最大,快门速度依旧会很慢,很容易就把画面拍虚。这个时候你可以适当地提高ISO,以保证快门速度。当然,你也可以选择使用三脚架。

拍摄建议 改变曝光组合

学会如何改变光圈与快门组合,同样的场景拍出不同的效果。

拿这朵室内的花为例,光线比较弱。选择P挡,因为画面亮度不高,相机在程序自动拍摄模式下匹配了最大的光圈f/2.8跟1秒的快门速度组合,这是默认设置。但是在这个组合下,由于光圈太大,导致画面的景深非常浅,只能拍清楚这朵花的极少一部分。

较小的光圈可以增大景深,但是这就意味着在不改变ISO的前提下,你需要更慢的快门速度。如果你有一个三脚架的话,那这就不是什么问题。改变光圈与快门的组合,选择f/16的小光圈与30秒的曝光时间,你会发现整个花朵的每一部分都被拍清晰了。

还不清楚?联系我们!

对于程序自动曝光模式,你还有什么疑问?可以加我们的微信yxsjzz,将你的问题发给我们,让《影像视觉》成为你的摄影教练!

程序设计笔试题解析 第5篇

剖析:

考查对基本功的掌握:

(1)字符串以’�’结尾;

(2)对数组越界把握的敏感度;

USB Device实验程序解析 第6篇

VISUAL PROLOG是一种基于Windows系统的程序设计语言, 以PROLOG语言为基础, 其基本原理与DOS系统的TURBO PROLOG十分相似。就操作难度而言, 如果程序设计人员掌握TURBO PROLOG语言, 就能够很容易上手和学习VISUAL PROLOG。但从性能上来看, VISUAL PROLOG较以往的PROLOG语言来说, 有了较大改进, 不但具有友好的操作界面, 同时增加了大量的内部谓词, 有效提升了程序编制效率。其交互式可视化操作环境也大大方便了程序员实现高效、简便的应用开发。

2 VISUAL PROLOG编程的主要特征

2.1 VISUAL PROLOG的基本特征

VISUAL PROLOG为描述性程序设计语言, 同时具有较强的逻辑思维及演绎推理性能, 只要预先提供所要描述的内容以及规则, 无需细致编绘具体操作步骤, VISUAL PRO-LOG语言就能够通过演绎推理, 得出结果。

2.2 具有自动实现匹配和回溯的功能

因VISUAL PROLOG语言无需提供细致的操作步骤, 而是由VISUAL PROLOG语言根据程序规则进行逻辑推算, 因此可能推算过程中出现偏差, 如果出现这一情况, VISUAL PROLOG语言就会自动放弃这一推算过程, 回溯到上一推算阶段以另一种可能的情况进行推算, 直到完成整个逻辑推算过程。

2.3 提供了交互式的环境

VISUAL PROLOG语言能够为用户提供一个交互式知识系统, 供设计人员及用户开发与使用, 提升编程及使用效率。

2.4 VISUAL PROLOG编程具有递归性

智能程序设计需要将大型复杂的问题根据一定规则通过层层转换的方式, 最终递归为一个简单问题进行求解, 而VISUAL PROLOG语言具有较强的递归性, 这就很大程度上减少了程序的代码量, 提升了程序设计效率, 加强了PRO-LOG编程的可读性, 便于维护。

3 智能程序设计语言VISUAL PROLOG的编程解析

3.1 VISUAL PROLOG程序的构成

智能程序设计语言VISUAL PROLOG程序主要包括:论域 (domains) 、谓词 (predicates) 、事实与规则 (clauses) 、目标 (goal) 这四个部分。其中domains论域部分的作用相当于Java语言中数据类型的声明, 表明论域的类型, 起到域声明的作用;predicates谓词部分用来表明这段程序所用的谓词;clauses规则部分表明程序所表述的事实与规则, VISUAL PROLOG语言主要就是通过clauses来实现逻辑推理的;goal目标部分是VISUAL PROLOG语言编程的基础部分, 也就是整个求解过程的依据。VISUAL PROLOG编程主要就是通过上述几个部分所构成, 由此对程序中所描述的事实、规则、目标、谓词进行编制。

3.2 语法规则与书写

3.2.1 事实书写

程序所描述的事实是程序的核心, 事实通常包括一个或是若干个对象, 并由这些对象构成一定的关系, 因此事实的书写主要就包括关系与对象, 不同对象用逗号表示, 格式为:关系 (对象1, 对象2…对象n) 。例如teacher (susan) 这一程序书写描述的事实即为苏珊是教师;Likes (jimmy, apple) , 这一程序书写描述的事实为吉米喜欢苹果;Return (smith, jack, watch) , 描述的事实为史密斯还给杰克一块表。

3.2.2 规则书写

规则是描述各个对象主客体以及相互间构成逻辑关系的规则, 其主要格式是:

关系 (对象1, 对象2…对象n) :—关系 (对象1, 对象2…对象n) , … (对象1, 对象2…对象n) .

比如:bird (X) :—animal (X) , has (X, feather) .“:”前的规则头表示总对象, “:”后的内容是构成总对象的逻辑关系, 也就是由各个分对象形成构成总对象的规则。“—”的含义为if, 就是如果具备“:”后面的规则就能构成“:”前的总对象, 使所描述的内容成立。综上, 这一程序书写所描述的内容为有羽毛的动物是鸟。此外, 一套规则书写最多能够有两个规则头, 就是两个总对象。“:”后各对象间的“, ”表示and或or。但“:”前的规则头中, 即便写入了两个规则头, 也不能用“, ”加以区分。规则描述完毕需要用“.”表示完结。本小结案例中的X表示为变量, VISUAL PROLOG语言中的变量无需特别表明, 只要以一个或若干个字母、单词表示。

3.3 VISUAL PROLOG程序的执行 (推理) 过程

VISUAL PROLOG执行以目标 (goal) 部分为出发点, 从 (goal) 开始搜索, 查找目标所在程序中所描述的事实及规则, 并进行自动匹配与回溯, 直到实现目标的成立为止。如同前文所述, 一个目标所包括的事实和规则可能并不唯一, 因此在执行与推理过程中, 就会通过回溯功能, 不断推理, 直至推理出所包含的所有事实与规则。以下就以一个VISUAL PROLOG程序句子为例, 探究VISUAL PROLOG程序的执行 (推理) 流程。

这是一个关于验证john是否为bob的后代的VISUAL PROLOG句子。

首先goal目标部分为descendant (john, bob) 。即后代 (约翰, 鲍勃) , 表示约翰是否为鲍勃的后代。domains论域部分为, name=symbol。表示以name (名字) 作为本VISUAL PROLOG句子的变量。Predicates谓词部分为child (name, name) 。表示括号内后面的name是前面name的孩子。Clause事实与规则部分主要包括:

child (john, mary) .

child (john, bill) .

child (bill, bob) .

child (bill, susan) .

descendant (X, Y) :—child (X, Y) .

descendant (X, Z) :—child (X, Y) , descendant (Y, Z) .

首先这个句子的目标为descendant (john, bob) , 推理就以这一目标开始, 之后自动匹配到这一句子的规则, 首先分别分配各个规则, 再以依次判断各个规则是否成立, 如果不成立则回溯到上一个推理过程, 重新推理可能的结果, 通过不断通过回溯、匹配, 层层递归达到目标成立的作用, 具体流程见图1。

通过上述过程, 推理出bill是bob的孩子, 而在clause规则部分中给出child (john, bill) , john是bill的孩子, 因此推理出john为bob的孙子, 即为bob的后代, 最终完成了整个执行 (推理) 过程。

4 结束语

VISUAL PROLOG是一种基于Windows系统的程序设计语言, 具有很强的逻辑推理能力, 能够借助自动匹配、回溯进行层层递归, 完成整个程序执行与推理过程。综上所述, 本文首先对VISUAL PROLOG编程的基本特征进行概述, 在此基础上, 明确程序的编写方式、方法, 并结合实例对程序的执行与推理过程展开解析, 希望本次研究能为相关人士提供些许参考作用。

摘要:VISUAL PROLOG具有很强的逻辑推理能力, 且易于编程, 操作界面友好, 近年来得到程序设计行业的广泛关注。本文对VISUAL PROLOG程序设计语言的主要特征进行概述, 在此基础上, 对基于VISUAL PROLOG语言的程序编程展开较为深入的探究。

关键词:智能程序设计语言,VISUAL PROLOG,编程解析

参考文献

[1]江耿豪.基于Visual Prolog的自动答疑系统设计与实现[J].现代教育技术, 2010 (07) :122-125.

[2]王玉刚, 彭海军, 杨明绪.基于Visual prolog语言的专家系统[J].科技创新导报, 2011 (04) :46-47.

[3]武桂鑫, 许烁.C++与Prolog双向数据交换实现混合控制架构下机器人任务规划[J].计算机应用, 2015 (S1) :203-205+225.

[4]刘红梅.基于Visual Prolog语言的电喷发动机故障诊断系统的研究[D].西安:长安大学, 2014.

[5]彭军.基于Visual Prolog的数控系统故障诊断专家系统研究[D].南京:南京林业大学, 2013.

USB Device实验程序解析 第7篇

1 DOM解析器

DOM是XML文档的编程基础,它定义了处理文档的途径。编程者可以使用DOM定位文档结构,还可以添加、修改或删除文档元素。W3C的重要目标就是利用DOM提供一个能用于多个平台的编程接口。W3C DOM被设计成适合多个平台,可以使用任意编程语言实现的方法。在DOM中,代表XML文档的编程对象的就是节点。IE在处理一个XML文档并把它保存在DOM时,会为XML文档的每个基本组件(例如,元素、属性、处理指令等)创建一个节点。DOM使用不同类型的节点来代表不同的XML组件。例如,元素保存在Element节点中,属性保存在Attribute节点中,处理指令则保存Processing Instruction节点中。利用编程接口,程序可以遍历这些节点,并完成获取节点值、修改节点值等工作。XML解析器用于把XML文档装载到缓存中,文档装载时,可以使用DOM进行检索和处理。DOM采用树型结构表示XML文档,文档元素是树的最高节点(根节点),根节点有一个或多个子节点,用来表示树的分枝。一般根节点会有元素、注释、处理指令等分支。而DOM解析器是一个基于树的解析器,它为文档的每一个元素和字符数据区域创建对象。

2 SAX解析器的算法分析

SAX解析器有基于事件的和基于树的解析器。与AWT(Abstract Window Toolkit)中的事件驱动机制相类似,SAX通过事件驱动来识别XML文档的内容,即当它在XML文档中发现特殊符号时,它就会解发相关的事件。SAX解析器是基于事件的解析器,要从一个大型文档中提取信息,它可能更有效率。它是在每个元素及每个字符数据区域开始和结束的时候,调用一个用户定义的方法,该方法创建一个替代的数据结构。通常以“工厂”方式创建XML解析器。这里就介绍创建一个SAX解析器的过程:

2.1创建一个Parser实例。2.2创建并初始化Parser Handler的一个实例。2.3使用Parser Handler初始化Parser实例。2.4用XML URL调用Parser。2.5 Parser检索并解析该文档,在文档的开始、每个元素的开始、每个字符数据域的结束、每个文档的结束和文档的结束都要调用Handler。当前,有两个版本的SAX解析器可用。本文中的代码使用原始SAX类和方法。而在SAX2解析器框架中,包括了对命名空间(其他事物在其中)的支持。这里描述的方法在SAX2中仍然支持。但是这些SAX1的方法可以为SAX2中新的同名方法所替代。下面是引用IBM解析器,介绍如何创建一个解析器的代码是:

定义parser类,然后使用parser factory创建一个解析器。再创建一个document handler,然后设置该解析器使用该document handler:

通过向该解析器传递一个URL,调用该解析器,例如:

整个代码被封装在异处理中,以捕捉异常,结果为如下的方法:

执行该解析器的一个简单的类是:

SAX解析器的算法流程图如图1所示。

可以创建一个句柄handler,它引用Debug Handler类实现Document Handler SAX接口,它有如下的方法:

a.文档的开始发出“start document”。

b.每个元素的开始发出“start:”。

c.每个字符数据区的结束发出该字符数据区(用一个“!”结尾,以界定空格)。

d.每个元素的结束发出“end”。

e.文档的结束发出“end document”。

在如下的一个简单文档上,执行测试过程时:

该句柄将创建某些象这样的输出:

3 本文小结

本文主要介绍了SAX解析器的实现算法和具体程序分析,程序是java语言来实现的。文中采用的XML解析器是基于事件的解析器SAX。事实上一个较为良好的XML文档都具有树型结构,因此这是一个需要改进的地方。一个基于树的XML解析器,例如DOM,在实践编程中使用DOM解析器将比使用SAX解析器要要相对简易,因为SAX是处于一个较低的层次上。

在程序实现中,遇到了“缩进空格”处理、异常处理和处理XML文档本身的处理命令等问题,虽然最后基本上克服了,但是本解析程序对于解析复杂多变的XML文档可能会不太适用。

摘要:针对SAX解析器的实现算法和具体程序进行了论述。

USB Device实验程序解析 第8篇

凸轮机构是一种结构简单、紧凑,易于实现从动件各种预期运动规律的三构件高副机构。该类机构以其多用性和灵活性被广泛应用于各类机械。只要适当地设计出凸轮的轮廓曲线,就可以使从动件获得任意预期的运动规律,故从动件的运动精度在很大程度上取决于凸轮轮廓曲线的形状精度。根据反转法原理用图解法设计凸轮廓线,形象直观,简单易行[1]。但由于做图误差较大,得到的廓线精确度不高,加之用画线法或仿形法加工时带来的加工精度误差,使得加工出来的凸轮廓线很难满足从动件的实际运动规律与预期运动规律的吻合[2]。本文以移动滚子从动件盘形凸轮为例,在反转法原理的理论基础上,用解析法建立了凸轮的廓线方程,并编制了基于FANUC系统的用户宏程序,设置合适的凸轮几何参数变量(改变相应的参数变量值,可以加工不同尺寸的同系列凸轮),在数控铣床(或加工中心)上完成凸轮的轮廓加工,提高了从动件的实际运动规律与预期运动规律的一致性。

2 凸轮廓线方程的建立

2.1 理论廓线方程建立

图1为一偏置移动(偏心距e≠0)滚子从动件盘形凸轮机构简图。设立如图所示的直角坐标系xoy。以B0点标识从动件A处于运动起始点A0时其滚子铰链中心所处位置(该点至凸轮回转中心O在y坐标方向上的距离用S0表示),若凸轮逆时针转过θ角时,从动件的位移为S。根据反转法原理作图1(从动件顺时针转过θ角至虚线位置),由图1看出,滚子铰链中心将处于B点,其直角坐标可表示为:

式中e为偏心距;

2.2 实际廓线方程

滚子从动件盘形凸轮机构中,凸轮的实际廓线是以理论廓线上各点为圆心的一系列滚子圆的包络线。故实际廓线和理论廓线在法线方向上处处等距(均为滚子半径值rg)。若已知理论廓线上任一点B的坐标为(x,y),则沿理论廓线在该点的法线方向距离B点为rg的点B′(x′,y′)即为实际廓线上的相应点。因曲线上任一点的法线斜率与该点的切线斜率互为负倒数,故理论廓线在B点处法线nn的斜率可由式(2)求得

式中sinθ+(S0+S)cosθ

凸轮实际廓线上B′点的坐标为

式中cosα、sinα可由式(2)求得,故式(3)可表示为

式(4)即为凸轮实际廓线方程。

3 盘形凸轮数控加工宏程序编制

本文基于FANUC系统提供的宏功能编制盘形凸轮的通用加工程序。

关于凸轮宏程序的编制,大多文献中均采用以凸轮理论轮廓曲线为刀心运动轨迹、选取滚子半径为刀具半径的方法[4],这无疑在加工条件上增加了其局限性。本文应用了刀具半径补偿功能,可根据具体的加工要求选用合理的刀具。

程序如下:

在该程序中,D01的值可根据所用铣刀的半径值输入给定,粗加工时,可在此处多次调用不同的刀具半径补偿值,或者用循环指令设定。

在配备FANUC 0i-MC系统的XD40A型数控铣床上运行该程序,对加工产品的尺寸精度和表面粗糙度等指标进行检测,均在设计要求范围之内。

4 结语

从盘形凸轮的解析法设计和宏程序数控加工过程可以看出,对于轮廓形状比较复杂的工件,只要用解析法建立了工件轮廓曲线的数学表达式,借助于宏程序的变量运算功能,可以编制出精简的数控加工程序,克服了自动编程造型和CAM参数设置繁琐、后处理程序冗长、指令代码不易修改等缺点。只需改变宏程序中的变量值,可以加工出尺寸不同、形状相近的系列工件。

摘要:凸轮机构以其多用性和灵活性广泛应用于各类机械。用解析法建立凸轮廓线方程,并编制宏程序在数控机床上进行加工,克服了传统的图解法设计与仿形法加工的缺点,提高了凸轮机构从动件的实际运动规律与预期运动规律的吻合性。

关键词:凸轮机构,解析法,设计,宏程序,加工,运动规律

参考文献

[1]张世民.机械原理[M].北京:中央广播电视大学出版社,2003.

[2]朱正心.机械制造技术[M].北京:机械工业出版社,2004.

[3]杨世平,朱中喜,等.基于宏指令的规则曲面数控加工程序的开发应用[J].机械设计与制造,2003(6):52-53.

USB Device实验程序解析

USB Device实验程序解析(精选8篇)USB Device实验程序解析 第1篇解析个人贷款的程序在现实生活中,可能很多人会面临资金短缺,那么就可...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部