程序设计风格范文

时间:2023-11-12 23:35:20

程序设计风格

程序设计风格篇1

关键词:风险导向审计;工程施工阶段;导向和控制

中图分类号:F239 文献标识码:A

收录日期:2014年2月11日

一、工程施工阶段审计环境分析

本文中工程施工阶段的审计工作包括:工程进度款的审计,主要材料、大型设备选购定价的确认,主要隐蔽跟踪及工程验收审计,工程变更、签证的审计,索赔费用的审计,工程成本分析及审计。施工阶段的参与方众多,所涉及的利益关系复杂,周期长,工程情况复杂多变,不可知因素多,无论是内部还是外部环境,都会带来比较大的审计风险。并且,工程建设具有明显的阶段性,一旦工作完成,相应的参与方就会退场,审计信息和资料难以采集,审计风险和难度都会增加。因此,施工阶段的审计风险存在是多方面的,对进度款的审计应符合施工合同支付条款要求,所套用的计价项目应正确,工程量核定应与施工进度状况相一致,工程变更及现场签证依据应充分,设计变更手续,签证程序齐全,内容与实际相符,所选用的计价方式合理,并且符合施工合同规定,对大型设备、材料应按规定招标,做好价格市场调查和审核,此外,防止索赔事件发生,做好竣工验收等工作,这些工作如不控制和监督都是审计风险的来源。审计制度结构越完善,审计人员经验越丰富,道德水平越高,审计风险将会越小。引入风险导向的审计方法,制定完善的审计计划,确定重点控制部分,能更好地提高审计质量和效率,降低审计风险。

建设项目的施工阶段是把设计图纸和原材料、半成品、设备等变成工程实体的过程,在施工阶段中,节约资金的空间很小,但是损失浪费资金的空间却比较大,此阶段的跟踪审计属于一个查漏防弊的一个监督控制机制,建设项目全过程跟踪审计的目的在于边审计边纠正边建设。本文认为,施工阶段的跟踪审计应着眼于投资控制。审计过程中重视监督建设项目建立健全设计变更管理程序、工程计量程序、资金计划及支持程序、索赔管理程序和合同管理程序,促进制度建设规范合理并有效运行;审计并监督各设备材料进场及进度款支付的管理程序,检测其合理行和有效性;审计并监督现场签证和隐蔽工程的管理制度,测试其完整性和有效性。投资控制审计是否有成效,对整个建设项目的投资控制起着关键性的作用,这也是跟踪审计对工作进行全局性的把握。

二、工程施工阶段风险导向审计程序设定

在本文中,为了使审计工作更加细化,并且更多地关注审计风险重点分布的领域,我们将计划阶段、实施阶段和报告阶段进行细化,分为五个阶段:

首先,通过调查、认识、评价、测算等方式找到审计的重点部分,并识别出审计风险重点分布的领域,以达到认识潜在风险,确立重点审计的范围,这部分工作一般放在审计计划的最前面。在工程项目施工阶段具体表现为:确认项目的参与方以及各方之间的关系;了解拟建项目采用什么样的进度款支付方式,付款程序及时间;材料、设备的购置是否单独招标,采用什么样的采购方式;确认变更、索赔的审批程序及条件;隐蔽工程验收时应遵循的程序。制定审计控制计划,避免由于工期、变更、通货膨胀等因素导致的成本失控,从而带来审计风险。

工程进度款的审计工作包括:对合同范围内的工程量和变更的工程量分别签证认可,审核月度工程价款结算书。对技术含量高,投资比较大的大型重要设备,对总包单位和业主共同组织的招标程序及结果进行审核。在施工过程中应严格控制设计变更,工程变更前分析设计变更的原因,严格禁止通过设计变更扩大建设规模,增加建设内容,提高建设标准。对于必须变更的应该对有关合同条款和会议、通信记录,做工程量和造价的增减分析,初步确定处理变更所需要的费用,经建设单位同意,设计单位审查签证,发出相应图纸和说明,最后确认工程变更。

其次,对审计所依据的资料来源进行调查和评价,找出审计过程中容易出现失误的部分,这部分工作一般安排在审计工作的期中。在工程项目决策阶段具体表现为:

A:确认重要的估计和资料。比如:进场之前,应根据规定进行质量验收、核查其品种、规格、单价是否与图纸和合同相符。如果品种、规格、单价变化较大时,应该有现场签证作为依据。工程变更包括设计变更、进度计划变更、施工条件变更和原招标文件及工程量清单中未包括的新增工程,无论任何一方提出变更,均应由监理工程师签发工程变更指令,审计人员应该按照合同和有关的规定对工程变更及其价款进行核实和确认。

B:对各项过程取得了解,考虑何处可能出错。比如:当工程变更超过原来的设计标准或批准的建设规模,须经过有关部门批准,并由设计部门提供变更相应的图纸和说明。由变更导致合同价款的增减以及造成的乙方损失,由甲方承担,延误工程相应顺延。施工单位不得对原工程设计进行变更,因擅自变更导致产生的费用和损失的工期,由施工单位自行承担。施工单位提出的合理化建议涉及到设计图纸或施工组织设计的更改,对原材料、设备的换用,须经过各方的同意,否则,由此导致发生的各项费用由施工方自行承担。

由于物价上涨的因素,带来人、材、机的费用不断增长,应该根据合同类型确定:固定价格合同,不因物价上涨而变化;可调价格合同,在实施期间,可随价格的变化来调整。

在施工索赔的审计过程中应注意:索赔的要求是否真实、合理、合规;索赔发生的原因是否明确;索赔的程序是否合规;索赔的金额是否恰当,支付是否及时。

再次,根据前面了解和评价的结果,对所有的风险进行系统地评估,按类别归为固有风险、控制风险、检查风险,并建立一套完善的、高效、可靠的审计程序。对被审计单位风险控制的审计,主要体现为对被审计单位的管理系统是否有效、控制体系是否严密、分工职责是否完善。针对判断的结果,进一步对发生错报的可能性进行判断,再有针对性地确定具体的审计流程和采用的审计方法。这部分工作一般也是安排在审计的期中。具体包括:确认审计的重点部分控制内容;了解重要的控制流程,绘制流程图;研究判断错报可能发生的环节,包括判断流程中重要的步骤、把审计的控制目标与流程中的重要步骤之间建立联系、确认审计对象可能发生错报的部分;判断事前控制、事中控制、事后控制的适用范围。

变更签证是跟踪审计的一项重要内容,工程签证的审计,可以正确确定工程造价,合理评价投资效益。在建设期间,由于各方面的原因,工程变更难以避免,工程变更一般包括设计变更、进度计划变更、施工条件变更、技术规范与标准变更等。工程签证是必须经过设计、建设、施工或监理单位的签证认可的一种有经济价值的证明性材料,工程签证包括:工程量签证、材料价格签证、费用签证及零星工程签证等。

跟踪审计可以根据建设项目的实际情况按照重要性原则对签证进行控制,如有在规定情况内的签证必须由审计实地审查备案后签证,否则不予确认。在审计过程中注意:防范签证的盲目性,例如如隐蔽工程情况复杂时,由于建设单位未经实地详查就盲目签字,给日后工程造价的结算带来风险;防范签证的随意性,例如如材料价格未经核实就签字确认;防范签证的重复性,因工程签证的数量多,经常会因为某些原因造成签证重复。

然后,在综合性审计流程的基础上,进一步细化审计计划,建立实施性的审计程序。具体内容如下:根据评估作出不同的风险程度,为每一类重要认定拟定不同的查核方法;拟定审计程序以供控制测试及实质性测试之用;执行内部控制测试;根据测试结果最终评估控制风险;根据所确定的察觉风险水平的高低,执行实质性测试。

本文中审计证据,是指审计机关和审计人员获取的,用以证明审计事实真相,形成审计结论的证明材料。在工程施工阶段,审计证据种类众多,包括各种法律、法规、合同文本、设计变更图纸、签证等。比如:在对月度工程价款结算书进行审核的时候,首先应对工程量进行核定确认,然后审核签证记录的真实性、合法性;审核工程所套定额是否与工程应执行定额子目相符,实物工程量与图纸不符,施工情况与施工合同不符,施工用料发生变化,必须取得必要的签证,审核时据实调整,出具审计意见。在对索赔进行审计时候,应该以《民法通则》、《经济合同法》、《建筑安装工程承包合同》、FIDIC《土木工程施工合同条件》为依据。

程序设计风格篇2

关键词 建设工程 合同审计

建设工程施工合同是工程建设中的重要法律文书,现代建设工程规模越来越大,相应的合同关系越来越复杂,合同条款越来越多,为更好的促进施工合同合法签订和履行,促进建设工程投资的监督管理,必须切实加强建设工程施工合同的审计工作。

