欢迎来到天天文库
浏览记录
ID:41710470
大小:109.00 KB
页数:4页
时间:2019-08-30
《图解法解阅读程序写结果题一则》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、图解法解阅读程序写结果题一则作者:江苏省计算机等级考试网来源:不详时间:2008-12-108:18:22点击:569次图解法解阅读程序写结果题一则一一顺答yiyibushe提问题冃(Byyiyibushe):DimxAsInteger,yAsIntegerPrivateSubform_click()DimaAsInteger,bAsIntegera=5:b=3Callsubl(a,b)Printx,yEndSubPrivateSubsub1(ByVaimAsInteger,nAsInteger)DimyAsIntegerx=m+n:y=m・nm=fun
2、l(x,y)n=funl(y,x)EndSubPrivateFunctionfunl(aAsInteger,bAsInteger)x=a+b:y=a・bPrintx,yfunl=x+yEndFunction解答:本题主要考察过程调用、参数传递以及变量作用域等知识点,对于此类题型,建议使用图解法来解。由第一句:DimxAsInteger,yAsInteger知,x和y为模块变量,可以被这三个过程所访问;subl过程中,有:DimyAsInteger,此处y为过程级变量,因此,在subl过程中,访问的是过程级变量y而非模块变量y;而在funl屮访问的y是模块
3、变量y而非过程级变量y!为此,我们可以图解如下:1将模块变量用单列的图来表示,以表示可以为该模块中各个过程所访问,而将过程级变量图示限定在对应过程中。2留意参数传递方式,若按地址传递,则形参和实参图示时指向同一内存单元,若按值传递,则形参和实参图示时齐有齐的内存单元,仅仅复制值而已。给出如下图解图示:图中蓝色线条说明该内存单元均指向subl中过程级变量y;绿色线条说明该内存单元均指向模块变量x;红色块表示第一次输出结果,即第一次调用funl执行Printx,y;黄色块表示第二次输岀结果,即第二次调用funl执行Printx,y;最后一次输出结果,即for
4、m_click中执行Printx,y恰好与黄色块一样。请按照执行流程,对照这个图,仔细推敲
此文档下载收益归作者所有