04秋上机5671Word格式文档下载.docx

上传人:b****5 文档编号:18679926 上传时间:2022-12-31 格式:DOCX 页数:28 大小:156.68KB
下载 相关 举报
04秋上机5671Word格式文档下载.docx_第1页
第1页 / 共28页
04秋上机5671Word格式文档下载.docx_第2页
第2页 / 共28页
04秋上机5671Word格式文档下载.docx_第3页
第3页 / 共28页
04秋上机5671Word格式文档下载.docx_第4页
第4页 / 共28页
04秋上机5671Word格式文档下载.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

04秋上机5671Word格式文档下载.docx

《04秋上机5671Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《04秋上机5671Word格式文档下载.docx(28页珍藏版)》请在冰豆网上搜索。

04秋上机5671Word格式文档下载.docx

基于XIM表和XS表查询每个系各班级的学生人数以及女生所占比例,要求输出字段包括:

xdh、ximing、bjbh、总人数、女生人数和女生所占比例,查询结果按系代号升序排序,系代号相同时按班级编号升序排序。

三、设计菜单(5分)

项目TEST中已存在菜单MenuH,利用菜单设计器按如下

要求修改该菜单:

1..按图1所示,在“系统设置”菜单栏后面增加“教师档案管理”

菜单栏,并为它设置子菜单;

图1

2.为“教师工资管理”菜单栏下的“工资调整”菜单项编写命令:

当执行该菜单项时,工资(GZ)表中所有教师的岗位津贴(gwjt)统一增加200元;

3.将下列代码加到菜单的适当位置,使菜单运行时首先执行它。

CLEAR

CLOSE TABLES ALL

四、设计表单(10分)

项目TEST中已经存在表单FormH。

按下列要求修改该表单,修改完成后运行表单,其效果如图2所示。

1.修改表单的有关属性,使之外观如Windows对话框(无最大/最小按钮、不可调整大小、自动居中);

2.修改表格第5列的列标头的有关属性,将显示的“zcdh”修改为“职称代号”;

3.修改列表框控件的有关属性,要求显示两列数据(ZC表中的两个字段),且通过对数据环境的设置使数据职称代号排序;

4.完善下拉组合框的InterActiveChange事件代码,要求在原代码的基础上,在合适的位置增加2条语句以完成如下功能:

让标签控件Label2运行时可见,且用之显示系名;

5.完善“确定”命令按钮的Click事件代码,要求在原代码的基础上,在合适的位置增加1条语句

以完成功能:

用列表框中选择的职称代号更新表格中当前记录的职称代号(zcdh)。

图2

五、程序改错(5分)

下列程序的功能是:

将十进制数字字符串转换为二进制数字字符串,其基本算法是“除2取余法”。

要求:

①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改(注:

注释部分不输入);

②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。

LOCALcDec,cBin,nDec,n

cDec=“67”    &

&

十进制字符串

cBin=SPACE(0)   &

二进制字符串

nDec=VAL(cDec)

IFcDec=“0”

cBin=“0”

ELSE

DOWHILEnDec>

n=MOD(nDec,10)

nDec=INT(nDec/2)

cBin=STR(n,1)+cBin

ENDW

ENDIF

cMsg=“十进制数”+nDec+的二进制表示为:

“+cBin”

=MESSAGEBOX(cMsg)

 

二级 VisualFoxPro (试卷代号VFP02)

以设置默认的工作目录,然后财开始做题。

根据下列要求完成项目、数据库及表的操作。

1.修改数据库图书(TS)表的结构,要求:

(1)修改jg字段的宽度,使之能容纳4位整数和2位小数;

(2)将cs字段的标题设置为“库存数”,默认值设置为10;

(3)设置cs字段的有效性(验证)规则和有效性(验证)信息;

库存数必须大于0;

(4)创建普通索引smrq,要求先按书名(sm)排序,书名相同时再按入库日期(rkrq)排序。

2.将自由表JSB添加到SJK中,并在项目中为该表添加编辑说明:

“教师表”。

3.先修改软盘上TS1表的结构,添加一个类型、宽度和小数位均与jg字段相同的newjg字段,然后计算所有记录的该字段的值:

jg值的基础上增加15%。

4.以KC表为主表、RK表为子表,根据kcdh索引建立永久性关系,并设置两个表之间的参照完整性规则:

如果在RK表中存在匹配的关键字值,则禁止在KC表中删除记录。

在TEST项目中在查询chaxun,且在SJK中包含一个名为XSCJST的视图,该视图的记录(kcdh)、成绩(cj)、是否必修课(bxk)、学分(xf);

