下列程序的功能是找出 1000 之内所有的完数,并统计它们的个数。完数是指:数的各因 子之和正好等于该数本身(例如 6 的因子是 1、2、3,而 1+2+3=6,所以 6 是完数)。要求: (1) 项目中有一个
程序文件 pcode2,将下列程序输入
到其中并进行修改; (2) 在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目 CLEAR n1=1 nCount=0 DO WHILE n1<=1000 m=0 FOR n2=INT(n1/n2) 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+1 ENDDO WAIT WINDOWS"完整的个数为"+STR(nCount)
4
模拟试卷三(试卷代号VFP03) (试卷代号VFP03) VFP03 项目、数据库和表操作( 一、项目、数据库和表操作(12 分) 打开 moni1-5 文件夹中的项目文件 TEST,在该项目中已有一数据库 SJK 及若干表。 1.按以下要求进行操作: (1) 创建一个名为 zytc.dbf 的自由表。表结构如下表所示: 字段名 bh zy xm xb zynx zc yysp 字段类型 字符型 字符型 字符型 字符型 整型 字符型 字符型 字段宽度 8 10 8 2 4 10 8
(2) 将 zytc 表添加到 SJK 数据库中。 (3) 添加一个备注型字段,字段名为 JL,并设置其标题为“简历”。 (4) 设置 xm 字段有效性规则,要求其值必须包含非空格字符。(注:对现有数据 不做验证) (5) 将 xb 字段的默认值设置为“男” 。 (6) 创建一个普通索引 abcd , 要求根据 bh 和 xm 进行排序 (先按 bh 后按 xm 排序) 。 2.利用项目管理器操作,从磁盘上删除自由表 gzb。 3.修改项目 test 的项目信息:附加图标 net.ico 。 4.TS1 表和 jy 表已存在以分类号(flh)字段为索引表达式的主索引 tsflh 和普通索引 flh。以 ts1 表为主表、jy 表为子表,基于 flh 字段建立永久关系,并设置参照完整性 规则:(1)在 ts1 表中修改记录(flh1 字段的值)时,若 jy 表中有相关的记录,则禁 止对 ts1 表进行修改;(2)在 ts1 表中删除记录时,若 jy 表中有相关的记录,则同步 删除 jy 表中相应记录。 设计查询( 二、设计查询(8 分) 已知在 sjk 数据库的系名(xim)表中含有系代号(xdh )、系名(ximing )等字 段,学生(xs)表中含有(xh )、(xm )、出生日期(csrq )、系代号(xdh ) 等字段。按如下要求修改查询 chaxun3 基于 xim 表和 xs 表查询各系的学生人数及平均年龄, 要求输出字段为 xdh、 ximing、 人数和平均年龄,查询结果按人数降序排序,且查询结果输出至文本文件 abc 。 设计菜单( 三、设计菜单(5 分) 项目 test 中已存在菜单 menu,利用菜单设计器按如下要求修改菜单: 1.如图所示,为“
系统管理”菜单栏增加菜单项,其中“退出”为 VFP 系统菜单项; 2.将“数据恢复”菜单项设置为不可用(即跳过); 3.为“数据备份”菜单项编写过程,要求利用两条 命令实现功能:将当前打开的所有表均关闭,然 后将所有的表文件复制到 D 盘根目录下。(注: 复制时可用命令“copy file *.dbf to d:\”
) 设计表单( 四、设计表单(10 分) 下列表单 formb 用来设置用户的权限,根据下列要 求修改表单。
5
1.设置表单运行时自动居中,表单不能最大化和最小化; 2. 根据组合框的 RowsoureType 属性值设置组合框的 Rowsoure 属性值, 使它能显示 user 表 的 usemame 字段值; 3.已知考生文件夹目录下存在用户(user )表和菜单(menutable )表,user 表含有用 户名 (username )用户权限 、 (userright ) 等字段; menutable 表含有菜单名 (menuname ) 、 模块名(modulename )、权限(isright )等字段。假定 user 表的 usemame 字段值不 重复,menutable 表的 modulename 字段值也不重复。user 表的 userright 字段中存放 各用户能够使用的模块名
列表,模块之间用逗号隔开。编制组合框的 InterActiveChange 事件代码,使得当选定一个用户时,调用组合框的 Init 事件代码,使得表格中显示该