基于编译技术的可信赖计算_第1页
基于编译技术的可信赖计算_第2页
基于编译技术的可信赖计算_第3页
基于编译技术的可信赖计算_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于编译技术的可信赖计算

0编制基本保障文件标书在项目招标管理系统中,通常有不同级别的招标、投标和评估服务,如建筑物招标方(业主或单位)、投标承包商(公司或单位)和调查小组。根据《工程建设项目施工招标投标办法》和《建筑工程工程量清单计价规范》(GB50500-2003),在招投标过程中,招标方要依据招标文件规定和施工设计图纸,根据“统一工程量计算规则,统一分部分项工程分类,统一计量单位,统一项目编码”的“四统一”原则,编制反映实物工程量汇总清单的招标文件(标底);投标方要按照标底,结合企业施工水平、施工现场条件、施工组织设计、企业工程定额和材料价格等编制含工程综合报价的投标文件(标书);而评标方则要根据公开、公平、公正的原则议标、评标,最后确定中标方。这项工作,乃至以后整个施工过程中的施工图预算、阶段结算、竣工决算都是甲方、乙方和中介三方共同关心和参与的问题。现代信息技术为以上计算提供了快速便捷的计算方法和获得结果的手段,但现在使用的系统往往忽略了提供项目各方计算互信的基础,即记录和保存计算方法、步骤、过程和公式,以实现审核验算的功能。为此本文提出一种基于编译技术的解决方法和实现过程。1计算结果不同可信赖计算是指按照项目各方共同依据的规范和标准,根据各方互信、互认的通用规则和公式,以相互均能辨识且事后可复核验算的方式实施的计算过程。这种计算过程为项目各方提供了相互信赖的计算环境,我们不妨称之为可信赖计算。在招投标过程中,甲方、乙方和中介方计算的对象是同一个工程项目,计算的依据是同一个规范,这就为可信赖计算提供了一个共同的基础。在计算过程中,由于各方可能使用的软件不同,计算的方式(图形法、图集法、表格法、提示法、公式法或综合法等)不同,计算的步骤不同,对计算过程和方法(如增减系数)等的理解不同,均可能使计算结果出现差异。这里并不包括由于企业定额、价格高低、不同施工方案等客观因素造成的正常区别。当对同一分项单位计算结果差异较大时,如果缺少依据,核算起来就比较困难,说服对方也显得有些证据不足,求同释异、交流磋商就失去了共同的平台和互信的基础。这些现象的存在,客观上为可信赖计算的提出建立了现实的问题空间。2可靠的计算方法2.1计算方法的选择在工程招投标管理系统中,工程量计算大多采用作图法,即在识图的基础上,应用软件重新输入图纸中各种构件及其尺寸,然后由系统计算工程量;钢筋抽样一般采用表格法、图集法或综合法,它同样要求根据图纸选择不同的图集,输入各类参数,然后由系统根据图集和参数计算出钢筋用量。除此之外,公式法、列表法和手工算量都是软件中广泛使用的方法。正像汉字输入一样,不管使用什么输入码,输入后的内码是一致的。在工程招投标管理系统中,不论采用什么输入方式,只要结果为数值型数据,它的计算过程就是算术运算,而保留算术表达式及参数正是我们的目的。为了能保存计算过程,我们在计算前把算术表达式转换为字符串形式记录下来。2.2根据分部分项的分类使用按照“统一分部分项工程”分类的要求,在输入参数或从作图过程中采集参数时,系统根据分部分项要求归类,将计算公式的字符串形式存入相应队列中,形成分类的源数据流区。分部分项分类保存过程如图1所示。这里把在计算过程中需调用的标准图集(如门、窗、楼梯、楼板等)的定额用量,预先按图集类别以文件形式存入数据库中,在建立表达式时,即从数据库中直接调用。例如:表达式“20*GBM(6)”即可用来表示工程量为标准图集GBM中6#构件工程量的20倍。而标准定型构件的工程量在计算时,可以从已建立的标准构件数据库中文件名为“GBM”的6#记录中直接取出,验证时从对应的参数表中,也可以调出相应标准图集的全部待查资料。在分部分项分类保存计算过程中,为了尽量减少保存容量,我们利用统筹原理提出统筹公式保存法,如表1所示。表中代号k1、k2、k3就可以在它后面的分部分项工程量计算中直接引用。如定额内号62、78和86中的分项工程就引用了前面计算的结果。系统对招标、投标和评标方还可根据不同的要求,提供针对某一分项工程的分析资料。3计算方法的实现可以依靠计算方法的实现从源数据流区分部分项逐一调入表达式的字符串形式,进行以下四个阶段的处理:3.1运算符错误出现的原因对表达式的字符串形式逐一以ASCII码转换方式进行错误诊断,以避免不符合表达式要求的错误出现。例如:两个相邻的字符不能同时是运算符;左右括号的个数不能不等;右括号与左括号中间不能没有运算符等。通过这一阶段的检查,消除以后阶段的隐患。3.2生成的网络结构源数据流区的表达式是字符串形式,运算符、括号占一个字符,函数和数值往往是由几个字符组成,这就需要对该字符串逐一进行正确性判断,应用编译技术中自动机原理和串匹配,使其拼成分离后的单词形式,作为组成表达式的最小单位。在此阶段还要对负数作负号前插零的处理,使其变为减法运算,以便简化后一阶段的算法。对组成的单词序列,顺序存入一个字符数组中,形成源表达式区。3.3逆波兰式区扫描的转换算法设计这一阶段是要把源表达式区中的中置式表达式转换为逆波兰式(后置式)表示。现在我们开辟四个区:B(I)……………源表达式区N(J)……………逆波兰式区Y(K)……………运算符栈H(L)……………函数符栈由于函数的运算对象只有一个,而一般运算符的运算对象是两个,所以分别设置运算符栈和函数符栈,然后确定运算符的优先级。下面给出转换算法要点:对存于B(I)区中的源表达式自左而右逐个扫描。(1)如果当前扫描符是左括号,将其存入运算符栈Y(K),表示表达式进入一个层次;(2)如果当前扫描符是函数符,则当前函数符进栈H(L);(3)如果当前扫描符是数值量,则把它送入逆波兰式区N(J);(4)如果当前扫描符是运算符,分以下三种情况考虑:①Y(K)栈顶如果是左括号,则当前运算符进栈;②Y(K)栈顶如果是运算符,而且该运算符的优先级小于当前运算符的优先级,则当前运算符进栈;③Y(K)栈顶如果是运算符,而且该运算符的优先级大于等于当前运算符的优先级,则栈顶运算符退栈,进入逆波兰式区N(J)。(5)如果当前扫描符是右括号,考虑以下三种情况:①Y(K)栈顶如果是左括号,则左括号退栈并删除,表示退出一个层次;②Y(K)栈顶如果是运算符,该运算符退栈,进入逆波兰式区N(J),直到出现情况①;③H(L)栈顶如果有函数符,该函数符退栈,进入逆波兰式区N(J)。(6)如果当前扫描符是结束符号,则过程停止。通过以上转换算法,可以将表达式的中置式转换为逆波兰式,并存于N(J)区中。3.4扫描下一个文本翻译要点如下:对存于N(J)中的逆波兰式自左而右一次扫描。(1)如果当前扫描符是数值量,不进行任何操作,扫描下一个单词;(2)如果当前扫描符是函数符,则对前一个数值作函数符表示的函数运算;(3)如果当前扫描符是运算符,则对前二个数值作运算符表示的运算。最后得到的就是表达式的值。通过以上四个阶段的处理,不仅保存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论