在SJK的学生(xs)表中含有学生的学号(xh)和性别(xb)。

根据XS表和XSCJST视图查询每个学生的选课门数。

要求输出字段包括:

xh、xm、xb、必修课门数和选修课门数,查询结果按必修课门数从小到大排序。

项目TEST中已存在菜单MenuC,利用菜单设计器按如下要求修改该菜单:

1.按图1所示为“统计分析”菜单项创建子菜单;

2.为“不及格统计”菜单项设置SQL命令:

基于成绩表

(CJ.DBF)统计各门课程不及格的人次,要求当执行该菜单时

在浏览窗口显示课程代号(kcdh)、不及格人次(注:

成绩

(cj)ihgf60分为不及格);

3.将“学生档案管理”菜单项废止。

项目TEST中已经存在表单FormC,该表单的功能是:

利用JS表中的教师工号数据进行“摇号”,单击“开始”按钮,则文本框中随机地显示教师工号,按回车键停止。

按下列要求修改该表单地,修改完成后运行表单,其效果如果2所示。

1.将表单的标题改为“摇号”;

2.将文本框改为数据只数;

3.修改形状控件Shap1的有关属性,使形状

控件为三维效果;

4.删除表单上的编辑框控件,然后在标签控

Lable2的下方添加一个列表框控件(List1),

并将其大小设置为与形状控件Shap1相同

(如图2所示);

5.修改“开始”命令按钮的Click事件代码:

要求在原代码之后添加两条命令,使得每

次摇出的教师信息(由字符型变量cStr给

定)添加到列表框中,且“开始”按钮可

再次使用。

下列程序的功能是将一个英文词组中的每个单词的首字母改为大写(单词之间以空格分隔)。

例如“Microsoftvisualfoxpro”经程序转换后为“MicrosoftVisualFoxpro”。

其基本算法是:

首先在字符串中查找到第一个空格,把空格械边的部分看作为一个单词,从字分符串中截取械边的单词,并将首字母改为大写。

剩余的部分用同样的方法进行处理,直到剩余的部分没有字符为止。

①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;

cText=“Microsoftvisualfoxpro”

cResult=SPACE(0)

WHILENOTEMPTY(cText)

nSpacePos=AT(SPACE

(1),cText)

IFnSpacePos>

cWord=LEFT(cText,nSpacePos)

cWord=cText

cWord=UPPER(cWord,1)+SUBSTR(cWord,2)

cResult=cWord+cResult

cTEXT=LTRIM(SUBSTR(cText,nSpacePos))

ENDDO

WAITWINDOWcResult

二级 VisualFoxPro (试卷代号VFP03)

1.按如下要求修改SJK中的教师(JS)表结构;

(1)将分类号(flh)字段的标题设置为“分类号”;

(2)设置rkrq字段的有效性(验证)规则:

必须是在当前日期(包括当前日期)之前;

(3)设置rkrq字段的有效性(验证)信息:

入库日期无效;

(4)为分类号(flh)字段设置输入格式:

删除输入字段前导空格;

(5)创建一个普通索引zj,要求先按作者(zz)字段排序,作者相同的再按价格(jg)字段从小到大排序。

2.把TEST项目中的自由表GZC移出项目。

3.把软盘中的表文件TS1.DBF添加为TEST项目中的自由表,并为TS1表添加一条记录,记录内

容如下表所示:

flh

sm

zz

jsbn

jg

cs

rkrq

T01:

123

计算机应用基础

王平

7-305-0405-6

20

100

08/01/03

4.SJK中XIM表已存在主索引xdh,索引表达式为xdh;

JS有已存在普通索引xdh,索引表达式为

xdh。

以xim表为主表、JS表为子表,按xdh建立永久关系,并设置xim表和JS表之间的参照

完整性:

更新级联。

TEST项目中已经存在查询chaxun,且在SJK中包含一个名为xscjst的视图,该视图记录了每一个学生的选课情况以及选修课程学分值,具体字段包括:

学号(XH)、姓名(XM)、课程代号(kcdh)、成绩(cj)和学分(xf);

按如下要求修改查询:

基于XS表和XSCJST视图查询每个学生的选课门数、总学分。

输出字段包括xh、xm、xb、选 课门数和总学分,查询结果按总学分从高到低排列。

注:

如果该学生的成绩(cj)字段的值小于60分,则该课的学分为0。

项目TEST中已存在菜单MenuB,利用菜单设计器按如下要求修改该

