




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1摘要在现今众多的数据库应用开发工具中,PowerBuilder是一个佼佼者。它以优异的性能成为了客户/服务器应用开发工具的标准。本次毕业设计就以PowerBuilder8.0作为开发工具,操作平台是Windows2000Professional中文版,选用的数据库后台是MicrosoftSQLServer2000分布市客户/服务器数据管理系统。毕业设计课题为“理工学院考试成绩分析系统”,该系统完成学生以及相关信息的输入,保存和维护,本着方便用户,确保数据一致完整的原则进行设计。本论文中详细列出了该系统的设计开发过程包括可行性研究、需求分析、总体设计、详细设计、测试报告和关键技术分析等几个部分,并附有流程图、层次图和数据流图。关键字:PowerBuilder,SQLserver,数据窗口2ABSTRACTAmongmanydesigningtoolsofthedatabase,PowerBuilderisthebetterone.Asitisveryuseful,PowerBuilderhasbecomethebestoneoftheClient/Serverdesigningtools.ThetitleofthisdesignisTHESTUDENTSGRADESANALYZINGSYSYTEM.This system can input the introduction of the new students, input the teaching planeveryterm,checkalldataofthedatabaseofthesystem.Thisthesisisonthebackgroundofdesigningthestudentsgrademanagingsystem,whichnarratethecourseofdesigningthesystem.Thisthesisisincludetheneed,thethesisunderstoodveryeasily.Keywords:PowerBuilder,SQLserver,Datawindow3目 录第一章:绪论1第二章:可行性研究3第三章:需求分析4第四章:总体设计7第五章:详细设计11第六章:测试25第七章:体会26附录:参考资料264第一章 绪 论PB8.0是PowerBuilder诞生10年来最新的一个版本,被认为是当今最具影响力的4GL/RAD开发工具。Sybase公司8月2日推出最新版本的应用开发工具PB8.0 (PowerBuilder8.0)。PB8.0通过诸多创新特性以及与应用服务器的无缝集成,提供了基于客户机/服务器、Web及多层结构的快速开发环境。同时,卓越的应用开发效率及强大的Web功能为新版本增色不少。PowerBuilder 80是什么SybasePowerBuilder8.0是易于使用的、可伸缩的、并经实践证明的快速集成开发环境,它在给用户提供一条转移到下一代平台的途径的同时,使用户仍能够保护和扩展他现有的在技术和应用上的投资。多年来,用户一直赞赏PowerBuilder 用于客户机/服务器应用开发的快捷性、简便性以及先进性。现在,用户可以在他熟悉的相同的PowerBuilder环境中使用相同的技术来创建同样的功能强大的Web和分布式应用。PB8.0新版增加了许多强大的功能,包括卓越的应用开发效率,与SybaseEAServer的紧密集成以及强大的Web应用开发能力,具体表现在三个方面:在Java应用开发方面,PB8.0使PowerBuilder的代码能够在EAServer服务器内部与Java、C、C+,以及与其它组件一道执行。在客户机/服务器应用的开发方面,PB8.0增加了国际化支持、扩展的数据库支持、增强的AutoScript功能、例外处理功能的支持。在将客户机/服务器应用移植到Web方面,PB8.0则提供对统一的用户界面、工作区与对象的支持,简化的Web站点创建、基于事件驱动体系结构的高效页面开发功能,以及与EAServer增强的集成。从熟悉的PowerBuilder环境中,客户就可以充分地利用大量新的Web应用开发功能,将应用、用户以及技术带到Web世界与分布式计算领域。卓越开发效率PowerBuilder通过提供大量新的功能和特征,继续拓展其快速应用开发和无比卓越的生产率传统,显著地加快了应用开发的周期。工作区与对象新的工作区意味着你能够同时而且高效率地创建、预览和部署多个应用。在工作区中,你可以创建“对象”-你部署的最终产品。目前,PowerBuilder具有三种类型的对象, 它们是基于Windows的应用、部署到EAServer 中的PowerBuilder组件、以及Web对象。系统目录树这一激活的、自动缩进的、适合浏览的资源,以分层的格式可视化地显示工作区中的内容、HTML页面、Web应用可用的语言,以及驻留在EAServer中的组件。它还使你能够拖放组件和对象,从而使程序代码的编写量降到最低。例外处理 PowerBuilder8.0现在包含例外处理类和语法分析功能,用于对应用程序内部的上下文相关的错误分析处理。你可以很轻松地处理来自EAServer组件的例外,定义和丢弃你自己的例外类型。内置的国际化支持PowerBuilder现在支持双字节字符集。数十项可用性增强 Sybase公司已把50个以上增强的可用性增加到开发环境中。Web的快速应用开发PowerBuilder8.0现在是一个综合性的Web集成开发环境,它提供了一个基5于图形用户界面、功能强大而快捷的环境,用于高级Web应用和Web站点的创建。从熟悉的PowerBuilder环境中,你可以充分地利用大量新的Web应用开发功能,将你的应用、你的用户以及你的技术带到Web世界与分布式计算领域。无论是从事企业级系统开发,还是从事商业应用软件开发,高度灵活性、快速性以及强大的功能都是你所需要的。而这些正是SybasePowerBuilder8.0所能提供的。借助于PowerBuilder,你能够创建、增强和扩展驱动当今商务运作的客户机/服务器应用。而且,你还能够快速地创建并充分利用新的Internet和分布式体系结构优势的复杂Web及多层应用。紧密集成EAServerEAServer是Sybase公司的一个独具特色的应用服务器,它融合了组件事务处理服务器和动态页面服务器的功能。这就是PowerBuilder提供与J2EE应用服务器EAServer之间无缝集成用于应用开发、测试、调试和部署过程的原因。利用EAServer,你就能够支持包括CORBA、JavaBeans与EnterpriseJavaBeans、COM与C/C+组件在内的不同种类的组件模型以及本地PowerBuilder组件。EAServer还提供了你部署全球应用所需要的负荷平衡、高可用性、高安全性,以及高伸缩性特性。IDEChanges :PB8.0用诸多细致的视觉手法进一步改进了它的IDE(集成开发环境),由此反映出该产品在结构上的一些重大改变,包括了开发人员生产力、web客户开发和EAServer集成三个方面的重要升级。Workspaces和系统树窗口PB8.0提供的Workspace使开发人员可以同时在多个应用或者组件上工作。系统树窗口为开发人员提供了一个关于Workspace的活动状态视图,所有的组件、功能、属性、事件和结构都可以通过系统树窗口来访问。输出窗口和剪贴(Clip)窗口PB8.0新增了输出窗口和剪贴窗口。系统树窗口和Workspace的强大功能,再加上输出窗口、剪贴窗口的帮助,PB8.0的IDE已经有了显著的改进。与PowerSite合并将PowerSite完全整合进PB8.0,使PB8.0能够轻松建立事务型Web应用,同时也消除了Sybase产品线的重叠。EAServer整合存在于EAServer上的PB8.0应用程序和不可视对象现在可以与EJB组件直接进行通信,从而为开发人员提供了更好的组件间的互操作能力以及与EAServer更好的集成,普及并简化了PB8.0的组件化开发。Web功能将PowerSite整合进PB,使得PowerBuilder可以开发扩展的瘦客户应用,而增加瘦客户功能对促进Web应用开发是不可或缺的。Sybase做了很多努力来满足PB用户的需求,让他们发现这些新特性对他们6构建或维护两层事务型应用非常有用。同时,Sybase希望这些新特性也能告诉所有人,PowerBuilder8.0能够轻松构建更为复杂的n层和以Web为中心的应用。使用PowerBuider可以快速地开发出当今最流行的各种商业应用,如客户/服务器应用、分布式应用、基于组件的应用和Web应用。在PowerBuider8.0强大的功能和友好的集成开发环境支持下,开发人员的效率得到空前的提高,是程序设计与开发工作变的更加有趣,仿佛是一个艺术家在创作一件艺术品,因此它深受国内外广大开发人员的喜爱。作为一名企业应用的开发人员,你必须紧跟市场和企业规则的变化,不断地为企业用户开发出优质的应用系统,以使企业能在信息时代立于不败之地。选择PowerBuider8.0,定能使你从容应对各种变化,在激烈竞争环境中游刃有余。在满足用户和完成系统的需要前提下,我们认为选用PowerBuider8.0来开发本次毕业设计课题是最佳选择。Sybase做了很多努力来满足PB用户的需求,让他们发现这些新特性对他们构建或维护两层事务型应用非常有用。同时,Sybase希望这些新特性也能告诉所有人,PowerBuilder8.0能够轻松构建更为复杂的n层和以Web为中心的应用。7第二章可行性分析为了以最小的代价在尽可能短的时间内确定问题是否能够解决,在进行设计开发前首先进行了可行性分析。考试是教学过程的重要环节,认真、严密的考试过程,科学、准确的结果分析可以为评价教学效果,以及提高教学质量、改进教学方法和教学管理工作提供可靠的依据。a、新学期开始时,对应每一位新生输入相关的详细记录。b、建立各类课程的详细记录。c、各专业每学期要选择各类课程安排本学期的教学计划。d、各个对应专业年纪的学生可选择教学计划范围内的课程或选择重修课程并在每学期末输入成绩。e、随时可对学生记录、课程信息及学生成绩进行查询并且统计分析。f、只有有权限的人才可以对数据库进行维护。8第三章需求分析学生成绩管理工作被视作高校管理工作中一项不容忽视的重要分支,其工作量大,涉及面广,学生成绩管理工作进行的好坏直接影响着整个高校管理工作的各个环节。由于成绩管理工作的本身特点及特殊性质,单纯依靠人力,会使从事这项工作的管理人员过度疲劳,难免会发生许多错误,难以做到管理的规范化,这不符合管理工作的令后发展趋势。因此,需要开发一种功能全面,操作简便的管理系统来辅助作用,人机配合,能够使机器承担部分工作,是管理员逐步摆脱一些无谓的,烦琐的业务,这对充分利用人力资源的主导作用及使管理工作逐步步入规范化轨道有着重要意义。根据上一章可行性研究及对用户调查,我们可确定本系统必须完成的工作,下面将来做简单介绍。1 输入部分新学期开始需将学生基本信息输入,一般来讲,学生基本信息有姓名,学号,还有学生所属专业。在学生基本信息里可以选择同样专业的学生,可以对学生基本信息进行修改。每个新学期的信息都不同,还要设置学期。在设置专业时要设专业名称和专业代号,以便查询或者维护。每学期末应输入学生的各门课程成绩,但必须是该学生所在专业年级在本学期开了这门课,所以输入部分还需试卷登记,在试卷登记里要详细区分每个专业,每个班级的试卷。试卷登记就需要试卷信息。在输入模块里需要专业设置,学期设置,学生信息,试卷登记,试卷信息。该部分是本系统最重要部分,着重分析,还应考虑数据的完整性,使用视图。2 统计分析部分为了是各项记录可供有关人员随时查询,统计分析当中需要查询部分,查询应可以用按学生学号和学生姓名检索该学生的所有信息。期末考试结束后,各教研室应至少要抽取一个授课班进行试题的难度,区分度分析。A考试难度指数(P)值的计算方法:客观题难度指数计算公式:P=R/N(R为某一题参加考试的学生中答对的人数,N为参加考试的学生数。)非客观题难度指数计算公式:P=X/W(X为某题的平均分,W为该题的最高分值)B试题区分度(D)值的计算方法:计算某一班学生答某一题的区分度,首先要在该班中确定一个高分组,一个第分组。在考生中按名次排列位于前25%的学生为高分组,位于后25%的学生为底分组。客观题分度计算公式:D=Ph-Pl(Ph为高分组学生答对的百分比,Pl为底分组学生答对的百分比)9难度指数和区分度计算完后要在教研室同考试题一同存档,为以后的命题工作提供依据。另外试题的难度情况和区分度情况要写入下表考试总结和成绩分析中。标准差:数据离散趋势最灵敏、最标准的指标,能准确反映数据的差异程度,是对数局进行同意分析的前提与基础。客观题:评分而得名。试题类型有概念题、见大题、天空题、排列题、多重选择题等。优点:有明确的标准答案,简单,题量多,有足够的覆盖率:缺点:难于测量综合、平分两级复杂的认知目标。区分度:用极端分组把学生按其水平分开的能力。具有良好的能力。具有良好的句粉能力的测验能使水平高的学生得高分,水平低的学生得低分,因此,区分度通常作为测验是否具有效应的“显示器”,是坚定试题质量、筛选试题的主要指标与依据。学生成绩统计专业年级 考试人数 缺考人数 平均成绩 标准差 各额分数段人数 缺考学生名单90 80 70 60 60学生考试成绩频数分布图10第四章 总体设计本次设计选择powerbuilder8.0为开发工具,以mirocsoftSQLserver2000分布式客户服务器数据库系统,作为数据库后台,windows2000操作平台。学生成绩分析系统是一个很大的系统,若要求一个人独立地较完善地完成各项功能,在如此短暂的时间内简直是天方夜谈。所以,我侧重于输入模块进行了本次设计。下面我将分为两部分介绍总体设计。本课题采用MicrosoftSQLServer2000作为数据库后台,SQL语言功能丰富,使用方式灵活,语言简洁易学,它的功能包括查询,操纵,定义和控制4个方面。它的主要特点是:一体化,联机交互使用和嵌入式有统一的语法结构,过度非过程化以及语言简洁,易学易用等。程序设计:对整个系统动能有了总体上的认识之后,应对每一个模块的任务有一个清晰的认识,以防代码重复,责任模糊而浪费不必要的工作量。下面谈一谈我对每一个模块总体认识。1 数据输入:a、 专业设置:可新增输入专业代码及专业名称。也可以删除专业代码及其专业名称b、学期设置:可新增输入学期c、学生信息:可新增输入学号,姓名和专业。11d、试卷登记:显示各专业每个学期的试卷登记信息。e、试卷信息:显示各专业每个学期的每一学生的试卷信息、即考试成绩。2 统计分析模块:a、查找学生:可以按学号进行查询也可按姓名进行查询。b、成绩统计和频数分布图。c、成绩分析。3 退出系统。SQL的数据定义包括3部分:定义基本表,定义视图和定义索引。视图是从一个或几个基本表(或视图)导出的表。在应用系统中视图是极其重要组成部分。它的外模式是由若干基本表和若干视图组成的,视图是一个虚表。它的优点有:1 对于数据库的重构造提供了一定程度上的逻辑独立性。2 简化了用户观点3 视图的机制是不同的用户能以不同的方式看待同一数据。4 视图的机制对机密数据提供了自动的安全保护功能。索引是数据库检索经常用到的对象,为了提高查找速度应该给表建立索引。索引可以是唯一的或不唯一的,可以是簇类的或非簇类的。对一个基本表,可以根据应用环境的需要建立若干索引,以提供多种存取路径,提高系统的运行速度。根据以上分析将数据库设计成若干个基本表,它们是Paper试卷信息含 义 字段名 类 型 长 度 主 键专业代码 Spec_code Char 7 学 期 Semester Char 9 第一题分数 Due1 Tinyint 1第二题分数 Due2 Tinyint 1第三题分数 Due3 Tinyint 1第四题分数 Due4 Tinyint 1第五题分数 Due5 Tinyint 1第六题分数 Due6 Tinyint 1第七题分数 Due7 Tinyint 1第八题分数 Due8 Tinyint 1第九题分数 Due9 Tinyint 1第十题分数 Due10 Tinyint 1说明:a、专业代码和学期作为主码。b、Due1Due10均为该题目满分成绩。Score成绩信息12含 义 字段名 类 型 长 度 主 键学生学号 Stu_id Char 10 学 期 Semeter Char 9第一题分数 Score1 Float 8第二题分数 Score2 Float 8第三题分数 Score3 Float 8第四题分数 Score4 Float 8第五题分数 Score5 Float 8第六题分数 Score6 Float 8第七题分数 Score7 Float 8第八题分数 Score8 Float 8第九题分数 Score9 Float 8第十题分数 Score10 Float 8是否缺考 absent Tinyint 1说明:a、学生学号为主键。b、Score1Score10为该学生在考试中取得的考试分数。c、是否缺考、默认值为0,即为不缺考Student学生信息含 义 字段名 类 型 长 度 主 键学生学号 Stu_id Char 10 学生姓名 Stu_name Char 10专业代码 Spec_code Char 7说明:a、学生学号为主码。Semeter学期信息含 义 字段名 类 型 长 度 主 键学 期 semeter char 9 说明:a、学期为主码。Specicalty专业信息含 义 字段名 类 型 长 度 主 键专业代码 Spec_code char 7 专业名称 Spec_name char 22说明:13a、专业代码为主码。各表之间的关系14第五章 详细设计本章将想次地对各个模块进行分解和剖析,包括程序、变量使用和窗体的构成等。系统氛围四个模块,下面依次对各个模块进行叙述。基本界面:专业设置窗口:数据窗口dw_1连接dataobject:dw_spec15学期设置:数据窗口dw_1连接dataobject:dw_xueqiSELECTsemester.semesterFROMsemester学生基本信息:数据窗口dw_1连接dataobject:dw_xueshengxinxi16代码部分:SELECTstudent.stu_id,student.stu_name,student.spec_codeFROMstudentWHEREstudent.spec_code=:scode试卷登记:数据窗口dw_1连接dataobject:dw_analysisSELECTspecialty.spec_name,paper.semester,paper.due1,paper.due2,paper.due3,paper.due4,paper.due5,paper.due6,paper.due7,paper.due8,paper.due9,17paper.due10,paper.spec_codeFROMpaper,specialtyWHERE(paper.spec_code=specialty.spec_code)and(paper.spec_code=:spec)AND(paper.semester=:semes)试卷信息:数据窗口dw_1连接dataobject:dw_analysis控键:tv_1代码:treeViewItemtvithis.GetItem(handle,tvi)var_spec=tvi.datathis.hideselection=falseparent.init_score()控键:tv_218代码:treeViewItemtvithis.GetItem(handle,tvi)var_semeter=tvi.datathis.hideselection=falseparent.init_score()查找学生:数据窗口dw_1连接dataobject:dw_analysis检索:stringget_strget_str=trim(sle_1.text)ifsle_1.text=thenreturnendifchoosecasetab_1.selectedtabcase1dw_1.dataObject=dw_find_stu_by_iddw_1.setTransObject(sqlca)19dw_1.retrieve(get_str)case2dw_1.dataObject=dw_find_stu_by_namedw_1.setTransObject(sqlca)dw_1.retrieve(get_str)endchoose成绩统计和频数分布图:DataWindowChilddwc_score,dwc_absent,dwc_graphdw_1.GetChild(dw_score,dwc_score)dw_1.GetChild(dw_graph1,dwc_graph)ifvar_semester thendecimalthere_paperSELECTtop1paper.due1INTO:there_paperFROMpaperWHERE(paper.semester=:var_semester) ;20ifsqlca.sqlcode0thenmessagebox(错误,您所指定的专业在指定的学期不存在试卷!)dwc_score.SetTransObject(SQLCA)dwc_score.Retrieve()dwc_graph.SetTransObject(SQLCA)dwc_graph.Retrieve()returnendifdwc_score.SetTransObject(SQLCA)dwc_score.Retrieve(var_semester)dwc_graph.SetTransObject(SQLCA)dwc_graph.Retrieve(var_semester,var_spec)elsedwc_score.SetTransObject(SQLCA)dwc_score.Retrieve()dwc_graph.SetTransObject(SQLCA)dwc_graph.Retrieve(,)endif21成绩分析:DataWindowChilddwc_section1,dwc_section2dw_1.GetChild(dw_section1,dwc_section1)/dw_1.GetChild(dw_section2,dwc_section2)ifvar_semester thendecimalthere_paper6,10SELECTtop1paper.due1,paper.due2,paper.due3,paper.due4,paper.due5,paper.due6,paper.due7,paper.due8,paper.due9,paper.due10INTO:there_paper1,1,:there_paper1,2,:there_paper1,3,:there_paper1,4,:there_paper1,5,:there_paper1,6,:there_paper1,7,:there_paper1,8,:there_paper1,9,:there_paper1,10FROMpaperWHERE(paper.semester=:var_semester) ;ifsqlca.sqlcode0thenmessagebox(错误,您所指定的专业在指定的学期不存在试卷!)dwc_section1.SetTransObject(SQLCA)dwc_section1.Retrieve()22/dwc_section2.SetTransObject(sqlca)/dwc_section2.retrieve(,)returnendifintvar_questions=1/getquestinsnumbersforvar_questions=1to10ifthere_paper1,var_questions=0thenEXITnextvar_questions-=1/calculatedifficultrealtemp2,10SELECTsum(casewhenpaper.due1=score.score1then1else0end),sum(casewhenpaper.due2=score.score2then1else0end),sum(casewhenpaper.due3=score.score3then1else0end),sum(casewhenpaper.due4=score.score4then1else0end),sum(casewhenpaper.due5=score.score5then1else0end),sum(casewhenpaper.due6=score.score6then1else0end),sum(casewhenpaper.due7=score.score7then1else0end),sum(casewhenpaper.due8=score.score8then1else0end),sum(casewhenpaper.due9=score.score9then1else0end),sum(casewhenpaper.due10=score.score10then1else0end),avg(score.score1),max(score.score1),avg(score.score2),max(score.score2),avg(score.score3),max(score.score3),avg(score.score4),max(score.score4),avg(score.score5),max(score.score5),avg(score.score6),max(score.score6),avg(score.score7),max(score.score7),avg(score.score8),max(score.score8),avg(score.score9),max(score.score9),avg(score.score10),max(score.score10)INTO :there_paper2,1,:there_paper2,2,:there_paper2,3,:there_paper2,4,:there_paper2,5,:there_paper2,6,:there_paper2,7,:there_paper2,8,:there_paper2,9,:there_paper2,10,:temp1,1,:temp2,1,:temp1,2,:temp2,2,:temp1,3,:temp2,3,:temp1,4,:temp2,4,:temp1,5,:temp2,5,:temp1,6,:temp2,6,:temp1,7,:temp2,7,:temp1,8,:temp2,8,23:temp1,9,:temp2,9,:temp1,10,:temp2,10FROMscore,paper,studentWHERE(score.semester=paper.semester)and(paper.spec_code=student.spec_code)and(score.stu_id=student.stu_id)and(score.semester=:VAR_SEMESTER)AND(score.absent=0) ;intstu_numsstu_nums=there_paper2,var_questions+1/thenumberofstudentsintifori=1tovar_questionsthere_paper2,i=round(there_paper2,1/stu_nums,2)nextiftemp2,var_questions=0thenthere_paper2,var_questions=0elsethere_paper2,var_questions = round(temp1,var_questions /temp2,var_questions,2)endifrealdata_trans8fori=1tovar_questionschoosecasethere_paper2,icase0to0.30data_trans1+=1case0.31to0.50data_trans2+=1case0.51to0.70data_trans3+=1case0.71to1data_trans4+=1endchoosenextfori=1to4data_transi=round(100*data_transi/var_questions,2)24nextdwc_section1.SetTransObject(SQLCA)dwc_section1.Retrieve()/dwc_section2.SetTransObject(sqlca)/dwc_section2.retrieve(var_semester,var_spec)ifdwc_section1.rowCount()=0thendwc_section1.insertRow(0)endifdwc_section1.setItem(1,difficult30,data_Trans1)dwc_section1.setItem(1,difficult50,data_Trans2)dwc_section1.setItem(1,difficult70,data_Trans3)dwc_section1.setItem(1,difficult100,data_Trans4)/calculatepartitiondatastoreds_difficultds_difficult=createdataStoreds_difficult.dataObject=dw_analysis_top25ds_difficult.setTransObject(sqlca)ds_difficult.retrieve(var_semester,var_spec)stu_nums=ds_difficult.getItemdecimal(1,compute_stu_num)fori=1tovar_questionsthere_paper1,i=ds_difficult.getItemdecimal(1,compute_+trim(string(i)nextfori=1tovar_questionsthere_paper2,i =ds_difficult.getItemdecimal(1,compute_+trim(string(i+10)nextds_difficult.dataObject=dw_analysis_end25ds_difficult.setTransObject(sqlca)ds_difficult.retrieve(var_semester,var_spec)fori=1tovar_questionsthere_paper3,i=ds_difficult.getItemdecimal(1,compute_+trim(string(i)nextfori=1tovar_questionsthere_paper4,i =ds_difficult.getItemdecimal(1,compute_+trim(string(i+10)25nextdestroyds_difficultSELECTmax(score.score1),max(score.score2),max(score.score3),max(score.score4),max(score.score5),max(score.score6),max(score.score7),max(score.score8),max(score.score9),max(score.score10),min( score.score1), min( score.score2), min( score.score3),min(score.score4),min( score.score5), min( score.score6), min( score.score7),min(score.score8),min(score.score9),min(score.score10)INTO :there_paper5,1,:there_paper5,2,:there_paper5,3,:there_paper5,4,:there_paper5,5,:there_paper5,6,:there_paper5,7,:there_paper5,8,:there_paper5,9,:there_paper5,10,:there_paper6,1,:there_paper6,2,:there_paper6,3,:there_paper6,4,:there_paper6,5,:there_paper6,6,:there_paper6,7,:there_paper6,8,:there_paper6,9,:there_paper6,10FROMscore,paper,studentWHERE(score.semester=paper.semester)and(paper.spec_code=student.spec_code)and(score.stu_id=student.stu_id)and(score.semester=:VAR_SEMESTER)AND(score.absent=0) ;fori=1tovar_questionstemp1,i=round(there_paper1,i-there_paper3,i)/stu_nums,2)nextifthere_paper5,var_questions-there_paper6,var_questions0thentemp1,var_questions = round( (there_paper2,var_questions -there_paper4,var_questions) / (there_paper5,var_questions -there_paper6,var_questions)*stu_nums),2)elsetemp1,var_questions=0endiffori=1tovar_questions26choosecasetemp1,icaseis=0.40data_trans8+=1endchoosenextfori=5to8data_transi=round(100*data_transi/var_questions,2)nextdwc_section1.setItem(1,part19,data_Trans5)dwc_section1.setItem(1,part29,data_Trans6)dwc_section1.setItem(1,part39,data_Trans7)dwc_section1.setItem(1,part
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年管线钢项目申请报告
- 箱式储能电站施工方案
- 地产咨询转型方案怎么写
- 山西黄河大桥施工方案
- 活动策划方案用什么做的
- 音乐活动走进社区策划方案
- 基于用户行为的站点内容优化策略-洞察及研究
- 钢楼梯电梯井道施工方案
- 2025年光伏组件效率提升技术安全性与市场应用报告
- 2025年光伏组件效率提升在光伏发电项目成本控制中的应用报告
- 洗衣房衣物洗涤操作规范
- 高桩码头施工培训课件
- 2025年Bio-based+100+生物基材料创新应用案例
- 中通规章管理制度
- 城市地理学第二版第三章城市的产生与发展 第四章城市化原理课件
- 现代文献检索与利用3-文献检索技术
- 2025年03月四川天府新区“蓉漂人才荟”事业单位(13人)笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年(广东省协会 )房屋安全检测鉴定技术培训-机考历年真题考前冲刺题
- 汉服文化知识普及
- LED销售技巧培训
- 《人民调解业务知识》课件
评论
0/150
提交评论