1. 下列程序执行结果显示的是( b2000 )
t = 2000 do case
case t > 2000 ? \ case t > 0 ? \ Case t > 1000 ? \endcase ?? \
2.下列程序执行结果显示的是( .f. )
Store .t. to ya store .f. to yb store \ to n store \ t o m ? &m
3.下列程序执行结果显示的是( )。
i=0
do while i<3 ? space(i) n=3
do while n>=2*i-1 ?? \
n=n-1
enddo i=i+1 enddo
4.执行下列程序后,输出的结果为( 11 ,25 )。
s=0
for i=1 to 10 if mod(i,2)=0
loop
endif
s=s+i
endfor ? i,s
5.执行下列程序后,显示的结果分别为( sub 7,9 ; 3,9 x=3 y=5 do sub ? x,y return
proc sub private x
command autosize setfocus optiongroup forecolor enabled check backcolor gotfocus load wordwrap valid init fontsize interval activate fontbold autocenter )
x=7 y=9
? \return
五、对教材中的打开的表rsb.dbf, 写VF命令(注意:这类题不会出原题,切记不要死记硬背,要掌握每个命令的格式!)
1. 显示第2条到第6条记录
Go 2 (按回车键) List next 5
2. 冯小珊评上了副教授,并调到a03部门,请用replace命令对rsb.dbf做相应修改。
Replace 职称 with \副教授\部门代码 with \姓名=\冯小珊\
3. 恢复所有被逻辑删除的记录
recall all
4. 对未婚职工按职称升序排序,当职称相同时按姓名降序排序,生成排序表文件pxe2.dbf
Sort to pxe2 on 职称,姓名/d for .not. 婚否
5. 查找性别为“女”的第1条记录;找到后继续往下查找满足条件的记录
locate for 性别=\女\(按回车键) continue
6. 统计1968年以后出生的(含68年)已婚人数,并将结果存入内存变量yhrs。
count to yhrs for 婚否 .and. year(出生日期)>=1968
7. 计算教授的平均基本工资,并将结果存入内存变量jspj
average 基本工资 to jspj for 职称=” 教授”
8. 先按部门建索引,索引标识为“dm ” ;再按部门汇总基本工资,结果存入表bmhz.dbf
Index on 部门代码tag dm (按回车键) Total on 部门代码 to bmhz fields 基本工资
9. 用SQL命令查询rsb.dbf表中\李\姓职工的记录,要求显示编号、姓名、性别、职称字段
select 编号,姓名,性别,职称 from rsb where 姓名 like \李%\
10. 打开数据库SJK.DBC ;对表rsb.dbf建立一个用于统计各类职称人数的视图zcst
open database sjk (按回车键) create sql view zcrs as select rsb.职称,count(*) as 人数 from rsb group by 职称
11. 写出与replace 基本工资 with 基本工资+50 for 职称=\讲师\功能相同的SQL命令
update rsb set 基本工资=基本工资+50 where 职称=\讲师\
12. 选择1号工作区 ;打开人事表rsb.dbf
Select 1 (按回车键) use rsb
13. 用浏览窗口,浏览姓名中第2个字为\开\的记录
browse for substr(姓名,3,2)=\开\
14. 逻辑删除基本工资大于等于3000或基本工资小于等于2000的记录
delete for 基本工资<=2000 .or. 基本工资>=3000 15. 在表尾追加一条空白记录
Append blank
16. 建立结构复合索引文件,记录以关键字“性别”降序排序,性别相同的按关键字“出生日期”降序排序索引标识为xbcsrq
index on性别+dtos(出生日期) tag xbcsrq desc
17. 指定索引标识“xm”为主控索引 ;索引查询姓名为\董开宁\的记录(rsb.dbf已按“姓名”字段建立结构复合索引,索引标识为“XM”)
set order to tag xm (按回车键) seek \董开宁\
18. 计算rsb.dbf中的所有记录的基本工资合计值,并将结果存入内存变量hj
Sum 基本工资 to hj
19. 用Calculate命令计算rsb.dbf中教授的人数、教授的最高、最低和平均基本工资,统计结果存入数组js中。
Calculate cnt(),max(基本工资),min(基本工资),avg(基本工资) for职称=\教授\20. 先打开数据库SJK.DBC;再打开数据库设计器
open database sjk (按回车键) modify database
21. 求出计算机系职工的平均基本工资(提示:bmdm表有代码和部门名称字段,rsb表按关键字“部门代码”内连接到bmdm表的”代码”字段)
select bmdm.部门名称 ,avg(基本工资) from rsb inner join bmdm on rsb.部门代码=bmdm.代码 where bmdm.部门名称=\计算机系\22. 写出与 delete for 姓名=\陈宏\功能相同的SQL命令
delete from rsb where 姓名=\陈宏\
23. 用SQL查询命令创建一个表sqlgzhz.dbf,实现对表rsb.dbf按“性别”分类,对“基本工资”字段进行汇总。
select 性别,sum(基本工资) from rsb group by 性别 into table sqlgzhz 24. 清除第一字符为a且由两个字符构成变量名之外的所有变量
Release all except a?
25. 计算表达式4+8 并赋给变量ab,ac,abc
Store 4+8 to ab,ac,abc 26. 显示a开头的所有变量
List memory like a*
27. 定义具有10个元素的一维数组a,并对a数组所有元素赋值为8
Dimension a(10) (按回车键)a=8 28. 将日期格式设置为美国格式
Set date to usa
29. 将带有备注文件,已关闭的表rsb复制一个名为rsbbak的表
Copy file rsb.* to rsbbak.*
30. 为表rsb.dbf设置过滤器,使其后的操作只对职称为讲师的记录起作用。
Set filter to 职称=\讲师\
31. 在另一工作区打开了表bmdm,并按“代码”字段建索引。在当前工作区打开了表rsb,要求表rsb以“部门代码”为关键字与表bmdm建立关联
Set relation to 部门代码 into bmdm
五、编程题(注意:编程题改动不大,一定要背下来,不然会不及格的!)
1.在某程序中加一段程序,实现能累计程序运行的次数。并把程序执行的次数存储到一个名为yxcs.dbf的表中。 要求用条件if-else-endif编程实现当表yxcs.dbf存在时累计程序运行的次数,否则创建一个只包含一个字段“运行次数 n(5,0)”的表,并添加一条记录,使运行次数字段的初值为1。
If file(\ use yxcs
replace 运行次数 with 运行次数 + 1 else
create table yxcs (运行次数 n(5,0) ) insert into yxcs values(1) endif use
2.从一个中英文混合的字符串 \张平 Can you Help me? 给我一杯水。\中分别取出所有中文字符和英文字符,并显示出来。提示:汉字机内码字节的最高位为1,所以每次取出汉字字符时字符的ASC码值大于127.
Zfc = \张平 Can you Help me? 给我一杯水。\Chinese = \English = \
i = 1
do while i zf = substr(zfc ,i ,1) if asc(zf)>127 chinese=chinese+zf else english=english+zf endif i=i+1 enddo ? chinese ? english return 3.已知表“成绩.dbf”含有学号、平时、考试、等级四个字段,前三个字段已存有某班学生的数据,平时成绩、考试成绩均填入了百分制数。请以平时成绩20%、考试成绩80%的比例确定等级并填入等级字段,并列表显示成绩表。等级评分办法是:90分以上为优,75~89为良,60~74为及格,60分以下不及格。要求用当型循环do while和多分支选择do case语句编写程序。 Use 成绩 do while not eof() cj = 平时*0.2 + 考试*0.8 do case case cj >= 90 dj = \优\ case cj < 90 and cj >= 75 dj = \良\ case cj <75 and cj >= 60 dj = \及格\ otherwise dj = \不及格\ endcase replace 等级 with dj skip enddo list use return 4.用主程序调用依附函数function jchs的形式计算5 ! – 3 ! + 7 ! s = jchs(5) - jchs(3) + jchs(7) ? \Return Func jchs para n f = 1 for x= 1 to n f = f * x endfor return f 5.已知表“成绩.dbf”含有学号、平时、考试、等级四个字段,前三个字段已存有某班学生的数据,平时成绩、考试成绩均填入了百分制数。请以平时成绩20%、考试成绩80%的比例确定等级并填入等级字段。并以浏览窗口显示成绩表。等级评分办法是:90分以上为优,75~89为良,60~74为及格,60分以下不及格。要求用表扫描循环scan 和多分支选择do case语句编写程序。 use 成绩 scan cj = 平时*0.2 + 考试*0.8 do case case cj>=90 dj=\优\ case cj<90 and cj>=75 dj=\良\ case cj<75 and cj>=60 dj=\及格\ otherwise dj=\不及格\ endcase replace 等级 with dj endscan browse use return 6.用主程序调用过程procedure jcgc的形式计算5 ! – 3 ! + 7 ! jc=0 do jcgc with 5 , jc k5 = jc do jcgc with 3 , jc k3 = jc do jcgc with 7 , jc k7 = jc s = k5 - k3 + k7 ? \return proc jcgc para n , f f = 1 for x= 1 to n f = f * x endfor return 7.设计一个表单如下图所示,假定选项按钮组optiongroup1中第3个单选钮为正确答案。要求当用户选择答案后,单击“确定”按钮,可以判断回答正确与否,并以红色( rgb(255,0,0) )显示回答的文本信息,如果回答正确,用标签Label2显示信息“回答正确!”,否则显示“回答错误!”。请编写“确定“按钮command1的click事件代码: 按钮command4的Click事件代码为: thisform.text1.fontbold=.t. 按钮command4的Click事件代码为: thisform.text1.forecolor=rgb(0,0,255) 8.设计一个表单如下图所示,要求对命令按钮按住鼠标左键时,文本框内显示当前日期,而释放鼠标键则显示当前时间。请编写Command1的MouseDown事件代码和Command1的MouseUp事件代码。 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库vfp2011重点复习题(2)在线全文阅读。
相关推荐: