问答题
说明:1.启动VFP后在命令窗口中执行下列命令,以设置默认的工作目录:
SET DEFA TO T:
2.除非题目要求,否则不要对T盘上的文件进行重命名、复制和删除操作。程序改错。
下列程序的功能是:将二进制数转换成十进制数。其基本算法是:将每一位的二进制数字乘以其相应的权并将乘积相加。二进制数字的权为:以小数点为界,整数部分从右向左依次为2
0
,2
1
,2
2
,…,小数部分从左向右依次为2
-1
,2
-2
,2
-3
,…,例如,二进制数1011.11转换成十进制数为1×2
3
+0×2
2
+1×2
1
+1×2
0
+1×2
-1
+1×2
-2
=11.75。要求:
①项目中有一个程序文件Pcode,将下列程序代码复制到其中并进行修改。
②在修改程序时,不允许修改程序的总体框架和算法,不允许增加或减少语句数目。
(1) CLEAR
(2) ACCEPT"请输入二进制数字"TO s2
(3) "二进制数", s2, "的十进制表示为:", Trf(s2)
(4) FUNCTION Trf()
(5) PARAMETERS s2
(6) n=AT(".", cstr)
(7) cstr1=IIF(n>0, SUBSTR(cstr, 1, n-1), cstr)
(8) cstr2=IIF(n>0, SUBSTR(cstr, n+1), ")
(9) STORE 0 TO m1, m2
(10) FOR i=1 TO LEN(cstr1)
(11) m1=m1+VAL(SUBSTR(cstr1, i, 1))*2* *=(LEN(cStr1)-i)
(12) ENDFOR
(13) FOR j=1 TO LEN(cstr2)
(14) m2=m2+VAL(SUBSTR(cstr2, j, 1))*2**(-j)
(15) ENDFOR
(16) ENDFUN m1+m2