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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)