的总体框架和算法,不允许增加或减少语句数目 CLEAR nCount=0 FOR 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 ENDIF ENDFOR WAIT WINDOWS"完整的个数为"+STR(nCount)
2
模拟试卷二(试卷代号VFP02) 模拟试卷二(
试卷代号VFP02) 项目、数据库和表操作( 一、项目、数据库和表操作(12 分) 打开 moni1-5 文件夹中的项目文件 TEST,在该项目中已有一数据库 SJK 及若干表。 1. 按以下要求进行操作: (1) 在 SJK 数据库中创建一张表 TS2, 其表结构为 TS2 (flh c(10),sm c(30),jg n(6,2),zz c(8), cs i,cbsj d,cbs m) (2) 为 TS2 表设置表注释:教学用图书。 (3) 添加一个字段,字段名为 cover,其类型应适用于存储图书的封面图片。 (4) 设置分类号(flh)字段的有关属性,使该字段中输入的字母均为大写字母。 (5) 设置册数 (cs) 字段的有关属性, 使得将该字段从表单的数据环境中拖放到表单上时, 生成的相应控件为微调控件。 (6) 创建一个普通索引 abcd,要求以书名(sm)的长度进行排序(sm 字段值的首尾空格 字符不计)。 (7) 设置书名(sm)字段的有效性规则: 其值不能为空字符串,或仅有空格组成的字符串, 相应的有效性说明为“书名不能为空”。 (8) 为 TS2 表添加一条记录,其记录内容为: FLH TP31.15 SM Visual FoxPro 实验指导 ZZ 崔建忠等
2、 在项目中,将 XIM 表设置为“包含”状态。 3、 XS 表和 CJ 表已存
在以(xh)字段为索引表达式的主索引 xsxh 和普通索引 cjxh。 以 XS 表为主表,CJ 表为子表按 xh 建立永久关系,并根据以下要求设置参照完整性规则: 在 XS 表中删除记录时,若 CJ 表中有相对应的记录(xh 字段的值),则禁止删除 XS 表记录。 设计查询( 二、 设计
查询(8 分) 在 TEST 项目中已经存在查询 chaxun2,SJK 数据库中的 XSJY 视图包括学生(xh)、 借阅日期(jyrq)、还书日期(hsrq),SJK 数据库中的学生(XS)表含有(xh)、姓 名(xm)、所在班级编号(bjbh)。按如下要求修改查询: 基于 XS 表和 XSJY 视图查询每个班每个学生借书本数、过期罚款数。要求输出字段为: Xs.bjbn,Xs.xh,Xs.xm,借书本数、罚款数。查询结果按 bjbh 排序,bjbh 相同的,按 Xs.xh 排序。 注:每本书的借阅时限为 30 天,没超过一天罚款 0.05 元计算;同一本书借阅两次时, 以两本书计;小数点保留 2 位。
设计菜单( 三、 设计菜单(5 分) 已知项目 TEST 中已存在菜单 menu1,利用菜单设计器,按如下要 求修改菜单。图 1 1、 如图所示要求为“表操作”菜 单栏下的“数据浏览”建立各子菜 单; 2、 在“文件”菜单栏下插入一个“退出”菜单项,并编写命令,当执行该菜单时能关闭 VFP 系统; 3、 为“数据浏览”菜单栏下的“学生”菜单项编写过程代码:当执行该菜单项时,选择学 生(XS)表为当前表(若未打开,则首先打开之),并用 BROWSE 命令浏览学生表。 设计表单( 四、 设计表单(10 分)
3
项目管理器中已经存在表单 FB,该表单用来更改用户的密码。根据下列要求修改表单, 设计时和运行时的效果分别如图 2 和图 3 所示。 1、 设置表单为模式表单,背景为白色,并在运行是自动居中 2、 设置“确定”控件按钮为禁用。 3、 添加一个图象控件,并指定显示的图象为 Lock.jpg 文件所存图象。 4、 完善“重复新密码”文本框控件 txtNewB 的 InterActiveChange 事件代码(提示: 在原代码中的空行处添加适当的代码),要求:用 IF 结构语句判断文本框“新密码”和“重 复新密码”的值是否一致,如果一致,则启用“确定”命令按钮,否则禁用“确定”命令按 钮。 5、 编写“确定”命令按钮的相关事件代码,使得单击该按钮时,将“txtNewA”文本框的 值赋给给变量 pPassWord。
图 2 设计时 图 3 运行时 程序改错题( 五、 程序改错题(5 分)