正在加载图片...
while(i<=(n/2))i count + 针对 while语句 count +t count ++ ∥针对最后一次whle语句 (2)将由(1)所得到的程序化简。化简后的程序与原来的程序有相同的 count值: oid d( ArrayElement x[ int n)t com+=3;i+=2; while(i<=(n/2))i ount+=3; i++; (3)程序执行结束后的cowm值为3n+3 当n为偶数时,comn=3*(n/2)+3*(n/2)+3=3*n+3 当n为奇数时, count=3*(n+1)/2)+3*(n-1)/2)+3=3*n+3 (4)使用执行频度的方法计算程序的执行步数,画出程序步数统计表 次执行步数执行频度程序步数 1 void d( ArrayElement x[l, int n )i x+=2; (n+1)2」L(n+1)2 Ln2+l」 x0+=xi+1: i++count ++; while ( i <= ( n / 2 ) ) { count ++; //针对 while 语句 x[i] += x[i+1]; count ++; i ++; count ++; } count ++; //针对最后一次 while 语句 } (2) 将由(1)所得到的程序化简。化简后的程序与原来的程序有相同的 count 值: void d ( ArrayElement x [ ], int n ) { int i = 1; do { count += 3; i += 2; } while ( i <= n ); i = 1; while ( i <= ( n / 2 ) ) { count += 3; i ++; } count += 3; } (3) 程序执行结束后的 count 值为 3n + 3。 当 n 为偶数时,count = 3 * ( n / 2 ) + 3 * ( n / 2 ) + 3 = 3 * n + 3 当 n 为奇数时,count = 3 * ( ( n + 1 ) / 2 ) + 3 * ( ( n – 1 ) / 2 ) + 3 = 3 * n + 3 (4) 使用执行频度的方法计算程序的执行步数,画出程序步数统计表: 行 号 程 序 语 句 一次执行步数 执行频度 程序步数 1 2 3 4 5 6 7 8 9 10 11 12 void d ( ArrayElement x [ ], int n ) { int i = 1; do { x[i] += 2; i += 2; } while ( i <= n ); i = 1; while ( i <= ( n / 2 ) ) { x[i] += x[i+1]; i ++; } } 0 1 0 1 1 1 1 1 1 1 0 0 1 1 (n+1)/2 (n+1)/2 (n+1)/2 (n+1)/2 1 n/2+1 n/2 n/2 n/2 1 0 1 0 (n+1)/2 (n+1)/2 (n+1)/2 1 n/2+1 n/2 n/2 0 0 ( n  0 ) 3n + 3
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有