作业帮 > 综合 > 作业

两道VF试题求解释……

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/16 15:52:11
两道VF试题求解释……
(22)依次执行以下命令后的输出结果是
SET DATE TO YMD
SET CENTURY ON
SET CENTURY TO 19 ROLLOVER 10
SET MARK TO "."
CTOD("49-05-01")
A)49.05.01 B)1949.05.01 C)2049.05.01 D)出错
(23)假设职员表已在当前工作区打开,其当前记录的“姓名”字段值为“张三”(字符型,宽度为6).在命令窗口输入并执行如下命令:
姓名=姓名-"您好"
那么主窗口中将显示
A)张三 B)张三 您好 C)张三您好 D)出错
两道VF试题求解释……
public X 定义公共变量X 公共变量从定义开始,如果没有清楚或关闭VF,将一直有效
x=3 X从这里开始 一直到程序结束都有效(其中也包括下属程序P1())
y=10 没有事先声明的变量我们称为私有变量,如这里的Y和Z.私有变量在本模块及下属
z=5 模块中有效.也就是Y和Z在P1()程序中也有效
P1( ) 调用模块P1() 转去执行 procedure P1下面的语句
?X,y,z, 显示X Y Z的值 X Y 在下属模块P1中都已经发生改变,X为5 Y为12.至于Z,虽然其下属模块中有个Z,但是他是局部变量,跟这里的Z没有关系.所以这里Z的值还是5
由此我们得出结论这里显示的X Y Z的值应该是 5 12 5
procedure P1 定义过程 P1
local Z 定义Z为局部变量,局部变量的作用域为本模块.Z出了P1模块无效.
Z=3 给Z赋值为3
y=y+2 (没搞明白你这里打的是2还是Z,我用2来算) 将Y的值+2 这里的Y与主程序 中的Y是同一个变量.因为主程序中的Y是私有变量.
x=y+2 将X的值+2 这里的X与主程序中的X也是同一个变量,X为公共变量
endproc 过程P1结束 返回到调用它的上一级 即返回到第五行 P1()后继续执行后面语句
return 上面P1程序里有了endproc 这里就运行不到了
?x,y,z 这里更不用说,根本不运行 看下源程序,估计你抄错了
set talk off
clear 清屏
store 0 to x,s1,s2,s3 将X S1 S2 S3 的值都赋值为0
do where x<10 当X<10一直执行循环体 循环体从下一行到 ENDDO的上一行
如果条件不满足了,退出循环,转到ENDDO后面执行其他语句.
x=x+1 X在原先值的基础上加1
do case CASE 多重选择语句
case int(x/2)=x/2 如果X能被2整除
s1=s1+x/2 S1的值变为 S1原值+X/2
case mod(x,3)=0 如果X能被3整除
s2=s2+x/3 S2的值变为 S2原值+X/3
case int(x/2)<>x/2 如果X不能被2整除
s3=s3+1 S3的值变为 S3原值+1
endcase 多重选择CASE语句结束
enddo 循环结束标志
?s1,s2,s3 显示S1 S2 S3 最后的值 20 18 5
return
这个题考察的是从1到9 能被2 3整出 和不能被2整除的数有哪些,最后计算能被2整除的数的和放到S1 能被3整除的数的和放到S2 S3中则存放的是从1到9 有几个数不能被2整除