自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (64)
  • 收藏
  • 关注

空空如也

研究生(硕士+博士研究生使用)复试 英语自我介绍 成功上岸985高校

英语自我介绍(原则对简历的高度概括和凝炼) 英语自我介绍和英语问答都是重在流畅和自信(而不是侧重于语法) 难一点的词汇有音标注释 针对有工作的考研 可以稍微修改为自己的模板使用

2022-06-07

一款好用的科研PDF阅读器,Sumatra PDF

一款好用的科研PDF阅读器,开源。可做笔记。

2022-06-06

《传感器技术及应用》课程教学实施报告

《传感器技术及应用》课程教学实施报告

2022-06-06

昆明理工大学考博英语词汇真题(范围)

昆明理工大学考博英语词汇真题(范围),复习单项选择词汇,做题记单词。2022年笔试在线,因压缩一半的时间,没有词汇。

2022-06-06

hadoop-eclipse-plugin-1.2.1.jar

ant编译的hadoop-eclipse-plugin-1.2.1.jar 经测试eclipse-java-juno-SR2-linux-gtk.tar.gz 4.2.2 是成功的

2013-08-20

2010.06-2012.06英语六级真题答案整理和分析

自己从一网站上整理的2010.06-2012.06英语六级真题答案整理和分析

2012-11-06

软件工程之专题十一: 系统工程知识

专题十一: 系统工程知识 1. 系统与系统工程: 1.1 系统的概念: 系统就是由多个元素有机的结合在一起,执行特定的功能以达到特定目标的集合体,说的更详细一点就是: [1] 系统是由各个元素或子系统组成的; [2] 系统的各元素之间是相互作用和相互制约的; [3] 系统是有目标的; [4] 系统和环境有关,要适应环境的变化; [5] 系统有强烈的整体性,单元要服从整体。 一般系统论的概念:相互作用的多元素的复合体,系统具有多元性、相关性和整体性; 对系统概括为整体性、关联性、动态性、有序性和终极性,其中整体性是系统思想的核心观点,整体性不等于局部特性之和; 1.2系统的分类 系统可以按照各种各样的方法进行分类,一般的分类方法有5种: [1] 按系统的复杂程度:静态系统、控制系统、生物系统、社会系统和宇宙系统 [2] 按系统的抽象程度:概念系统、逻辑系统和实体系统 [3] 按系统的功能:经济系统、军事系统、电力系统和铁路信息系统 [4] 按系统的内部结构、形态:开环系统和闭环系统,静态系统和动态系统,线性系统和非线性系统,确定性系统和随机系统; [5] 按系统与外界的关系:封闭系统和开放系统; 1.3系统的特性 系统具有如下特性: [1] 整体性:系统中的元素是有机结合的 [2] 层次性:系统中的每个元素仍然可以看做是一个系统 [3] 相关性:系统内各个元素是有联系和相互作用的 [4] 目的性:任何一个系统都有一定的目标 [5] 环境适应性:任何系统都处在特定的环境中; 1.4系统与环境 一个系统之外的一切与其相关的事物构成的集合,统称为系统的环境。系统从环境中产生,在环境中运行、延续和演化。 系统的能控与能观:也可以称为可控和可观,这在控制系统中是重要的概念; 系统的接口与耦合:是指系统与环境的结合点或者是子系统之间的连接点,在信息系统中接口的作用十分重要。系统的耦合是指系统之间的联系,某些系统之间不容易耦合,可以采用缓冲器或者是中间件与之联系。 系统的自组织性:子系统之间的自发通过相互作用就能产生协同想象和相干效应,形成自己一定的组织功能和时空结构,使系统表现出新的有序状态。 1.5系统工程与系统方法 系统工程是系统科学在工程技术中的应用,其核心是组织管理与决策。所谓的系统工程主要有两层意思: 1) 作为学科,它研究大规模复杂系统为对象的一门新学科; 2) 作为工程,它又是一们工程技术,具有一般工程技术的特征,又有其自身的特点,研究物质系统和概念系统; 系统的思想即吧研究对象作为整体来考虑,着眼于整体最优进行, 1.6信息系统工程 信息工程一般是指以计算机、网络、数据库、软件等信息技术于产品为基本构件的系统工程; 信息系统工程的特征: 1) 信息系统工程是将信息系统、系统工程和信息工程三者相结合的产物。 2) 信息工程基于数据库系统; 3) 信息工程的目标是建设计算机化的企业管理系统 4) 信息工程是有多种技术和学科的综合; 5) 是一个以生产信息、辅助企业管理和决策的人/机社会系统工程; 6) 以数据库系统为中心,而且已经建立在计算机和网络平台上; 信息系统工程的发展: 大致可分为三大阶段: 1) 数据处理时代:中央处理机 2) 微机时代:分布式处理 3) 网络时代:规模更大、复杂性更高 2.系统分析基础知识 2.1系统分析的目的和任务 系统分析的主要任务似乎对现行的系统进一步详细调查,将调查到的文挡资料集中,对组织内部整体管理状况和信息处理过程进行分析,为系统开发提供所需的资料,并提交系统方案说明书; 系统分析侧重于从业务全过程的角度进行分析,确定分析结果,提出信息系统的各种设想和方案,并对所有的设想和方案进行分、研究、比较、判断和选择,获得一个最优的新系统的逻辑模型,并在用户理解计算机系统的工作流程和处理方式的情况下,将它明确的表达成书面资料—系统分析报告,即系统方案说明书。 系统分析阶段的结果是得到目标系统的逻辑模型,系统分析的主要步骤: 1) 对当前的系统进行详细调查,收集数据; 2) 建立当前系统的逻辑模型 3) 对现状分析,提出改良意见和新年系统应达到的目标 4) 建立新系统的逻辑模型 5) 编写系统方案说明书 2.2结构化分析方法 采用结构化的分析方法对一个系统进行

