您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第5章程序设计基础答案
1.在VTP集成环境下调试程序时,如果程序运行过程中出现“死循环”现象,通常可以通过按键盘上的____ESC____键强制中断程序。2.在某教学管理数据库中有一个学生表(XS.DBF),其表结构及其所含有的记录数据如表1所示。表1学生表结构及其记录数据字段含义学号姓名性别日期数据类型,宽度C,6C,6C,2D字段名XHXMXBCSRQ记录数据010201王玲女06/02/82010203李勇男06/09/82010202张山男02/08/81010301刘芳女09/08/83010402王勇敢男02/28/82010302李园园女12/21/81010401张勇男10/09/82对于下列SELECT-SQL语句,其查询结果含有____3____条记录。SELECT*FROMxsWHERESUBSTR(xh,5,2)='01'若学生表已在当前工作区打开,运行下列程序后再VFP主窗口显示的结果为_____3____。【程序清单】SETTALKOFFn=0CLEARGOTOPDOWHILE!EOF()IFAT("勇",xm)0n=n+1ENDIFSKIPENDDO?n3.运行以下程序后,VFP主窗口显示的结果是____6____。【程序清单】CLEARi=0n=0DOWHILEi=10IFMOD(i,2)=0n=n+1ENDIFi=i+1ENDDO?n4.有如下程序代码:DIMENSIONxx[4]ta=TYPE("xx[1]")xx[1]="VFP"xx=1113tb=TYPE("xx[1]")则这段程序运行后,变量ta和tb的值分别是___L,N____。4.下面有两段程序代码,它们的功能___相同___(注:答“相同”或“不相同”)。【程序一清单】nSum=0p=1FORi=1TO10p=p*inSum=nSum+pENDFOR?nSum【程序二清单】nSum=0FORi=1to10nSum=nSum+fJC(i)ENDFOR?nSumFUNCTIONfJCPARAMETERSxp=1FORn=1TOxp=P*nENDFORRETURNpENDFUNC5.某城市机动车驾驶员登记表(JDCJS)中含有驾驶证号(jzh)等字段。但由于录入人员的差错,包含了一些重复的记录(jzh字段的值有重复),影响了统计结果。完善下列程序,使其可以物理删除该表中的重复数据。【程序清单】USEJDCJSINDEXONjzhTAGjzh&&相同的驾驶证号记录将相邻排列GOTOPlast_jzh=jzhSKIPDOWHILE!EOF()IFjzh=last_jzhDELETEELSE__last_jzh=jzh______ENDIFSKIPENDDOPACK6.下列自定义函数NTOC()的功能是:当传送一个1~7之间的数值型参数时,返回一个中文形式的“星期日~星期六”。例如,执行命令?NTO(4),显示“星期三”。FUNCTIONNTOCPARAMETERSnLOCALchch="日一二三四五六"mch="星期"=SUBSTR(ch,__2*n-1____,2)RETURNmchENDFUNC7.完善下列程序,以显示7~1000以内能被7整除且含有数字5的所有证书(例如35、56、105等)。FORn=7TO1000step7ch=ALLT(STR(n))IF5$ch?nENDIFENDFOR8.运行下列程序后,显示的运行结果的第二行为11*11=121SETTALKOFFCLEARY=11111111FORI=1TOLEN(y)X=LEFT(y,i)?SPACE(20-i*2)+x+*+x+=+ALLT(STR(VAL(x)*VAL(x)))ENDFOR9.完善下列程序,使程序的运行结果如图3所示.SETTALKOFFCLEARx=space(0)Fori=1to9x=x+allt(str(i))?STR(VAL(x))+*9++allt(str(I+1))+=+ALLT(STR(VAL(x)*9+i+1))ENDFOR1*9+2=1112*9+3=111123*9+4=11111234*9+5=1111112345*9+6=111111123456*9+7=11111111234567*9+8=1111111112345678*9+9=111111111123456789*9+10=1111111111图3程序运行结果10.运行下列程序后,显示的运行结果为FoxPro.?TT(123E%nw$O4q*5n6)FUNCTIONTTPARAcstrcResult=space(0)FORn=1toLEN(ALLT(cStr))c=SUBSTR(cStr,n,1)IF!BETWEEN(c,A,Z)and!BETWEEN(c,a,z)LOOPENDIFcResult=cResult+CHR(ASC(c)+1)ENDFORRETURNcResultENDFUNC11.执行下列主程序后,输出结果为:篮球手球足球*****主程序**********过程*****CLEARPROCEDUREsubx=”篮球”LOCALxy=”足球”x=”手球”DOsuby=x+y?x+yENDPROC12.完善下列程序,其功能是计算级数is14131211,使s的值最接近于2.0且不大于2.0,并输出项数及s的值。CLEARs=0n=0DOWHILE.T.n=n+1s=s+1/nIFs2.0s=s-1/nn=n-1exitENDIFENDOWAITWINDOWSTR(n,2)+”项[之和=”+STR(s,6,2)13.完善下列程序段,其功能是将中英文字符组成的字符串,以竖列的形式(即每行一个字符)输出。CLEARp=”新编VisualFoxPro教程”DOWHILE!EMPTY(p)i=IIF(ASC(LEFT(p,1))127,2,1)?LEFT(p,i)p=SUBSTR(p,i+1)ENDDO14.我国的公民身份证号是18位的特征组合码,由17位数字本体码和和1位校验码组成。排列顺序从左至右依次为:6位数字地址码,8位数字出生日期码,3位数字顺.序码和1位数字检验码。检验码是根据17位本位码计算得到的,计算步骤如下:(1)对前17位数字加权求和17,,1),*(iWiAiS。其中:Ai:表示第i位的身份证号码数字值Wi:表示第i位的加权因子。Wi是由公式:Wi=2(18-i)%11计算得到,即2的(18-i)次幂除以11的余数。(2)对加权和S模11,得到校验码的对应值Y,即Y=S%11。Y的取值可以是:012345678910(3)根据Y的值取校验码。Y与检验码的对应关系如下表:Y:012345678910校验码10X98765432完善下列程序,其功能是对给定的一个身份证号,计算检验码并与最后一位比较,判定身份证号是否合法。LOCALCID,StrVerify,CharVerify,StrMsgCID=’320502196805201574’StrVerify=’10X98765432’DIMENSIONW(17)FORi=1to17W(i)=INT(2^(18-i)%11)NEXTiS=0FORI=1to17S=S+VAL(SUBSTR(CID,I,1))*W(i)NEXTIY=S%11CharVerify=SUBSTR(StrVerify,y+1,1)IFCharVerify=RIGHT(CID,1)StrMsg=CID+’合法’ElseStrMsg=CID+’非法’ENDIFWAITWINDOWStrMsg15、完善下列程序,使其产生10个随机的大写英文字母:CLEARi=1DOWHILE___i=10________________k=INT(RAND()*100)+1IFk=65ANDk=90?_chr(k)_____i=i+1ENDIFENDDO16、执行以下程序,屏幕显示为:___1015_______x=8DOWHILE.T.x=x+1IFx=INT(x/4)*5??xELSELOOPENDIFIFx10EXITENDIFENDDO17、完善下列自定义函数STR_RV(),要求其功能为将一个字符串进行“反序”。例如,STR_RV(“ABCD”)的返回值为”DCBA”。FUNCTIONstr_rv()PARATERScp=SPACE(0)DOWHILELEN(c)0x=ASC(c)IFx127&&ASCII码大于127的字符为汉字(半个汉字)p=LEFT(c,2)+pc=SUBSTR(c,3)ELSEp=LEFT(c,1)c=SUBSTR(_c,2_)ENDIFENDDOreturnpENDFUNCTION18、完善下列程序,其功能是统计一个仅由数字组成的字符串中各种数字字符的人数:【程序清单】CLEARcStr=”11010234224567893319”&&字符串初始值STORE0ton0,n1,n2,n3,n4,n5,n6,n7,n8,n9&&计数变量DOWHILELEN(cStr)0c=LEFT(cStr,1)n&c=__n&c+1___cStr=substr(cstr,2)____ENDDO?n0,n1,n2,n3,n4,n5,n6,n7,n8,n919、完善下列自定义函数NoSpace(),其功能是将一个字符串中的所有空格删除。FUNCTIONNoSpacePARAMETERScStrcResult=SPACE(0)FORn=1TOLEN(cStr)IFSUBSTR(cStr,n,1)=SPECE(1)_loop_ENDIFcResult=cResult+SUBSTR(cStr,n,1)ENDFORRETURNcResultENDFUNC20、下列程序运行后,X的值为___30__,Y的值为_____-2___。【程序清单】CLEARx=26y=0IFINT(x/2)=x/2y=MOD(x,3)x=x+4ENdIFIFINT(x/3)=x/3y=MOD(x,-4)ENDIF?x?y21、完善下列程序,计算3+33+333+3333+33333+……前十项之和。CLEARm=3n=0s=0FORi=1to10n=_____n*10+3___________________s=s+nENDFOR22、完善下列程序,使两个程序的功能相同。【程序清单1】【程序清单2】CLEARCLEARs=0s=0p=1n=1FORi=1TO20FORi=1TO20p=____p*i________m=1s=s+pFORn=1TOiENDFORm=m*n?sENDFORs=s+mENDFOR?s23、执行下列主程序后,输出结果为___22_________________。********主程序*****************子程序*******CLEARPROCEDUREPPPUBLICx,y,zLOCALxx=3x=5y=4y=7z=5z=x+yDOPPENDPROC?x+y+z24、完善下列程序,使程序的运行结果如下图所示。CLEARFORi=1TO9FORj=1TO9IFi=j??STR(i,1)+”*”+STR(j,1)+“=”+_____str(i*j,2)_______+SPACE(2)ENDIFENDFOR_______?___________ENDFOR25.在VFP集成环境下调试程序,如果程序运行时出现”死循环现象,通常可以通过按ESC强制中断程序执行26.某表含有两个字段:XX(字符型)和YY(日期型)。若要创建一个索引,要求先根据XX字段排序,xx字段相同时再根据YY字段排序,则索引表达式可以设置为xx+(DTOC(YY,1))。27.在两个数据库表创建永久性关系后,就可以创建它们之间的参照完整性规则。在VFP中,参照完整性规则分为更新规则、(删除)规则和插入规则。28.完善下列程序,使两个程序的功能相同(求一个数列的前20项之和)。【程序清单1】【程序清单2】CLEARCLEA
本文标题:第5章程序设计基础答案
链接地址:https://www.777doc.com/doc-2196487 .html