VFP 题目解答

VFP 题目解答,第1张

一、 单项选择题(12小题共12分)

1、在VFP中不允许出现重复字段值的索引是(C )

A)惟一索引和主索引 B) 惟一索引

C)侯选索引和主索引 D) 普通索引和惟一索引

2、打开一个表文件的命令是(B)

A)OPTEN B)USE C)OPEN DATABASE D)USE DATABASE

3、LOCATE FOR 命令执行后指针一定指向( D )

A) TOPB)BOTTOMC) EOFD)视情况而定

4、SELECT-SQL语句是( B )

A)选择工作区语句 B)数据查询语句

C)选择标号语句D)数据修改语句

5、SELECT-SQL语句的WHERE子句指明( B )

A) *** 作对象的联接条件 B) *** 作对象的选择条件

C) *** 作对象的投影条件 D) *** 作对象的分组条件

6、在创建数据库表结构时,给该表指定了主索引,这属于( c)完整性

A) 参照完整性 B)域完整性 C)实体完整性 D)自定义完整性

7、在VFP中,若在表之间的联系中设置了参照完整性规则并在删除规则中选择了“限制”,当删除父表中的记录时,系统反应是(D )

A)不做参照完整性检查

B)不准删除父表中的记录

C)自动删除子表中所有相关的记录

D)若子表中有相关的记录,则禁止删除父表中的记录

8、关于查询描述正确的是( C )

A)只能根据自由表建立查询B) 只能根据数据库表建立查询

C) 可以根据自由表和数据库表建立查询 D) 以上都正确

9、关于视图描述正确的是(C )

A)可以根据查询建立视图 B)可以根据自由表建立视图

C)可以根据自由表和数据库表建立视图 D)可以根据数据库表建立视图

10、运行表单文件myForm.scx的命令是( B )

A) DO myForm.scx B)DO form myForm

C) DO myForm D)以上A)B)C)都可以

11、SQL语句中修改结构的命令是( C)

A)MODIFY TABLE B) MODIFY STRUCTURE

C)ALTER TABLE D)ALTER STRUCTURE

12、SQL语句中删除表的命令是( D )

A) DELETE TABLEB) ERLAE TABLE

C) DELETE DBF D) DROP TABLE

二、 填空题 (12小题共24分)

1、 SQL支持集合的并运算,运算符是 。

2、DELETE-SQL语句是 逻辑 删除记录。

3、SELECT-SQL语句为了将查询结果存放到表文件中应该使用 into table 短语。

4、使用视图可以查询数据库表,还可以 更新数据库表。

5、数据库表之间的关联通过主表的 主 索引和子表的 普通 索引实现。

6、实现表之间临时关联的命令是 set relation to

7、在表设计器中创建的索引都存放在扩展名为 .cdx索引文件中。

8、属性用来表示对象的状态,方法用来描述对象的 。

9、在VFP中的类一般可分为 容器类和控件类 两种类型。

10、当过程执行到RETURN命令时,若RETURN命令不带<表达式>,则返回 .t. 。

11、查询设计器中的 排序依据 选项卡对应于SQL -SELECT语句中的ORDER BY短语。

12、若在子程序中使用的PRIVATE命令右侧有与上级程序同名的变量,则使上级程序中的这些变量在子程序中 被隐藏。

提问者: snowys

第一题:求[1,30]之间所有偶数的乘积。

clear

set talk off

i=1

s=1

do while i<=30

if i%2=0

s=s*i

endif

i=i+1

enddo

?s

运行结果:42849873690624000

第二题:已知S=1*2*3…*N,当S>800时退出,求此时最小的N值。

clear

set talk off

i=1

s=1

do while .t.

s=s*i

if s>800

exit

endif

i=i+1

enddo

?"i=",str(i,1),"S=",str(s)

运行结果:i=7 , S=5040

第三题:求S=1!+2!+…+n! 。

clear

set talk off

input "n= " to n

S=0

for i=1 to n

q=1

for j=1 to i

q=q*j

endfor

S=S+q

endfor

?S

第四题:求S=1+1/(1!)+1/(2!)+…+1/(n!)

clear

set talk off

input "n= " to n

S=1

for i=1 to n

q=1

for j=1 to i

q=q*j

endfor

S=S+1/q

endfor

?S

第五题:求Y=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+…+n)

clear

set talk off

input "n= " to n

S=0

for i=1 to n

q=0

for j=1 to i

q=q+j

endfor

S=S+1/q

endfor

?S

注:以上程序均在VFP6。0中调试通过。

以上答案不知是否符合追加50分的范畴哈。

1.

clear

select 1

use gdzc

select 2

use zjb

do while !eof()

v1 = 机器代码

v3 = 月工作量

v4 = 0 &&月折旧

v2 = substr(v1,1,1)

select 1

locate for 机器代码 = v1

if v2 == "1" 

&& 工作量法

v4 = (原值 - 净残值) / 总工作量 * v3

else

if v2 == "2" 

  && 直线法

  v4 = (原值 - 净残值) / 预计年限 /12

endif

endif

select 2

replace 月折旧额 with v4

skip

enddo

? "月折旧计算完成"

? "打印折旧"

select 1

list

select 2

list

use

close all

2.

clear

select 1

use zjb

index on 机器代码 to index_1

select 2

use gdzc

set relat to 机器代码 into a

accept "是否要新增固定资产数据: Y=是/其他=否 >>" to flag1

v1=0 

v2=0  

v3=0  

v4=0  

v5=0  

v6=0  

v7=0  

do while flag1 == 'Y' or flag1 == 'y'

accept "请输入机器代码 >>" to v1

accept "请输入机器名称 >>" to v2

input "请输入原值 >>" to v3

input "请输入净残值 >>" to v4

input "请输入预计年限 >>" to v5

input "请输入总工作量 >>" to v6

input "请输入月工作量 >>" to v7

locate for 机器代码 = v1

if !eof()

    ? v1

    ?? "机器代码已存在"

    accept "是否要新增固定资产数据: Y=是/其他=否 >>" to flag1

else

select 2

append blank

replace 机器代码 with v1,机器名称 with v2,原值 with v3,净残值 with v4,预计年限 with v5,总工作量 with v6

select 1

append blank

replace 机器代码 with v1,月工作量 with v7

accept "是否要新增固定资产数据: Y=是/其他=否 >>" to flag1

endif

enddo

if flag1 == 'Y' or flag1 == 'y'

else

  ?

  ? "数据列表打印"

  select 2

  list

  select 1

  list

  ? "程序退出"

endif

use

close all

删除数据

clear

select 1

use gdzc

do while !eof()

delete

skip

enddo

pack

? "GDZC表数据删除成功"

select 2

use zjb

do while !eof()

delete

skip

enddo

pack

? "ZJB表数据删除成功"

use

close all


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12143620.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存