




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一套:下列程序是将从键盘上输入的字符(只含数字或字母)按下列规则编成密码后输出:对输入的数字字符用其ASCII码减10;小写字母用该字母的ASCII码前面加星号(*);大写字母用其ASCII码加左右括号,输入其他字符则表示输入结束。例如,从键盘输入字符串A12bMc,输出的密码为(65)3940*108(77)*109。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARcpassword=ckey1=DO WHILE.T.WAIT WIND请输入字符串(按Enter键结束)TO ckeyIF BETWEEN(ckey,0,9)ckey1=ALLT(STR(ASC(ckey)-10)ELSEIF BETWEEN(ASC(ckey),ASC(A),ASC(Z)ekey1=(+ALLT(STR(ASC(ckey)+)ELSEIF BETWEEN(ASC(ckey),ASC(a),ASC(z)ckey1=*+ALLT(STR(ASC(ckey)+10)ENDIFEXITENDIFENDIFENDIFcpassword=ckey1+cpasswordENDDO?cpassword【答案】(1)第14行改为:ELSE(2)第19行改为:cpassword = cpassword+ckey1【分析】(1)IF语句未结束。(2)ckey1应接在cpassword后面构成新的cpassword。第二套:下列程序是将从键盘上输入的字符串(只含数字或字母)按下列规则编成密码后输出:对输入的数字字符用其ASCII码减10;小写字母用该字母的ASCII码前面加星号(*);大写字母用其ASCII码加左右括号,输入其他字符则结束输入。例如,从键盘输入字符串A12bMc,则密码输出为(65)3940*108(77)*109。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARcpassword=ckey1=DO WHILE.T.WAIT WIND请输入字符串(按Enter键结束)TO ckeyDO CASECASE BETWEEN(ckey,0,9)ckey1=ALLT(STR(ASC(ckey)-10)CASE BETWEEN(ASC(ckey),ASC(A),ASC(Z)ckey1=(+ALLT(STR(ASC(ckey)+)CASE BETWEEN(ASC(ckey),ASC(a),ASC(z)ckey1=*+ALLT(STR(ASC(ckey)+10)OTHERWISERETURNENDCASEcpassword=cpassword+ckey1ENDDO?ckey1【答案】1)第14行改为:EXIT(2)第18行改为:?cpassword【分析】(1)其他情况下要退出所以用EXIT。2)程序执行结果是输出密码。第三套:下列程序的功能是:将二进制数字字符串转化成十进制数字字符串(转换结果小数点后保留3位)。其基本算法是:将每一位的二进制数字乘以其相应的权,并将乘积相加。二进制数字的权为:以小数点为界,整数部分从右向左依次为20、21、22、;小数部分从左向右依次为2-1、2-2、2-3、要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEAR?fc_transform(1001.1111)FUNCTION fc_transformPARAMETERS 1001.1111cStr=IIF(ATC(.,cStr)=0,cStr+.,cStr)m=LEN(cstr)-1 &求出除小数点外一共有多少个二进制数字n=LEN(cstr)-AT(.,cstr)+1&求出小数点后面有多少位(包括小数点在内)cStr=STRTRAN(cStr,.,)&将该二进制数字字符串中的小数点删除s=0FOR i=1 TO ms=s+VAL(LEFT(RIGHT(cstr,i),1)*2*(i-n)ENDFORRETURN STR(s,10)【答案】(1)第4行改为:PARAMETERS cStr(2)第13行改为:RETURN Str(s,10,3)【分析】(1)声明参数要用符合规则的参数名。(2)Str()参数个数缺少。某学校2007-2008学年第二学期共10周,该学期开学日期为2008年3月2日,即2008年3月2日是该学期校历第一周的第一天(星期日)。下列程序的功能是:按图3所示格式打印出该学期校历,并能根据给定的日期(2008年5月1日)返回该日期是校历中的第几周、星期几。要求: 第四套:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARt1=2008-03-02tx=2008-05-01cString1=日一二三四五六n=tx-tlFOR i=1 TO 7?星期+SUBS(cStringl,i*2+1,2)+SPACE(2)FOR j=1 TO 10? t1+(j-1)*7,SPACE(1)ENDFORt1=t1+1ENDFORx=INT(n7)+1IF x10?该日期不落在本学期ENDIFy=MOD(n,7)?DTOC(tx)+是第+STR(x)+周星期+STR(y)ENDIF【答案】(1)第7行改为:?星期+SUBS(cString1,i*2-1,2)+SPACE(2)(2)第17行改为:ELSE【分析】(1)因为循环是从i=1开始的所以要用i*2-1。(2)判断条件未结束。第五套:某学校2007-2008学年第二学期共20周,该学期开学日期为2008年3月2日,即2008年3月2日是该学期校历第一周的第一天(星期日)。下列程序的功能是:按图3所示格式打印出该学期校历,并能根据给定的日期(2008年5月20日)返回该日期是校历中的第几周、星期几。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。 CLEARt1=2008-03-02tx=2008-05-20n=VAL(tx-t1)t2=t1+6FOR i=1 TO 20?第+STR(i)+周:?t1,-,t2t1=t2+1t2=t1+6ENDFORx=INT(n7)+1IF x20?该日期不落在本学期ELSEy=subs(日一二三四五六,2*dow(tx)-1,2)?tx+是第+STR(x)+周星期+yENDIF【答案】(1)第4行改为:n=tx-t1(2)第17行改为:?dtoc(tx)+是第+str(x,2)+周星期+y【分析】(1)不需要用VAL()函数。(2)要将日期型的tx转换成字符型后输出。第六套:下列程序的功能是:删除字符串(不包括汉字)中的空格,并将它按字符从大到小的顺序排列后输出。例如,字符串AB C efa,输出结果为feCBAa。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARcStr=ABcdefghijkt flq? FC_order(x)FUNCTION FC_orderPARAMETER xx=STRTRAN(x,SPACE(1),SPACE(0)&将x中的空格删除n=LEN(x)y=DIMENSION A(n)FOR i=1 TO nA(i)=SUBSTR(x,i,1)ENDFOR=ASORT(A)&ASORT()函数的功能是对数组元素进行排序FOR j=1 TO ny=y+A(j)ENDFORRETURN y【答案】(1)第3行改为:?FC_ORDER(cStr)(2)第16行改为:y=A(j)+y【分析】(1)需要输出FC_ORDER(cStr),参数是cStr而不是X。(2)需要将A(i)与y拼接再赋值给y。第七套:下列程序的功能是:删除字符串(不包括汉字)中的空格,并将它按字符从小到大的顺序排列后输出。例如,字符串B C efA,输出结果为ABCef。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARx=B C efAy=x=STRTRAN(x,SPACE(1),SPACE(0)n=LEN(x)DIMENSION A(n)FOR i=1 TO nA(i)=LEFT(x,1)x=SUBSTR(x,i)FNDFOR=ASORT(A)&ASORT()函数的功能是对数组元素进行排序FOR j=1 TO ny=A(j)+yENDFOR?y【答案】(1)第9行改为:X=SUBSTR(x,2)(2)第13行改为:y=y+A(j)【分析】1)每一次循环取得x值得前两位再赋给x。(2)需要将y与A(i)拼接再赋值给y。第八套:完数是指数n的各分解因子(1视为因子,n不视为因子)之和正好等于该数本身,例如6为完数(因子为1、2、3,且1+2+3=6)。下列程序的功能是:找出1000之内的所有完数,并将找出的完数及该数的所有因子输出。输出结果形式为:6,1,2,3,28,1,2,4,7,14要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARFOR i=1 TO 1000m=0s=FOR j=1 TO i-1IF ij=INT(ij)m=m+js=s+,+jENDIFENDFORIF i=m?i?sENDIFENDFOR【答案】(1)第8行改为:?x=s+,+str(j)(2)第13行改为:?s【分析】(1)每一次循环要将j转换为字符型变量。(2)与i同行输出s。第九套:下列程序的功能是:将任意一个数字字符串转换为中文零到九的表示形式。例如12089,转换成一二零八九。要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARcStr1=1560189cStr2=FOR i=1 TO cStr1d=VAL(SUBSTR(cStr1,i,1)cStr2=cStr2+ntoc(d)ENDFOR?cStr2FUNCTION ntocPARAMETERS pDigitcString=零一二三四五六七八九cResult=SUBS(cString,pDigit*2+1,2)RETURN【答案】(1)第4行改为:len(cStr1)(2)第13行改为:RETURN cResult【分析】(1)循环的长度应该是cStr1字符串的长度,所以改为len(cStr1)。(2)执行结果应返回cResult。第十套:下列程序的功能是:统计一个字符串中有多少个不同的字符及汉字,以及每个字符或汉字出现的次数。要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARcStr=数据库管理系统(DBMS)DO WHILE LEN(cStr)0n1en1=Len(cStr)x=ASC(LEFT(cStr,1)IF x127cStr1=LEFT(cStr,2)ELSEcStr1=LEFT(cStr,1)ENDIFcStr=STRTRAN(cStr,cStr1,SPACE(0)nlen2=LEN(cStr1)IF x127?cstr1,(nlen1-nlen2)2ELSE?cstr1,nlen1-nlen2ENDFORENDDO【答案】(1)第12行改为:LEN(cStr)(2)第17行改为:ENDIF【分析】(1)要赋予nlen2的值是cStr的长度。(2)有If循环并且未结束,要用ENDIF结束If语句。11套,下列程序的功能是:将二进制数字字符串转换成十进制数字字符串(转换结果小数点后保留3位)。其基本算法是:将每一位二进制数字乘以其相应的权,并将乘积相加。二进制数字的权为:以小数点为界,整数部分从右向左依次为20、21、22、;小数部分从左向右依次为2-1、2-2、2-3、。要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARcstr=1000.111n=AT(.,cstr)cstr=IIF(n=0,cstr+.,cstr)cl=SUBSTR(cstr,1,n-1)c2=SUBSTR(cstr,n+1)m1=0m2=0m=0FOR i=1 TO LEN(c1)m1=m1+VAL(LEFT(RIGHT(c1,i),1)*2*(i-1)ENDFORFOR j=1 TO LEN(c2)m2=m2+VAL(SUBSTR(c2,j,1)*2*(j)ENDFORm=m1+m2?二进制数+cstr+十进制表示为:+VAL(m,10,3)【答案】(1)第14行改为:len m2 = m2 + val(subs(c2,j,1)*2*(-j)(2)第17行改为:?二进制数+cstr+十进制数表示为:+str(m,10,3)【分析】(1)根据其转换的公式,求小数部分的转换指数应为负数。(2)要输出字符串m。12套,下列程序的功能是:比较两个字符串的差异,并将差异的位置显示出来。例如,Cl=AbCDEFGHTP,C2=ABCDETG大P,则比较以后显示位置差异:2,6,8,9。要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARc1=Visual FoxPro系统c2=visual foxpro数据库n=MAX(LEN(c1),LEN(c2)FOR i=1 TO nStr1=SUBSTR(c1,i,1)Str2=SUBSTR(c2,i,1)IF!str1=str2IF CHR(Strl)127?i,i+1ENDIF?iENDIFENDIFENDFOR【答案】(1)第9行改为:IF ASC(str1)127(2)第11行改为:ELSE【分析】(1)将str1转换成ASC码值要用ASC()函数。(2)与前一个IF对应构成完整的判断语句。13套,下列程序的功能是:第一个循环随机生成20个大写英文字母,并且存放到数组c中,第二个循环将数组c中的20个元素排序(从小到大)。要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARn=20DIMENSION c(n)FOR i=1 TO n&第一个循环c(i)=CHR(65+INT(RAND()*26)ENDFORLcontinue=.F.FOR i=1 TO n-1 STEP 1FOR j=n TO i+1 STEP 1IF c(j)c(j-1)m=c(j-1)c(j-1)=c(j)c(j)=mLcontinue=.F.ENDIFENDFORIF Lcontinue=.F.EXITENDIFENDFORDISPLAY MEMO LIKE c*【答案】(1)第9行改为:STEP-1(2)第11行改为:Lcontinue=.T.【分析】(1)将Str1转换成ASC码值要用asc()函数。(2)与前一个IF对应构成完整的判断语句。14套,下列程序的功能是:第一个循环随机生成10个大写英文字母,并且存放到数组c中,第二个循环将数组c中的10个元素排序(从小到大)。要求:(1)将下列程序输入到项目的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARn=10DIMENSION c(n)FOR i=1 TO nc(i)=CHR(65+INT(RAND()*26)ENDFORFOR j=2 TO nm=c(j)FOR t=1 TO j-1IF m0?二个不等根:,(-b+sqrt(d)x?(-b-sqrt(d)xCASE d0?二个复根:sb=str(-bx,9,4)xb=STR(SQRT(d)x,9,4)?sb+xb+i?,sb+-+xb+iENDDO第16行改为xb=str(SQRT(ABS(d)/x,9,4)。第19行改为ENDCASE。分析:(1)根据计算公式要先取得变量的绝对值。(2)结束FOR循环。17套,下列程序的功能是:按图3所示显示杨辉三角形。杨辉三角形中某行的一个值表示二项式某一项的系数Cnm计算公式是:Cnm=n!(m!*(n-m)!)。(注:INPUT命令的功能是从键盘接受输入的数据。)要求: 图3(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARm=0DO WHILE m2INPUT请输入杨辉三角形行数:TO mENDDOm=m-1?SPACE(36)+1FOR i=1 TO mcsx=1FOR j=1 TO mcsx=csx+STR(JC(i)(JC(j)*JC(i-j),4)ENDFOR?SPACE(36-i*2)+csxENDFOR*FUNC JCPARA nX=0FOR mm=1 TO nx=x*mmENDFORRETURN x第10行改为FOR j=1 to i。第18行改为x=1。分析:(1)内存循环应到i终止。(2)变量x的初始值应为1。18套,20个人按已有的编号顺序围成一圈,1、2、3报数,报到3者出圈,并按出圈顺序给予一个新编号。程序算法:定义两个一维数组Old和New;Old的数组元素值为0表示对应的人已出圈,为1表示仍然在列;New的数组元素存放对应已出圈的人的原编号。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。DIMENSION Old(20),New(20)Old=1CLEARn=0FOR i=1 TO 20m=0DO WHILE m20n=0ENDIFm=Old(n)+mENDFOROld(n)=0New(i)=nENDFORDISPLAY MEMO UIKE new第10行改为n=1。第13行改为ENDDO。分析:(1)循环是从1开始的。(2)结束DO WHILE循环。19套,下列程序用来产生30个0100之间的随机整数,并且找出其中的最大偶数和最小奇数。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARDIMENSION A(30)FOR i=1 TO 30A(i)=INT(RAND()*200)ENDFORMmax=-1Mmin=100FOR i=1 TO 30?STR(A(i),3)IF MmaxA(i)AND MOD(A(i),2)=1Mmin=A(i)ENDIFENDFOR?最大偶数:,IIF(Mmax=-1,无,Mmax)?最小奇数:,IIF(Mmin=100,无,Mmin)第4行改为A(i)=INT(RAND()*100)。第2行改为ENDIFd。分析:(1)需要产生100以内的随机数,所以为RAND()*100。(2)结束IF循环。20套,以下程序的功能是:在屏幕上显示如图3所示的菱形。要求: 图3(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。SET TALK OFFc=ABCDEFCLEARFOR i=1 TO LEN(c)?SPACE(10-i)FOR j=1 TO 2*i-1?SUBS(c,i)ENDFORENDFORFOR i=LEN(c)TO 1?SPACE(10-i)FOR i=1 TO 2*i-1?SUBS(c,i,1)ENDFORENDFOR第7行改为?SUBS(c,i,1)。第10行改为FOR i=LEN(c) TO 1 STEP-1。分析:(1)SUBS()函数缺少参数。(2)循环是递减的要加STEP-1。第21套下列程序的功能是:找出100999之间且满足以下条件的数:百位数字与十位数字之和对10取模等于个位数;该数是素数(仅能被1和本身整除的数称为素数),例如101、167、257等为符合要求的数。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARIF i=100 TO 999yn=.T.FOR j=3 TO i-1IF MOD(i,j)=0yn=.F.EXITENDIFENDFORIF yns=ALLT(STR(i)s1=SUBS(s,3,1)s2=SUBS(s,2,1)s3=SUBS(s,1,1)IF MOD(s2+s3,10)=s1?iENDIFENDIFENDFOR答案第2行改为FOR。第15行改为IF MOD(VAL(s2)+VAL(s3),10)=VAL(s1)。分析:(1)此处是FOR循环。(2)判断值是否相等要转换操作数的类型。第22套数组A中存放着n个互不相同、按升序排列的字符串,从数组A中用二分查找方法查找指定的字符串,若找到,则显示其在数组中的顺序号;若找不到,则显示不存在。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。mb=20ma=1DIMENSION A(mb)C=A10FOR i=1 TO mbA(i)=A+RIGHT(0+ALLT(STR(i),2)ENDFORDO WHILE.T.m=(ma+mb)2IF ma=mb AND A(m)C?不存在EXITENDIFDO CASECASE A(m)=c?顺序号为,mEXITCASE A(m)cmb=mCASE A(m)96 AND ASC(ch)123m=m+*+ALLTRIM(STR(ASC(ch)-30)ELSEm=m+.+ALLTRIM(STR(ASC(ch)ENDIFENDFORWAIT WINDOW m+密码为+c答案第3行改为FOR i = 1 to LEN(c)。第11行改为WAIT WINDOW c +密码为+m。分析:(1)循环终止条件为变量c的长度。(2)根据题意变量m、c调换位置。第25套下列程序的功能是:找出3000以内的亲密数对。所谓亲密数对是指一对正整数A和B,A的所有小于A的因子(1视为因子)之和等于B,B的所有小于B的因子(1视为因子)之和等于A。第一个循环将13000个数的因子和存放到一维数组Arr中,例如Arr(20)存放的是数20的具上述含义的所有因子之和。第二个循环是基于数组Arr找出亲密数对。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。DIMENSION Arr(3000)FOR i=1 TO 3000Myzh=0FOR j=1 TO iMyzh=Myzh+IIF(MOD(i,j)=0,j,0)ENDFORArr(i)=MyzhENDFORFOR i=1 INTO 3000a=ib=Arr(i)IF ab AND b0d=LEFT(c,1)c=SUBS(c,2)n=0IF d=.m=m+CHR(VAL(LEFT(c,2)ELSEm=m+CHR(VAL(LEFT(c,2)+30)ENDDOc=SUBS(c,2)ENDDOWAIT WINDOW cc+解密后的代码为:+m答案第11行改为ENDIF。第12行改为c=SUBS(c,3)。分析:(1)结束IF循环。(2)截取左边3个字符。第27套下列程序的功能是:统计一个字符串中包含的汉字、英文字母及其他字符的个数。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。c=数据库STORE 0 TO hz,yw,qt&变量分别用于汉字、英文字母和其他字符计数DO WHTLE c0x=ASC(LEFT(c,1)IF x127hz=hz+1c=SUBS(c,3)ELSEIF x64 AND x96 AND x0。第14行改为c=SUBS(c,2)。分析:(1)循环条件是c的长度。(2)如果是单词或是其他字符要截掉前两位。第28套下列程序用来产生20个0100之间的随机整数,并且找出其中的最大数和最小数,输出时20个随机整数均在同一行显示,下一行显示最大数和最小数。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。DIMENSION A(20)FOR i=1 TO 20A(i)=INT(RAND()*100)ENDFORMmax=A(1)Mmin=A(1)?A(1)FOR i=2 TO 20?STR(A(i),3)IF MmaxA(i)Mmin=A(i)ENDIFENDFOR?最大数是:+Mmax+最小数是:,Mmin答案第9行改为?STR(A(i),3)。第17行改为?最大数是:+STR(Mmax)+最小数是:,Mmin。分析:(1)要求在同一行输出20个随机数。(2)类型不匹配需要转类型。第29套下列程序的功能是:第一个循环随机生成30个大写英文字母,并且存放到数组c中,第二个循环实现数组c中20个元素内容的排序(从小到大)。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEARDIMENSION c(30)FOR i=1 T0 30&第一个循环n=CHR(64+MAX(1,MOD(INT(RAND()*100),27)c(i)=nENDFORFOR i=1 T0 30&第二个循环m=c(i)FOR t=i+1 TO 30IF m c(t)。第15行改为ENDFOR。分析:(1)因为是从小到大排序,所以判断条件是IF m c(t)。(2)结束FOR循环。第30套按如下规则定义32进制数:用0、1、2、9、A、B、C、U、V32个符号表示031的32个十进制数,其运算规则是逢32进1。例如,32进制数A8T对应的十进制数的计算过程是:(A8T)32=A*322+8*321+T*320=10*1024+256+29*1=(10525)10以下程序的功能是:将一个32进制数的数字字符串转换为十进制数形式。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。Nurn32=A8TNum10=0FOR i=1 TO LEN(Num32)c=SUBSTR(Num32,i,1)IF ISDIGIT(c)&ISDIGIT()函数用于判断字符串首字符是否为数字d=cELSEIF UPPER(c)VMESSAGEBOX(非法的32进制数!)LOOPENDIFd=ASC(UPPER(c)-55ENDIFNum10=Num10+d*32(LEN(Num32)-i)ENDFORWAIT WINDOW32进制数:+Num32+的十进制形式是:+STR(Num10)答案 第10行改为if m c(t)。第15行改为endfor。分析:(1)因为是从小到大排序所以判断条件是if m c(t)。(2)结束FOR循环。第31套按如下规则定义32进制数:用0、1、2、9、A、B、C、U、V32个符号表示031的32个十进制数,其运算规则是逢32进1。例如,32进制数A8T对应的十进制数的计算过程是:(A8T)32=A*322+8*321+T*320=10*1024+256+29*1=(10525)10以下程序的功能是:将一个32进制数的数字字符串转换为十进制数形式。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)存修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。CLEANum32=A8TNum10=0FROM i=1 TO LEN(Num32)c=SUBSTR(Num32,i,1)IF ISDIGIT(c)& ISDIGIT()函数用于判断字符串首字符是否为数字d=VAL(c)ELSEIF UPPER(c)VMESSAGEBOX(非法的32进制数!)RETURNENDIFd=ASC(UPPER(c)-55ENDIFNum10=Num10+d*32(LEN(Num32)?Num10ENDFORWAIT WINDOW32进制数:+Num32+的十进制形式是:+STR(Num10)答案:第4行改为FOR i = 1 TO LEN(Num32)。第15行改为Num10=Num10+d*32(LEN(Num32)-i)。分析:(1)此处应是FOR循环。(2)根据计算规则应改为Num10=Num10+d*32(LEN(Num32)-i)。第32套 在tchdata数据库的存储过程中已包含一个Bin4ToHex()函数,其功能是:将4位或4位以下的二进制字符串转换为1位十六进制字符。例如,Bin4ToHex(1011)返回值为B,Bin4ToHex(10)返回值为2。以下程序的功能是:将一个任意长度的二进制数字符串转换为十六进制数形式。方法是将二进制数从低位到高位按每4位划分一段,然后将每段的4位二进制数转换为十六进制数。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。OPEN DATABASE tchdatacBin=101011&检查cBin是否为合法二进制字符串FOR i=1 TO LEN(cBin)IF SUBSTR(cBin,i,1)1and SUBSTR(cBin,i,1)0MESSAGEBOX(非法二进制字符串!)RETURNENDFORNEXTN=CEILING(LEN(cBin)4)&划分的段数sHex=FOR i=1 TO NLastBit4=RIGHT(cBin,4)cBin=LEFT(cBin,LEN(cBin)-4)sHex=sHex+Bin4toHex(LastBit4)ENDFORWAIT WINDOWS sHeX答案:第8行改为ENDIF。第15行改为sHex=Bin4toHex(LastBit4)+sHex。分析:(1)结束IF循环。(2)根据计算规则应把前一个sHex加在Bin4toHex(LastBit4)后得到新的sHex。第33套 以下程序的功能:是统计一段英文字符串中所出现的每个字母(不统计空格和标点符号,大小写字母视为相同)及其在字符串中的出现位置,并将统计结果放在临时表tj中。例如,对于字符串I love Visual FoxPro!,统计结果如图3所示。要求:(1)将下列程序输入到项目中的程序文件progm中,并对其中的两条错误语句进行修改。(2)在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。cStr=I love Visual FoxPro!CREATE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年奥特莱斯行业当前发展趋势与投资机遇洞察报告
- 2025年别墅行业当前发展趋势与投资机遇洞察报告
- 2025年额温枪行业当前发展现状及增长策略研究报告
- 2025年专业技术人员继续教育公需科目考试试题及答案
- (2025)辐射安全与防护培训考试题库及参考答案
- 2025年贵州省六盘水市国家公务员公共基础知识预测试题含答案
- 2025年保育员(高级)操作证考试试题及答案
- 2024年湖南街道解放里社区工作人员考试模拟试题及答案
- 摩托车基础知识培训课件
- 2025至2030年中国化妆工具套装市场竞争态势及行业投资潜力预测报告
- 2025年住培结业考试题库及答案
- 写字楼租赁合同法律风险及防范指南
- DB42∕T 2151-2023 应急物资储备库建设规范
- 精神患者家属健康教育讲座
- 养老机构医养结合交流合作总结范文
- 分包招采培训课件
- 神经刺激器行业深度调研及发展项目商业计划书
- 公司全员销售管理办法
- 考试真题及答案解析注册安全工程师
- 丙酮出入库管理制度
- 医院检验科实验室生物安全程序文件SOP
评论
0/150
提交评论