实施建设工程施工合同的审计,应重点针对施工合同实质性条款中的核心条款――工程造价进行审核,同时也应结合计价模式的变化,提高建设工程投资审计质量、防范审计风险,切实做好施工合同的审计,是建设工程施工合同审计工作面临的新课题。

一、建设工程施工合同存在的风险

在企业实施合同管理的过程中可能会以各种形式表现出来,主要体现为:客户风险、决策风险、过程风险等。企业必须正确认识这些风险,并尽可能避免和降低风险。

1.客户风险。客户风险是由于客户原因造成的风险,如客户不配合而使合同执行结果潜藏着风险,以及客户不履行支付行为而形成的违约信用风险。

2.决策风险。在合同项目决策时很容易产生风险,主要表现在产品、技术风险、方案风险和供应商风险。

3.过程风险。过程风险是指在合同执行过程中发生的风险,主要是有关质量、资金、进度等方面的原因引起的,表现为质量风险、资金风险、进度风险和运输风险。

二、合同审计重点审核事项

建设工程施工合同内容包括工程范围、建设工期、中间交工工程的开工和竣工时间、工程质量、工程造价、技术资料交付时间、材料和设备供应责任、拨款和结算、竣工验收、质量保修范围和质量保证期、双方相互协作等条款。重点审核以下几项:

1.根据合同价格确定方式不同,适用不同,审核重点略有差异。(1)采用固定价格合同,一定要在专用条款中约定合同价款包括的风险费用和承担风险的范围。风险范围以外的合同价款调整方法,应当在专用条款中约定。应当注意,固定总价适合于:①招标时的设计深造已达到施工图设计要求,工程设计图纸完整齐全,项目范围及工程计算依据确切,合同履行过程中不会出现较大的设计变更,承包方依据的报价工程量与实际完成的工程量不会有较大的差异;②规模较小,技术不太复杂的中小型工程,承包方一般在报价时可以合理地预见到实施过程中可能遇到的各种风险;③合同工期较短,一般为工期在一年之内的工程。因此,我们在签订总价包死合同时,一定要结合承包范围,经过系统测算后才能签订合同。

(2)采用可调价格合同,应当在专用条款内约定合同价款的调整方法。可调价,是指合同总价或者单价,在合同实施期内根据合同约定的办法调整,即在合同的实施过程中可以按照约定,随资源价格等因素的变化而调整的价格。工期在一年以上的工程项目较适用于采用这种合同计价方式。

目前我们多采用可调价格方式签定施工合同,发包方承担了通货膨胀的风险。应当注意可调价格合同中价格调整的范围,并在专用条款中约定:国家法律、法规和政策变化影响合同价款;工程造价管理部门公布的价格调整;一周内非承包方原因停水、停电、停气造成停工累计超过8小时;双方约定的其他调整或增减。

2.审查施工合同的符合性及完备性。首先要熟悉招标、投标文件,关注施工合同条款与招标文件以及投标承诺的符合性,检查是否存在背离条款;其次检查对于在招投标过程中形成的补遗,修改、书面答疑、询标纪要、各种协议等是否均已作为合同文件的组成部分,是否明确解释顺序。

3.审计施工合同通用条款内容的重点。检查合同当事人的法人资质、合同内容是否符合相关法律和法规的要求;检查合同的内容是否与招标文件的要求相符合;检查合同条款是否全面、合理,有无遗漏关键性内容,有无不合理的限制性条件,法律手续是否完备;检查合同双方是否具有资金、技术及管理等方面履行合同的能力;检查合同是否明确规定双方的权利和义务;检查合同是否存在损害国家、集体或第三者利益等导致合同无效的风险;检查合同是否有过错方承担缔约过失责任的规定;检查合同是否有按优先解释顺序执行合同的规定。

4.审计施工合同专用条款内容的重点。检查合同是否明确规定工程范围,工程范围是否包括工程地址、建筑物数量、结构、建筑面积、工程批准文号等;检查合同的工程质量标准是否符合有关规定;检查质量保证期是否符合有关建设工程质量管理的规定,是否有履约保函;检查合同是否明确规定工期,以及总工期及各单项工程的工期能否保证项目工期目标的实现;检查合同工程造价计算原则、计费标准及其确定办法是否合理;检查所规定的付款和结算方式是否合适;对合同中关于工程价款结算调整条件应在合同专用条款部分针对招标文件作详细约定,避免合同在执行过程中在施工、竣工结算阶段产生争议;检查合同是否明确规定设备和材料供应的责任及其质量标准、检验方法;检查隐蔽工程的工程量的确认程序及有关内部控制是否健全,有无防范价格风险的措施;检查中间验收的内部控制是否健全,交工验收是否以有关规定、施工图纸、施工说明和施工技术文件为依据;检查合同所规定的双方权力和义务是否对等,有无明确的协作条款和违约责任。

三、建设工程施工合同审计中常出现的一些问题及对策

1.工程变更及现场签证的造价争议。由于建设工程项目的唯一性、一次性、固定性等特点,在工程施工过程中,工程变更及现场签证是不可避免的,特别是在实际工作中常常遇到因为工程变更的费用问题,建设单位和施工单位互相扯皮,影响工期,甚至工程质量。如某体育馆工程合同约定:如工程变更的数量超过工程量清单该项工程量的±15%时,应考虑调整该部分工程单价。在实际施工过程中,土方量超出了工程量清单中土方的15%以上,因此施工单位要求调整超出部分土方挖运的综合单价。建设单位则认为:施工单位在中标后没有按照合同约定进行标,对工程量清单的土方量没有异议,应视为对工程量清单的认可,应执行中标单价,不予调整。施工单位认为是地址勘探报告深度不够,招标单位编制工程量清单不够准确等原因。为此双方扯皮,互不相让。因此在合同审计时应特别注重对工程变更索赔条款的审查,不能把工程变更的原因局限于建设单位和施工单位两方,应根据产生工程变更的根本原因,本着“谁的责任谁负责”原则,对参建建设工程的勘探、设计、招标、监理等各方的合同都明确规定双方的责、权、利。各方各司其职,工程变更中扯皮现象将会大大减少,有利工程建设的顺利进行。

2.工程投标中不平衡报价的应对。在工程量清单计价模式下,采用不平衡报价策略已成为施工单位的惯用策略,不平衡报价法是相对通常的正常报价而言的,是在建设工程项目的投标总价确定后,投标方根据招标文件的付款条件,合理地调整投标文件中子项目的报价,在不抬高总价以免影响中标的前提下,实施项目时能够尽早、更多地结算工程款,并能够赢得更多利润的一种投标报价方法。由于建筑市场信息的不对称,有经验的施工单位可能比建设单位更清楚工程量实际会发生的数量,当发现有缺项、漏项或两者之间有较大差别时,大多会采用不平衡报价法。在进行施工合同审计时应采取对施工单位此部分超额利润的反索赔措施,当此此部分超额利润超过一定比率时,应约定可以按实调整合同价格。

3.“阴阳合同”的危害及对策。“阴阳合同”,又称“黑白合同”,其概念主要出现在《招标投标法》颁布之后,“阴合同”是建设双方私下签订的合同,未经合法的招投标程序且未在建设主管部门备案,反之是“阳合同”。“阴阳合同”区分针对的是招投标和备案程序。“阳合同”程序合法,对外公开,但不实际履行,主要应付政府监管;“阴合同”私下签订,只为当事人所知但实际履行。虽然“阴阳合同”的标的完全一样,但在具体的合同价款、工期、工程款拨付条件等实质内容方面则有较大差异。分析“阴阳合同”产生的原因,建设单位大多为追求成本最小化及逃避监管等,施工单位因为建设市场竞争激烈,大多属于被动接受。“阴阳合同”不仅扰乱了建设市场公平竞争的秩序,而且使双方的权责失去约束,极易产生争议,影响工程进度,甚至工程的质量安全。因此在合同审计时应严格依照《招标投标法》第43条规定:在确定中标人前,招标人不得与投标人就投标价格、投标方案等实质性内容进行谈判;第46条规定:招标人和中标人应在文件发出后30日后签订合同,双方不得再签订违背原来合同实质内容的其他协议。对“阴合同”的效力进行认定,尽管“阴合同”体现了双方当事人的真实意思表示,但“阴合同”为私下协议,未按《招标投标法》进行招投标程序,违反了《招标投标法》等43条、第46条强制性规定,且该合同未在建设行政主管部门备案,按《合同法》第52条规定的情形,为无效合同。当然合同审计只是一种防范手段,要从源头上治理“阴阳合同”,应该建立行业诚信体系,制订行业自律规范,促使各主体之间及内部自觉维护建设市场正常秩序,自觉抵制“阴阳合同”,政府相关部门应加强监管、联合管理,从制度上杜绝“阴阳合同”的出现。

四、建设工程施工合同审计的一些思考

