vfp期末上级考试模拟题目.docx
- 文档编号:10892453
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:54
- 大小:408.57KB
vfp期末上级考试模拟题目.docx
《vfp期末上级考试模拟题目.docx》由会员分享,可在线阅读,更多相关《vfp期末上级考试模拟题目.docx(54页珍藏版)》请在冰豆网上搜索。
vfp期末上级考试模拟题目
1、本程序用于输入一个表名,若表存在则打开表,并显示其各个字段名。
说明:
******N******标注的下一句有错,改正错误并调试运行。
不能删除******N******。
SETTALKOFF
CLEAR
DOWHILE.T.
ACCEPT"请输入表名:
(不含扩展名)"TOFNAME
******1******
IF.NOT.FILE(FNAME)
WAIT"此表不存在!
"
ELSE
USE&FNAME
ZDSM=FCOUNT()
******2******
?
"此表中的字段有:
"+ZDSM+"个"
FORI=1TOZDSM
?
STR(I)+""
******3******
?
?
NAME(I)
ENDFOR
ENDIF
WAIT"继续否?
(Y/N)"TOYN
IFUPPER(YN)="N"
EXIT
ENDIF
ENDDO
SETTALKON
2、本程序在屏幕上显示如下图形:
1
12
123
1234
12345
SETTALKOFF
CLEA
K=1
DOWHILK<=5
C=1
******1******
DOWHILC<=5
******2******
?
C
C=C+1
ENDDO
?
******3******
K=K-1
ENDDO
SETTALKON
3、本程序实现指定表指定条件的任意查询功能。
SETTALKOFF
CLEAR
ACCEPT"请输入表名:
(扩展名略)"TOFNAME
******1******
IF.NOT.FILE(FNAME)
WAIT"此表不存在!
"
ELSE
USE(FNAME)
ZDSM=FCOUNT()
?
"此表中的字段有:
"+STR(ZDSM)+"个"
FORI=1TOZDSM
?
STR(I)+""
?
?
FIELD(I)
******2******
ENDDO
ENDIF
ACCEPT"请输入显示表信息的条件表达式:
"TOEXP
******3******
LISTFOREXP
USE
SETTALKON
4、本程序将成绩表中成绩小于60分的学号、课程号及成绩显示出来。
SETTALKOFF
CLEAR
USE成绩
?
'------------------------------------------'
?
'不及格学生名单'
?
'------------------------------------------'
?
'学号课程号成绩'
******1******
GOBOTTOM
DOWHILE.NOT.EOF()
IF成绩<60
******2******
?
学号+SPACE(5)+课程号+SPACE(5)+成绩
ENDIF
SKIP
ENDDO
?
'---------------------------------------------'
******3******
?
'当前日期'+CTOD(DATE())
USE
SETTALKON
5、本程序用于计算S=1+2+3+…+N的和。
SETTALKOFF
CLEAR
******1******
ACCEPT“N=”TON
S=0
I=0
******2******
DOWHILEI<=N
I=I+1
S=S+I
ENDDO
******3******
?
“1+2+3+…+”+N+”=”+S
SETTALKON
6、本程序实现:
从键盘输入学生的学号,计算该生的平均成绩,并说明成绩的档次(优、良、中、及格和不及格)。
SETTALKOFF
CLEAR
USE成绩
C="不及格及格中良优"
******1******
INPUT"输入学号="TOXH
LOCATEFOR学号=XH
IFFOUND()
******2******
TOTAL成绩TOCJ
IFCJ<60
R=0
ELSE
R=INT(CJ/10)-5
ENDIF
******3******
DC=STR(C,6)
?
XH,CJ,DC
ELSE
?
'查无此人!
'
ENDIF
USE
SETTALKON
7、本程序实现:
输入三个正数,判定是否构成一个三角形,如果构成一个三角形,则返回.T.,否则返回.F.。
另外通过参数的引用将三角形的面积传回。
*主程序
SETTALKOFF
CLEAR
INPUT'X1='TOX1
INPUT'X2='TOX2
INPUT'X3='TOX3
******1******
?
TARER(X1,X2,X3)
?
"三角形面积为:
"+ALLTRIM(STR(X1,19,2))
SETTALKON
*自定义函数
FUNCTIONTARER
******2******
PARAMETERSA,B
******3******
IFA>B>C
S=(A+B+C)/2
A=SQRT(S*(S-A)*(S-B)*(S-C))
RETURN.T.
ELSE
A=0
RETURN.F.
ENDIF
8、本程序比较从键盘输入的若干个数的大小,并输出其中的最大数和最小数。
SETTALKOFF
CLEAR
INPUT‘请输入一个数:
'TOM
******1*****
STORE0TOD,X
DOWHILE.T.
INPUT'请再输入一个数:
'TON
IFD D=N ENDIF IFX>N X=N ENDIF YN='A' ******2***** DOWHILEUPPER(YN) WAIT'是否继续(Y/N)'TOYN ENDDO ******3****** IFLOWER(YN)='Y' EXIT ENDIF ENDDO ? '最大的数是: ',D ? '最小的数是: ',X SETTALKON 9、本程序输出一个对角线上元素为0,其它元素为1的6*6阶方阵。 输出时每个元素占2个字符。 SETTALKOFF CLEAR ******1****** FUNCTIONA(6,6) FORI=1TO6 FORJ=1TO6 ******2****** IFI=J A(I,J)=0 ELSE A(I,J)=1 ENDIF ENDFOR ENDFOR FORI=1TO6 FORJ=1TO6 ******2****** ? A(I,J) ENDFOR ? ENDFOR SETTALKON 10、本程序实现: 对输入的正整数,判别其中包含指定数码的个数(如2312132中包含数码1的个数为2)。 SETTALKOFF CLEAR INPUT'输入数值='TOM INPUT'输入数码='TON YSM=M S=0 DOWHILE.T. ******1****** Y=MOD(M/10) IFY=N S=S+1 ENDIF ******2****** M=INT(M/N) IFM=0 ******3****** LOOP ENDIF ENDDO ? ALLTRIM(STR(YSM,19))+"中包含数码"+STR(N,1)+"共"+ALLTRIM(STR(S,19))+"个。 " SETTALKON 11、本程序实现: 对任意一个正数值型数据(该数可有小数若干位,整数部分不超过12位)自动进行小数部分四舍五入取2位,并将其转换为中文大写金额. SETTALKOFF CLEAR C1="零壹贰叁肆伍陆柒捌玖" C2="分角元拾佰仟万拾佰仟亿拾佰仟" INPUT'输入一个正数='TOY ******1****** Y=STR(Y,2) Y=Y*100 I=1 D=SPACE(0) DOWHILEY>0 P=MOD(Y,10) ******2****** D=SUBSTR(C1,2*P-1,2)+SUBSTR(C2,2*I-1,2)+D I=I+1 ******3****** Y=INT(Y,10) ENDDO ? "转换的结果是: "+D SETTALKON 12、本程序实现: 将给定的正整数的值分解因子,并输出各个质数因子(如24的质数因子有2、2、2和3)(如果一个质数是某个数的约数,那么这个质数是这个数的质数因子) SETTALKOFF CLEAR ******1****** ACCEPT'M='TOM IFINT(M)! =MORABS(M)! =M ? '输入的数据不符合题目要求! ' ******2****** ENDIF I=2 ? STR(M)+'的质数因子有: ' DOWHILEI<=M IFM%I=0 ? ? STR(I,6) ******3****** M=INT(M,I) LOOP ENDIF I=I+1 ENDDO ENDIF SETTALKON 13、本程序是在屏幕上打印如下图形: 9876543 98765 987 9 SETTALKOFF CLEAR K=1 DOWHILEK<=4 C=1 ******1****** DOWHILEC<=4 ? ? STR(10-C,3) C=C+1 ENDDO ******2****** C=C+1 K=K+1 ******3****** ENDFOR SETTALKON 14、本程序实现: 对成绩.DBF(其中包含"学号"字段,并且以"学号"为关键字建立了索引标识“学号”)中学号相同的重复记录进行逻辑删除。 SETTALKOFF CLEAR SETDELETEDON ******1****** USE成绩 DOWHILENOTEOF() XH=学号 SKIP ******2****** DOWHILE.NOT.EOF() DELETE ******3****** CONTINUE ENDDO ENDDO LIST USE SETTALKON 15、本程序求S=K! +…+M! (K SETTALKOFF CLEAR INPUT'K='TOK INPUT'M='TOM STORE0TOS,A I=K DOWHILEI<=M ******1****** DOSUB ******2****** S=S+P I=I+1 ENDDO ? S SETTALKON PROCSUB PARAP,N STOR1TOP,L ******3****** DOWHILEL<=I P=P*L L=L+1 ENDDO RETU 16、本程序输入一个一位数值(0-9),并把它转化为中文大写数字。 SETTALKOFF CLEAR X='零壹贰叁肆伍陆柒捌玖' ******1****** DOWHILENOTEOF() INPUT'N='TON ******2****** S=STUFF(X,N,2) ? STR(N,1)+"--->"+S WAIT'是否继续(Y/N)'TOT ******3****** IFUPPER(T)='n' EXIT ENDIF ENDDO SETTALKON 17.本程序用以判断输入的字符串是否是回文(回文是从左到右和从右到左读时都一样的一个字符串,不论大小写字母)。 SETTALKOFF CLEAR C=SPACE(0) ACCEPT'请输入字符串='TOST ******1****** I=LEFT(ST,1) J=1 DOWHILEJ<=I Q=SUBST(ST,J,1) ******2****** C=C+Q J=J+1 ENDDO ******3****** IFST=C ? ST,'是回文' ELSE ? ST,'不是回文' ENDIF SETTALKON 18.求3→200之间的素数。 SETTALKOFF CLEAR FORM=3TO200 ******1****** FORN=1TOM ******2****** IFM/2=INT(M/2) EXIT ENDIF ENDFOR ******3****** IFN>M ? ? M ENDIF ENDFOR SETTALKON 19.本程序显示下列的九九乘法表 123456789 1 24 369 481216 510152025 61218243036 7142128354249 816243240485664 91827364554637281 SETTALKOFF CLEAR FORI=1TO9 ******1****** ? I ENDFOR I=1 DOWHILEI<=9 ? ******2****** FORJ=1TO9 ? ? STR(I*J,4) ENDFOR I=I+1 ******3****** ENDFOR SETTALKON 20.程序是显示输出给定行数的对称菱形图案,如下图所示。 SETTALKOFF CLEAR INPUT"N="TON&&输入5 FORI=1TON *******1****** ? SPACE(N-I) *******2****** FORJ=1TON ? ? CHR(ASC("A")+I-1) ENDFOR ENDFOR FORP=N-1TO1STEP-1 ? SPACE(N-P+1) *******2****** FORK=1TO2*N-1 ? ? CHR(ASC('A')+P-1) ENDFOR ENDFOR SETTALKON 21.统计显示“课程”表中所有不同学期考试课和考查课的总学分数。 输出格式如下: 学期考试课总学分考查课总学分 *************************************** 1113 settalkoff clear use课程 indexon开课学期tokkxq ? "学期考试课总学分考查课总学分" ? "*******************************************" dowhile.not.eof() xq=开课学期 store0toks,kc *******1****** dowhile.T. if考查标志="1" *******2****** kC=kC+学分数 else kc=kc+学分数 endif *******3****** CONTINUE enddo ? xq+str(ks,19,2)+str(kc,19,2) enddo use settalkoff 22.输出3~M(M为正整数,从键盘输入)之间的素数和素数的个数。 SETTALKOFF CLEAR INPUT"M="TOM K=0 FORX=3TOM FORN=2TOX-1 *******1****** IFX/N=0 EXIT ENDIF ENDFOR *******2****** IFN>X ? ? X *******3****** K=K+X ENDIF ENDFOR ? "共"+ALLTRIM(STR(K))+"个素数" SETTALKON 23.用带参调用实现: M! /(M-N)! *N! SETTALKOFF CLEAR INPUT"M="TOM INPUT"N="TON MJ=M *******1****** DOJC NJ=N DOJCWITHNJ *******2****** MNJ=0 DOJCWITHMNJ ? "S=",MJ/(NJ*MNJ) SETTALKON PROCEDUREJC PARAMETERSX T=1 FORI=1TOX T=T*I ENDFOR *******3****** X=i RETURN 24.求x1+x2+x3+x4++xn的值。 n,x从键盘输入。 settalkoff clear input"n="ton input"x="tox *******1****** s=1 t=1 I=1 DOWHILEI<=n *******2****** t=s*x s=s+t I=I+1 *******3****** endFOR ? "s=",s settalkoff 25.求当1! +3! +5! ++n! 的值不超过1020时的临界值及n的值。 settalkoff clear s=0 n=1 *******1****** dowhileI t=1 fori=1ton *******2****** t=i*i endfor s=s+t *******3****** n=n+1 enddo ? "n=",n-4 settalkon 1、程序的功能是: 在在学生表中查找并输出指定学生的所有信息。 填空要求: 程序中共有三个填空,请在“---n---”处填空(注意: 不能删除“&&此处填空”,以便于检查),并调试运行。 不得增加或删减程序行。 SETTALKOFF CLEAR USE学生 Indexon学号toxhh---1----&&此处填空 ACCEPT"请输入指定的学生学号: "TOXH&&此处填空 SEEKXH IF! found()---2----&&此处填空 ? "查无此人! " ELSE display----3----&&此处填空 ENDIF USE SETTALKON 2、给定程序的功能是: 判断给定的正整数值表达式的值是否为素数。 填空要求: 程序中共有三个填空,请在“---n---”处填空(注意: 不能删除“&&此处填空”,以便于检查),并调试运行。 不得增加或删减程序行。 SETTALKOFF CLEAR DOWHILE.T. INPUT"请输入一个正整数: "TOX Fori=2tox-1----1----&&此处填空 IFINT(X/I)=X/I EXIT ENDIF ENDFOR IF----2----&&此处填空 ? X,"是素数! " ELSE ? X,"不是素数! " ENDIF WAIT"是否继续输入(Y/N)"TOYN ----3-----&&此处填空 LOOP ELSE EXIT ENDIF ENDDO SETTALKON 3、给定程序的功能是: 输入边长,如果能构成三角形,则计算三角形面积。 填空要求: 程序中共有三个填空,请在“---n---”处填空(注意: 不能删除“&&此处填空”,以便于检查),并调试运行。 不得增加或删减程序行。 SETTALKOFF ---1----&&此处填空 CLEAR INPUT"输入第一边长: "TOX INPUT"输入第二边长: "TOY INPUT"输入第三边长: "TOZ IFX=0.OR.Y=0.OR.Z=0.OR.X+Y<=Z.OR.Y+Z<=X.OR.X+Z<=Y ? "尺寸有误,重新输入! " ---2----&&此处填空 ENDIF EXIT ENDDO U=(X+Y+Z)/2 ---3-----&&此处填空 ? "AREA="+ALLTRIM(STR(M,19,2)) SETTALKOFF 4、给定程序的功能是: 在屏幕上显示输出一个乘法九九表。 显示格式如下: 填空要求: 程序中共有三个填空,请在“---n---”处填空(注意: 不能删除“&&此处填空”,以便于检查),并调试运行。 不得增加或删减程序行。 SETTALKOFF CLEAR ----1---&&此处填空 DOWHILEX<=9 Y=1 DOWHILEY<=X ----2------&&此处填空 Y=Y+1 ENDDO ----3----&&此处填空 X=X+1 ENDDO SETTALKON 5、给定程序的功能是: 根据输入的数据,计算不大于该数的所有奇数累加和。 填空要求: 程序中共有三个填空,请在“---n---”处填空(注意: 不能删除“&&此处填空”,以便于检查),并调试运行。 不得增加或删减程序行。 SETTALKOFF CLEAR YN="Y" DOWHILE---1----&&此处填空 INPUT"请输入两位以内的正整数: "TON STORE0TOX,Y DOWHILEX X=X+1 IF---2-----&&此处填空 Y=Y+X ENDIF ENDDO ? "不大于该数的奇数累加和="+STR(Y,4) ---3---"继续计算否? (Y/N)"TOYN&&此处填空 ENDDO ? "再见! " SETTALKON 6、给定程序的功能是: 根据输入的数据,判断该数是否为偶数,可以循环输入。 填空要求: 程序中共有三个填空,请在“---n---”处填空(注意: 不能删除“&&此处填空”,以便于检查),并调试运行。 不得增加或删减程序行。 SETTALKOFF CLEAR YN="Y" ----1----&&此处填空 INPUT"请输入一个自然数: "TON IF---2-----&&此处填空 ? "不是偶数! " ELSE ? "是偶数! " ENDIF ----3----"继续否? (Y/N)"TOYN&&此处填空 ENDDO ? "再
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 期末 上级 考试 模拟 题目