2011-06-05

软件工程之专题十:算法分析与设计

专题十:算法分析与设计 1.常用的算法设计方法:   1.1 迭代法   1.2 穷举搜索法   1.3 递推法   1.4 递归法   1.5 贪婪法   1.6 分治法   1.7 动态规划法   1.8 回溯法 算法基础部分: 算法是对特定问题求解步骤的一种描述,算法是指令的有限序列,其中每一条指令表示一个或多个操作。 算法具有以下5个属性:   有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完成。   确定性:算法中每一条指令必须有确切的含义。不存在二义性。只有一个入口和一个出口   可行性:一个算法是可行的就是算法描述的操作是可以通过已经实现的基本运算执行有限次来实现的。   输入:一个算法有零个或多个输入,这些输入取自于某个特定对象的集合。   输出:一个算法有一个或多个输出,这些输出同输入有着某些特定关系的量。 所以对应的算法设计的要求:   正确性:算法应满足具体问题的需求;   可读性:算法应该好读,以有利于读者对程序的理解;   健壮性:算法应具有容错处理,当输入为非法数据时,算法应对其作出反应,而不是产生莫名其妙的输出结果。   效率与存储量需求:效率指的是算法执行的时间;存储量需求指算法执行过程中所需要的最大存储空间。一般这两者与问题的规模有关。 1.1 迭代法: 迭代法是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式x=g(x),然后按以下步骤执行: (1)选一个方程的近似根,赋给变量x0; (2)将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; (3)当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。 若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。上述算法用C程序的形式表示为: 【算法】迭代法求方程的根 { x0=初始近似根; do { x1=x0; x0=g(x1); /*按特定的方程计算新的近似根*/ } while ( fabs(x0-x1)>Epsilon); printf(“方程的近似根是%f\n”,x0); } 迭代算法也常用于求方程组的根,令 X=(x0,x1,…,xn-1) 设方程组为: xi=gi(X) (I=0,1,…,n-1) 则求方程组根的迭代算法可描述如下: 【算法】迭代法求方程组的根 { for (i=0;i<n;i++) x[i]=初始近似根; do { for (i=0;i<n;i++) y[i]=x[i]; for (i=0;i<n;i++) x[i]=gi(X); for (delta=0.0,i=0;i<n;i++) if (fabs(y[i]-x[i])>delta) delta=fabs(y[i]-x[i]); } while (delta>Epsilon); for (i=0;i<n;i++) printf(“变量x[%d]的近似根是 %f”,I,x[i]); printf(“\n”); } 具体使用迭代法求根时应注意以下两种可能发生的情况: (1)如果方程无解,算法求出的近似根序列就不会收敛,迭代过程会变成死循环,因此在使用迭代算法前应先考察方程是否有解,并在程序中对迭代的次数给予限制; (2)方程虽然有解,但迭代公式选择不当,或迭代的初始近似根选择不合理,也会导致迭代失败。 1.2 穷举搜索法: 穷举搜索法是对可能是解的众多候选解按某种顺序进行逐一枚举和检验,并从中找出那些符合要求的候选解作为问题的解。 要解决的问题只有有限种可能,在没有更好算法时总可以用穷举搜索的办法解决,即逐个的检查所有可能的情况。可以想象,情况较多时这种方法极为费时。实际上并不需要机械的检查每一种情况,常常是可以提前判断出某些情况不可能取到最优解,从而可以提前舍弃这些情况。这样也是隐含的检查了所有可能的情况,既减少了搜索量,又保证了不漏掉最优解。 【问题】 将A、B、C、D、E、F这六个变量排成如图所示的三角形,这六个变量分别取[1,6]上的整数,且均不相同。求使三角形三条边上的变量之和相等的全部解。如图就是一个解。 程序引入变量a、b、c、d、e、f,并让它们分别顺序取1至6的整数,在它们互不相同的条件下,测试由它们排成的如图所示的三角形三条边上的变量之和是否相等,如相等即为一种满足要求的排列,把它们输出。当这些变量取尽所有的组合后,程序就可得到全部可能的解。细节见下面的程序。 # include <stdio.h> void main() { int a,b,c,d,e,f; for (a=1;a<=6;a++) //a,b,c,d,e依次取不同的值 for (b=1;b<=6;b++) { if (b==a) continue; for (c=1;c<=6;c++) { if (c==a)||(c==b) continue; for (d=1;d<=6;d++) { if (d==a)||(d==b)||(d==c) continue; for (e=1;e<=6;e++) { if (e==a)||(e==b)||(e==c)||(e==d) continue; f=21-(a+b+c+d+e);//最后一个用减法算 if ((a+b+c==c+d+e))&&(a+b+c==e+f+a)) { printf(“%6d,a); printf(“%4d%4d”,b,f); printf(“%2d%4d%4d”,c,d,e); scanf(“%c”); } } } } } }

2011-06-05

软件工程之专题九:数据结构知识

