●在下列程序中:Program test(input,output);var i,j:integer;procedure calc(p1,p2:integer);beg
●在下列程序中:
Program test(input,output);
var i,j:integer;
procedure calc(p1,p2:integer);
begin p2:=p2*p2 p1:=p1-p2;p2:=p2-p1;end{caic}
begin{main}i:=2;j:=3;
calc(i,j); write(j);
end{main}
当参数传递采用引用方式(Call by reference)时,所得结果j= (33) ;
当参数传递采用换名方式(Call by name)时,所得结果j= (34) ;
当参数传递采用赋值方式(Call by value)时,所得结果j= (35) ;
递归是程序设计中很重要的一种控制结构,通常实现递归时,采用的数据结构是 (36) 。
对那些既可以用递归方式,也可以用循环方式求解的问题,就执行效率而言 (37) 。
(33) ,(34) A.10
B.16
C.20
D.28
(35) A.0
B.3
C.5
D.6
(36) A.数组
B.栈
C.队列
D.循环链表
(37) A.数组
B.两者相同
C.循环优于递归
D.递归优于循环
【解析】一个过程的过程体若包含对其自身的调用,则称此过程是直接递归的。若一个过程的过程体调用某过程,而该过程又调用原过程或经一系列调用后又回到对原过程的调用,则称此原过程是间接递归的。通常实现递归时采用的数据结构是栈,这是因为栈有先进后出的特性,可以保存调用时的"现场",并在调用结束时恢复"现场",栈是实现递归的简单途径。对于既可用递归方式求解,也可用循环方式求解的问题,就执行效率和资源而言,显然是循环优于递归,因为递归的开销大。
当用户在调用点调用一个过程时,会通过参数传送信息,一个过程的形式参数用来向过程传送信息的标识符,实在参数用来在调用点向被调用过程传送信息。形式参数和实在参数之间的关系通常按位置来标定,不同程序语言所规定的参数信息传送方式不同。
当采用引用方式(Call by reference)或换名方式(Call by name)时,在过程中对形式参数的调用本质上是对实在参数单元的引用。先是给形式参数赋初值,而后,在过程中对该形式参数的赋值最终引起调用程序中实在参数值的改变。在本题中形式参数为p1和p2。实在参数初值为i=2和j=3,通过引用方式调用这两个参数,将执行以下计算过程:
p1=2,p2=3 p2:=p2*p2=9 p1:=p-p2=2-3=-7 p2:=p2-P1=9-(-7)=16
所得结果为j=16。
参数传送采用赋值方式时,从调用点向被调用过程传送的是实在参数的值。这一值成为过程中相应位置上形式参数的初值,此后该形式参数在过程中实际是局部变量,其结果无需返回给实在参数。本题中实在参数j=3,在过程中仅起向形式参数p2赋初值的作用。过程中关于p2的运算对j不再起作用,因而过程调用结束后j的值仍为3。
在锌铜原电池中,锌和铜分别放在不同的溶液中,锌浸在硫酸锌溶液中,我想问锌浸在硫酸锌溶液中锌离子是怎 化学 2020-04-05 …
在天平两端各悬挂两个实心铁球A,B,A求体积较大,当一个球浸在水中,另一个球浸在煤油中,初中物理在 物理 2020-05-16 …
access中如何查询学生借阅图书总天数(借阅天数=打开考生文件夹中"TEST.MDB"数据库,数 其他 2020-05-17 …
下图是HTML文件test.html在IE中的显示效果,实现图中①处效果的HTML语句是(),实现图 计算机类考试 2020-05-26 …
● 下图是HTML文件test.html在 IE 中的显示效果,实现图中①处效果的HTML语句是 ( 计算机类考试 2020-05-26 …
● 下图是 HTML 文件 test.html 在 IE 中的显示效果,实现图中①处效果的 HTML 计算机类考试 2020-05-26 …
下图是HTML文件test.html在IE中的显示效果,实现图中①处效果的HTML语句是(1),实现 计算机类考试 2020-05-26 …
英语中test和exam都有测试、测验的意思,那么这两者具体有什么区别呢? 英语 2020-06-30 …
linux中test$#-ne1是什么意思? 其他 2020-07-21 …
struts2if怎么根据iterator的下标进行判断如:下标小鱼等于2下标》2其中test里面 其他 2020-07-29 …