江西财大数据库复习.docx
- 文档编号:13183362
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:10
- 大小:17.95KB
江西财大数据库复习.docx
《江西财大数据库复习.docx》由会员分享,可在线阅读,更多相关《江西财大数据库复习.docx(10页珍藏版)》请在冰点文库上搜索。
江西财大数据库复习
1、输出学生表中所有的籍贯。
(要求去除重复的记录)。
Selectdistinct籍贯
From学生表
评分标准:
无distinct修饰给4分。
2、求是少数民族且1990年或1992年出生的同学人数。
Selectcount(*)
From学生表
Where(year(出生日期)=1990oryear(出生日期)=1992)
And民族<>“汉”
评分标准:
若聚合函数错误给3分。
3、求姓杨或姓李同学的学号、姓名、性别、出生日期和入学成绩。
Select学号,姓名,性别,出生日期,入学成绩
From学生表
Where姓名like“杨*”
or姓名like“李*”
评分标准:
若通配符错误给4分。
4、查询总学分在30分以上的同学学号、姓名、班号和总学分。
Select学生表.学号,姓名,班号,sum(学分)as总学分
From学生表,成绩表,课程表
Where学生表.学号=成绩表.学号
And成绩表.课程号=课程表.课程号
Groupby1990学生表.学号,姓名,班号
Havingsum(学分)>=30
评分标准:
多表连接正确给4分,having子句给1分。
5、查询未选修《微积分II》的学生的学号、姓名、性别和入学成绩,并按学号排降序输出。
Select学号,姓名,性别,入学成绩
From学生表
Where学号notin(
Select学号
From成绩表,课程表
Where成绩表.课程号=课程表.课程号
And课程名称=“微积分II”)
Orderby学号desc
评分标准:
子查询正确给2分,外查询给2分,排序正确给1分。
6、查询马晓明同学的成绩单,具体内容包括:
课程号、课程名和成绩。
Select课程表.课程号,课程名,成绩
From学生表,成绩表,课程表
Where学生表.学号=成绩表.学号
And成绩表.课程号=课程表.课程号
And姓名=“马晓明”
评分标准:
多表连接正确给3分,字段正确给1分,学生姓名正确给1分。
1.显示并计算4位数中所有能被6整除又能被8整除的数。
Fori=1000to9999
Ifi\6=i/6andmod(I,8)=0then
Debug.printi
Endif
Next
编程求600到800之间能被7整除的正整数的个数,将它们显示到立即窗体,并求这些数的和。
S=0
N=0
ForI=600to800
Ifi/7=i\7then
N=n+1
Debug.PrintI;
S=s+i
endif
next
debug.print“s=”;s
评分标准:
循环正确给2分,if正确给2分。
2编程求S=1+(1+2)+(1+2+3)+…+(1+2+…+99+100)的和,并将结果输出到立即窗体中。
S1=0
S=0
ForI=1to100
S1=s1+i
S=s+s1
Next
Debug.Print“s=”;s
评分标准:
循环构造正确给3分。
S=1!
+2!
+3!
+…+10!
3显示100以内的自然数中的奇数及其个数(或求3-200之间的素数之和)
S=0
Fornum=3to200
m=int(sqr(num))
i=2
dowhilei<=m
ifmod(num,i)=0then
exitdo
endif
i=i+1
enddo
ifi>mthen
s=s+num
endif
next
debug.print”3-200之间的素数之和s=”,s
4显示100以内的自然数中的完数及其个数(所谓完数,指它恰好等于除它本身之外的因子之和,如:
6=1+2+3,28=1+2+4+7+14)。
clear
wsgs=0
fori=1to200
yzzh=0
forj=1toint(i/2)
ifmod(I,j)=0then
yzzh=yzzh+j
endif
next
ifi=yzzhthen
debug.printi
wsgs=wsgs+1
endif
next
debug.printwsgs
5从键盘输入10个数字,从中找出最大的数,并输出。
X=val(Inputbox(“请输入第1个数:
”))
debug.printx
Maxs=x
Fori=2to10
X=val(Inputbox(“请输入第”+trim(str(i))+”个数:
”))
debug.printx
Ifx>maxsthen
Maxs=x
Endif
Next
?
maxs
从键盘输入10个数字,并按照升序输出。
Dimd(1to10)asdouble
Fori=1to10
d(i)=val(Inputbox(“请输入第”+trim(str(i))+”个数:
”))
Next
Fori=1to10
Debug.printd(i);
Next
Fori=1to9
Forj=i+1to10
ifd(i)>d(j)then
t=d(i)
d(i)=d(j)
d(j)=t
endif
next
next
Fori=1to10
Debug.printd(i);
Next
6打出某花纹图案。
****
******
********
**********
说明:
两个“*”之间无空格,左上角第一个在第10列
Dimi,jAsInteger
Fori=1To4Step1'一共有4行
Debug.PrintTab(11-i);"*";
Forj=1To2*i+1Step1'第i行有2*(I+1)个
666666
55555
4444
333
22
1
Debug.Print"*";
Next
Debug.Print
Next
fori=1to6step1‘一共有6行
Debug.PrintTab(10);trim(str(7-I));
forj=1to6-istep1‘第i行有7-i个
Debug.Printtrim(str(7-I));
Next
Debug.print
Next
7试编程:
从键盘上输入任意个数,计算正数的个数,若输入为0,则计数过程结束.
Zsgs=0
Dowhiletrue
X=val(Inputbox(“请输入数:
”))
Ifx=0then
Exitdo
Else
Ifx>0then
Zsgs=zsgs+1
Endif
Endif
Loop
Debug.printzsgs
8求Fibonacci数列1,1,2,3,5,8,13,21,......的前30项(含第30项)中所有奇数之和。
las=1:
thi=1:
he=2:
n=2
dowhilen<=30
nex=thi+las
las=thi
thi=nex
n=n+1
ifthi%2=1then
he=he+thi
endif
debug.printthi
enddo
?
he
求这样一个素数:
最接近1000但不大于1000的素数?
Fornum=1000to2step-1
m=int(sqr(num))
i=2
dowhilei<=m
ifmod(num,i)=0then
exitdo
endif
i=i+1
enddo
ifi>mthen
debug.print"接近1000但不大于1000的素数是",num
Exitsub
endif
next
求这样一个数:
Fibonacci数列1,1,2,3,5,8,13,21,......中最接近2000但不大于2000的数?
求Fibonacci数列1,1,2,3,5,8,13,21,......中第一项大于1000之前(含此大于1000的项)所有项数的平均值(平均值=总和/项数)?
随机输入30个数到数组A中,求这些数中最大值及输入的次数(下标号)。
clear
dimea(1to30)asdouble
fori=1to30
a(i)=val(inputbox("请输入30个数:
"))
next
maxs=a
(1)
maxxb=1
fori=2to30
ifa(i)>maxsthen
maxs=a(i)
maxxb=i
endif
next
?
maxs,maxxb
编写程序,从键盘上输入一个字符串,实现字符串的逆序存放,并同时输出原串和逆序串。
如x="ABC123456MNT",则y="TNM654321CBA"提示:
取串长度函数可能有用!
Dima,bAsString
a=InputBox(输入一个字符串)
b=""
Fori=1ToLen(a)
b=b+Mid(a,Len(a)+1-i,1)
Next
Debug.Printa
Debug.Printb
列举VBA图形化面向对象编程中所涉及的(至少四种)控件名称,并论述图形化界面程序编写过程中所经历的四个大步骤。
阐述对象与类的四种关系。
参考答案
四种控件包括:
文本框、列表框、标签、复选框
图形化界面程序设计步骤:
1.构造界面;2.命名控件;3.设置属性;4.编写事件代码
对象与类的关系
1.对象--对象交互关系;2.对象--类抽象关系;3.类--对象实例化关系;4.类--类继承关系
评分标准:
评分标准:
给出四种控件名称给2分;给出四个步骤给3分;给出四种关系给3分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江西 数据库 复习