专题九:数据结构知识 数据结构是计算机软件的一门基础课程,计算机科学各个领域及有关的应用软件都要用到各种数据结构.语言编译要使用栈、散列表及语法树;操作系统中用队列、存储管理表及目录树等;数据库系统运用线性表、多链表及索引树等进行数据管理;而在人工智能领域,依求解问题性质的差异将涉及到各种不同的数据结构,如广义表、集合、搜索树及各种有向图等等。学习数据结构目的是要熟悉一些最常用的数据结构,明确数据结构内在的逻辑关系,知道它们在计算机中的存储表示,并结合各种典型应用说明它们在进行各种操作时的动态性质及实际的执行算法,进一步提高软件计和编程水平。通过对不同存储结构和相应算法的对比,增强我们根据求解问题的性质选择合理的数据结构,并将问题求解算法的空间、时间及复杂性控制在一定范围的能力。 软件设计师考试大纲对数据结构部分的要求是熟练掌握常用数据结构和常用算法,因此,本专题从数据结构的概述出发,对基本的概念引出常用的数据结构类型的介绍和讲解,同时在讲解各种数据结构中间采用算法与数据结构相结合的方式,在算法步骤中使用数据结构,对数据结构的重点、难点进行了分析,最后讲解了与数据结构紧密相关的排序和查找算法,以及一些以往考试题的分析。 1. 数据结构概述 数据结构研究了计算机需要处理的数据对象和对象之间的关系;刻画了应用中涉及到的数据的逻辑组织;也描述了数据在计算机中如何存储、传送、转换。 学习数据结构注意的问题:  系统掌握基本数据结构的特点及其不同实现。  了解并掌握各种数据结构上主要操作的实现及其性能(时间、空间)的分析。  掌握各种数据结构的使用特性,在算法设计中能够进行选择。  掌握常用的递归、回溯、迭代、递推等方法的设计  掌握自顶向下、逐步求精的程序设计方法。  掌握自顶向下、逐步求精的程序设计方法。 在学习数据结构的知识之前,我们要了解一下数据结构中的基本概念。 数据:对客观事物的符号表示,在计算机中就是指所有能输入到计算机中并被计算机程序所处理的符号的总称。 数据项: 是数据的不可分割的最小单位; 数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行处理;一个数据元素可由若干个数据项组成。 数据对象:是性质相同的数据元素的集合,是数据的一个子集。 数据结构上的基本操作: ◆插入操作 ◆删除操作 ◆更新操作 ◆查找操作 ◆排序操作 数据结构是指数据对象及相互关系和构造方法,一个数据结构B形式上可以用一个二元组表示为B=(A,R)。其中,A是数据结构中的数据(称为结点)的非空有限集合,R是定义在A上的关系的非空有限集合。 根据数据元素之间的关系的不同特性,通常有下列4类基本结构。  集合——结构中的数据元素除了“同属于一个集合”的关系外,别无其他关系。  线性结构——结构中的数据元素之间存在一个对一个的关系。  树形结构——结构中的元素之间存在一个对多个的关系。  图状结构或网状结构——结构中的元素之间存在多个对多个的关系。 数据结构中,结点与结点间的相互关系是数据的逻辑结构。数据结构在计算机中的表示(又称为映象)称为数据的物理结构,也称存储结构。 数据元素之间的关系在计算机中有两种不同的表示方式:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。 任何一个算法的设计取决于选定的数据(逻辑)结构,而算法的实现依赖于采用的存储结构。 数据的逻辑结构分为两类: 线性结构:线性表、栈、队列和串 非线性结构:树、图 数据的存储方法有四类: 顺序存储方法 链接存储方法 索引存储方法 散列存储方法 2. 常用数据结构 2.1线性表 在数据结构中,线性结构常称为线性表,是最简单、最常用的一种数据结构,它是由n个相同数据类型的结点组成的有限序列。 其特点是:在数据元素的非空有限集合中,  ◆存在唯一的一个被称做“第一个”的数据元素  ◆存在唯一的一个被称做“最后一个”的元素数据元素  ◆除第一个之外,集合中的每个数据元素均只有一个前驱  ◆除最后一个之外,集合中每个数据元素均只有一个后继 一个由n个结点e0,e1…,en-1组成的线性表记为:(e0,e1…,en-1)。线性表的结点个数称为线性表的长度,长度为0的线性表称为空的线性表,简称空表。对于非空线性表,e0是线性表的第一个结点,en-1是线性表的最后一个结点。线性表的结点构成了一个序列,对序列中两个相邻结点ei和ei-1,称前者是后者的前驱结点,后者是前者的后继结点。 线性表最重要的性质是线性表中结点和相对位置是确定的。 线性表的结点也称为表元,或称为记录,要求线性表的结点一定是同一类型的数据。线性表的结点可由若干个成分组成,其中唯一标识表元的成分成为关键字,简称键。 线性表是一个相当灵活的数据结构,它的长度可以根据需要增长或缩短。对线性表的基本运算如下:  INITIATE(L)初始化操作  LENGTH(L) 求长度函数  GET(L,i) 取元素函数  PRIOR(L,elm)求前驱函数  NEXT(L,elm) 求后继函数  LOCATE(L,x) 定位函数  INSERT(L,i,b)插入操作  DELETE(L,i) 删除操作 有多种存储方式能将线性表存储在计算机内,其中最常用的是顺序存储和链接存储。根据存储方式的不同,其上述的运算实现也不一样。 ◆ 顺序存储:是最简单的存储方式,其特点是逻辑关系上相邻的两个元素在物理位置上也相邻。通常使用一个足够大的数组,从数组的第一个元素开始,将线性表的结点依次存储在数组中。 顺序存储方式优点:能直接访问线性表中的任意结点。 线性表的第i个元素a[i]的存储位置可以使用以下公式求得: LOC(ai)=LOC(a1)+(i-1)*l 式中LOC(a1)是线性表的第一个数据元素a1的存储位置,通常称做线性表的起始位置或基地址。 顺序存储的缺点: 1) 线性表的大小固定,浪费大量的存储空间,不利于节点的增加和减少; 执行线性表的插入和删除操作要移动其他元素,不够方便; ◆链式存储 线性表链接存储是用链表来存储线性表。 单链表(线性链表): 从链表的第一个表元开始,将线性表的结点依次存储在链表的各表元中。链表的每个表元除要存储线性表结点的信息以外,还要有一个成分来存储其后继结点的指针。 线性链表的特点是:每个链表都有一个头指针,整个链表的存取必须从头指针开始,头指针指向第一个数据元素的位置,最后的节点指针为空。当链表为空时,头指针为空值;链表非空时,头指针指向第一个节点。 链式存储的缺点: 1) 由于要存储地址指针,所以浪费空间; 直接访问节点不方便; 循环链表: 循环链表是另一种形式的链式存储结构,是单链表的变形。它的特点就是表中最后一个结点的指针域指向头结点,整个链表形成一个环。因此,从表中任意一个结点出发都可以找到表中的其他结点。 循环链表和单向链表基本一致,差别仅在于算法中循环的条件不是结点的指针是否为空,而是他们的指针是否等于头指针, 循环链表最后一个结点的 link 指针不为 0 (NULL),而是指向了表的前端。 为简化操作,在循环链表中往往加入表头结点。 循环链表的特点是:只要知道表中某一结点的地址,就可搜寻到所有其他结点的地址。 循环链表的示例: 带表头结点的循环链表 : 双向链表: 双向链表是另一种形式的链式结构,双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前趋。双向链表克服了单链表的单向性的缺点。 前驱方向 后继方向 双向链表也可以有循环表,链表中存在两个环。一个结点的前趋的后继和该结点的后继的前趋都是指向该结点的。 p == p→lLink→rLink == p→rLink→lLink 2.2 栈 栈(Stack)是限定仅在表尾进行插入或删除操作的线性表。表尾端称栈顶(top),表头端称栈底(bottom)。 若有栈 S=(s0,s1,…,sn-1)则s0为栈底结点,sn-1为栈顶结点。通常称栈的结点插入为进栈,栈的结点删除为出栈。因为最后进栈的结点必定最先出栈,所以栈具有后进先出的特点。可以用一下一个图形来形象的表示: 栈有两种存储结构:顺序栈和链栈 顺序栈即栈的顺序存储结构是,利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时设指针top指示栈顶元素的当前位置。 栈也可以用链表实现,链式存储结构的栈简称链栈。若同时需两个以上的栈,则最好采用这种结构。对于栈上的操作,总结如下,大家可以仔细看一下这些程序,一个大的程序都是由一些对数据结构的小的操作组成的。 顺序存储的栈的基本操作如下: 判断栈满: int stackfull(seqstack *s) { return (s->top= =stacksize-1); } 进栈: void push(seqstack *s,datatype x) { if (stackfull(s)) error(“stack verflow”); s->data[++s->top]=x; } 判断栈空: int stackempty(seqstack *s) { return (s->top= = -1) } 出栈: datatype pop(seqstack *s) { if (stackempty(s)) error(“stack underflow”); x=s->data[top]; s->top--; return (x); }

2011-06-05

软件工程之专题二:程序语言部分

1、程序语言知识 1.1 程序语言:    程序语言分为低级语言和高级语言两个大类。    低级语言:又称为面向机器语言,它是特定的计算机系统所固有的语言。  机器语言:虽然执行效率高,但编写出来的程序可读性很差,程序难以修改和维护。  汇编语言:汇编语言是机器语言的一种提升,它使用了一些助记符号来表示机器指 令中的操作码和操作数。但它仍然是一种和计算机的机器语言十分接近的语言,使用起来仍然不太方便。  高级语言:与人们的自然语言比较接近,使用起来很方便,也极大的提高了程序设 计的效率。 下面简单介绍了几种高级语言的特点: Fortran:第一个被广泛用于进行科学计算的高级语言。 Algol: 早期研制出来的高级语言。有严格的文法规则,用巴科斯范BNF来描述语言的文法,是一个分程序结构的语言。(最近嵌套原则和存储器使用效率高) Cobol:面向事务处理的高级语言。在数据库管理系统设计方面使用广泛。 Pascal:具有相当强的表达能力,特别是对于数据结构功能的表达极具优势。 C :当今最通用的程序设计语言。C是一种较低级的语言,提供了指针和地址操作的能力,但正是因为它的这一特点,才使它更具灵活性。C与UNIX操作系统紧密相关。 Prolog:逻辑型语言的代表。它是建立在关系理论和一阶谓词逻辑理论基础上的。Prolog程序由一些俗称事实和规则的Horn子句组成,具有很强的推理功能,适用书写自动定理证明、专家系统、自然语言理解等问题的程序。 LISP:典型的函数型程序语言。它以λ演算为基础。它广泛的用于问题求解等人工智能领域。 面向对象技术具有3个最重要的特征:封装性、继承性和多态性。 ◆封装性:指隐藏类对象内部实现的复杂细节,将类以变量类型的形式提供给用户,从而有效地保护内部所有数据不受外部破坏。 ◆继承性:指一个类(父类)再加上某些新的特征生成另外一个新类(子类),子类具有父类的全部特征,从而增强了类的共享机制,实现了软件的可重用性,简化了软件的开发工作。 ◆多态性:指将同一处理过程或函数应用于不同的变量(参数),实现数据和过程的功能重载,从而简化编码。 下面简单介绍一下几种面向对象语言。 C++:是在C语言的基础上发展起来与C兼容的语言。是目前最流行的面向对象语言,主要增加了类功能和从其他类中继承类对象的功能。 Smalltalk:典型的面向对象的程序设计语言,引入了类和对象。 Java: 由SUN公司开发的一种面向对象的程序设计语言。其主要特点是可移植性好,可用于各种平台,尤其适合网络上运行。 数据类型和控制结构: 对于不同的程序语言,其提供的数据类型都不相同。数据是程序操作的对象,使用时都需要分配内存空间,它们都具有以下的属性。 数据名称:由用户通过标示符命名; 类型: 说明数据占用内存的大小和存放方式 存储类: 说明数据在内存中的位置和生存期 作用域: 说明数据可以使用的范围 生存期: 说明数据占用内存的时间 数据从不同角度可分成不同的类别: 纯量数据类型(基础数据类型)和结构数据类型:其中纯量数据类型包括(实型、整型、布尔型、指针,双精度型和枚举型);而结构数据类型包括(联合、数组、复型和记录) 按作用域分:全局量和局部量 按生存期分:自动生存期(auto)、静态生存期(static)和动态生存期 按程序运行期数据值是否改变:常量和变量 按类型分:void、标量、函数和聚合  标量又可分为算术、枚举和指针;  聚合可分为数组、结构体和共用体。 按构造方式分:基本类型和派生类型(主要参考C语言) 基本类型是void、char、int、float、double和枚举类型,以及其变种short、long、signed和unsigned。 派生类型包括指针、数组、函数、结构体(struct)和共用体(union)。其中,最后两种为用户类型。 程序语言中的控制结构为数据和数据上的运算组合成程序提供了基本框架,主要包括3种控制结构,即  顺序:  选择:if语句  重复:while语句 1.2 汇编语言: 汇编程序是为特定的计算机或者计算机系统设计的面向机器的语言。 汇编语言中的语句可以分成两大类:  与机器指令相对应的可执行汇编语句;  汇编控制语句,即伪指令。 伪指令并不翻译成机器指令,它的作用是控制汇编程序工作。 每条汇编语句被划分成4个区,依次是标号区、操作码区、操作数区和注解区。 例如:[标号] [操作码] [操作数] [注解] 用汇编语言编写的源程序,要通过汇编程序将它翻译成机器语言程序,才能被计算机执行。因此,汇编程序的功能就是将汇编语言所编写的源程序翻译成由机器指令和其他信息组成的目标程序。它的基本工作包括:  将每一条可执行汇编语句转换成对应的机器指令  处理源程序中出现的伪指令 整个汇编程序工作通常要对源程序进行两次扫描才能完成。第一次扫描主要工作是定义符号的值。第二次扫描的目的则是产生目标程序。其中,可执行汇编语句被翻译成对应的二进制代码机器指令,而伪指令会根据伪指令记忆码调用伪指令表对应元素所规定的子程序入口。 1.3 解释程序: 解释程序是一种语言处理程序,它直接执行源程序或源程序的内部形式。它并不产生目标程序,这是它和编译程序的主要区别。 高级语言实现语言处理有4种方案:  源程序被直接解释执行。  先将源程序翻译成高级中间代码,然后再扫描和解释执行高级中间代码。  先将源程序转化成和机器代码十分接近的低级中间代码,再解释执行这种中间代码。  源程序被最终翻译成机器语言表示的目标程序。这类系统的目标程序执行效率最高。 翻译系统与解释系统比较:  翻译系统在执行速度上都优于建立在解释执行基础上的系统;  翻译系统的缺点是其复杂性高,这使得它的开发和维护费用都大;  解释系统比较简单,可移植性较好,适合于以交互方式执行程序;  解释系统缺点是执行速度慢; 纯粹的解释和纯粹的编译都是极端,因此一般是两种技术的结合,先将源程序编译形成中间代码,然后由解释器解释执行。 解释系统的结构可分成两个部分。 1.包括通常的词法分析程序以及语法和语义分析程序,它的作用仍是把源程序翻译成中间代码,中间代码的设计常采用逆波兰(后缀)表示形式(符号在后面)。 2.解释部分,用来对第一部分所产生的中间代码进行解释执行,完成真正的解释。 1.4 编译程序: 编译程序的功能是把某些高级语言书写的源程序翻译成与之等价的低级语言(汇编语言或者机器语言)的目标程序。其过程可以分成6个阶段。