当前对建设工程施工合同大多采用签订前审计,但实际在施工合同履行过程中仍会出现不少合同违约现象:发包方未及时拨付工程进度款、中途停工、固定造价合同遇到主要材料涨价风险过大、工程提前交付、逾期交付、拒绝验收、拖欠工程款、拒交工程等等,因此对施工合同的审计应该是贯穿于工程建设的全过程。施工合同跟踪审计事先必须有着非常明确的、恰当的目的或目标,跟踪审计模式很容易使审计人员偏离正确的定位而侵入项目管理者的职责范围,审计监督不能越位参与建设过程中的项目管理,因为介入了项目管理,反而使审计监督的作用弱化,客观性受损,审计风险加大。所以,进行建设工程施工合同全过程跟踪审计应准确把握跟踪审计的控制点和介入深度,重点针对合同履行过程中对法律法规的执行情况的监督,同时应在积极探索试点的基础上总结已有的经验,建立健全施工合同审计程序和审计规范,使合同审计逐步进入程序化、规范化、制度化的轨道中。最大限度地提高审计工作质量,防范审计风险。

参考文献

[1]张静.浅谈高校固定总价合同包干工程的审计[J].长江大学学报(社科版),2005.2.

[2]刘忠平,谢龙等.关于高校建设工程跟踪审计的实践思考[J].教育财会研究,2006,(1).

程序设计风格篇3

关键词:程序设计 教学 算法

程序设计是我国高校各专业学生必修的一门核心课程,该课程的教学目的是使学生掌握程序设计的基本方法和理论,应用某一程序设计语言编写具体的程序。程序设计的教学质量将影响到学生的程序设计能力,影响到学生创新思维的培养。

一、程序设计课程教学现状

“程序设计”课程长期沿袭传统教学模式,即以一种高级语言的语句体系为脉络展开教学,详细地讲解其语句、语法甚至一些细节内容,学生每学习一个语句需要做一些与该语句有关的习题。课程枯燥无味,学生学习积极性不高,很少动手实践。课程学完后,学生除了学到一些呆板的语句外,收获甚微。

1.理论基础薄弱

有些教师过分重视程序设计语言的教学,而对于程序设计中所涉及的程序设计理论、程序设计的方法和算法的设计思想等理论知识的讲解不够深入、透彻。

2.学生缺乏创新能力

学生可以解决那些和已经学过的知识有直接或有密切联系的问题,而面对一个需要用已经学过的知识进行综合求解的程序设计问题时,就不知从何下手,对所学知识做不到举一反三,缺乏程序设计的创新能力。

3.动手能力不强

学生实际动手能力差,具体表现在两个方面。其一,学生上机调试程序的能力差,难以找到错误产生的原因;其二,实际编写程序的能力不强,编写的程序功能不够完善,风格不一,程序健壮性差。

针对以上出现的问题,我们认为应该在教学过程中对学生各方面的编程素养进行引导和培养。

二、编程方法引导

程序设计的观念虽然发生过很多变化,但程序的基本结构仍然是顺序、选择和循环三种。因此,在学生初学程序设计时就应该注意渗透结构化程序设计的思想,以便使学生养成良好的程序设计习惯。

我们这里谈的不是纯粹的程序设计方法,如结构化的、面向对象的等,而是在教学中渗透程序设计的技巧。这里举一个结构化程序设计的例子。

例:求100以内的素数。

经过分析可以发现,除了“2”以外,偶数不可能为素数,所以外循环有50次是多余的,同理在内循环中,也不必用偶数测试。再进行分析又发现,一个合数最小的因子不会大于它的平方根,所以内循环中的次数被再次减少。最后程序变为:

通过不断改进程序,可以使程序效率得到不断提高,当然这些提高是在数据规模不断增长时才能体现出来。尽管现在很多人认为硬件的速度发展很快,我们应该把速度提高的任务交给硬件去实现,这样的想法未免过于武断。姑且不论类似上述的技巧对于程序执行效率的提高有多少益处,单从基于问题的学习方法这个角度的出发,程序的衍生对于提高程序员的编程水平也是一个很好的训练方法,所以这样的编程技巧是不可多得的,我们在教学过程中就是要进行这方面的引导。

三、编程风格和规则引导

前面提到我们在进行程序设计教学时,传统教学模式比较少注意编程风格和规则的引导,所以很多时候,学生编制出来的程序都是一路下来齐刷刷,缺乏良好风格,死套语法,缺乏考虑可能的不安全因素。

由于学习程序设计是一个循序渐进的过程,所以在教学中如果潜移默化地引导学生从程序设计入门开始,就注意程序设计的一般风格和应该遵守的规则,就能让学生更快更好地编制出高质量的程序来,并且具备良好的编程习惯。

举例说明。我们知道,free和delete都可以把指针所指的内存给释放掉,比如:

这段程序运行一定没问题,但如果在其后加上这样一段代码:

我们会发现出错了!这是因为,p所指内存被释放,但是p存放的地址值仍然不变,即p成了“野指针”。尽管尝试用if(p!=NULL)来判断p的可用性,我们却发现出错处理并没有起作用。所以,良好的习惯是在free和delete后,都要对指针作置空处理,即p=NULL。有人会说如果要这种情况出现在程序结束时,一切指针也会消亡,动态内存也会作系统回收,所以P置空是多余的。但是如果有人将这段程序取出来用到其他地方会怎样呢?结果不是我们想见到的。

四、算法设计概念的引入

程序=算法+数据结构。这就提出我们在进行程序设计教学过程中,不仅要重视语法的讲授,也要重视算法的讲授,甚至是要将算法提到更为重要的地位。程序设计是要解决问题,语言只不过是为解决问题而使用的工具,真正解决问题的是算法,难怪专家说“算法是魂,程序是衣”。

如在C语言程序设计课程教学中,当完成分支结构程序、循环控制和数组,进入内容较多的算法设计教学后,我们将教学内容分为以下五个方面。

(1)一般数据组织算法:查找、排序、字符串处理、求素数、筛选、迭代、穷举等;

(2)函数调用,函数嵌套归、递推及贪心算法等;

(3)指针算法,动态内存分配,链表等;

(4)用矩形法、梯形法计算定积分、模拟算法的随机抽样、蒙特卡罗法等算法;

(5)文件数据处理。

在课堂上增加算法设计的分析和讨论,强调算法设计的优化和程序的优化,是提高学生分析和解决实际问题能力的有效方法。

五、开展研究性学习

在程序设计过程中,开展研究性学习,是为了提高学生分析和解决实际问题的能力,主要是通过对解决问题的算法进行研究而展开的。由于课时所限,并且学生没有足够的实践经验,所以对算法问题的研究也是初级的,主要是讨论典型问题的典型算法及其应用。

1.通过研究性学习,可以重构知识体系,加深对算法的理解。

研究性学习是学生在教师的指导下,选定主题,然后搜集相关材料,对材料进行归纳、加工处理、分析、总结得到相应结论的学习活动。在教学中,可以根据教学内容,经过反复研究,确定研究主题,并根据学生的自愿报名成立研究小组,如搜索算法研究小组等。然后各小组根据自己研究的算法,重新整理相应的知识,对知识进行归纳、总结。通过对各种算法知识进行整理、分类、小结,加深学生对这些算法的理解。

2.通过研究性学习,同学之间取长补短,共同提高。

每个学生都有所长,也有所短,研究性学习一个重要特点就是:分工合作,共同讨论,共同提高。我们可以根椐学生的特点、特长,对他们进行分工,每位学生研究一种算法其中的一个问题,然后整个小组一起讨论,每位学生介绍自己的研究情况、研究成果,然后其他同学进行补充,发表自己的见解,这样每个学生都使自己的研究内容得到补充,同时也学习到了其他同学研究方面的知识,可以取长补短,共同提高。

3.通过研究性学习,总结算法的应用规律,提高程序设计能力。

在进行研究性学习时,除要求学生归纳、整理专题算法知识外,还要总结出算法的应用规律、应用算法解题的步骤和算法的框架。学生通过自己对算法应用规律的总结,对算法的应用得到升华,进一步提高算法的应用能力和程序设计能力。

4.通过研究性学习,提高分析问题的能力、算法表达能力和归纳、综合能力。

对算法的专题研究,不仅要对算法理论进行总结,算法应用的研究也是很重要的一方面,通过算法的解题应用,既提高了学生分析问题的能力,也加深了学生对算法的理解,提高了学生的算法应用能力。另外,我们在算法研究过程中,要求学生透彻理解算法内容,用算法语言准确描述算法,通过这种途径进一步加深学生对算法的理解,同时也提高了学生的算法表达能力和归纳、总结的能力。

结论

我们认为在程序设计教学中,要改革旧的教学体系,需要用新的理念、新的内容、新的方法组织教学。首先要用先进的程序设计理论指导教学,并加强编程算法、逻辑思维和编程方法的引导。其次,重视和鼓励学生对具体问题进行分析和研究,勤于动手和上机训练,养成良好的编程习惯。此外,对不同层次的学生可以进行分阶段教学,前一阶段讲授基本的程序设计方法,除了讲授程序设计语言的基本语法,还对学生进行编程方法及程序设计风格的引导;后一阶段主要讲授程序设计的较高级的语法和功能,提高学生对算法的认知和重视程序,并且在学生中开展研究性学习,培养学生实际动手能力。

