程序改错69题答案
更新时间:2024-04-04 00:44:01 阅读量: 综合文库 文档下载
三、程序改错
注意:不可以增加或删除程序行,也不可以更改程序的结构。 1.题目:计算1!+2!+3!+...+10! SET TALK OFF S=0 N=1
**********FOUND**********DO ★WHILE★ N<=10 或 DO ★WHILE★ 10>=N DO WHILE N>=10 STOR 1 TO I,P DO WHILE I<=N
**********FOUND**********P=I*P 或 P=P*★I P=P*N I=I+1 ENDDO S=S+P N=N+1 ENDDO ?S
SET TALK ON RETURN
2.题目:计算并在屏幕上显示出\九九乘法表\,显示格式如下: 1×1=1
1×2=2 2×2=4
1×3=3 2×3=6 3×3=9 … …
1×9=9 … 8×9=72 9×9=81 SET TALK OFF CLEAR X=1
DO WHILE X<=9 Y=1
**********FOUND**********DO ★WHILE★ Y<=X 或 DO ★WHILE★ X>=Y DO WHILE Y<=9
??STR(X)+\ **********FOUND**********Y=Y+1 或 Y=1+Y Y=Y*1 ENDDO ? X=X+1 ENDDO
SET TALK ON RETURN
3.题目:根据输入的数据,计算不大于该数的奇数累加和。 SET TALK OFF
CLEAR YN=\
DO WHILE UPPER(YN)=\
INPUT \请输入2位以内的整数\ STORE 0 TO X,Y Z=\
DO WHILE X IF INT(X/2)=X/2 **********FOUND**********LOOP EXIT ELSE Z=Z+\ **********FOUND**********Y=X+Y 或 Y=★Y+X Y=Y+Z ENDIF ENDDO ?Z+\=\ WAIT \继续计算?(Y/N)\ ENDDO ?\再见:\ SET TALK ON RETURN 4.题目:通过临时数据LSH.DBF向学生数据库RS.DBF中追加数据记录。 SET TALK OFF USE RS COPY TO LSH USE LSH ZAP I=0 ANS=\ **********FOUND**********DO ★WHILE ★UPPER(ANS)★= \ 或 DO ★WHILE ★LOWER(ANS)★='y' 或 DO ★WHILE★ ANS=\ DO WHILE ANS=\ CLEAR I=I+1 @10,1 SAY\请输入第\添加记录的数据\ APPE BLANK @11,1 SAY \编号:\ @12,1 SAY \姓名:\ @13,1 SAY \性别:\ @14,1 SAY \出生年月:\ @15,1 SAY \婚否:\ @16,1 SAY \职称:\ @17,1 SAY \工资:\ READ WAIT\是否正确?(Y/N)\ IF UPPER(ANS)<>\ I=I-1 ANS=\ LOOP ENDIF WAIT \是否继续添加?(Y/N)\ ENDDO USE RS **********FOUND**********APPEND ★FROM APPE LSH CLEAR USE SET TALK ON RETURN 5.题目:根据输入的编号查找RS数据库中的工资。 SET TALK OFF USE RS YN=\ DO WHILE UPPER(YN)=\ CLEAR **********FOUND**********ACCEPT \请输入4位编号\ WAIT \请输入4位编号\ IF NUM=\ ?\无效输入,请重新输入\ LOOP ENDIF **********FOUND**********★LOCATE★ FOR NUM=BH FIND FOR NUM=BH IF FOUND() @10,10SAY XM @10,40 SAY GZ ELSE ?NUM,\没找到\ ENDIF WAIT \是否继续(Y/N)\ ENDDO USE RETURN 6.题目:该程实现由键盘输入三个数,按从小到大的顺序排序。 SET TALK OFF INPUT\请第一个数的值:\ INPUT\请第二个数的值:\ INPUT\请第三个数的值:\ IF A>B T=A A=B **********FOUND**********B=T T=B ENDIF IF A>C T=A A=C C=T ENDIF IF B>C T=B B=C C=T ENDIF **********FOUND**********?A,B,C ? C,B,A SET TALK ON RETURN 7.题目:对RS.DBF数据库按职称建立职称库,分别产生以职称为教授的数据库JS.DBF,职称为副教授的数据库FJS.DBF,职称为讲师的数据库JSHI.DBF,职称为助教的数据库ZJ.DBF,并用菜单形式显示,输入1时,显示数据库JS.DBF,输入2时,显示数据库FJS.DBF…。 SET TALK OFF USE RS COPY TO JS FOR ZC=\教授\ COPY TO FJS FOR ZC=\副教授\ COPY TO JSHI FOR ZC=\讲师\ COPY TO ZJ FOR ZC=\助教\ @ 10,40 SAY \显示教授库信息\ @ 11,40 SAY \显示副教授库信息\ @ 12,40 SAY \显示讲师库信息\ @ 13,40 SAY \显示助教库信息\ **********FOUND**********@ 14,40 ★SAY★ \\ @ 14,40 READ \退出\ ACCEPT \请输入要显示的职称库\ CLEAR DO CASE **********FOUND**********CASE ANS=★\ CASE ANS=1 USE JS LIST CASE ANS=\ USE FJS LIST CASE ANS=\ USE JSHI LIST CASE ANS=\ USE ZJ LIST CASE ANS=\ EXIT ENDCASE RETURN 8.题目:按照工资计算数据库RS中的最低工资、最高工资及平均工资,并存放到内存变量文件TJGZ.MEM中。 SET TALK OFF USE RS AVER GZ TO MIDGZ GO TOP MAXGZ=GZ MINGZ=GZ DO WHILE NOT EOF() IF MAXGZ IF MINGZ>GZ **********FOUND**********MINGZ★=GZ GZ=MINGZ ENDIF SKIP ENDDO **********FOUND**********SAVE TO TJGZ.MEM ALL ★LIKE★ M* SAVE TO TJGZ.MEM ALL EXCEPT M* USE RETURN 9.题目:求X =1+2+3+… +100,并同时求出 1~ 100 之间的奇数之和,而且要显示输出这两个和。 SET TALK OFF CLEAR STORE 0 TO I , X , Y **********FOUND**********DO ★WHILE★ I<100 或 DO ★WHILE★ 100>I DO WHILE I < =100 I = I + 1 X =X + I IF I / 2 = INT ( I / 2) **********FOUND**********LOOP EXIT ENDIF Y = Y +I ENDDO ? X,Y SET TALK ON RETURN 10.题目:在rs.dbf 中,查找职工王洋的工资,如果工资小于200元,则增加100元;如果工资大于等于200元且小于500元时,则增加50元;否则增加20元。最后显示王洋的姓名和工资。 SET TALK OFF CLEAR USE RS.DBF **********FOUND**********LOCATE★ FOR XM =★\\ LOCATE FOR XM =王洋 DO CASE CASE GZ < 200 REPLACE GZ WITH GZ + 100 CASE GZ < 500 REPLACE GZ WITH GZ + 50 OTHERWISE REPLACE GZ WITH GZ + 20 ENDCASE **********FOUND**********DISPLAY★ XM,GZ LIST XM , GZ USE SET TALK ON RETURN 11.题目:根据姓名查询rs.dbf 中的职工情况,如果有则显示该职工的内容,否则显示\查无此人,按任意键继续……\序。 SET TALK OFF CLEAR USE RS.DBF DO WHILE .T. ACCEPT \请输入要查询的职工姓名:\ LOCATE FOR XM = NAME **********FOUND**********IF EOF ( ) IF BOF ( ) WAIT \查无此人,按任意键继续……\ ELSE DISPLAY ENDIF WAIT \继续查询吗?(Y / N)\ IF UPPER (CX) <.> 'Y' **********FOUND**********EXIT LOOP ENDIF ENDDO USE SET TALK ON RETURN 12.题目:查找rs.dbf 中女职工的工资最大值,并显示其姓名和工资。 SET TALK OFF CLEAR USE RS.DBF MGZ = 0 MXM = SPACE (8) **********FOUND**********SCAN ★FOR★ XB = \\ SCAN XB = \女\ IF MGZ< GZ MGZ = GZ MXM = XM ENDIF ENDSCAN **********FOUND**********? MXM , MGZ ? XM , GZ USE SET TALK ON RETURN 13.题目:统计rs.dbf 中职称是教授、副教授、讲师和助教的人数。 SET TALK OFF CLEAR USE RS.DBF **********FOUND**********STORE ★ 0 TO A , B , C , D STORE 1 TO A , B , C , D DO WHILE .NOT.EOF ( ) DO CASE CASE ZC = \教授\ A = A + 1 CASE ZC = \副教授\ B = B + 1 CASE ZC = \讲师\ C = C + 1 CASE ZC = \助教\ D = D + 1 **********FOUND**********ENDCASE ENDDO SKIP ENDDO USE ? A,B,C,D SET TALK ON RETURN 14.题目:将0到100之间的所有能被2整除的数显示出来,并计算和显示不被2整除数之和的程序。 set talk off clear **********FOUND**********s=0 s=1 i=0 do while i<=100 **********FOUND**********if int(i/2)=(i/2) if round(i/2)=(i/2) ??i else s=s+i endif i=i+1 enddo ?\ set talk on return 15.题目:计算S=1!+2!+3!+4!+5!+6!+7!+8!+9!+10! 的程序 set talk off clear store 0 to s store 1 to i,t do while i<=10 **********FOUND**********store ★1★ to j,t store 0 to j,t do while j<=i t=t*j j=j+1 enddo **********FOUND**********s=t+s 或 s=s+★t s=s+j i=i+1 enddo ?\ set talk on return 16.题目:先从键盘输入10个同学的英语成绩(分数从0至100),然后找出最高和最低英语成绩的程序。 set talk off clear input \请输入英语成绩(1--100):\ i=1 store n to min,max do while i<10 input \请输入英语成绩(1--100):\ do case case m<0 .or. m>100 ?\输入成绩有错,重新输入!\ **********FOUND**********loop skip case max **********FOUND**********min★=m min=n endcase i=i+1 enddo ?\最高英语成绩:\ ?\最低英语成绩:\ set talk on return 17.题目:判断一个自然数是否为质数,质数为仅能被1和自身整除的整数。 SET TALK OFF CLEAR **********FOUND**********INPUT \请输入一个大于1的自然数:\ ACCEPT \请输入一个大于1的自然数:\ K=1 &&K的值为1表示所输入的自然数是质数,为0表示不是质数 J=2 DO WHILE J **********FOUND**********IF MOD(N,J)★<>★0 IF MOD(N,J)=0 J=J+1 LOOP ELSE K=0 EXIT ENDIF ENDDO CLEAR IF K=1 ?STR(N,5)+\是质数\ ELSE ?STR(N,5)+\不是质数\ ENDIF SET TALK ON RETURN 18.题目:从键盘输入一段字符(包含英文字母和数字),计算所含英文字母的个数。 SET TALK OFF CLEAR AA=SPACE(40) **********FOUND**********M=0 M=1 @10,10 SAY \请输入一段字符:\ READ Y=LEN(TRIM(AA)) FOR X=1 TO Y **********FOUND**********P=SUBSTR(AA,★X,1) P=SUBS(AA,1,X) IF P>'A'.AND.P<'Z'.OR.P>'a'.AND.P<'z' M=M+1 ENDIF ENDFOR CLEAR ?\包含英文字母的个数是:\ SET TALK ON 19.题目:计算STUDENT.DBF库文件中每名考生的总分,并填入各记录的总分成绩中,再按班级对总分进行分类汇总存入SH.DBF文件中,并显示汇总后的结果。 SET TALK OFF CLEAR USE STUDENT **********FOUND**********★REPLACE★ ALL ZF WITH YY+SX+JSJ 或 ★REPLACE★ ALL ZF WITHYY+JSJ+SX 或 ★REPLACE★ ALL ZF WITH SX+YY+JSJ 或 ★REPLACE★ ALL ZF WITH SX+JSJ+YY 或 ★REPLACE★ ALL ZF WITH JSJ+SX+YY 或 ★REPLACE★ ALL ZF WITH JSJ+YY+SX REPL ZF WITH YY+SX+JSJ INDEX ON BJ TO BJ **********FOUND**********★TOTAL★ ON BJ TO SH ★FIELDS★ ZF SORT ON BJ TO SH FIELDS ZF USE SH LIST USE SET TALK ON 20.题目:计算STUDENT.DBF数据库中各条记录总分,并从尾部向头部方向依次显示总分大于等于240分的记录。 SET TALK OFF CLEAR USE STUDENT REPL ALL ZF WITH YY+SX+JSJ GO BOTTOM **********FOUND**********DO ★WHILE★ .NOT.★BOF★() DO WHILE .NOT. EOF() IF ZF>=240 ?XM,ZF WAIT\按任意键继续查询……\ ENDIF **********FOUND**********SKIP ★ -1 SKIP ENDDO CLOSE ALL SET TALK ON 21.题目:打开数据库XSDB.DBF, 统计学生总人数, 计算机平均成绩,英语平均成绩,奖学金总额等,然后在该数据库后追加一个空记录,将系别字段添入\统计结果\,将姓名字段填入统计的总人数、英语和计算机字段添入其平均成绩、奖学金字段填入统计的总金额。 SET TALK OFF CLEAR USE XSDB COUN TO RS **********FOUND**********AVERAGE★ 计算机,★英语 TO JSJ,YY AVERAGE 计算机 TO JSJ,英语 TO YY SUM 奖学金 TO JXJ APPEND BLAN REPLACE 系别 WITH \统计结果\ REPLACE 计算机 WITH JSJ,英语 WITH YY,奖学金 WITH JXJ **********FOUND**********REPLACE★ 姓名 WITH ★STR(RS,3) REPLACE 姓名 WITH RS USE RETURN 22.题目:通过选择菜单中的操作, 根据输入的记录号对库文件XSDB.DBF中指定记录进行相应的操作。 USE XSDB DO WHILE .T. ?\插入记录 2-修改记录 3-显示记录\ ?\逻辑删除 5-恢复记录 0-结束程序\ INPUT \请选择(1,2,3,4,5,0):\ **********FOUND**********IF ★ANS>0★.AND.★ANS<=5★ 或 IF ★ANS>0★.AND.★5>=ANS★ 或 IF ★0=ANS★ IF ANS>0.OR.ANS<=5 INPUT \请输入记录号:\ GO JLH ENDIF DO CASE CASE ANS=1 INSE CASE ANS=2 EDIT CASE ANS=3 DISP CASE ANS=4 DELE CASE ANS=5 **********FOUND**********RECALL PACK OTHERWISE EXIT ENDCASE ENDDO USE RETURN 23.题目:修改XSDB.DBF中的数据,先接收用户输入的记录号, 然后定位到该记录,修改计算机、英语、奖学金三个字段的值,通过用户确认继续修改或退出。 USE XSDB DO WHILE .NOT. EOF() CLEAR INPUT \请输入要修改的记录号:\ **********FOUND**********GOTO ★JLH 或 GO JLH GO &JLH @4,1 SAY \计算机成绩:\计算机 @6,1 SAY \英语成绩:\英语 @8,1 SAY \奖学金:\奖学金 **********FOUND**********READ ACCEPT ANS=\ @10,10 SAY \继续修改吗(Y/N)?\ READ IF ANS<>\ EXIT ENDIF ENDDO USE RETURN 24.题目:接收用户输入的姓名,在XSDB.DBF中查找学生记录, 如果找到则修改该记录, 否则显示:\查无此人!\。根据用户的确认继续查找或退出。 USE XSDB DO WHILE .T. ACCEPT \请输入学生姓名:\ LOCATE FOR 姓名=NAME IF .NOT. FOUND() ?\查无此人!\ ELSE **********FOUND**********EDIT 或 BROWSE DISP ENDIF WAIT \继续查找吗(Y/N)?\ **********FOUND**********IF UPPER(GOON)=\或 LOWER(GOON)=\ IF GOON=\ CLEAR LOOP ELSE EXIT ENDIF ENDDO USE RETURN 25.题目:将200到300之间的所有能被3整除或被5整除的数求和并统计个数。 SET TALK OFF CLEAR STORE 0 TO S,C I=200 DO WHILE I<=300 **********FOUND**********IF INT(I/3)=I/3★.OR.★INT(I/5)=I/5 或 IF MOD(I,3)=0★.OR.★MOD(I,5)=0 或 IF X%3=0 ★AND★ X%5=0 或 IF INT(I/5)=I/5★.OR.★INT(I/3)=I/3 或 IF MOD(I,5)=0★.OR.★MOD(I,3)=0 或 IF X%5=0 ★AND★ X%3=0 IF INT(I/3)=INT(I/5) S=S+I C=C+1 ENDIF I=I+1 ENDDO **********FOUND**********?\到300之间的所有能被3整除或被5整除的数之和=\ ?\到300之间的所有能被3整除或被5整除的数之和=\ ?\到300之间的所有能被3整除或被5整除的数的个数=\ SET TALK ON RETURN 26.题目:接收键盘输入的任意5个整数(不超过3位数), 找出其中的最大数和最小数并显示。 INPUT \请输入第一个数:\ STORE X TO MA, MI N=5 **********FOUND**********DO ★WHILE★ N>1 或 DO ★WHILE★ 1 INPUT \请输入下一个数:\ IF MA **********FOUND**********?\最大数:\ ?\最大数:\最小数:\ RETURN 27.题目:依次判别XSDB.DBF中学号为偶数的记录, 将其加上逻辑删除标记, 并将它们拷贝新的数据库NEW.DBF中, 再把原数据库中逻辑删除标记恢复。然后统计NEW.DBF中记录的个数并显示。 SET TALK OFF USE XSDB DO WHILE .NOT.EOF() XH=VAL(学号) **********FOUND**********IF INT★(XH/2)★=XH/2 或 IF MOD(XH,2)=★0 或 IF ★XH%2★=★0 IF MOD(XH,2)=XH/2 DELE ENDIF SKIP ENDDO COPY TO NEW FOR DELE() **********FOUND**********RECALL★ ALL REPLACE USE NEW COUN TO NUM ?NUM USE SET TALK ON RETURN 28.题目:从键盘输入十个非零整数,统计能被3整除的数的个数。 SET TALK OFF CLEAR **********FOUND**********I=0 I=1 A=0 DO WHILE I<10 INPUT \请输入一个整数:\ **********FOUND**********IF INT(N/3)=★N/3 IF (N/3)=0 A=A+1 ENDIF I=I+1 ENDDO ?A SET TALK ON 29.题目:显示XSDB.DBF中每个学生的姓名、计算机成绩和等级;等级划分如下:计算机成绩大于等于90显示\优秀\;60(含60)~89之间显示\及格\;低于60分,显示\补考\。如显示:张丽娜 90 优秀 。 SET TALK OFF USE XSDB DO WHIL .NOT. EOF() **********FOUND**********? 姓名,计算机 LIST 姓名,计算机 DO CASE CASE 计算机>=90 ??'优秀' CASE 计算机>=60 ??'及格' OTHERWISE ??'补考' ENDCASE **********FOUND**********SKIP GO NEXT ENDDO USE RETURN 30.题目:分别统计XSDB中英语和计算机平均成绩大于80分的男、女生人数,并将79年 APPE @1,1 SAY \学号\学号 @2,1 SAY \系别\系别 @3,1 SAY \姓名\姓名 READ WAIT \继续添加记录吗?(y/n)\ ANS=LOWER(ANS) DO CASE CASE ANS=\ **********FOUND**********LOOP SKIP CASE ANS=\ EXIT ENDCASE ENDDO USE 42.题目:判别100到200之间的数能否同时被5、6整除、能否被5、6之一整除和不能被5或6整除等,将判别结果显示出来。 SET TALK OFF i=100 DO WHILE i<=200 DO CASE **********FOUND**********CASE ★INT(i/5)=I/5★.AND.★INT(i/6)=I/6 或 CASE ★MOD(I,5)=0★.AND.★MOD(I,6)=0 或 CASE ★I%5=0 ★AND★ I%6=0 或 CASE ★INT(i/6)=I/6★.AND.★INT(i/5)=I/5 或 CASE ★MOD(I,6)=0★.AND.★MOD(I,5)=0 或 CASE ★I%6=0 ★AND★ I%5=0 CASE INT(i/5)=0.OR.INT(i/6)=0 ? i,\能同时被5和6整除\ CASE MOD(i,5)=0 ? i,\只能被5整除\ CASE MOD(i,6)=0 ? i,\只能被6整除\ **********FOUND**********OTHERWISE ELSE ? i,\不能被5或6整除\ ENDCASE i=i+1 ENDDO SET TALK ON 2222 43.题目:以下程序的功能如下:计算2+3+4+……+N的值并显示输出结果。 SET TALK OFF CLEAR T=0 I=2 INPUT \ **********FOUND**********DO ★WHILE★ I<=N 或 DO ★WHILE★ N>=I DO WHILE .NOT.EOF() T=T+I^I **********FOUND**********I=2+I 或 I=I+★2 I=I+T ENDDO ?\ SET TALK ON RETURN 44.题目:对数据库XSDB.DBF中的计算机和英语都大于等于90分以上的学生奖学金进行调整:法律系学生奖学金增加12元、英语系学生奖学金增加15元、中文系学生奖学金增加18元,其他系学生奖学金增加20元。 USE XSDB **********FOUND**********LOCATE★ FOR ★90<=英语★.AND.★计算机>=90 或 LOCATE★ FOR ★英语>=90★.AND.★90<=计算机 或 LOCATE★ FOR ★英语>=90★.AND.★计算机>=90 或 LOCATE★ FOR ★90<=英语★.AND.★90<=计算机 FIND 计算机.AND.英语>=90 DO WHILE FOUND() DO CASE CASE 系别=\法律\ ZJ=12 CASE 系别=\英语\ ZJ=15 CASE 系别=\中文\ ZJ=18 OTHE ZJ=20 ENDCASE **********FOUND**********REPLACE★ 奖学金 WITH ★奖学金★+ZJ 或 REPLACE★ 奖学金 WITH ★ZJ+★奖学金 REPL 奖学金 WITH ZJ CONTINUE ENDDO USE RETURN 45.题目:计算表达式3!+5!+7!的值,该程序有4处错误,请找出并改正,使程序能够正常运行。 CLEAR Y=0 M=2 W=1 ***********FOUND**********DO ★WHILE★ M<=7 或 DO ★WHILE★ 7>=M DO WHILE M<7 W=W*M ***********FOUND**********IF M/2★<>★INT(M/2) IF M/2=INT(M/2) Y=Y+W ENDIF ***********FOUND**********M=M★+★1 M=M+2 ENDDO ***********FOUND**********?\ ? \ SET TALK ON 46.题目:下面程序中,是统计XS.DBF中的男生人数,程序中有四处错误,请改正之. SET Talk Off CLEA USE XS S=0 ***********FOUND**********DO★WHILE★.NOT.★EOF() DO WHILE EOF() IF 性别=\女\ SKIP ***********FOUND**********LOOP EXIT ENDIF ***********FOUND**********S=★S★+★1 S=S-1 ***********FOUND**********SKIP CONTINUE ENDDO USE ? \男生人数是:\ set talk on RETURN 47.题目:求20以内(含20)偶数和。该程序有四处错误,找到并改正,使之能正确运行。 S=0 N=1 ***********FOUND**********DO ★WHILE★ N<=20 或 DO ★WHILE★ 20>=N DO WHILE N<20 A=N/2 B=INT(N/2) ***********FOUND**********IF A★=B IF A<>B S=S+N ENDIF ***********FOUND**********N=N★+★1 N=N+2 ENDDO ***********FOUND**********?\ ?\ ?\ ? \ RETURN 48.题目:可以选择列出数据库XS.DBF中全体同学情况、全体男同学情况、全体女同学情况。该程序有4处错误,请找出并改正,使程序能够正确运行。 CLEAR AA=\ BB=\性别=[男]\ CC=\性别=[女]\ USE XS @21,16 SAY \全体同学2:全体男同学3: 全体女同学\ @23,16 SAY \退出\ @23,34 SAY \请选择:\ WAIT TO J DO CASE ***********FOUND**********CASE ★J=\ CASE J=★'1' 或 CASE J=★[1] CASE J=0 &AA CASE J=\ ***********FOUND**********&BB BB ***********FOUND**********CASE J=★\ CASE J=★'3' 或 CASE J=★[3] CASE J={1} &CC OTHERWISE ***********FOUND**********RETURN EXIT ENDCASE USE RETURN 49.题目:在数据库XS.DBF中,根据计算机的成绩对总分做相应调整:计算机成绩在90分以上的总分加10分,计算机成绩在80分以上的总分加5分,计算机成绩60分以下的总分减2分。该程序有4处错误,请找出并改正,使之能够正确运行。 USE XS CLEAR GOTO BOTTOM ***********FOUND**********DO ★WHILE★ .NOT. BOF() DO WHILE BOF() DO CASE ***********FOUND**********CASE 计算机>=80 ★AND★ 计算机<90 CASE 计算机>=80 REPLACE 总成绩 WITH 计算机+5 CASE 计算机>=90 REPLACE 总成绩 WITH 计算机+10 ***********FOUND**********CASE 计算机<60 OTHRWISE REPLACE 总成绩 WITH 计算机-2 ENDCASE ***********FOUND**********SKIP★ -1 SKIP ENDDO LIST USE RETURN 50.题目:下面程序中,是计算1~N(N由键盘输入)之间的正整数中的偶数之和,程序中有四处错,请改正之. SET TALK OFF CLEA ***********FOUND**********INPUT★\ ACCEPT \ S=0 K=1 ***********FOUND**********DO★WHILE★K<=N 或 DO★WHILE★N>=K DO WHILE K>=N ***********FOUND**********IF★INT(K/2)★=★K/2 IF INT(K/2)<>K/2 S=S+K K=K+1 ELSE K=K+1 ***********FOUND**********LOOP EXIT ENDIF ENDD ?\ SET TALK ON 51.题目:下面程序完成的是一个对RS.DBF按姓名进行查询的功能,程序中有四处错,请改正之. SET TALK OFF ***********FOUND**********USE RS USE &RS DO WHILE .T. CLEA ACCEPT \输入要查询人的姓名:\ ***********FOUND**********LOCA★FOR 姓名★=NAME LOCA FOR 姓名=&NAME IF .NOT. EOF() DISP ELSE ? \查无此人!\ ENDIF WAIT \是否继续查询(Y/N)?\ ***********FOUND**********IF★UPPER★(KK)=\ IF★KK=\ IF KK=\ LOOP ENDIF ***********FOUND**********EXIT LOOP ENDDO USE SET TALK ON 52.题目:使用BJ.DBF和XS.DBF两个数据库,在它们之间建立逻辑联接,然后为每个\计算机\班的学生成绩增加10分,最后显示全体学生的姓名、成绩和班级名.程序中有四处错,请改正之. SET TALK OFF SELE 1 USE BJ ***********FOUND**********INDE ON 姓★名 TO INX INDE ON 姓名 INTO INX SELE 2 USE XS ***********FOUND**********SET RELA TO 姓名 ★INTO A SET RELA TO 姓名 ON A ***********FOUND**********REPL ALL 成绩 ★WITH 成绩+10 FOR 班级名=\计算机\ REPL ALL 成绩 TO 成绩+10 FOR 班级名=\计算机\ LIST 姓名,成绩,班级名 ***********FOUND**********SET RELA★TO SET RELA WITH CLOS DATA SELE 1 SET TALK ON RETU 53.题目:反复从键盘输入姓名,在XS.DBF数据库中查找该人,找到后显示,为找到可继续查询,该程序有4处错误,请找出并改正,使程序正常运行。 SET TALK OFF CLEAR USE XS DO WHILE .T. ACCEPT \请输入要查找的姓名:\ ***********FOUND**********LOCA FOR 姓名=XM FIND &XM ***********FOUND**********IF .NOT. ★EOF() IF NOT DISPLAY ELSE SF=\ WAIT \未查到,继续查询吗?(Y/N) \ ***********FOUND**********IF UPPER(SF)★=★\ IF UPPER(SF)<> \ ***********FOUND**********EXIT LOOP ENDIF ENDIF ENDDO USE SET TALK ON SET EXACT OFF 54.题目:求XS.DBF数据库中平均成绩大于80分(含80分)男女生人数,把79年出生的女生生成新库,按出生日期的升序显示新库的姓名字段。该程序共有四处错误,找出并改正,使程序能正确运行。 SET TALK OFF CLEAR USE XS TJ=\英语+计算机)/2>=80\ ***********FOUND**********COUNT TO B ★FOR★ 性别=\男\ COUNT TO B 性别=\男\ ***********FOUND**********COUNT TO B ★FOR★ 性别=\女\ COUNT TO G 性别=\女\ ?B,G ***********FOUND**********COPY ★TO★ STG FOR 性别=\女\期)>1979 或 COPY ★TO★ STG FOR 性别=\女\ 日期) COPY STG FOR 性别=\女\出生日期)>1979 USE STG ***********FOUND**********INDEX ★ON★ 出生日期 TO SR INDEX 出生日期 TO SR LIST 姓名 OFF USE SET TALK ON RETURN 55.题目:显示XS.DBF数据库中总分最大值学生的姓名和专业。该程序共有四处错误,找出并改正,使程序能正常运行。 SET TALK OFF CLEAR USE XS ***********FOUND**********STORE ★0★ TO X STORE \ STORE \ REPLACE ALL 总成绩 WITH 计算机+英语 GOTO TOP ***********FOUND**********DO ★WHILE★ .NOT. EOF() DO WHILE EOF() IF X<总成绩 X=总成绩 Y=姓名 Z=专业 ENDIF ***********FOUND**********SKIP LOOP ENDDO ***********FOUND**********?Y,Z LIST Z,X,Y USE 56.题目:将XS.DBF数据库中82年以前出生的女生加上删除标记,并显示该类学生的专业、姓名;按总分降序输出XS.DBF数据库中的专业、姓名。该程序共有四处错误,找出并改正,使程序能正常运行。 SET TALK OFF USE XS DELE FOR 出生日期<{82/01/01}.AND.性别=\女\ ***********FOUND**********COPY ★TO★ SR FOR ★DELETE() COPY SR FOR DELETE() SELE B USE SR LIST 专业,姓名 OFF SELE A REPLACE ALL 计算机 WITH 英语+计算机 ***********FOUND**********INDEX ★ON★ -(英语+计算机) TO CJ 或 INDEX ★ON★ -总成绩 TO CJ INDEX -总成绩 TO CJ I=5 DO WHILE I>=1 DISP 姓名,总成绩 OFF ***********FOUND**********SKIP LOOP ***********FOUND**********I=I-1 或 I=-1+I I=I+1 ENDDO USE RETURN 57.题目:从键盘输入学生姓名对库文件XS.DBF进行查询。该程序共有四处错误,找出并改正使程序正常运行。 SET TALK OFF CLEAR USE XS DO WHILE .T. ***********FOUND**********ACCEPT \请输入学生姓名:\ NAME ACCEPT \请输入学生姓名: \ ***********FOUND**********LOCA ★FOR★ 姓名=NAME LOCA 姓名=NAME IF EOF() WAIT \无此人!\ ELSE ***********FOUND**********DISP EXIT ENDIF WAIT \继续查询吗?(Y/N) \ ***********FOUND**********IF UPPER(CX)★<>★\或 IF UPPER(CX)★=★\ IF UPPER(CX)= \ EXIT ENDIF ENDDO USE RETURN 58.题目:在XS.DBF库中找到\李红\同学的记录,显示计算机成绩。该程序有4处错误,请找出并改正,使程序能够正常运行。 CLEAR SET TALK OFF USE XS ***********FOUND**********DO ★WHILE★ .NOT. EOF() DO WHILE EOF() ***********FOUND**********IF 姓名=★\\或 IF 姓名=★[李红] 或 IF 姓名=★'李红' IF 姓名=李红 ***********FOUND**********DISP 姓名,计算机 LIST 姓名,计算机 ENDIF ***********FOUND**********SKIP LOOP ENDDO USE SET TALK ON RETURN 59.题目:在数据库XS.DBF中,统计、显示非党员人数。该程序共有四处错误,找出并改正,使程序能够正确运行。 SET TALK OFF CLEAR ***********FOUND**********A=0 A=1 USE XS ***********FOUND**********DO ★WHILE★ .NOT. EOF() DO WHILE EOF() IF NOT 入党否 A=A+1 ENDIF ***********FOUND**********SKIP COUNTINE ***********FOUND**********ENDDO END ?A USE SET TALK ON RETURN 60.题目:输出如下图形 * * * * * * * * * * * * * * * * 该程序有四处错误,请找到错误并改正,使之能正确运行。 CLEA R=1 C=10 ***********FOUND**********DO ★WHILE★ 4>=R 或 DO ★WHILE★ R<=4 DO WHILE R<4 S=1 ***********FOUND**********DO ★WHILE★ S<2★*★R-1 或 DO ★WHILE★ S<-1+2★*★R 或 DO ★WHILE★ 2★*★R-1>S 或 DO ★WHILE★ -1+2★*★R>S DO WHILE S<=2R-1 ***********FOUND**********@R,C ★SAY ★\ @R,C ★SAY [*] 或 @R,C ★SAY ★'*' @R,C GET * C=C+1 ***********FOUND**********S=S★+★1 S=S-1 ENDDO C=10-R R=R+1 ENDDO 61.题目:输出如下乘法口诀表,该程序有4处错误,请找出并改正,使程序能够正常运行。 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 …………………… 1*9=9 2*9=18 ……… 9*9=81 SET TALK OFF CLEAR ***********FOUND**********X=1 X=0 ***********FOUND**********DO ★WHILE★ X<=9 DO WHILE X<=10 Y=1 DO WHILE Y<=X ***********FOUND**********??STR(Y,1)+★\ ??STR(Y,1)+*+STR(X,1)+ \ Y=Y+1 ENDDO X=X+1 ***********FOUND**********? DISP ENDDO 62.题目:下面是一个关于光带式菜单的程序,根据题意,将题中四处错改正过来,请改正之. SET TALK OFF SET PROC TO PRO DO WHILE .T. CLEA @3,19 SAY \北华大学学生管理系统\ @4,4 PROM \查询\查询记录\ @4,14 PROM \修改\修改记录\ @4,24 PROM \删除\删除记录\ @4,34 PROM \退出\返回\ ***********FOUND**********SET★MESS★TO★20 READ MESS TO 20 ***********FOUND**********ME★NU TO★W MENU INTO W DO CASE CASE W=1 DO CX CASE W=2 DO XG CASE W=3 DO SC ***********FOUND**********CASE★W=4 CASE W=0 EXIT ENDC ENDD ***********FOUND**********SET PROC★TO SET PROC ON SET TALK ON 63.题目:程序功能为添加数据记录,程序中有四处错误请修改正确. set talk off use djks copy to bbb use bbb store \ store \ store \ store 0 to nl store \ store 0 to bs store 0 to sj store .t. to lp do while lp clear @ 3,30 say \请输入记录项的数据!\ ***********FOUND**********@ 6,20 say \考号:\ @ 6,20 say \考号:\ @ 6,50 say \姓名:\ @ 7,20 say \性别:\ @ 7,50 say \年龄:\ @ 8,20 say \考场:\ @ 8,50 say \笔试:\ @ 9,20 say \上机:\ read ***********FOUND**********append★blank append from replace 考号 with kh,姓名 with xm,性别 with xb, 年龄 with nl,考场; with kc,笔试 with bs,上机 with sj wait \是否继续添加?(Y/N)\ ***********FOUND**********if rep=\ if★upper★(rep)=\ if rep=\ loop endif ***********FOUND**********store .f. to lp 或 store★.f.★to★lp store .t. to lp enddo clear @ 10,30 say \再见!\ use set talk on 64.题目:按姓名或专业查找任一学生,该程序有4处错误,请找出并改正,使程序能够正常运行。 SET TALK OFF CLEAR USE XS DO WHILE .T. ACCEPT \请选择:1.姓名 2.专业\ IF XZ=\ ACCEPT \请输入要查找的姓名:\ ***********FOUND**********LOCATE★FOR★姓名=★XM LOCATE FOR 姓名= [XM] ELSE IF XZ=\ ***********FOUND**********ACCEPT★\ ACCEPT \请输入要查找的专业:\ ***********FOUND**********LOCATE★FOR★专业=ZC LOCATE FOR 职称=ZC ELSE WAIT \选择错,按任意键继续\ ENDIF ENDIF IF .NOT.EOF() DISPLAY ENDIF WAIT \还继续查找吗 ?\ IF UPPER(AW)<>\ ***********FOUND**********EXIT LOOP ENDIF ENDDO USE SET TALK ON 65.题目:从键盘输入人名,在XS库文件中查找该人,如找到改动其专业,否则结束程序,该程序有4处错误,请找出并改正,使程序能够正常运行。 CLEAR USE XS NAME=SPACE(8) ACCEPT \请输入要改动学生的姓名: \ LOCAT FOR 姓名=NAME ***********FOUND**********IF ★EOF() 或 IF .NOT. ★FOUND() IF NOT BOF() @12,10 SAY \无此人\ USE ***********FOUND**********RETURN EXIT ENDIF ***********FOUND**********@15,10 SAY NAME ★GET 专业 @15,10 SAY NAME TO 专业 READ ***********FOUND**********USE CLOSE ALL 66.题目:将XS.DBF数据库中所有男同学依次显示出来。该程序有4处错误,请找出并改正,使程序能够正常运行。 SET TALK OFF USE XS ***********FOUND**********DO ★WHILE★ .NOT.EOF() DO WHILE EOF() IF .NOT.性别=\男\ SKIP ***********FOUND**********LOOP EXIT ENDIF DISPLAY OFF 姓名 ***********FOUND**********SKIP LOOP ***********FOUND**********ENDDO END LOOP USE SET TALK ON RETURN 67.题目:本程序的功能是输入学号查询考生计算机成绩。在程序中有4处错误请找出错误语句并改正,使程序正常运行。 USE XS ***********FOUND**********INDEX ★ON 学号 TO ★IS1 INDEX 学号 TO A1 ***********FOUND**********ACCEPT \请输入学号:\★TO NUM ACCEPT \请输入学号: \ SEEK NUM ***********FOUND**********IF FOUND() 或 IF .NOT. EOF() IF EOF() ?姓名, \计算机成绩: \计算机,3,0) ***********FOUND**********ELSE DISP ? \没有此考生! \ ENDIF USE 68.题目:给定程序的功能是:由用户输入数据库名,如果数据库的名等于xs.DBF显示记录号为奇数的记录内容,否则退出. Set talk off clear name=space(8) ***********FOUND**********@2,5 say \请输入数据库名:\ @2,5 say \请输入数据库名:\ read if name=\ ***********FOUND**********use★&name 或 use★(name) use name do while .not.eof() ***********FOUND**********skip★2 disp skip enddo else ***********FOUND**********retu 或 canc 或 quit exit endif retu 69.题目:显示数据库文件XS.DBF中化学系同学的姓名和计算机成绩该程序有4处错误,请找出并改正,使程序能够正常运行。 USE XS ***********FOUND**********DO ★WHILE★ .NOT.★EOF() DO WHILE NOT BOF() IF 专业<>\化学\ SKIP ***********FOUND**********LOOP EXIT ENDIF ***********FOUND**********DISPLAY★ 姓名,计算机 DISP SKIP ENDDO ***********FOUND**********USE CLOSE XS
正在阅读:
程序改错69题答案04-04
宿迁市第七届学科带着人通知Main03-29
微机课后答案11-02
村委换届典型材料01-13
关于春暖花开小学作文06-15
县人民政府教育督导室上半年工作总结报告08-05
2014高考语文轻松考过140分速成演练之提高篇1803-18
工厂机修工岗位职责05-31
让步接收,使用,放行的区别10-26
污水处理厂设计毕业论文04-06
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 改错
- 答案
- 程序
- 污染土清挖运输方案5-13 - 图文
- 一年级语文趣味题
- 愚公移山
- 药剂学习题 doc1
- 《历史与社会》(七上)期末调测卷
- 幼儿园国培心得体会
- 履行党员义务和发挥党员作用情况
- 中职会考语文试卷及答案
- 以影片《寻梦环游记》的成功论影视动画后期制作的重要性
- 测绘工程质量管理的必要性及措施
- 高中政治第五课把握思维的奥妙导学案新人教版必修-精
- MIDASGen软件常见问题与解答2
- 高炉炼铁技师试题
- 奥鹏南开16春学期《数学的思维方式(尔雅)》在线作业
- 影响线练习题
- 毕业设计-支架注塑模具
- 脚手架工程事故预防措施及应急救援预案(1)
- 中国集成环保灶市场现状分析及未来五年投资商机研究报告
- Access复习习题及答案
- 2015-2016学年高中化学 2.2.4《镁的提取及应用》练习 苏教版必修