2011-06-05

软件工程之专题一:计算机系统知识

1、计算机硬件基础知识: 1.1计算机系统结构  计算机的发展历史:    1946年,世界上第一台电子计算机ENIAC出现,之后经历了5个发展阶段: 冯式结构计算机的组成部分:存储器、运算器、控制器、输入设备和输出设备。 强化的概念: 计算机的工作过程:一般是由用户使用各种编程语言把所需要完成的任务以程序的形式提交给计算机,然后翻译成计算机能直接执行的机器语言程序,在计算机上运行。 计算机系统可以由下面的模型表示:

2011-06-05

图论与网络流理论 图论与网络流理论

中科院研究生院专业基础课 第一章 图的基本概念 图的基本概念;二部图及其性质;图的同构;关联矩阵与邻接矩阵。 路、圈与连通图;最短路问题。 树及其基本性质;生成树;最小生成树。 第二章 图的连通性 割点、割边和块;边连通与点连通;连通度;Whitney 定理;可靠通信网络的设计。 第三章 匹配问题 匹配与最大匹配;完美匹配;二部图的最大匹配;指派问题与最大权匹配。 第四章 欧拉图与哈密尔顿图 欧拉图;中国邮递员问题;哈密尔顿图;旅行商问题。 第五章 支配集、独立集、覆盖集与团 支配集、点独立集、点覆盖集、边覆盖集与团的概念及其求法。 第六章 图的着色问题 点着色;边着色;平面图;四色猜想;色多项式;色数的应用。 第七章 网络流理论 有向图;网络与网络流的基本概念;最大流最小割定理;求最大流的标号算法;最小费 用流问题;最小费用最大流;网络流理论的应用。