参考文献:

[1]李云清等.程序设计创新能力的教学研究[A].全国计算机新科技与计算机继续教育论文集2003.

[2]李海伦等.“程序设计”课程教学改革的研究与实践[J].计算机教育, 2005.7.

[3]丰振.计算机程序设计教学方法研究[J]. 教学研究,2004.9.

[4]等.浅谈程序设计语言课程教学方法[J].吉林大学学报,2005.8第23卷.

注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”

程序设计风格篇4

【关键词】保证金;Copula理论;VaR模型;GARCH模型

一、引言

我国目前采用的方法为静态保证金设置模式,这种设置模式有两个特点:一是保证金设定标准固定;二是在特殊情况下会有所调整,如持仓量变化、临近交割期、法定节假日等。这种保证金设置模式的最大优点是操作方便,但缺点也很明显,不能根据市场行情的变化及时调整保证金的比率,容易造成资金的浪费或者无法覆盖全部的风险,这种保证金设置方式往往不能很好地与市场风险相匹配。这种不匹配主要表现在以下两个方面:一是针对单份期货合约,期货交易所往往不能根据合约风险的变化及时调整保证金,这往往造成收取的保证金比例偏高,影响期货市场的流动性;二是针对期货交易者持有的期货合约组合,期货交易所在收取合约组合的保证金时,往往是将各个合约保证金进行简单地累加,并没有考虑期货合约之间可能存在的风险对冲。

本文将用Copula-VaR方法测量期货组合的风险值,为期货交易所制定动态的保证金提供依据。通过制定动态的保证金体系,在风险可控制的前提下,可以提高保证金的使用效率,增强期货市场的流动性,对促进我国期货市场的发展具有重要意义。

二、Copula-VaR模型

以包含两种资产的组合为例,假设分别表示两资产的收益率序列,Copula-VaR模型计算原理

(一)各资产边缘分布形式的确定

利用Copula函数计算资产间的相关结构时,需要首先确定各资产的边缘分布形式。Copula函数对各资产的边缘分布形式不加限制,且各资产之间的分布形式也可以不同。金融时间序列往往并不服从正态分布的假设,而是呈现出尖峰、厚尾等特征,在对这类序列进行刻画时,可以运用GARCH模型对其进行拟合。

(二)Copula模型参数的估计

Copula函数的自变量均服从[0,1]上的均匀分布,因此,在计算出各变量的边缘分布后,需将各序列进行概率积分变换,转换成[0,1]分布序列,转换后的序列便是Copula函数所要拟合的数据。研究变量间的相关结构,可以简化为研究变量残差序列间的相关性,因此,在计算过程中,可以将各变量边缘分布的残差序列进行概率积分变换,变换后得到的序列即为Copula函数所要拟合的序列。得到观察序列后,便可以通过极大似然估计法等方法估计模型的参数。

(三)最优Copula函数的选择

Copula模型有很多分类,每一种Copula函数对数据的刻画都不相同,因此,在计算中,需选择一种最能有效刻画数据的Copula模型。通过上文的分析可知,Copula函数对其任一变量的偏微分都服从[0,1]上的均匀分布,因此,对Copula函数的拟合优度检验就可以转化为检验Copula函数的偏微分是否服从[0,1]上的均匀分布。检验序列是否服从[0,1]分布常用的方法是K-S检验法,通过该方法,可以选出一种拟合效果最优的模型。

(四)VaR的计算

通过上面的计算,假设得到各变量的边缘分布分别为、,所得出的Copula函数为,则投资组合的VaR可表示为:

其中,为资产在组合中占的比例,为对应一定置信水平的限定值,通过该公式,便可求出相应的VaR值。

三、数据描述

(一)数据选取与处理

本文研究选取大连商品交易所黄大豆一号和二号期货合约,样本区间选取为2005年1月4日至2009年12月30日,共五年,剔除节假日及两期货品种的不匹配数据,共获实际有效数据1026个,数据来源于文华财经期货行情系统。

对大豆期货品种,交易最活跃的合约通常是距离当前月(不包括当前月)的第3个期货合约,所以本文通过这种方式形成连续数据序列。在计算期货品种每日收益率时,本文采用几何收益率,即:

表1中的数据表明,这两个期货品种的收益序列具有尖峰后尾特征,不服从正态分布。Q统计结果表明收益率序列存在一定程度的自相关性,ARCH-LM检验表明其存在显着的ARCH效应。

四、实证分析

(一)边缘分布拟合

本文利用GARCH(1,1)-GED模型对序列进行拟合,分析结果

由表2统计结果可知,模型中的参数在5%的置信水平下均统计显着,且两个模型的,满足GARCH模型的参数约束条件的平稳性要求。再对该方程进行ARCH效应检验,无论滞后多少阶,都不存在ARCH效应,同时对残差及残差平方进行自相关检验,自相关系数和偏自相关系数都近似为0,说明残差序列不再存在ARCH效应。

(二)Copula模型拟合

对Copula函数进行建模时,大致可分为两个步骤:确定随机变量各自的边缘分布;根据各变量的边缘分布,选取适当的Copula函数,从而能准确地描述边际分布间的相关结构。

1、原序列的概率积分变换

在进行Copula模型拟合时,需将原时间序列的标准化残差()进行概率积分变换,转换为[0,1]上的均匀分布。图1便是对两期货品种的收益率残差进行概率积分变换后所得的序列散点图,也即Copula模型所要拟合的数据:

为检验经转化后的序列是否服从[0,1]上的均匀分布,需对其进行检验,常用的方法是K-S检验法。K-S检验又称拟合优度检验,用来检验给定数据是否服从某种理论分布。该检验的原假设为,备则假设为不服从,K-S检验值越小,说明给定数据分布与理论分布偏离程度越小。表3为两序列的K-S检验结果:

从表3可以看出,两期货品种的K-S统计量对应的概率值P均大于0.05,说明对原序列残差经概率积分变换,所得序列服从[0,1]上的均匀分布,这也进一步说明GARCH模型对边缘数据的拟合较合适。因此,由标准化残差转化而成的[0,1]均匀分布序列可以作为Copula模型拟合的自变量。

2、Copula模型拟合

Copula模型中常用的有两类模型,一类是椭圆族Copula,另一类是阿基米德族Copula。由于金融时间序列间相关关系通常并不服从椭圆分布,而是经常呈现出非对称的尾部相关性,因此本文选择能够较好刻画尾部相关关系的阿基米德族Copula中常用的三种Copula(Frank Copula、Gumbel Copula、Clayton Copula)进行拟合,并求得各Copula的参数如表4所示:  3、最优Copula模型选择

在初步得出Copula模型的参数估计后,需要选择最能准确刻画序列相关关系的Copula模型。根据Copula函数的性质,可以将Copula模型的拟合优度检验转化为其一阶偏导是否服从[0,1]均匀分布,若服从[0,1]上的均匀分布,则说明Copula对变量拟合较好。

从图2-图4可看出,三种一阶偏导数序列均近似服从[0,1]均匀分布,且Clayton函数和Frank函数比Gumbel函数更接近于[0,1]均匀分布,为进一步进行更精确的检测,运用K-S检验法,表5为三种Copula模型的K-S检验值。

从表5可看出,在5%显着性水平下,接受Clayton Copula的一阶偏导数服从[0,1]均匀分布的原假设,而Frank Copula和Gumbel Copula没有通过检验,因此可以用Clayton Copula函数描述黄大豆一号和黄大豆二号期货合约间的相关结构。

(三)组合VaR计算

1、Copula-VaR模型拟合

假设对黄大豆一号和黄大豆二号期货按等额投资,它们的价格为、,则该投资组合于在持有期的损失为:

给定置信度,可从的经验分布中求出该投资组合的VaR值:

在95%的置信水平下,根据GARCH-Copula-VaR计算步骤,得到基于Copula的期货组合VaR风险测量值统计量如表6所示:

2、模型有效性检验

用Kupiec检验法检验基于蒙特卡罗模拟法的Copula-VaR的准确性,检验结果如表7所示:

从表7可以看出,VaR值的失败频率均接近5%,LR的统计值也都明显小于临界值3.841,说明基于Copula的VaR测量方法可以有效的拟合实际损益序列。

(四)实证结果分析

1、边缘分布拟合结果分析

上文分别利用GARCH模型对黄大豆一号和黄大豆二号期货收益率序列进行了拟合分析,并得出了模型的均值方程和方差方程,从计算结果可以看出:

