问答题
设计表单。
表单F102C用于实现对矩阵进行转置。按下列要求修改表单,修改后表单运行时如图所示。
【正确答案】
【答案解析】 设计表单
题号
对象名
属性/事件/方法名
属性值/代码
1
spnRows
KeyBoardHighValue
5
KeyBoardLowValue
1
Value
3
2
Command2
(添加操作)
Caption
转置
Enabled
.F.
3
Command1
Click
THISFORM.RandArray(THISFORM.spnRows.Value, ;
THISFORM.spnCols.Value)
THISFORM.List1.RowSource="arr1"
THISFORM.Command2.Enabled=.T.
4
spnCols
InteractiveChange
THISFORM.List1.ColumnCount=THIS.Value
问答题
程序改错。
下列程序的功能是:将二进制数转换成十进制数。其基本算法是:将每一位的二进制数字乘以其相应的权并将乘积相加。二进制数字的权为:以小数点为界,整数部分从右向左依次为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
【正确答案】
【答案解析】 程序改错
第5行改为:PARAMETERS cstr
第16行改为:RETURN m1+m2
提交答案
关闭