2011-05-01

qt-x11-free-3.3.4.tar.gz

qt 环境搭建软件 qt 环境搭建软件 qt 环境搭建软件

2010-03-01

CrazyProgramer

精心收藏,故拿来和大家分享。如有侵权,请管理员删掉!

2010-03-01

qtdesigner sqlite qt

Rapid Dialog Design Qt is designed to be pleasant and intuitive to hand-code, and it is perfectly possible to develop Qt applications purely by writing C++ source code. Qt Designer expands the options available to programmers, allowing them to combine visually designed forms with their source code. In this section, we will use Qt Designer to create the Go-to-Cell dialog shown in Figure 2.4. Whether we do it in code or in Qt Designer, creating a dialog always involves the same fundamental steps: Create and initialize the child widgets. Put the child widgets in layouts. Set the tab order. Establish signal–slot connections. Implement the dialog's custom slots. Figure 2.4. Go-to-Cell dialog To launch Qt Designer, click Qt 3.2.x|Qt Designer in the Start menu on Windows, type designer on the command line on Unix, or double-click designer in the Mac OS X Finder. When Qt Designer starts, it will pop up a list of templates. Click the "Dialog" template, then click OK. You should now have a window called "Form1". Figure 2.5. Qt Designer with an empty form The first step is to create the child widgets and place them on the form. Create one text label, one line editor, one (horizontal) spacer, and two push buttons. For each item, click its name or icon in the "toolbox" at the left of Qt Designer's main window and then click the form roughly where the item should go. Now drag the bottom of the form up to make it shorter. This should produce a form that is similar to Figure 2.6. Don't spend too much time positioning the items on the form; Qt's layout managers will lay them out precisely later on.

2010-03-01

嵌入式数据库sqlite简介