(1)两期货品种的收益率序列具有典型的金融时间序列特征,即尖峰、厚尾、自相关、异方差等,因此利用传统的线性回归方程已不能对序列进行很好的拟合,而GARCH模型在这方面具有很好的建模效果,通过实证分析可以看出,GARCH(1,1)-GED模型对黄大豆一号和黄大豆二号这两个期货品种的收益率序列具有很好的拟合效果,有效消除了序列中存在的自相关和异方差问题。

(2)从模型的各项统计特征看,两期货品种收益率序列拟合方程的值和值在5%的置信水平下显着性检验均通过,说明期货收益率过去的波动对当前的波动有明显的影响;模型中的GED自由度都明显小于2,说明两期货品种收益率序列都存在厚尾性。

(3)从模型的均值方程中可以看出,期货当期的价格会受前几期价格的影响,期货价格之间有一定的相关性,也即期货交易者可以根据期货过去的价格来预测未来的价格走势。根据有效市场理论,在弱势有效市场中,当前的价格已反应了所有的历史信息,投机者无法根据过去的价格来预测未来的价格走势。因此,这从一定程度上说明我国的期货市场尚未达到弱势有效,这和我国期货市场起步晚、监管不到位等是有一定关系的。

2、Copula拟合结果分析

从上文中对Copula模型的计算结果可以看出,在三种阿基米德族Copula函数中,只有Clayton Copula可以描述豆一和豆二间的相关结构。Clayton Copula对资产间的下尾相关性非常敏感,因此,在本文的研究中,用该函数描述黄大豆一号和黄大豆二号期货间的相关关系,说明豆一和豆二的收益率序列间,存在着明显的下尾相关性,也即,当其中一种期货价格暴跌时,很容易引起另一期货品种价格的暴跌,此时两期货品种的相关性明显增强。这种尾部相关性具有非对称性,即只有在价格暴跌时,两者的相关性才显着增强,而在价格暴涨时,两者并不存在相关性明显增大的现象。

3、多空头VaR值对比分析

从实证分析的结果看,豆一和豆二期货的风险是不对称的,也即,在同样的市场情况下,多头和空头面临的风险是不相同的。从表6统计数据可看出,多头合约组合VaR风险值的平均值为-92.10720,而空头组合的VaR平均值为-97.27039,空头组合面临的风险总体上要大于多头组合面临的风险。对多头合约持有者来说,其在期货价格上升时获利,在价格下跌时受损,而空头合约持有者刚好相反,其在期货价格上升时受损,价格下跌时获利。图5为黄大豆一号近5年的价格走势图(豆二价格走势分析与豆一相同),从图中可以看出,虽然在某些时段价格有涨有跌,但从总体价格走势看,其价格是呈上升趋势的。对多头合约持有者来说,价格上升可以使他们获利,但对空头来说,价格上升会让他们遭受损失。因此,上文中分析的空头组合风险总体上大于多头组合风险的结论和实际情况基本上是吻合的。

五、结论

通过分析,本文主要得出以下结论:

(1)Copula模型可以准确地度量资产间的相关性。Copula模型可以将变量的边缘分布和相关结构分开研究,对各变量的分布形式不加限制。在对单变量的模型拟合上,研究已相对成熟,如GARCH模型、极值理论等都可以较好地对单变量金融序列进行拟合。在此基础上,根据各变量的边缘分布,再选用合适的Copula函数,便可以准确计量资产间的相关性,而且该模型可以度量变量间的非线性关系,因此在实际应用中具有很大的实用价值。

(2)Copula-VaR方法可以有效地计量期货组合的实际风险。传统VaR方法由于正态假设、线性相关假设等,对资产的风险度量效果不太理想。而Copula-VaR模型中,利用Copula模型不但可以很好地拟合各变量的实际分布,而且可以准确度量资产间的风险相关性,在此基础上,将Copula方法应用于VaR模型中,有助于准确地度量资产组合整体的风险。

(3)Copula-VaR方法可以应用于动态保证金的设置体系中。Copula-VaR模型可以有效地预测资产的风险,且可以通过调整VaR模型的持有期间、置信度等指标,以满足不同的风险监控要求。目前我国实行的按照合约价值一定比例的保证金收取方式已不再能有效促进我国期货市场的发展,实行动态的保证金体系是大势所趋。期货交易所可以利用Copula-VaR模型,对资产组合的风险进行预测,并以此预测值为基础,结合其他需要考虑的因素,制定出更加符合期货实际风险的保证金水平,这样既能有效控制市场风险,又不至于过度牺牲市场的流动性。

参考文献

Anderson,R.Comments on“margins and futures contracts”[J].Journal of Futures Markets,1981,1(2):255-257.

Telser,L.G.and Higinbotham,H.N.Organised futures markets:costs and benefits[J].Journal of Political Economy,1977,85(5):969-1000.

Ackert,Hunter.A Sequential Test Methodology for Detecting Futures Markets Disruptions with Applacations to Futures Margin Management[J].Review of Futures Markets,1990,9(2):318-341.

Figlewski.Margins and Market Integrity:Margin setting for stock Index Futures and Options[J].The Journal of Futures Markets,1984,4:385-416.

Dewachter,Gielens.Setting Futures Margins:The extremes approach[J].Applied Financial Economics,1999,9(2):173-181.

程序设计风格篇5

GTK+概述

1 GTK+简介

GTK+(GIMP ToolKit,GIMP工具包)最初用于开发GIMP,是一个用于创建图形用户接口的图形库。在功能上类似微软的MFC,即为应用程序提供一套与平台无关的图形用户界面接口。GTK+是基于LGPL授权的,因此GTK+在开发开源软件或商业的非自由软件领域中都得到越来越广泛的使用。特别在嵌入式应用中,由于GTK+库小,且程序员可以根据自己需要对其进行裁剪,因此其占用资源少并能快速装入,所以基于GTK+开发的图形用户界面适合在内存受限的嵌入式设备上运行。

2 GTK+的库的调用关系

GTK+建立在GDK(GIMPDrawing Kit)的上层,基本上是将Xlib功能包装起来。它被称为GIMP toolkit是因为原来是写来开发GIMP,但现在被许多免费软体计划所使用。GTK基本上是物件导向应用软体程式设计界面(API)。虽然完全用c所写成,他是用classes及callback函数的观念所做出来的。还有另一个被称为glib的函数库被用到,该函数库包涵了一些标准X函数的替代函数及一些额外的处理链结表的函数,等等。这些替代函数是用来增加GTK的可移植性的,因为有些函数需要用到非标准的功能,诸如g_strerror()。有些则包含一些libc版本的加强的功能,诸如g_malloc有加强的除错功能。

GTK+是在Ddk的基础上创建的,其软件层次结构如图1所示。Glib是Linux系统下最常用的轻量级的C语言函数库,它提供了C常用的数据结构定义、处理函数、宏、可移植的封装和一些运行机能。Xlib是用来控制显示的底层图形函数库。Gdk则是对Xlib的封装。

图1即为GTK+软件结构层次图。

组合构件的定义及其设计难点分析

1 组合构件的定义

在GTK+图形库中,我们将窗口、按钮、框架、树等图形界面元素称为构件。构件具有面向对象的特征,其具体结构由GTK+库所定义,这对使用构件的程序员来说是透明的。GTK+库提供了一套完善的构件,供程序员创建出丰富的图形界面。同时,程序员也可方便的创建自定义构件。

组合构件是构件的一种,它将多个构件组合起来成为一个新的构件,它不是单纯的将多个构件组合,也不是单纯的从某个控件继承下来的子控件,它有每个成员构件所没有的新功能。它是为了配合设计的需要,将每个成员构件组合起来形成一个具有新功能,新接口,实现新功能的构件。但是严格意义上讲它不能称之为全新的构件。

2 组合构件的设计难点分析

自定义组合构件的设计首先需要对GTK+自定义构件的设计非常熟悉,对GTK+构件的设计风格和继承关系很了解,并且能掌握对各个库的相应关系。

组合构件它不是单纯从某个构件继承下来的,只是组合任何想要组合的构件来实现某项功能。因此必须考虑该组合构件的父类问题。

组合构件也跟构件库里面的构件一样,它也可能要接收信号并做出相应的处理。因此挂接信号也是设计需要考虑的问题。

作为一个构件,组合构件也应有自己的风格,由于组合构件是多个构件的组合,每个构件又有其不同的风格,如何确定当前构件的风格也是设计的难点。

组合构件的设计思想及其实现

1 组合构件的设计思想

通俗的讲,GTK+的构件库是基于C语言的,它不具有面向对象的特性,然而GTK+的确又是面向对象的,那是因为它用C语言来实现了C++编译器的功能。因此它同样具有继承的特性,它的代码风格也延续了面向对象的设计风格。在GTK+库中,直接继承自GtkObject对象的构件主要是GtkWidget,它几乎是所有可视构件的共同祖先,大多数构件共有的属性都包括在其中。与其他GUI开发工具不同的是,我们不用直接创建GtkObject或GtkWidget对象,而是用定义对象的实例结构和类结构的方式来定义对象,然后再通过类型注册来实现对象。当前笔者就根据组合构件的特点,直接从GtkObject继承。它与GtkWidget是一种并行关系。和其他构件一样,它也有相应的宏定义,来进行各种强制转换和类型获取。

