大学VF上机试题 下载本文

图1 程序运行界面

(4)如果输入的不是1000以内的正整数,左键单击“逆序输出”命令按钮以后,则给出信息框提示重新输入(如图2所示)。

图2 信息提示框

参考答案:

(1)设置标签LABEL1的caption属性为考生自己的姓名和考号; (2)设置文本框text1的value属性为0; (3)在Command1的click事件里编写代码

a=thisform.text1.value

if a>=1 and a<1000 and int(a)=a b1=int(a/100)

b2=int((a-b1*100)/10) b3=a-b1*100-b2*10

c=b3*100+b2*10+b1

thisform.label2.caption=str(c) else

messagebox(\输入错误!请重新输入!\endif *08201

1、建立某计算机学院学生的通信录管理数据库,文件名为TXLGL.DBC,并输入数据。

该数据库中有两个数据表:学生成绩数据表(XSCJ.DBF)和通信录数据表(TXL.DBF)。其数据形式如下:

学号 0765526 0745123 0786122 0756105 姓名 李小林 林嘉蕾 梅琴 杨林 学生成绩数据表(XSCJ.DBF)

JAVA程序设计 汇编语言 专业英语 84 77 61 92 88 60 30 52 80 72 50 72 平均分 其中:平均分保留1位小数。 通信录数据表(TXL.DBF)

学号 0745123 0765526 0756105 家长姓名 黄佩珍 占红 杨军 邮编 100084 610032 710068 家庭通信地址 北京海淀区东土城路11号 成都二环路北二段51号 西安市第173号信箱 郭琳 重庆沙坪坝小龙坎57号 0786122 400030 要求:将数据库(TXLGL.DBC)中的XSCJ.DBF和TXL.DBF两表以“学号”建立一对一永久关系。 参考答案:

数据类型:学号 C(7),姓名C(6),JAVA程序设计 N(2),汇编语言 N(2),专业英语N(2),平均分 N(4,1) 学号 C(7),家长姓名C(6),邮编 C(6),家庭通信地址 C(22) 索引类型: XSCJ表 —— 学号(主索引)

TXL表 —— 学号(主索引或候选索引)

2、建立程序文件COM-SQL821.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。 (1)计算每个学生的平均分(平均分=(JAVA程序设计+汇编语言+专业英语)/3),保留1位小数,并填入学生成绩数据表(XSCJ.DBF)中;

(2)显示平均分前两名的学生姓名、平均成绩及家庭所在城市(家庭通信地址的前两个汉字); (3)输出各科中有不及格的学生的姓名、家长姓名、邮编及家庭通信地址。 参考答案:

*姓名:××× 准考证号:××××××

*(1)

update xscj set 平均分=round((java程序设计+汇编语言+专业英语)/3,1) *(2)

select top 2 姓名,平均分 as 平均成绩,left(家庭通信地址,4) as 家庭所在城市; from xscj,txl where xscj.学号=txl.学号 order by 平均分 desc *(3)

select 姓名 as 学生姓名,家长姓名,邮编,家庭通信地址 from xscj,txl; where xscj.学号=txl.学号 and ;

(java程序设计<60 or 汇编语言<60 or 专业英语<60)

3、表单设计。按以下要求设计程序界面,表单文件名为:FORM821.SCX。

设计如图所示一个表单,包括2个标签,1个文本框,1个命令按钮(各控件的大小、颜色、字体、字号等属性由考生自定)。其中:

(1)表单的标题:考生自己的考号和姓名(如下图); (2)命令按钮右边的标签LABEL2最初显示为空白;

(3)该表单运行后,可以在文本框TEXT1中输入一串字符,单击“逆序显示”命令按钮,则在标签LABEL2中逆序显示这串字符,如图所示。

参考答案:

(1)设置表单form1的caption属性为考生自己的姓名和考号; (2)把标签框label2的caption属性里的字符清空; (3)在Command1的click事件里编写代码

x=alltrim(thisform.text1.value) b=len(x)

y='' &空串 for i=b to 1 step -1 y=y+substr(x,i,1) endfor

thisform.label2.caption=y *08202

1、建立一个仓库职工工资管理数据库,文件名为CKGL.DBC,并输入数据。

该数据库中有两个数据表:仓库表(CK.DBF)和职工工资表(GZ.DBF)。其数据如下:

仓库表(CK.DBF) 职工工资表(GZ.DBF)

要求:将数据库(CKGL.DBC)中CK.DBF和GZ.DBF两表以“仓库编号”建立一对多永久关系。 参考答案:

数据类型:仓库编号C(5),城市C(4)

职工编号C(5),仓库编号C(5),姓名C(6),性别C(2),工资N(4) 索引类型: CK表 ——仓库编号(主索引) GZ表 —— 仓库编号(普通索引)

2、建立程序文件COM-SQL822.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。 (1)查询在上海工作的职工姓名、性别、工资信息; (2)查询仓库编号的首字符低于“G”(含)的全部职工工资和; (3)计算男、女职工的平均工资。 参考答案:

*姓名:××× 准考证号:×××××× *(1)

select 姓名,性别,工资 from ck,gz where ck.仓库编号=gz.仓库编号; and 城市=\上海\*或使用嵌套查询

select 姓名,性别,工资 from gz where 仓库编号 in; (select 仓库编号 from ck where 城市=\上海\

*(2)

select sum(工资) as 工资总和 from gz where left(仓库编号,1)<=\*(3)

select 性别,avg(工资) as 平均工资 from gz group by 性别

3、表单设计。按以下要求设计程序界面,表单文件名为:FORM822.SCX。

设计如图所示一个表单,包括1个标签,4个文本框,1个命令按钮(各控件的大小、颜色、字体、字号等属性由考生自定)。其中:

(1)表单的标题显示考生自己的姓名和考号;

(2)文本框TEXT1、TEXT2、TEXT3、TEXT4的初值显示为0;

(3)该程序的作用是输入三角形的三个边长,单击“计算”按钮,计算三角形的面积并保留两位小数(三角形的面积:S?x(x?a)(x?b)(x?c),其中x?a?b?c2,如图1所示;

(4)若不满足构成三角形条件,左键单击“计算”命令按钮后,则给出信息框提示“不能构成三角形!”,如图2所示。

图1 运行界面 图2 信息提示框 参考答案:

(1)设置表单form1的caption属性为考生自己的姓名和考号; (2)设置文本框TEXT1、TEXT2、TEXT3、TEXT4的value属性为0; (3)在Command1的click事件里编写代码

a=thisform.text1.value b=thisform.text2.value

c=thisform.text3.value

if a+b>c and b+c>a and a+c>b x=(a+b+c)/2

s=sqrt(x*(x-a)*(x-b)*(x-c)) thisform.text4.value=round(s,2) else

messagebox(\不能构成三角形!\endif *08203

1、建立一个工资管理数据库,文件名为GZGL.DBC,并输入数据。

该数据库中包括以下2个数据表:工资信息数据表(GZXX.DBF)和职工代码数据表(DM.DBF)。其数据形式如下:

工资信息数据表(GZXX.DBF) 职工号 1041 5101 1030 4103 姓名 性别 代码 基本工资 013 002 015 001 1103.00 1400.00 870.00 1680.00 工龄工资 扣款 80.00 90.00 50.00 25.00 奖金 实发工资 蔡乙零 女 罗加粮 男 林静 女 刘一飞 女 25.70 1503 31.51 8760 11.00 2310 45.60 2300