SQLite命令行功能简介 DML/DDL语句的使用和以前一致,不做介绍 .databases 列出数据库文件名 .tables ?PATTERN? 列出?PATTERN?匹配的表名 .import FILE TABLE 将文件中的数据导入的文件中 .dump ?TABLE? 生成形成数据库表的SQL脚本 .output FILENAME 将输出导入到指定的文件中 .output stdout 将输出打印到屏幕 .mode MODE ?TABLE? 设置数据输出模式(csv,html,tcl… .nullvalue STRING 用指定的串代替输出的NULL串 .read FILENAME 执行指定文件中的SQL语句 .schema ?TABLE? 打印创建数据库表的SQL语句 .separator STRING 用指定的字符串代替字段分隔符 .show 打印所有SQLite环境变量的设置 .quit 退出命令行接口

2010-03-01

XML 指南XML 实例XML 测验XML 基础

Empire Burlesque Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988 . . . . 即使使用CSS的显示效果很好,我们不认为使用CSS样式单显示XML文档是未来Web开发的趋势。我们相信,使用XSL程序格式化XML文档将会是未来的趋势,目前最主要的浏览器都支持这种技术。 -------------------------------------------------------------------------------- 使用XML创建未来的主页? 你愿意使用XML来创建你未来的网站么? 不,我不认为这是一个好主意。我们也不拒绝去做这样一个尝试:A homepage written in XML. 我们不相信XML会直接用于创建未来的Web页面。

2010-03-01

Packet Tracer 5.0软件使用教程深入详解

第一篇、熟悉界面 一、设备的选择与连接 在界面的左下角一块区域,这里有许多种类的硬件设备,从左至右,从上到下依次为路由器、交换机、集线器、无线设备、设备之间的连线(Connections)、终端设备、仿真广域网、Custom Made Devices(自定义设备)下面着重讲一下“Connections”,用鼠标点一下它之后,在右边你会看到各种类型的线,依次为Automatically Choose Connection Type(自动选线,万能的,一般不建议使用,除非你真的不知道设备之间该用什么线)、控制线、直通线、交叉线、光纤、电话线、同轴电缆、DCE、DTE。其中DCE和DTE是用于路由器之间的连线,实际当中,你需要把DCE和一台路由器相连,DTE和另一台设备相连。而在这里,你只需选一根就是了,若你选了DCE这一根线,则和这根线先连的路由器为DCE,配置该路由器时需配置时钟哦。交叉线只在路由器和电脑直接相连,或交换机和交换机之间相连时才会用到。 注释:那么Custom Made Devices设备是做什么的呢?通过实验发现当我们用鼠标单击不放开左键把位于第一行的第一个设备也就是Router中的任意一个拖到工作区,然后再拖一个然后我们尝试用串行线Serial DTE连接两个路由器时发现,他们之间是不会正常连接的,原因是这两个设备初始化对然虽然都是模块化的,但是没有添加,比如多个串口等等。那么,这个Custom Made Devices设备就比较好了,他会自动添加一些“必须设备的”,在实验环境下每次选择设备就不用手动添加所需设备了,使用起来很方便,除非你想添加“用户自定义设备”里没有的设备再添加也不迟。 当你需要用哪个设备的时候,先用鼠标单击一下它,然后在中央的工作区域点一下就OK了,或者直接用鼠标摁住这个设备把它拖上去。连线你就选中一种线,然后就在要连接的线的设备上点一下,选接口,再点另一设备,选接口就OK了。注意,接口可不能乱选哦。连接好线后,你可以把鼠标指针移到该连线上,你就会线两端的接口类型和名称哦,配置的时候要用到它。

2010-03-01

Outlook Express 使用技巧大全之设置篇

①.选择“常规”选项卡,这是OutlookExpress的常规设置,我们选中“每隔X分钟检查一次新”复选框,然后设定好时间间隔用于指定OutlookExpress检查新邮件的间隔时间。选中该复选框后,每次启动OutlookExpress时将同时检查新邮件,如果你想立即检查新邮件,可以单击工具栏上的“发送和接收”按钮,同时发件箱中的所有邮件都将被发送出去。   ②.选择“发送”选项卡,设定好邮件和新闻的发送格式,一般选HTML格式,并选中“立即发送邮件”复选框。   ③.选择“阅读邮件”选项卡进行邮件阅读设置和邮件字体设置。   ④.“安全”选项卡允许我们对邮件的安全性进行设置,如果你要更改Internet区域(这是你的电子邮件所在的区域)的安全级,可点击“设置”按钮,要将单个的Web站点添加到“受限制的站点”区域(在该区域可以为单个站点设置严格的安全级),可单击“区域”列表中的“受限制的站点区域”,然后单击“添加站点”。如果你担心别人假冒你的电子邮件,那么你可以设置自己的数字签名。数字签名是您的电子身份卡,它可使收件人相信邮件是您发送的,并且未被伪造或篡改。你得先点击“安全”选项卡上的“获取数字标识”来获取它,然后选中“从以下地点发送安全邮件时使用数字标识”复选框,再单击“数字标识”按钮并选定希望该帐号使用的数字标识。   以上选项设定完毕,我们还要添加Internet帐号,当然你先得从Internet服务提供商(ISP)那里得到如下信息:邮件服务器名、帐号名和密码以及接收和发送邮件的服务器名;对于要添加新闻阅读则须知道要连接的新闻服务器名、帐号名和密码(如果需要的话)。如果要添加邮件帐号:   ①.打开“工具”菜单,点中“帐号”,单击“添加”,选择“邮件”,在弹出的“姓名”窗口中填入你的大名,并单击“下一步”,

2010-03-01

数据结构 课程设计 joseph环

int main() { int n,m; node *head=NULL,*p=NULL; //头指针即首成员地址,遍历指针p printf ("请输入成员总人数:\n"); scanf ("%d",&n); //总成员数 while (n<=0) //不合法情况 { printf ("n值必须是合法的,请重新输入:\n"); scanf ("%d",&n); } if(!CreateList_Circle(&head,n)) //创建循环链表,返回头指针head return OVERFLOW; printf ("请输入初始的m值:\n"); scanf ("%d",&m); //初始m while (m<=0) { printf ("m必须是合法的,请重新输入:\n"); scanf ("%d",&m); } printf ("\n输出顺序是:\n"); p=head; }

2009-12-06

数据结构 算法 运算器

{ /*判断优先级*/ case '>':PushOp(opstack,x);flags=0;break; case '<': PopOp(opstack,&c); PopNum(numstack,&b); PopNum(numstack,&a); PushNum(numstack,Calc(a,b,c));flags=1; Process(numstack,opstack,x);break; /*递归调用*/ case '=':PopOp(opstack,&c);flags=1;break; default:printf("Wrong Express!");exit(0); } } } void main()/*主函数*/ { NumStack numstack;OpStack opstack;char s[N];int i=0; numstack.top=0;opstack.top=0; PushOp (&opstack,'#'); printf("Enter your expression and end it with #:\n");scanf("%s",s); for(i=0;i<strlen(s);i++) Process(&numstack,&opstack,s[i]); printf("The result is %6.2f\n",numstack.array[numstack.top-1]); }

2009-12-06

数据结构 运动会分数统计

#define MAX 50 //#define NULL 0 typedef struct node1{ int school; /*学校编号*/ int record; /*项目成绩*/ struct node1 *next; /*链域*/ }Schools; typedef struct { int item; /*项目编号*/ Schools *firstschool; /*链域指向链表中第一个结点*/ }ITEM; typedef struct { int z; /* 项目总数 */ ITEM a[MAX]; }ALLitems; typedef struct node2 { int item; /*该学校获奖的项目*/ int record; /*项目成绩*/ struct node2 *next; /*链域*/ }Items; typedef struct { int school; /*学校编号*/ int score; /*学校总分*/ int boys; /*男团体总分*/ int girls; /*女团体总分*/ Items *firstitem; /*链域指向链表中第一个获奖项目的结点*/ }SCHNode; typedef struct { int n; /* 学校总数 */ SCHNode b[MAX]; }ALLNode; ALLitems *g1; ALLNode *g2;

2009-12-06

最短距离问题 数据结构与算法

#include<stdio.h> #include<malloc.h> #define OK 1; #define ERROR -1; typedef int Status; typedef long VRType; typedef int VertexType; typedef long ShortPathTable; #define FALSE 0 #define TRUE 1 typedef int SElemtype; //定义栈的数据类型 enum{A,B,C,D,E,F}; //===========栈的相关定义============ typedef struct //定义一个顺序栈 { SElemtype *base; SElemtype *top; int stacksize; }SqStack; typedef struct Path { int status; //指明路径建立状态 int LastEstablishedBy; //指出结点的最短路径的建立依据 }PathMatrix[6][6]; typedef struct { VRType adj; //结点的路径开销 }ArcCell,AdjMatrix[6][6]; typedef struct { VertexType vexs[6]; //顶点向量 AdjMatrix arcs; //邻接矩阵 int vexnum,arcnum; //vexnum为图的当前顶点数,arcnum为图的当前边数 }MGraph; ShortPathTable DP[6]={9999,9999,9999,9999,9999,9999}; PathMatrix *P; MGraph *G; //=============初始化栈============== Status InitStask(SqStack *S) { S->base=(SElemtype *)malloc(sizeof(SElemtype)); if(!S->base) return ERROR; S->top=S->base; S->stacksize=0; return OK; } //===============入栈================ Status Push(SqStack *S,SElemtype e) { SElemtype *p; S->top=(SElemtype *)realloc(S->top,1); //分配存储空间 if(!S->base) return ERROR; p=S->top-1; //top始终指向栈顶的上一个元素 *p=e; S->stacksize+=1; return OK; } //===============出栈================ Status Pop(SqStack *S,SElemtype *e) { SElemtype *p; if(S->base==S->top)

2009-12-06

jdbc笔记整理 sql

将数据库的 JDBC 驱动加载到 classpath 中,在基于 JAVAEE 的 WEB 应用库产品的 JDBC 驱动复制到 WEB-INF/lib 下 . 加载 JDBC 驱动,并将其注册到 DriverManager 中,下面是一些主流数 //Oracle8/8i/9iO 数据库 (thin 模式 ) Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); //Sql Server7.0/2000 数据库 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); //DB2 数据库 Class.froName("com.ibm.db2.jdbc.app.DB2Driver").newInstance(); //Informix 数据库 Class.forName("com.informix.jdbc.IfxDriver").newInstance(); //Sybase 数据库 Class.forName("com.sybase.jdbc.SybDriver").newInstance(); //MySQL 数据库 Class.forName("com.mysql.jdbc.Driver").newInstance(); //PostgreSQL 数据库 Class.forNaem("org.postgresql.Driver").newInstance(); 建立数据库连接,取得 Connection 对象 . 例如 :

2009-12-06

RedHat9.0网络配置DNS服务器

RedHat9.0配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器RedHat9.0网络配置DNS服务器

2009-10-06

BP 神经网络程序BP 神经网络程序

BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序BP 神经网络程序

2009-10-06

CCNA CCNP Packet Tracer 5.0软件使用

Packet Tracer 5.0软件使用教程深入详解 CCNA CCNP 资格认证考试

2009-10-06

Outlook+Express 使用技巧大全 使用手册

Outlook+Express 使用技巧大全 使用手册Outlook+Express 使用技巧大全 使用手册Outlook+Express 使用技巧大全 使用手册

2009-10-06

计算机操作系统课后习题答案 考研专用

计算机操作系统课后习题答案 考研专用计算机操作系统课后习题答案 考研专用计算机操作系统课后习题答案 考研专用计算机操作系统课后习题答案 考研专用

2009-10-06

mysql图解安装 VMware下linux 图解安装 SQL2005 图解安装

参照mysql图解安装 VMware下linux 图解安装 SQL2005 图解安装

2009-10-06

proteus教程 单片机 电路原理图的画法

proteus教程 单片机 快速掌握电路原理图的画法

2009-10-06

计算机网络习题答案 考研专用

计算机网络习题答案 考研专用计算机网络习题答案 考研专用计算机网络习题答案 考研专用计算机网络习题答案 考研专用

2009-10-06

计算机组成原理课后习题答案(唐朔飞)

计算机组成原理课后习题答案计算机组成原理课后习题答案计算机组成原理课后习题答案

2009-10-06

linux学习指南(入门)

linux新手学习指南 熟练、快速掌握linux命令

2009-10-06

linux 网络(dns和dhcp)配置

linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置linux dns dhcp 配置

2009-10-06

DS18B20温度传感器手册

DS18B20温度传感器手册DS18B20温度传感器手册DS18B20温度传感器手册DS18B20温度传感器手册

2009-10-06

计算机操作系统(第三版)习题答案 西电

计算机操作系统(第三版)西电计算机操作系统(第三版)西电 习题答案

2009-10-06

电脑故障综合精心收集

电脑故障精心收集,觉得在实际中经常用到的排除故障的方法,很实用,所以,就拿出来和大家分享.

2009-07-31

ARM C++神经网络开发

ARM基础 linux中文指令 C++神经网络开发 教程课件 C++神经网络开发annie

2009-07-11

Java网络编程学习资料

Java 网络编程 学习资料 Java 网络编程 学习资料 Java 网络编程 学习资料

2009-07-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除