任何一个构件都有其创建对象函数,组合构件也是一样,在对象中定义各个成员构件,在创建对象时将其一一创建,并根据需要对其各个构件来进行属性设定,最后返回的是组合构件对象本身。关于信号的设定也是和其他构件的方法一样,在类的结构体中定义信号,并在类的初始化中对信号进行定义。

组合构件的接口设计应可以根据当前总体设计的需要,而不是像一般构件一样完全的独立出来,它具有自己的特色,并不需要刻意遵守一般构件的要求。这也是组合构件的灵活性所在。

GTK+允许用户通过rc文件来定制应用程序的主题风格,即设置构件颜色、字号大小,并为构件添加背景图标等。而对于组合构件而言,由于其为多个构件的组合,每个构件都有其相应的风格设计,因此严格的讲它本身是不具有风格设计的,所谓组合构件的风格设计,就是对各个构件进行风格设计,并将其风格设定封装在一个函数里,对外只提供一个接口。对于组合构件,如果不进行风格设计,它将沿用整个图形界面的风格设计。

2 自定义组合构件在任意波形发生器图形界面中的实现

笔者参与开发的任意波形发生器以Linux作为操作系统平台,以320×240的彩色液晶为显示器,以精简版的XWindows作为图形用户界面系统,以GTK+库为图形编程库。下面就是笔者设计的任意波形发生器的整个图形界面,在图形界面中可以看到下面有波形显示和坐标值显示。笔者利用组合构件的设计思想来设计该图形界面的波形显示部分,通常情况下组合构件的设计是要符合当前总体设计的某项要求,因此组合构件有可能只是为了实现某项实际的功能而具体设计的一个构件。在任意波形发生器的设计中,笔者将下面的波形显示部分设计为一个组合构件,简单地称之为awgwavegraph,若将其命名为gtkwavegraph是不合理的,因为它仅仅是为了实现任意波形发生器的图形界面而设计的一种多构件组合,而不是一个严格意义上的全新构件。在设计awgwavegraph时考虑到构件本身只是对某个信号进行响应,而不需要对信号进行获取,因此该组合构件并没有设计获取信号。所谓的响应,只是需要对坐标进行更新,根据此项需求,笔者提供了一个更新坐标的函数,接口仅仅是组合构件本身。图2即为任意波形发生器图形界面。

结束语

程序设计风格篇6

关键词:高职高专 程序设计 教学改革

程序设计是计算机专业领域中最为核心的工作。在程序设计工作中,既要对问题进行分析,又要考虑各种设计的可能性,更高层次地,还要考虑运行程序的代价问题。作为计算机各专业的三大基础课之一,学生对其掌握的熟练程度将直接影响后续课程的学习。

一、 程序设计基础课程教学的现状及面临的问题

1、教学的现状

各院校开设的程序设计基础课程,多为教授学生某一种程序设计语言,其中Pascal、VB、C、C++、Java语言较为多见。 C语言作为当今最为流行的程序设计语言之一,不但成为计算机专业的必修课,而且也越来越多地成为非计算机专业的学习课程。但在实际的课程教学中,许多教师和学生都认为C语言涉及的概念比较复杂,规则繁多,使用灵活,容易出错,教师教学和学生学习都感到困难,并不同程度产生畏难心理。特别地,多数院校将C语言作为计算机专业学生进校后首先接触的第一门专业基础课,这种现象尤为明显。

2、面临的问题

一直以来,关于如何讲授面向大学生的程序设计基础课程,许多人争论的焦点放在了语言选择上,把讲授的重点放在了语言的语法规则介绍上。从短期看,这样做便于学生学,也便于教师教。但从长期看,越是注重以语法来衡量学生对语言的“掌握”程度,就越是忽略了程序设计真正使用的基本思维方式和方法,最后导致学生可能在学习完一学期的课程之后,满脑子除了一些语法知识,几乎没有任何分析解决实际问题的技能。

二、教学内容的改革

纵观教学的现状和所面临的问题,笔者认为程序设计基础课程应围绕程序开发周期,即分析问题、设计程序、编写程序代码、测试程序以及其他额外步骤等展开教学。但这并不容易实现。首先,若要从程序开发周期的各个方面教授学生,需要花费较多的课时。目前各院校开设的程序设计基础课总课时不尽相同,但大多在50到60课时之间,其中有三分之一是学生实验实训环节。换句话说,教师用于讲授的时间一般只有30课时左右。其次,以C语言为例,涉及基本数据类型、运算符和表达式、控制结构、数组、函数、指针、结构体和共同体、位运算和文件等诸多内容,显然,要在30课时内讲授完是很困难的。第三,即便是用填鸭式的方式将上述知识全部灌输给学生,学生也是不可能学会的。反而会造成学生的抵抗情绪。第四,本科计算机专业的程序设计教学一般是在一年级上学期先开设程序设计导论课,然后再开设具体的语言程序设计课,这是个循序渐进的过程。然而高职高专计算机专业的培养目标和教学进度与本科的是有区别的,因此,本科计算机专业的教学模式不能全部采纳。笔者以总学时50课时,其中讲课30课时,教授C程序设计语言为例,认为课堂教学可以进行以下改革。

1、以结构化程序设计为核心,重点讲授程序设计的控制结构

人类的自然语言有千百种,归根结底都是人类思想交流、记录的工具。计算机语言同样也是对解决具体问题的算法思想的表达工具。表达的形式――程序设计语言千差万别,但表达的内容――算法则是殊途同归。这里所说的算法不单是算法的概念和具体的某种算法,还包括算法的表示方法如流程图、结构图和伪代码等。程序设计语言本身只是在最后用来描述算法的一种工具,而任何程序不外乎由顺序结构、选择结构和循环结构组成。不论用哪种语言编写程序代码,都无法脱离这三种控制结构。可以说,是否掌握它们的用法决定了学生设计程序的优劣。因此,笔者认为,在高职高专的程序设计基础课中,让学生学习、掌握如何分析实际问题和设计解决它们的算法及算法描述的同时,应重点传授三种控制结构。

以往除了三种控制结构外,指针也是C语言的教学重点,或者说是重中之重。不可否认,指针是C语言的精髓,对程序设计有锦上添花的作用。能够驾驭C这门程序设计语言,势必熟练掌握指针的运用。而且,在目前的各类计算机等级考试中,C语言的指针也是必考而且重点考查的内容。那么,仅把教学重点放在控制结构上是否合适呢?笔者是这样考虑的:

第一,学习指针需要研究指针四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、以及指针本身所占据的内存区。这个学习的过程是相当费时的。较短的课时教授较多的内容之间存在矛盾。

第二,学习指针还要有一定数据结构的知识,对于初学程序设计的学生而言,过快地接触指针会使他们措手不及。有限的认识能力和知识水平与较复杂的应用之间存在矛盾。

第三,作为高职高专的程序设计基础课,浅显易懂实际上是非常重要的。高职高专学生的学习基础相对本科以上层次的还是较弱的,更应当使课程真正发挥“基础”的作用,成为为学生打下的坚实基础的奠基石。

那么,在高职高专的程序设计基础课中,是否就不必教学生指针的知识呢?当然不是。在学生掌握了程序设计的控制结构以后,选择性地将指针的概念及其一般的规则进行讲授,其他复杂及带有技巧性的内容,可以放在后续课程,或者在应考培训班里再作深刻的研究。

2、始终贯穿程序开发周期的教学,培养学生建立良好的程序设计风格

如1中所述,不能从语法规则角度来衡量学生对语言的“掌握”程度,不能忽略程序设计真正使用的基本思维方式和方法的教学。人类学语言很多时候不是先学语法语义规则的,而是先能听懂,然后会跟着说,然后才是学习书写以及其它更高形式。学习计算机语言也是一样的。让学生从感性再到理性去认识和理解程序设计,学生才有可能在学完课程之后大有收获。

现实中一个程序的开发是要经历一个漫长的开发周期的:分析问题阶段是整个周期中最困难的部分也是最重要的部分,需要明确期望的结果,需要明确有哪些信息参与来得到结果,需要对什么样的数据进行什么样的操作去得到期望的结果;设计程序阶段是开发过程的核心,需要把分析阶段的结果模块化,并采用算法加以描述;编写程序代码阶段用具体的计算机程序设计语言实现前一阶段的算法;测试程序则需要花费更为漫长的时间,因为实际的用户无法容忍一个有隐患的软件。这样看来,具体的程序设计语言要在整个开发周期的第三阶段才发挥作用。而程序设计风格就像一个人的习惯一样有好坏之分,好的程序设计风格会增强程序的可读性和易用性。因此,在学生学习程序设计基础之初,就应该注重培养学生的良好编程习惯,并在每个章节的教学中展开对程序开发周期的学习,让学生认识和理解整个程序开发过程,这样才不致使程序设计语言的教学脱离实际的应用。

