展开全部
过程是:
1、声明变量,输入N的值为8;
2、将动态数组a设置为a(8) ,一个具有8个元素的整型数组,下标默认为1~8;
3、调用过程process,使用的参数依次是a、1、1;
4、接下来运行process,形参a对应实参a、m和n的值都是1;
5、取数组a的最大下标值8赋值给i,即i=8;
6、接下来三个赋值:
a(i)=m即a(8) =m=1,
a(i-1) =n即a(7) =n=1;
i=i-2=8-2=6;
7、下面是一个循环,i的值从6到1共循环6次,每一次循环计算一个a的元素值:
a(6) =a(7) +a(8) =1+1=2
a(5) =a(6) +a(7) =2+1=3
a(4) =a(5) +a(6) =2+3=5
a(3) =a(4) +a(5) =5+3=8
a(2) =a(3) +a(4) =8+5=13
a(1) =a(2) +a(1) =13+8=21
8、回到单击事件程序,从a(1)打印到a(8) ,而且每3个换一行。
所以打印结果是:
21 13 8(第一行)
5 3 2 (第二行)
1 1 (第三行)
如果有不明白之处请留言追问。
1、声明变量,输入N的值为8;
2、将动态数组a设置为a(8) ,一个具有8个元素的整型数组,下标默认为1~8;
3、调用过程process,使用的参数依次是a、1、1;
4、接下来运行process,形参a对应实参a、m和n的值都是1;
5、取数组a的最大下标值8赋值给i,即i=8;
6、接下来三个赋值:
a(i)=m即a(8) =m=1,
a(i-1) =n即a(7) =n=1;
i=i-2=8-2=6;
7、下面是一个循环,i的值从6到1共循环6次,每一次循环计算一个a的元素值:
a(6) =a(7) +a(8) =1+1=2
a(5) =a(6) +a(7) =2+1=3
a(4) =a(5) +a(6) =2+3=5
a(3) =a(4) +a(5) =5+3=8
a(2) =a(3) +a(4) =8+5=13
a(1) =a(2) +a(1) =13+8=21
8、回到单击事件程序,从a(1)打印到a(8) ,而且每3个换一行。
所以打印结果是:
21 13 8(第一行)
5 3 2 (第二行)
1 1 (第三行)
如果有不明白之处请留言追问。
更多追问追答
追问
只有一个地方不理解,在打印a(1)到a(8)的过程中,每三个换一行是为什么?当i=1, i=2时都是Else语句打印,i=3时Mod=0,改由Then语句打印,。不应该打印两个就换行了吗?
追答
你知道a1和a2是运行else语句后打在同一行上的,注意print a(i);后面那个分号,它就是不换行的标志,所以打印a1、a2之后都不换行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询