菜单:

1.按图1所示,为“学生成绩管理”菜单项创建子菜单;

2.为“成绩查询”菜单项编制SQL命令:

基于成绩表(CJ.DBF)查询

总成绩大于300分的学生清单,要求当执行该菜单时在浏览窗口显示

学号(xh)和总成绩;

3.在“文件”菜单栏下插入系统菜单项“打开”。

项目TEST中已经存在表单FormB,该表单的功能是根据输入的学号查询、显示相应学生的成绩。

1.将表单左上角的控制图标改

为软盘中NET.ICO文件所示

图标;

2.修改表格控件的有关属性,

使表格中的数据只读且获得

焦点;

3.修改表格控件的Init事件代

码,使得表格中显示的学生

成绩:

如果成绩不及格(小于

60),则该行以红显示,否则

以黑色显示;

4.向表单上添加一个“退出”

命令按钮(如图2所示),并

设置其有关属性、编写Click图2

事件代码,要求:

对象名为cmdExit,单击该命令按钮时关闭所有打开的表和临时表,并关闭表单。

VFP中LEFT(cExp.n)函数的功能是从字符串表达式cExp的值中取出左边n个字节长度的字符子串。

如果表达式cExp的值是中英文混合的字符串,因一个汉字占两个字节(没这里讨论的汉字均为GB2312-80中的汉字),则LEFT函数很容易把一个汉字取“破”,从而出现“乱码”。

下列自定义函数LEFT(cExp.n)的功能是:

取字符串cExp左边n个字符。

如果cExp字符串中包含汉字,则将每个汉字与英文字符同等看作长度为1。

例如CLEFT(“VFP上机考试”,5)的返回值是“VFP上机”,而不是“VFP上”。

①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改(注:

WAITWINDOWCLEFT(“VFP上机考试”,5)

FUNCTION CLEFT

PAPA cExp,n

LOCALch,nCh,cResult

cResult=SPACE(0)

nPos=1

FORi=1TOn

ch=SUBSTR(cExp,nPos,1)

***一个汉字有两个字节,汉字每个字节的ASCII码值大于127

IFASC(CH)>

127

cResult=cResult+SUBSTR(cExp,nPos,2)

nPos=nPos+2

ELSEIF

cResult=cResult+SUBSTR(cExp,nPos,1)

nPos=nPos+1

ENDFOR

RETURNn

ENDFUNC

二级VisualFoxPro(试卷代号VFP04)

(1)为工作日期(gzrq)字段设置标题:

工作日期;

(2)JS表中含有日期型字段出生日期(csrq),设置JS的记录有效性(验证)规则:

18岁以后(含

18岁)才能参加工作;

(3)为职称代号(zcdh)字段设置输入掩码:

接受2个字节的字符,且只接受数字字符;

(4)增加一个备注字段,字段名为zwjs;

(5)创建一个普通索引xdhcsrq,要求先按xdh字段排序,相同时再按csrq字段排序。

2.为JS表添加编辑说明:

教师基本信息表。

3.把软盘中的表文件GZB.DBF添加到SJK库中。

4.假定增加教师的基本工资(jbgz)的具体方法是:

教授加500元,副教授加300元,讲师和助教加200元。

请按上述方法来修改GZC表中所有记录的基本工资(jbgz)字段的值。

5.KC表中已存在主索引kcdh,索引表达式为kcdh:

PK表已存在普通索引kcdh,索引表达式为kcdh。

以KC表为主表、PK表为子表、按dcdh建立永久关系,并设置KC表和PK表之间的参照完整性:

TEST项目中已经存在查询chaxun,且在SJK中包含一个BJCJST的视图,该视图记录了各个班级的学生考试成绩,具体字段包括班级编号(bjbh)、学号(xh)、课程代号(kcdh)、成绩(cj):

在SJK的课程(KC)表中含有课程代号(kcdh)和课程名称(kcm)字段。

基于视图BJCJST和KC表查询各班学生参加课程号为“03”的课程的考试情况,输出字段包括:

bjbh、kcm、总人数、优秀率、不及格率,查询结果按班级编辑升序排序。

优秀率=成绩90分以上(包括90分)的人数/总人数,

不及格率=不及格(成绩小于60分)人数/总人数)

项目TEST中已存在菜单Menul,利用菜单设计器,按如下要求修改该菜单。

1.按图1所示,为“人事管理”菜单栏编制子菜单;

2.为“薪资管理”菜单栏下的“工资调整”菜单项编写命令,