必须注意到,高职高专的目标是培养应用型人才。学生在掌握一定理论知识的同时,更重要是实践。适量的实验实训环节必不可少,教师也应重视学生的实验实训课。以往有些教师因为总课时少,在不能增加总课时的情况下为了多讲理论便压缩实验实训课时的做法不可取。

三、教学策略的改革

作为程序设计基础课,让学生了解到什么是程序设计的基础是重要的。其实,具体的程序设计语言已经是实现程序的方式了,所以它才规则详尽、语法严谨、技巧多样。从这个角度也不难理解初学的学生为什么会感到困惑和吃力。

1、注重培养学生描述算法的能力

要用计算机解决实际问题,那么,在对问题进行分析后,就要针对问题设计解决该问题的算法。设计算法就是要把解决问题的步骤用清晰的语言表示出来。有多种方法可以描述算法,如自然语言、图像符号、伪代码等。用自然语言表示算法,人比较容易理解,但书写较烦琐,而且在某些场合,由于自然语言含义的不确切性,容易引起歧义,造成误解;对较复杂的问题,用自然语言又难以表达准确。因此,一般情况下较少采用自然语言这种方式表示算法。据笔者所知,部分院校的程序设计基础课在算法描述这个知识点的教学上以介绍流程图或结构图这类用图形符号的描述方法。笔者认为除此方法之外,也应注重对伪代码的讲授。伪代码介于自然语言与程序设计语言之间,代码简单、可读性好、并且类似自然语言,使用它可使被描述的算法较容易地以任何一种程序设计语言去实现。教师在教学过程中不一定限于具体的一种程序设计语言,训练学生用不同方法描述解决问题的算法,特别是伪代码,可以增强他们组织语言的能力,进而更好地理解程序的控制结构。

2、注重培养学生良好的程序设计风格

程序是最复杂的东西,良好的格式能使程序结构一目了然,便于编程人和其他人理解它,同时有助编程人的思维,帮助其发现程序中不正常的地方,使程序中的错误更容易被发现。因此从学生学习开始,教师就该讲授什么是良好的程序设计风格,并严格要求学生按分层缩进法书写和键入程序代码,尽量避免学生养成不良习惯后再去纠正,为时已晚。

3、注重培养学生分析问题的能力,从不同角度分析问题

多数教材在第一章就能见到程序代码,虽然在代码后会有注释,但学生在课程学习之前多数是从未接触过程序设计语言的,他们不懂语法语义规则,这个时候即使只是简单的格式输出程序代码,学生也是难于理解的;在学生学习一段时间有一定基础之后,他们又迫切需要阅读那些用于解决问题的可执行的程序代码。可见,机械地讲解教科书上的例题教学效果不好。对于一个问题,可以从提出问题的角度入手给出分析的步骤,如:什么是问题要输出的结果?什么是问题已经有的数据?用什么方法可以得到结果?或者从算法描述的角度给出同样的分析步骤;亦或从程序代码的角度,边讲解边让学生思考代码究竟是要解决一个什么问题。并且引导学生举一反三,逐渐使学生具备解决问题的能力。

四、结论

本文主要针对课时少知识点多这一矛盾对高职高专程序设计基础课教学内容和教学策略的改革进行了探讨。笔者也注意到:一个完整的课程内容通常有九大要素,即吸引注意、告知目标、追忆学前经验、呈现教材、提供指导、实际演练、提供反馈、评价成就及强化学习、保留与迁移。因此在教改过程中,除了教学内容和教学策略外,还有许多待研究的问题。

上述教学内容、教学手段的改革,已经在程序设计导论课程教学实践中运用。笔者将继续努力研究,使程序设计基础课程教学日趋完善。

参考文献:

[1](美)维尼特(Venit,S.),(美)德雷克(Drake,E.).《程序设计基础》(第三版)[M].北京:清华大学出版社,2008

[2]高林,周海燕.《程序设计方法与案例分析》[M].北京:人民邮电出版社,2005

[3]谭浩强.《C程序设计》(第三版)[M].北京:清华大学出版社,2005

[4]向华.《C语言程序设计》[M].北京:清华大学出版社,2008

程序设计风格篇7

关键词:学习风格;解决问题;高职;网络专业

1引言

高职高专学生学习程序设计、网络安全技术等课程存在较大困难是计算机教学界的共识,吸引了很多学者[1]对学生学习困难的具体原因进行研究。一些学者采取了一些方法来帮助学生学习,例如把程序设计中的算法和网络原理用动画和图形的方式来表示,文献[2]说明这些方法有一定的作用,但还是有很多学生很难完成这类课程的学习。

关于学习风格的研究,近30年来一直是教育界研究的热点,也被称为“现代教学的真正基础"。关于学习风格有很多不同的定义,其中比较有影响的有:肯赛拉认为“学习风格是指学习者个体在受信息和信息加工过程中所采用的自然习惯的偏爱方式,这些偏爱方式具有一定的持久性”。Keefe从认知因素、感觉因素和生理因素出发,将学习风格定义为“学习者和学习环境相互作用时表现出来的一种经常的、稳定的、具有倾向性的行为”[3];Kolb将学习风格划分为:聚合型、同化型、发散型、顺应型[4]。我国学者谭顶良在总结前人研究成果的基础之上,结合中国教育教学的实际情况,将影响学习者学习风格的要素归纳为社会、生理、心理三个维度[5]。以上学者对学习风格的定义都没有考虑学习者的专业特性,导致运用学习风格理论对高职网络专业学生进行分类时有效性不足。

2 基本思路

本文首先准对高职网络专业学生的特点设计学习风格分类方法,运用这个方法通过一个学期的教学实验获得学生的分类信息,记录学生在学习中解决问题的能力水平,然后在第二学期准对学生的学习风格改进教学方法和策略,评价第二学期学生解决问题能力情况。

3 学习风格模型

目前已有的学习风格分类方法一般通过量表方式进行分类,这些分类方法大都没有考虑学生的专业特点,Felder-SilverMan提出的学习风格模型主要以工程类专业为背景有较大的借鉴意义,我们以Felder-SilverMan学习风格模型为基础,借鉴其他学者的模型,把学习风格分成如下5类:

(1)感知型/直觉型。感知性学习者喜欢学习具体的内容,善于用已知的方法解决问题,善于把握事物的细节,善于记忆知识,希望实践练习。直觉性学习者对抽象的概念感兴趣,他们更有能力发现新的应用,更具有创造力,但他们不喜欢重复训练,不善于把握技术的细节。

(2)可视化型/文本型。可视化型学习者更喜欢通过图、视频等学习材料学习,而文本型W习者喜欢通过文字材料学习。

(3)积极型/反思型。积极型学习者善于通过实验、实践来吸取知识,能够融入团队开展学习工作。反思型学习者偏向通过思考开展学习,尤其喜欢一个人学习。

(4)顺序型/全局型。顺序型学习者喜欢一步一个脚印,有简单到容易逐步掌握知识和技能。全局型学习者喜欢从整体上对一个主题或者科目进行学习,学习的步骤会很大,但不纠结于细节。

(5)归纳型/推理型。归纳型学习者喜欢从一个具体的问题或者应用场景开始学习,然后再掌握原理。推理型学习者喜欢先学习原理,然后应用到各个应用场景。

4 学习风格分类

Richard Felder教授开发了一个有44个问题组成的分类工具,用来给编程入门课的学生进行分类,本文以Richard Felder教授开发的工具为主体设计逻辑问题,融入了课堂教学、学生网上学习、学生自我判断等方面的内容,开发了网站,让学生在网上完成答题,根据学生答题情况进行分类,根据每个类型赋值1到11不等,其中1-3分为一般偏好,5-7为中等偏好,9-11为强偏好,如可视化型值为10,就说明这个学习者具有强烈的可视化偏好,意味着这个学习者通过文字学习时会遇到很大的困难。本文在实验的第一学期程序设计对35名同学进行了自愿测试,感知性28人,直觉性7人,可视化型32人,文本型2人,积极型18人,反思型17人,顺序型20人,全局型1人,归纳型35人。

5 数据分析与对策

从分类的数据看,大部分同学都属于感知性、可视化型,因此教学者尽量提供可视化的学习材料,课程的教学案例尽可能的详细、具体。 为了提高教学的效果,本文在第二学期网络安全技术课程根据学生的学习风格分类调整教学方式:

(1)为了提高感知型/直觉型同学的学习效果,学习材料除了有明确的细节,还需要提供一些概念。

(2)课程教学材料要图文病猫,视频和实训指导书进行配合。

(3)上课30分钟后,开展5-15分钟的讨论,提高反思型学习者的学习效果。

(4)采用基于问题驱动、发现学习、探究式教学方法,以适应归纳型学习者。

通过改进教学策略,实验班同学的平均成绩从《程序设计》设计课程的71.5分提高到网络安全技术课程的79.6分,不及格同学数量从5降低到1人,说明本文采取的教学对策十分有效。

参考文献:

[1]Lahtinen. A Study of the difficulties of novice programmers. ACM Press,New York, NY, 2012, 14-18.

[2]Cooper S. Teaching objects-first in introductory computer science. New York, NY, 2013, 191-195.

[3]康淑敏.学习风格理论西方研究综述.山东外语教学,2003

[4]严加平,夏惠贤.基于经验学习的学习风格研究述评.教育科学.2006.

[5]谭顶良.学习风格理论应用于教育心理学教学的尝试.心理科学,1996

程序设计风格篇8

关键词:风电工程;施工阶段;电气监理;

中图分类号:F407文献标识码: A

所谓工程建设监理,是指在项目法人的委托下,监理企业对工程项目的质量控制、投资控制、进度控制、安全监理,以及对信息和合同进行管理,并通过组织协调的方式来实现监理的工作。监理作为独立的第三方,要做到公平、公正、诚信、守法,在协调处理施工过程纠纷或存在问题时,不仅要保证业主方的利益,同时也要维护施工方合法权益,对工程建设安全、质量负监理责任。我国的工程建设项目监理实行总监理工程师负责制度,总监理工程师代表监理单位在项目上全权负责协调处理与工程相关一切事务,按照风电工程建设实际情况,下设各土建、电气、安装安全专业组,电气专业组,负责风电工程建设电气专业相关施工,如升压站设备电气安装及调试、场内集电线路、场内接地系统施工。

风电工程建设电气施工阶段,开展监理工作要重点注意以下几点:

1、落实好电气施工图纸审查制度

工程质量与建设水平是需通过具体的设计体现出来,以设计为依据进行施工作业,故设计水平一定程度上决定了工程的优劣,影响工程的品质,设计好坏是工程质量的必要性环节。在我国工程建设当中很多的事故都是由于最初的设计引起的,所以加强施工图纸审查制度,则为工程质量、安全提供更多一层保障。在施工图纸交付现场后,建设单位应及时协调组织设计交底,由该项目电气专责对施工单位进行设计交底,施工单位在设计交底后,应尽快组织电气专业施工人员对各个电气部分施工图纸进行审图,在审图过程中及时发现问题或对图纸有异议的做好汇总。在项目开工前,由总监理工程师组织,各相关单位电气人员参会,在会议上对图纸存在问题及异议提出,让设计给予解释及确认,并出具书面的图纸会审纪要,经参会各方签字确认。对在后续施工过程中,发现图纸问题,施工单位应及时将问题反馈给监理部,由监理部转交给建设方让设计单位给予及时解决,确保工程质量、安全、进度。

2、加强对施工组织设计及电气施工方案的审查制度

对电气施工单位上报的施工组织设计、电气施工方案,认真落实审查,重点审查方案的可行性、合理性及规范性,必须符合建设工程现场实际情况,组织合理、分工明确,并充分考虑了与相关专业结构问题,事前做好控制。在实施开展过程中,如发现偏差或方案发生变动,监理应及时督促施工单位严格按照程序落实纠偏、变更,变更后的施工组织设计或方案必须由其公司技术部门审核及技术总负责人批准,并严格执行批准后的组织设计及方案。

3、加强电气专业施工进度控制

依据建设方提供的项目总进度目标、一级网络进度计划图,编制电气专业施工进度计划,应加强对审查施工单位上报的二级网络进度计划图审查,应结合当地地质情况、往年气候规律等,确保电气专业施工进度实施可行性,同时应考虑与其它专业施工接口衔接及工序问题,合理安排工序、组织人员施工,避免造成窝工或误工等情况发生,影响总工期进度及造成经济损失。

施工进度计划经审查批准后,督促施工单位认真落实执行,并定期或不定期对施工进度情况进行汇总汇报,收集现场施工进度实际信息,与计划工期相比较,如发生较大偏差,应分析查找原因,并采取相适应的组织措施、经济措施、技术措施等,加快施工进度,在满足工程总进度的同时达到最佳的投资效果。

4、加强对进场电气设备、电缆等辅助材料验收检查

风电工程将有大量的电气设备采购进场安装,还有电缆、接地等辅助材料进场,此些设备的质量好坏将影响到工程建设的安全质量,以及后续风电场运行的安全质量,所以对采购进行的电气设备及材料必须认真落实检查,对不合格的电气设备及材料应封查、退场,严禁在进场使用。

5、电气施工阶段检查验收制度

工程建设施工可分为事前控制、事中控制、事后控制,其中事中控制是重中之重。在分部、分项工程施工前,督促要求施工单位对施工人员做好分部、分项工程施工安全、技术交底,对施工过程中安全、质量需要注意事项交底清楚,被交底人签字确认,并做好记录、存档。在工序施工前,监理认真检查施工单位是否已做好了安全、技术交底,是否已签字确认;施工方案、操作手册是否齐全;施工材料、工器具是否准备齐全;施工安全员、技术负责是否到位;施工现场危险源、危险点是否落实分析隔离,安全标识、警示标志是否齐全等等。在具备条件后,才方可允许其施工作业。

对一般工序施工,采取定期或不定期进行巡视检查,现场及时发现问题及时落实处理;对关键点、关键部位或工序,采取停工待检或旁站监理措施,对于停工待检的工序,要求施工单位在该工序完成后应立即暂停施工,并及时向监理部报验,监理人员在规定时间内完成工序验收,如对验收不合格的则要求施工单位整改或返工在报验,必须在验收合格后方可允许进行下道工序施工;对规范要求必须进行旁站的关键部位或工序,则监理将严格按照规定要求采取全过程旁站监理,确保工程施工安全及质量。对隐蔽工程,必须经监理验收合格后方可进行隐蔽施工,要留存由隐蔽资料,如果施工单位未经监理验收及隐蔽的,监理有权要求施工单位给予刨开检查,如验收不合格要求施工单位整改或返工,造成的损失由施工单位自行承担。

场内接地系统施工在必须在电气设备安装之前完成,且必须经有资质的第三方检测机构测试接地电阻值符合设计、规范要求后,并完成交安验收后,方可组织开展电气设备安装施工,其中升压站的电气一、二次设备安装基本可以同时进行施工,不要影响电气设备预防性高压试验及保护调试工作的顺利进行,合理协调施工工序,按期完成设备安装及调试,顺利通过验收。

场内集电线路工程施工,可以独立开展施工,一般有直埋电缆和架空线路两种形式。直埋电缆施工,严格按照《电气装置安装工程电缆线路汗死哦给你及验收规范》及设计图纸要求组织进行施工及验收,监理严格按照要求对电缆沟开挖、电缆敷设、电缆中间头、电缆终端头制作、隐蔽工程验收、电缆沟回填等工序进行检查和验收。架空线路施工,按照《110kV~500kV架空电力线路施工及验收规范》、《电气装置安装工程35kV及以下架空电力线路施工及验收规范》及设计要求组织施工及检查、验收。

其中分项工程验收由监理师组织验收;一个分部工程的所有分项工程经验收合格,且资料齐全、功能与安全验收符合要求后,经施工单位报验,由总监理工程师组织进行分部工程验收;在所有分部工程验收合格后,经施工单位报验,各参加出具工程质量验收评价上报建设单位,由建设单位组织参建单位进行单位工程竣工验收。

结语

风电建设过程中的施工量很大的,工作繁琐,同时也可能出现一些意想不到的突况,所以监理工作也面临着很大的挑战,需要监理人员要具备临时应变能力,熟悉整个施工过程的所有环节,做好现场的协调与调度,做好现场施工的安全管理,质量、进度及投资控制。为了能更好的处理好施工现场问题,做好好电气施工监理,服务好整个风电工程建设,要充掌握及了解电气建立自身的权利和义务,加强与各方沟通与协调,在技术方面不断提高业务水平、努力学习专业技术知识,利用现代有效的知识理论及管理办法,从而避免一些不必要的失误和损失还能够在管理方面减少安全隐患,提高工程质量为整个工程的顺利完成做出巨大贡献

参考文献:

[1] 王小军. 工程项目管理加监理模式的研究[D]. 天津大学 2010

[2] 房光福. 官地水电站机电设备安装工程进度管理研究[D]. 电子科技大学 2013

[3] 赵亚楠. 建筑工程监理存在的问题及对策刍议[J]. 企业技术开发. 2011(11)

[4] 张跃芹,张国新,王文明. 电力工程监理市场面临的几个问题[J]. 山西煤炭管理干部学院学报. 2011(03)

上一篇:隧道施工安全管理范文 下一篇:室内装饰设计风格范文