数据库 上机考试 整理资料.docx
- 文档编号:3810317
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:21
- 大小:61.47KB
数据库 上机考试 整理资料.docx
《数据库 上机考试 整理资料.docx》由会员分享,可在线阅读,更多相关《数据库 上机考试 整理资料.docx(21页珍藏版)》请在冰豆网上搜索。
数据库上机考试整理资料
2.从键盘输入一个正数,让计算机判断该数是奇数还是偶数。
input"请输入一个正数"tox
d=x%2
ifd=0
?
"该数是偶数"
else
?
"该数是奇数"
endif
3.从键盘输入一个口令,判断是否和系统口令“SQL”相符。
accept"请输入口令"tox
ifx="sql"
?
"欢迎使用本系统"
else
?
"密码错误"
endif
4.输入两个数,把它们按从小到大的顺序输出。
input"请输入一个数"toa
input"请输入另一个数"tob
ifa>b
?
b,a
else
?
a,b
endif
5.从键盘输入三角形的三条边,计算该三角形的面积。
input"请输入三角形的边"toa
input"请输入三角形的边"tob
input"请输入三角形的边"toc
ifa+b>canda+c>bandb+c>a
r=(a+b+c)/2
s=sqrt(r*(r-a)*(r-b)*(r-c))
?
"s="+str(s,4)
else
?
"无这个三角形"
endif
6.编一个程序,计算任意一元二次方程的根。
要求用IF语句完成。
input"输入一个数a="toa
input"输入一个数b="tob
input"输入一个数c="toc
d=b^2-4*a*c
ifd<0
?
"无实数根"
else
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
?
"x1=",substr(x1,4),"x2=",substr(x2,4)
Endif
7.编一个程序,计算任意一元二次方程的根。
要求用DOCASE语句完成。
input"输入一个数a="toa
input"输入一个数b="tob
input"输入一个数c="toc
d=b^2-4*a*c
docase
cased<0
?
"无根"
cased>o
x1=(-b+sqrt(d))/(2*a)
x2=(-b-sqrt(d))/(2*a)
?
"x1="+substr(x1,4),"x2="+substr(x2,4)
cased=0
?
"x2=x1="+substr(x2,4)
endcase
8.从键盘输入一个0—9的数字,把它转换为对应的大写数字。
input"输入一个0-9的数字"tox
docase
casex=0
?
"零"
casex=1
?
"壹"
casex=2
?
"贰"
casex=3
?
"弎"
casex=4
?
"肆"
casex=6
?
"陆"
casex=7
?
"柒"
casex=8
?
"扒"
casex=9
?
"玖"
endcase
11.编一个程序,输入两个数,输出值大的那个数。
要求用IIF函数实现。
input"输入一个数"toa
input"输入另一个数"tob
?
"最大数是=",iif(a>b,a,b)
9.从键盘输入一个值,判断它的类型。
input"请输入一个值"tox
docase
casetype("x")="N"
?
"数值型"
casetype("x")="C"
?
"字符型"
casetype("x")="D"
?
"日期型"
casetype("x")="L"
?
"逻辑性"
endcase
10.输入考试分数,显示该分数对应的等级(优,良,及格和不及格)。
input"数入考试分数"toa
docase
casea>=90
?
"优"
casea>=80
?
"良"
casea>=60
?
"及格"
casea<60
?
"不及格"
endcase
12.输入三个数,把它们按从大到小的顺序输出。
input"请输入一个数"toa
input"请输入一个数"tob
input"请输入一个数"toc
ifa>b
t=a
a=b
b=t
endif
ifa>c
t=a
a=c
c=t
endif
ifb>c
t=b
b=c
c=t
endif
?
c,b,a
13.编一个程序,计算1+2+3+…+100
s=0
n=1
dowhilen<=100
s=s+n
n=n+1
enddo
?
"1+2+3+4+5+...+100="+str(s,6,2)
14.编一个程序,计算10!
s=1
n=1
dowhilen<=10
s=s*n
n=n+1
enddo
?
"1*2*3*4*5*...*10="+str(s,6,2)
15.编一个程序,计算1+3+5+…+99
s=0
n=1
dowhilen<=99
s=s+n
n=n+2
enddo
?
"1+3+5+...+99="+str(s,6,2)
16.编一个程序,计算1/1!
+1/2!
+1/3!
+…+1/10!
s=1
n=1
t=0
dowhilen<=10
s=s*n
n=n+1
t=t+1/s
enddo
?
"1/1!
+1/2!
+...+1/10!
="+str(t,6,2)
17.编一个程序,计算1/1!
+1/2!
+1/3!
+….直到最后一项的值小于10的负4次方。
s=0
n=1
t=1
dowhile1/t>10^-4
t=t*n
n=n+1
s=s+1/t
enddo
?
"s="+str(s,6,4)
18.输入一个正整数,输出各位数之和。
input"请输入一个数"toa
s=0
dowhilea>0
p=a%10
s=s+p
a=int(a/10)
enddo
?
"各位数之和="+str(s,8)
17.输入一个正整数,输出其最大数码。
例:
数值1543,最大数码为5。
D=0
Input"请输入一个正数="toM
DowhileM>0
P=M%10
IfP>D
D=P
Endif
M=Int(M/10)
Enddo
?
"最大数码="+Str(D,1)
18从键盘输入一个0—9的数字,把它转换为对应的大写数字。
要求用substr函数实现。
INPUT"请输入一个0-9的数字:
"TON
C="零壹贰叁肆伍陆柒捌玖"
?
"对应的大写数字为:
"+SUBSTR(C,2*N+1,2)
19.编一个程序,计算1!
+3!
+5!
+…+11!
S=0
T=1
FORN=1TO11
T=T*N
IFN%2!
=0
S=S+T
ENDIF
ENDFOR
?
"1!
+3!
+5!
+...+11!
=",S
S=0
FORN=1TO11STEP2
T=1
FORM=1TON
T=T*M
ENDFOR
S=S+T
ENDFOR
?
"1!
+3!
+5!
+...+11!
=",S
20通过字符串变量的操作,竖向显示:
伟大祖国。
横向显示:
祖国伟大
XY="伟大祖国"
N=1
DOWHILEN<8
?
SUBSTR(XY,N,2)
N=N+2
ENDDO
?
SUBSTR(XY,5,4)
?
?
SUBSTR(XY,1,4)
1.用FOR语句求1+2+3+…+992.用FOR语句求9!
s=0s=1
forn=1to99forn=1to9
s=s+ns=s*n
endforendfor
?
"S="+str(s,6,2)?
"S="+str(s,6,2)
3.从键盘输入N(N从键盘输入)个数,求它们的平均值。
s=0
input"请输入N="ton
forQ=1ton
input"a="toa
s=s+a
endfor
?
"平均值="+str(s/n,6,2)
4.用FOR语句求1+3+5+…+99
法一:
S=0法二S=0
ForN=1to99forn=1to99step2
IfN%2=0s=s+n
LoopEndfor
Endif?
"S="+str(s,6,2)
S=S+N
Endfor
?
"S="+str(s,6,2)
5.求1/1+2/3+3/5+4/7+5/9+…的前N项之和,N从键盘输入。
input"请输入一个数n="ton
s=0
forJ=1ton
m=2*j-1
s=s+j/m
endfor
?
"级数的前"+str(n,2)+"项数和:
",s
6:
forN=1to9
?
N
IfN%2=0
Exit
7.从键盘输入口令,判断输入的口令是否与系统的口令(“MANAGER”)一致,如果一致则显示“欢迎使用本系统!
”,否则有三次重试机会。
输入次数在三次以内,提示“口令输入错误,再试一次!
”,输入次数超过三次,则显示“无权使用本系统!
”。
c=""
forn=1to3
acceptc+"请输入口令:
"topsw
ifpsw="MANAGER"
?
"欢迎使用本系统"
exit
endif
c="口令错误,再输一次!
"
endfor
ifn>3
?
"你无权使用本系统!
"
endif
8.从键盘输入一元二次方程的三个系数a,b,c,如果方程有实根,则计算并输出实根,否则输出“该方程无实根!
”。
然后在屏幕上输出“是否继续?
Y-继续,N-结束:
”,从键盘输入Y后继续求下一个方程的根,输入N则结束程序运行。
Dowhile.t.
input"请输入一个数:
"toa
input"请输入一个数:
"tob
input"请输入一个数:
"toc
p=b*b-4*a*c
ifp>=0
x1=(-b-sqrt(p))/(2*a)
x2=(-b+sqrt(p))/(2*a)
?
"x1="+str(x1,6,2)+"x2="+str(x2,6,2)
else
?
"该方程无实根!
"
endif
wait"是否继续?
Y-继续,N-结束"toYN
ifupper(YN)="N"
exit
endif
enddo
9.编写一个自定义函数,计算给定三条边的三角形的面积。
然后计算边长为3,4,5的三角形面积。
?
"三角形面积=",TriangleArea(3,4,5)else
funcTriangleAreareturn0
paraa,b,cendif
ifa+b>canda+c>bandB+C>Aendf
s=(a+b+c)/2
area=sqrt(s*(s-a)*(s-b)*(s-c))
returnarea
P199第七题在VISUALFOXPRO主窗口显示输出九九表.
SETTALKOFF
CLEA
FORI=1TO9
FORJ=1TOI
?
STR(I,1)+"*"+STR(J,1)+"="+STR(J*I,2)+""
ENDFOR
?
ENDFOR
SETTALKON
P199第八题显示输出正整数M(从键盘输入)内的偶数及偶数和.
SETTALKOFF
CLEA
INPUT"M="TOM
S=0
FORI=1TOM
IFI%2=0
?
I
S=S+I
ENDIF
ENDFOR
?
S
SETTALKON
P199第十题求当1!
+3!
+5!
+...+n!
的值不超过10^20时的临界值及n的值.
SETTALKOFF
CLEA
STORE1TOT,S,N
DOWHILS<=1E+20
T=T*(N+1)*(N+2)
S=S+T
N=N+2
ENDDO
?
"S=",S-T
?
"N=",N-2
SETTALKON
P200第13题编写一个自定义函数,实现将任意一个正整数分解为其最小因子的连乘式.如:
8=2*2*2
PARAX
S=LTRIM(STR(X,20)+"="
FORI=2TOX
IFX%I=0
S=S+LTRIM(STR(I,20))+"*"
X=INT(X/I)
I=I-1
LOOP
ENDIF
ENDFOR
RETURNLEFT(S,LEN(S)-1)
P200第15题键盘输入一个正整数M,自动判断并显示M中哪些数可以分为两个相等的素数.如:
若m=10
***,因为10中有4=4+4,6=3+3,10=5+5,所以共有3个数符合条件.
SETTALKOFF
CLEA
INPUT"M="TOM
FORII=2TOM/2
IFSS(II)
?
STR(II*2,2)+"="+STR(II,3)+"+"+STR(II,3)
ENDIF
ENDFOR
FUNCSS
PARAX
FORI=2TOX-1
IFX%I=0
EXIT
ENDIF
ENDFOR
IFI=X
RETURN.T.
ELSE
RETURN.F.
ENDIF
ENDFUNC
P199第9题求x+x2+x3+x4+…+xn的值,n,x从键盘输入
SETTALKOFF
CLEA
INPUT"N="TON
INPUT"X="TOX
S=0
T=1
FORI=1TON
T=T*X
S=S+T
ENDFOR
?
"S=",S
SETTALKON
试题一、选择填空
【说明】以下程序输入某学生的学号,在“学生”表中查询该学生的记录,如果找到则显示该学生的姓名和生日,否则显示“查无此人”。
SETTALKOFF
USE学生
DOWHILE.T.
ACCEPT“输入学生学号:
”TOS
________1________
________2________
________3________
ELSE
?
“查无此人”
ENDIF
WAIT“继续吗?
(Y/N)”TOK
________4_________
EXIT
ENDIF
ENDDO
USE
SETTALKON【供选择的答案】
1A.FINDFOR学号=ALLTRIM(S)4A.IFUPPER(K)=“N”
B.LOCATEFOR学号=ALLTRIM(S)B.IFUPPER(K)=“Y”
C.SEEKFOR学号=ALLTRIM(S)C.IFUPPER(K)=.N.
D.IFFOR学号=ALLTRIM(S)D.IFUPPER(K)=.Y.
2A.IF!
FOUND()3A.DISPLAY姓名,生日
B.IFFOUND()B.DISPLAY姓名,出生日期
C.IF!
EOF()C.?
姓名,出生年月
D.IFEOFD.?
姓名,生日
试题二、程序阅读题
settalkoff
clear
input"请输入一个正整数="tox
c=""
m=x
ifint(x)=x
dowhilem>0
p=mod(m,2)
c=str(p,1)+c
m=int(m/2)
enddo
else
c="11111"
endif
?
c
settalkon
【供选择的答案】
1.当X输入为34时,输出值C为。
a.11111b.100010c.000010d.100001
2.当X输入为23时,输出值C为。
a.00010b.11111c.10111d.10000
3.当X输入为23.6时,输出值C为。
a.10001b.10111c.00010d.11111
4.当X输入为-23时,输出值C为。
a.空串b.11111c.00010d.出错
试题三、问答题
阅读下列程序回答问题
SETTALKOFF
INPUT“请输入任意正整数A=”TOA
INPUT“请输入任意正整数B=”TOB
IFA
T=A
A=B
B=T
ENDIF
C=0
DOSPWITHA,B
?
“C=”,C
RETURN
PROCSP
PARAX,Y
FORN=XTOX*YSTEPX
IFMOD(N,Y)=0
EXIT
ENDIF
ENDFOR
C=N
RETURN
ENDPROC
【问题】
当A和B的输入值分别为4和6时,C的输出结果为____________
当A和B的输入值分别为10和6时,C的输出结果为____________
本程序的功能是:
____________________________________________
试题四、程序设计题(2题)
现有若干张发票(发票张数不详),编程统计并输出这些发票的张数和总金额。
(提示:
用DOWHILE循环实现,每次输入一张发票的金额后,进行发票张数计数和金额累加。
当输入0时,退出循环,输出统计结果)
期末考试笔试题型
试题一、选择填空
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【说明】以下程序输入某学生的学号,在“学生”表中查询该学生的记录,如果找到则显示该学生的姓名和生日,否则显示“查无此人”。
SETTALKOFF
USE学生
DOWHILE.T.
ACCEPT“输入学生学号:
”TOS
________1________
________2________
________3________
ELSE
?
“查无此人”
ENDIF
WAIT“继续吗?
(Y/N)”TOK
________4_________
EXIT
ENDIF
ENDDO
USE
SETTALKON
【供选择的答案】
1A.FINDFOR学号=ALLTRIM(S)
B.LOCATEFOR学号=ALLTRIM(S)
C.SEEKFOR学号=ALLTRIM(S)
D.IFFOR学号=ALLTRIM(S)
2A.IF!
FOUND()
B.IFFOUND()
C.IF!
EOF()
D.IFEOF
3A.DISPLAY姓名,生日
B.DISPLAY姓名,出生日期
C.?
姓名,出生年月
D.?
姓名,生日
4A.IFUPPER(K)=“N”
B.IFUPPER(K)=“Y”
C.IFUPPER(K)=.N.
D.IFUPPER(K)=.Y.
答案:
1B2C3C4A
试题二、程序阅读题
说明:
阅读下列程序(段)并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序】
settalkoff
clear
input"请输入一个正整数="tox
c=""
m=x
ifint(x)=x
dowhilem>0
p=mod(m,2)
c=str(p,1)+c
m=int(m/2)
enddo
else
c="11111"
endif
?
c
settalkon
【供选择的答案】
1.当X输入为34时,输出值C为。
a.11111b.100010c.000010d.100001
2.当X输入为23时,输出值C为。
a.00010b.11111c.10111d.10000
3.当X输入为23.6时,输出值C为。
a.10001b.10111c.00010d.11111
4.当X输入为-23时,输出值C为。
a.空串b.11111c.00010d.出错
答案:
1b2c3d4a
试题三、问答题
阅读下列程序回答问题
SETTALKOFF
INPUT“请输入任意正整数A=”TOA
INPUT“请输入任意正整数B=”TOB
IFA
T=A
A=B
B=T
ENDIF
C=0
DOSPWITHA,B
?
“C=”,C
RETURN
PROCSP
PARAX,Y
FORN=XTOX*YSTEPX
IFMOD(N,Y)=0
EXIT
ENDIF
ENDFOR
C=N
RETURN
ENDPROC
【问题】
当A和B的输入值分别为4和6时,C的输出结果为____________
当A和B的输入值分别为10和6时,C的输出结果为____________
本程序的功能是:
____________________________________________
答案:
当A和B的输入值分别为4和6时,C的输出结果为__12____
当A和B的输入值分别为4和6时,C的输出结果为___30___
本程序的功能是:
求两个数的最小公倍数
试题四、程序设计题(2题)
现有若干张发票(发票张数不详),编程统计并输出这些发票的张数和总金额。
(提示:
用DOWHILE循环实现,每次输入一张发票的金额后,进行发票张数计数和金额累加。
当输入0时,退出循环,输出统计结果)
SETTALKOFF
CLEAR
S=0
N=0
DOWHILE.T.
INPUT“请输入发票金额:
”TOY
IFY=0
EXIT
ENDIF
S=S+Y
N=N+1
ENDDO
?
“发票的总金额:
”,S
?
“发票的张数是:
”,N
SETTALKON
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 上机考试 整理资料 上机 考试 整理 资料