当执行该菜单项时,将工资(GZ)表中所有基本工资(jbgz)

低于800元的记录都调整到800元;

3.在“系统设置”菜单栏下插入系统菜单栏“打印”。

项目TEST中已经存在表单FormI,该表单的功能是打印某学生或某课程的成绩。

1.将表单左上角的控制图标改为软盘中NET.ICO文件所示图标;

2.向表单上添加一个下拉列表框控制Combol,要求与选项按钮组左对齐、能显示2列数据,其数

据源(RowSource属性)为查询语句:

SELECTxh,xmFROMxsORDERBY1INTOCURSORtemp1

并且据此设置Combol控件的RowSourceType属性;

3.修改选项按钮组控件,使之无边框(如图2

所示),并为该控件的InterActiveChange事

件代码增加两条语句,用于清除下拉列表框

的值,并使下拉列表框柳得焦点;

4.完善“打印”命令按钮的Click事件代码,

要求在原代码之后增加一条语句,用于预

览报表BB;

5.为“取消”命令按钮设置Clkck事件代码,

其功能是:

关闭表单。

图2

根据指定日期显示中文的日期与星期表示形式。

例如,对于日“2004/10/16”,显示的结果是“2004年10月16日星期六”。

①项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改(注:

注释部分不输入

②在修改程序时,不允许修改程序的总体框架和算法,不允许增加加或减少语句数目。

LOCALdDte,cWeekStr,nWeek,cMsg

SETDATETOLONG

SETFDOWTO!

&

指定一个星期开始的第一天是星期日

dDate=CTOD(“2004/10/16”)

IF TYPE(dDate)=“D”

nWeek=DOW(dDate)

cWeekStr= 

“日一二三四五六”

cWeek=[星期]+SUBSTR(cWeekStr,*cWeek-1,2)

cMsg=DTOC(dDate)+SPACE

(2)+cWeek

cMsg=“无效的日期!

二级VisualFoxPro(试卷代号VFP05)

(本试卷完成时间70分钟)

2.启动VisualFoxPro系统后,首先在命令窗口中执行命令:

SETDEFAULTTOA:

1.按如下要求修改SJK中教师(JS)表的结构:

(1)将简历(jl)字段标题设置为:

简历;

(2)为工号(gh)字段设置输入掩码:

接受5个字节的字符,且第1个字符必须为大写字母,

后4个字符只接受数字;

(3)设置工作日期(gzrq)字段的有效性(验证)规则:

工作日期的年份必须小于等于2004

年且大于等于1960年;

(4)设置gzrq字段的有效性(验证)信息:

必须在1960~2004年之间;

(5)创建一个普通索引xdhzc,要求先按系代号(xdh)字段排序,系代号相同时再按职称代

号(zcdh)字段排序。

2.将软盘根目录中的表文件GZB.DBF添加为TEST项目中的自由表,并为其添加说明信息:

资信息表。

3.将GZB表中所有讲师的其它(qt)工资项设置为150元。

4.为JS表设置更新触发器:

仅允许更新1960年(含1960年)以前参加工作的教师记录。

5.SJK中JS表已存在主索引jsgh,索引表达式为gh;

GZ表已存在普通索引gzgh,索引表达式

为gh。

以JS表为主表、GZ表为子表,按gh建立永久关系,并设置JS表和GZ表之间的参

照完整性:

删除级联。

在成绩(GJ)表中输入成绩时,如果输入了课程(KC)表中没有的课程代号(kcdh),那么该学生的该成绩应视为无视,CJ表中这样的记录称为“孤立记录”,利用查询可以找出这些孤立记录。

在TEST项目中已存在查询CHAXUN,按如下要求修改该查询:

基于KC表和CJ表查询成绩表中的“孤立记录”,要求输出两个表的所有字段,相同的行在查询结果中只出现一次,且按学号(xh)升序排序。

(提示:

使用“右联接”联接KC和CJ表,然后在结果中选出来源于KC表的kcdh字段值为Null值的记录。

项目TEST中已存在菜单MenuE,按如下要求修改该菜单,

完成后的运行效果如图1所示。

1.为“文件”菜单栏创建子菜单,并在子菜单中插入系统

菜单项“导出”;

2.为“成绩管理”菜单栏创建子菜单,该子菜单包括二个菜单项“学生成绩录入”、“学生成绩查

询”,并用分隔线隔开;

3.为“课程管理”菜单栏下的菜单项“课程代码录入”设置快捷键“CTRL+L”

4.为“课程管理”菜单

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 交规考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1