[高等教育]05秋上机.doc_第1页
[高等教育]05秋上机.doc_第2页
[高等教育]05秋上机.doc_第3页
[高等教育]05秋上机.doc_第4页
[高等教育]05秋上机.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

05秋VFP01一、 项目、数据库和表操作打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。1按以下要求修改SJK数据库中TS表:(1) 为TS表设置长表名:图书档案表。(2) 添加一备注型字段,字段名为summary,并设置其标题为“内容概要”。(3) 设置分类号(flh)字段的有关属性,使该字段中输入的字母均为大写字母。(4) 创建一个普通索引abcd,要求以分类号(flh)为第一索引关键字、书名(sm)为第二索引关键字排序。(5) 设置价格(jg)字段的有效性规则和有效性说明信息,要求:其值不能小于1。(6) 修改作者(zz)字段的值,要求在原作者名后加汉字“等”。例如,第一条记录的作者由“路云”改为“路云等”。2在项目中,将FF表单设置为“排除”状态。3XS表和CJ表已存在以学号(xh)字段为索引表达式的主索引xsxh和普通索引cjxh。以XS表为主表,CJ表为子表按xh建立永久关系,并根据以下要求设置参照完整性规则:在CJ表中添加记录时,若XS表中没有相对应的记录(xh字段的值),则禁止添加记录。二、 设计查询在TEST项目中已经存在查询chaxun,已知在SJK的学生(XS)表中含有系代号(xdh)、学号(xh)、姓名(xm)等字段;成绩(CJ)表中含有学号(xh)、课程代号(kcdh)、成绩(cj)等字段。按如下要求修改查询:基于XS表和CJ表查询“刘玉敏”同学所在系的每位同学的平均成绩,输出xdh、xh、xm、平均成绩,查询结果按姓名排序。(提示:筛选条件中使用SELECT xdh FROM xs WHERE xm=刘玉敏;查询保存并关闭设计器后,可能无法再次在设计器中打开,只能在编辑窗口中修该查询的SELECT-SQL语句。)三、 设计菜单已知项目TEST中已存在菜单menu,利用菜单设计器,按如下要求修改菜单。1 按图1所示要求为“表操作”菜单栏下的“添加记录”菜单项增加子菜单,为“表操作”菜单栏下的各菜单项设置分组线;2 在“文件”菜单栏下插入VFP系统菜单项“退出”;3 为“数据查询”菜单栏下的“课程”菜单项编写SQL命令;当执行该菜单时,在浏览窗口显示kcdh、kcm及平均成绩(注:根据KC表与CJ表查询)。图1四、 设计表单项目管理器中已经存在表单FA,该表单用来更改用户的密码。根据下列要求修改表单,设计时和运行时的效果分别如图2和图3所示。1 将文本框控件txtUserName设置为禁用,并将其与全局内存变量pUserName绑定;2 将“老密码”文本框控件txtOldPwd的密码占位符设置为字符“#”;3 添加一个“重置”命令按钮(如图3所示),对象名为cmdReset,标题为“重置”;4 为“重置”按钮设置Click事件代码,要求清除“新密码”和“新密码重复”相应文本框控件的文本值;5 已知在表单的Init事件代码中已定义了全局变量pPassWord,用来存放已登录用户的密码,完善“确定”按钮的Click事件代码(提示:在原代码中的空行处添加一条语句),要求:当老密码与全局变量pPassWord的值相等时,检查“新密码”和“新密码重复”相应文本框控件的文本值是否相等,如果相等,则将“新密码”文本框txtNewPwd1的值赋给全局变量pPassWord。图2设计时 图3运行时五、 程序改错下列程序的功能是找出1000之内所有的完数,并统计它们的个数。完数是指:数的各因子之和正好等于该数本身(例如6的因子是1、2、3,而1+2+3=6,所以6是完数)。要求:(1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;(2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARnCount=0FOR n1=1 TO 1000 m=0 FOR n2=1 TO n1-1 IF n1/n2=MOD(n1,n2) m=m+n2 ENDIF ENDIF IF n1=m ?n1 nCount=nCount+1 ENDIFENDFORWAIT WINDOWS完数的个数为+STR(nCount)05秋VFP02一、 项目、数据库和表操作打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。1按以下要求修改SJK数据库中TS表:(1) 为TS表设置表注释:教学用图书。(2) 添加一个字段,字段名为cover,其类型应适用于存储图书的封面图片。(3) 设置分类号(flh)字段的有关属性,使该字段中输入的字母均为大写字母。(4) 设置册数(cs)字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的相应控件为微调框控件。(5) 创建一个普通索引abcd,要求以书名(sm)的长度进行排序(sm字段值的首尾空格字符不计)。(6) 设置书名(sm)字段的有效性规则:其值不能为空字符串,或仅有空格组成的字符串,相应的有效性说明为“书名不能为空”。(7) 为TS表添加一条记录,其记录内容为:FLHSMZZTP31.15Visual Fox Pro实验指导崔建忠等2在项目中,将XIM表设置为“包含”状态。3XS表和CJ表已存在以学号(xh)字段为索引表达式的主索引xsxh和普通索引cjxh。以XS表为主表,CJ表为子表按xh建立永久关系,并根据以下要求设置参照完整性规则:在CJ表中删除记录时,若CJ表中有相对应的记录(xh字段的值),则禁止删除XS表记录。二、 设计查询在TEST项目中已经存在查询chaxun,SJK数据库中的XSJY视图包括学生学号(xh)、借阅日期(jyrq)、还书日期(hsrq),SJK数据库中的学生(XS)表含有学号(xh)、姓名(xm)、所在班级编号(bjbh)。按如下要求修改查询:基于XS表和XSJY视图查询每个班每个学生借书本数、过期罚款数。要求输出字段为:Xs.bjbh, Xs.xh, Xs.xm, 借书本数、罚款数。查询结果按bjbh相同排序,bjbh相同的,按Xs.xh排序。注:每本书的借阅时限为30天,每超过一天罚款0.05元计算;同一本书借阅两次时,以两本书计;小数点保留2位。三、 设计菜单已知项目TEST中已存在菜单menu,利用菜单设计器,按如下要求修改菜单。1 按图1所示要求为“表操作”菜单栏下各子菜单项设置分组线;2 在“文件”菜单栏下插入一个“退出”菜单项,并编写命令:当执行该菜单项时能关闭VFP系统。 图1 3 为“数据浏览”菜单栏下的“学生”菜单项编写过程代码:当执行菜单项时,选择学生(XS)表为当前表(若未打开,则首先打开之),并用BROWSE命令浏览学生表。四、 设计表单项目管理器中已经存在表单FB,该表单用来更改用户的密码。根据下列要求修改表单,设计时和运行时的效果分别如图2和图3所示。1 设置表单为模式表单,背景为白色,并在运行时自动居中。2 设置“确定”按钮控件为禁用。3 添加一个图像控件,并指定显示的图像为Lock.jpg文件所存图像。4 完善“重复新密码”文本框控件txtNewB的InterActiveChange事件代码(提示:在原代码中的空行处添加适当的代码),要求:用IF结构语句判断文本框“新密码”和“重复新密码”的值是否一致,如果一致,则启用“确定”命令按钮,否则禁用“确定”命令按钮。5 编写“确定”命令按钮的相关事件代码,使得单击该按钮时,将“txtNewA”文本框的值赋给变量pPassWord。图2设计时 图3运行时五、 程序改错下列程序的功能是找出1000之内所有的完数的个数。完数是指:数的各因子之和正好等于该数本身(例如6的因子是1、2、3,而1+2+3=6,所以6是完数)。要求:(1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;(2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARn1=1nCount=0DO WHILE n1=1000 m=0 FOR n2=INT(n1/2) TO 1 STEP -1 IF n1/n2=INT(n1/n2) m=m+n1 ENDIF ENDFOR IF n1=m nCount=nCount+1 ?n1 ENDDO n1=n1+1ENDDOWAIT WINDOWS完数的个数为+STR(nCount)05秋VFP03一、项目、数据库和表操作打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。1按以下要求修改SJK数据库中TS表:(1) 为TS表设置编辑说明:教学图书表。(2) 修改价格(jg)字段的宽度,要求该字段最多能存储整数3位、小数1位。(3) 设置作者(zz)字段的标题属性,使该字段的字段名在浏览窗口中显示为“作者”。(4) 创建一个普通索引abcd,要求以入库日期(rkrq)字段进行排序,相同时以价格(jg)字段排序。(5) 设置价格(jg)字段的有效性规则,要求其值不能小于1。(6) 将分类号(flh)以G字母开头的记录彻底删除。2利用项目管理器删除XIM表。3将图标文件NET.ICO添加到项目中的合适位置,并修改TEST的项目信息:附加图标NET.ICO。4XS表和CJ表已存在以学号(xh)字段为索引表达式的主索引xsxh和普通索引cjxh。以XS表为主表,CJ表为子表按xh建立永久关系,并根据以下要求设置参照完整性规则:在XS表中删除记录时,若CJ表中有相对应的记录(xh字段的值),则同时删除CJ表中相应记录。二、 设计查询在TEST项目中已经存在查询chaxun,SJK数据库中的JSJY视图包括工号(gh)、借阅日期(jyrq)、还书日期(hsrq),SJK数据库中的教师(JS)表含有工号(gh)、姓名(xm)、系代号(xdh)。按如下要求修改查询:基于JS表和JSJY视图查询每个系每个教师借书本数、罚款金额。要求输出字段为:Js.xdh, Js.gh, Js.xm, 借书本数、罚款金额。查询结果按xdh排序,xdh相同的,按Js.gh排序。注:每本书借阅时限为60天,每超过一天罚款0.05元;同一本书借阅两次时,以两本书计;要求小数点保留2位。三、 设计菜单已知项目TEST中已存在菜单menu,利用菜单设计器,按如下要求修改菜单。1 按图1所示要求为“表操作”菜单栏下的“添加记录”菜单项增加一个子菜单(含分组线);2 为“添加记录”菜单栏下的“课程”菜单项添加过程代码:当执行该菜单项时,选择课程表(KC)为当前使用表(若该表未打开,则首先打开之),并在课程表中添加一条空记录。3 在“文件”菜单栏下插入VFP系统菜单项“另存为”。 图1四、 设计表单项目管理器中已经存在表单FC。按如下要求修改表单,设计时和运行时效果分别如图2和图3所示。1 将微调框控件spnWidth的Vaule属性值设置为300,最大和最小值分别设置为600和200;2 创建表单集,并在表单集中添加第二个表单Form2;3 为表单集添加新的方法程序:SetSize,并编写方法程序代码,要求能将第二个表单Form2的宽度和高度设置为第一个表单Form1中微调框控件spnWidth和spnHeight的值;4 编写spnWidth控件和spnHeight控件的InterActiveChange事件代码,在代码中调用表单集的SetSize方法; 图2设计时 图3运行时五、 程序改错下列程序的功能是找出两个正整数的最大公约数。可以用辗转相除法来求最大公约数。例如27和6,先用27除以6,余数为3,由于余数不为0,再将6作为被除数,3作为除数,得到余数为0,则3就是27和6的最大公约数。要求:(1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;(2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARm=27n=6IF mn t=m m=n n=tENDIFr=MOD(m,n)DO WHILE r=0 m=n n=r r=MOD(m,n)ENDDOWAIT WINDOWS最大公约数为+STR(r) 05秋VFP04一、项目、数据库和表操作打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。1按以下要求修改SJK数据库中TS表:(1) 设置表的触发器:当册数(cs)不为0时,禁止删除。(2) 添加一个字段,字段名为publisher,宽度以最多能存储“外语教学与研究出版社”字符串为准,并为其设置默认值“出版社”。(3) 设置国际标准图书编号(isbn)字段的标题属性,使该字段的字段名在浏览窗口中显示为“国际标准图书编号”。(4) 创建一个普通索引abcd,要求以册数(cs)字段进行排序,相同时以价格(jg)字段排序。(5) 设置rkrq字段的有效性规则,要求不超过当前系统日期。2将GZ表中qt字段的值全部设置为0。3修改项目TEST的项目信息:附加图标NET.ICO。4XS表和CJ表已存在以学号(xh)字段为索引表达式的主索引xsxh和普通索引cjxh。以XS表为主表,CJ表为子表按xh建立永久关系,并根据以下要求设置参照完整性规则:在XS表中修改和删除记录时,若CJ表中有相对应的记录(xh字段的值),则同时修改和删除CJ表中相应记录。二、 设计查询在TEST项目中已经存在查询chaxun,已知在SJK的课程(KC)表中含有课程代号(kcdh)、课程名(kcm)字段,成绩(CJ)表中含有学生学号(xh)、课程代号(kcdh)和成绩(cj)字段。按如下要求修改查询:基于KC表和CJ 表查询每门课程选课人数、成绩优秀人数和成绩不及格人数。输出字段包含:Kc.kcdh、Kc.kcm、选课人数、优秀人数、不及格人数。输出结果按选课人数降序排序。(注:成绩大于等于90为优秀,小于60为不及格)。三、 设计菜单已知项目TEST中已存在菜单menu,利用菜单设计器,按如下要求修改菜单。1 按图1所示要求在“表操作”菜单栏前增加一个“编辑”菜单栏及其子菜单,并为“教师”菜单设置访问键;2 为“编辑”菜单栏下的“学生”菜单项添加过程代码:当执行该菜单时,选择学生表(XS)为当前使用表(若该表未打开,则首先打开之),并逻辑删除学生表中xh前二位位“00”的记录。 图1 四、 设计表单项目管理器中已经存在表单FD(如图2所示),该表单用来预览DBF表记录,根据下列要求修改表单,完成以后运行表单,效果如图3所示。1 设置表单可调整到的最小高度和最小宽度分别为200和250。2 设置Grid1表格的有关属性,使表格不显示删除标记列,并且使显示的数据只读但可获得焦点。3 在命令按钮组控件cmg中增加一个命令按钮,并设置该按钮的标题为“退出”。4 编写表单Resize事件的代码,使表单运行后改变表单窗口大小时,表格始终与表单同宽,表格的高度始终比表单高度小45。5 根据“打开表”命令按钮的Click事件代码中所指定的打开表的工作区,编写“关闭表”命令按钮的Click事件代码,要求仅用一条语句使该工作区中的表关闭。图2设计时 图3运行时五、 程序改错下列程序的功能是找出1992至2010年中的闰年年份。判断闰年的条件使:能被4整除但不能被100整除的年份,或能被400整除的年份。如1989,1900年不是闰年,1992,2000是闰年。要求:(1) 项目中有一个程序文件Pcode,将下列程序输入到其中并进行修改;(2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。n=1992y=1DO WHILE n=2010 IF INT(n/4)=n/4 IF INT(n/100)n/100 y=1 ELSE IF INT(n/400)=n/400 y=1 ELSE y=0 ENDIF ENDIF ENDIF y=0 ENDIF WAIT WINDOWS VAL(n)+是+IIF(y=1,闰年,非闰年) n=n+1ENDDO05秋VFP05一、 项目、数据库和表操作打开软盘根目录中的项目文件TEST,在该项目中已有一数据库SJK及若干表。1按以下要求修改SJK数据库中JS表:(1) 添加一个字段,字段名为zp,其类型应适用于存储教师的照片,并为其设置标题“照片”。(2) 设置系代号(xdh)字段和职称代号(zcdh)字段的有关属性,使这两个字段的值只能由数字字符组成。(3) 设置xdh字段的有关属性,使得将该字段从表单的数据环境中拖放到表单上时,生成的相应控件为下拉组合框控件。(4) 设置表的记录级有效性规则,要求工作日期(gzrq)字段的值比出生日期(csrq)字段的值大。(5) 创建一个普通索引abcd,要求以xdh字段进行排序,相同时以zcdh字段排序。2计算GZ表中住房补贴(zfbt)字段的值:zfbt=jbgz10%。3利用项目管理器操作:将数据库表XIM改为自由表,并将其添加到项目中。4JS表和RK表已存在以工号(gh)字段为索引表达式的主索引jsgh和普通索引rkgh。以JS表为主表,RK表为子表按gh建立永久关系,并根据以下要求设置参照完整性规则:在JS表中修改和删除记录时,若RK表中有相应的记录(gh字段的值),则同时修改和删除RK表中相应记录。二、 设计查询在TEST项目中已经存在查询chaxun,已知在SJK的图书(TS)表中含有分类号(flh)、书名(sm)字段,借阅(JY)表中含有分类号(flh)、借阅日期(jyrq)和还书日期(hsrq)字段。按如下要求修改查询:基于TS表和JY表查询每本书的被借阅次数、借出总天数。输出字

温馨提示

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

评论

0/150

提交评论