本题导读

本题考查程序框图与算法流程,以及循环结构。

📌【题干】

Question

(2012年辽宁卷(理)) 执行如图所示的程序框图,则输出的 值是 ()

A. -1       B.        C.        D. 4

🔍【思路分析】

破题导航

  1. 状态初始化:进入程序时,赋予初始值 。
  2. 理解循环逻辑:
  • 每次进入判断框,检测计数器是否满足条件 。
  • 若满足,执行核心递推式 ,随后计数器自增 。
  • 若不满足(即 ),则跳出循环,输出当前的 值。
  1. 寻找周期特征:由于判断终止线较远( ),直接硬算容易由于步数过多导致失误。顺次迭代前几项,观察 的取值是否具有周期性规律。
  2. 定位最终解:确定周期 后,利用计数器 最终停止时的步数,通过余数对应锁定目标 。

✅【答案】

点击查看答案

D

✍【详细解析】

Abstract

根据程序框图的指示逻辑,我们对算法的每一步执行状态进行精确跟踪模拟:

  • 初始状态:

  • 第一轮循环 (): 满足条件 ,进入循环。 更新 的值: 。 计数器自增: 。

  • 第二轮循环 (): 满足条件 ,继续循环。 更新 的值: 。 计数器自增: 。

  • 第三轮循环 (): 满足条件 ,继续循环。 更新 的值: 。 计数器自增: 。

  • 第四轮循环 (): 满足条件 ,继续循环。 更新 的值: 。 计数器自增: 。

此时可以明显观察到,在第四轮循环结束后, 的值重新回归到了初始值 。 这意味着 变量 的取值数列具有以 为固定长周期的循环特征,具体分布为:

由于 循环终止的临界点判定为 : 当进行到第 8 轮循环体执行完毕后,计数器自增变为 。 重新回到判断框,此时 不成立(走向“否”分支),程序直接跳出循环并输出 。

因此,最终输出的 是第 8 轮循环计算后得到的值。 由于 循环次数为 8 次,且周期 , 因为 (即恰好完成了 2 个完整周期的循环), 所以 第 8 次计算出的 值应该与第 4 次(一个周期末尾)计算出的 值完全一致,即:

故选 D#### 💡【考点归纳与避坑指南】 [!danger]

  1. 核心考点:直到型/当型循环结构的边界跨越特征、分式分级递推数列的周期性提炼。
  2. 核心方法:状态顺次执行法(周期归纳法)。
  3. 避坑指南:
  • 极易在分式的多层通分上由于粗心产生计算失误。例如在第三轮计算 时把分母看错。
  • 混淆跳出循环时 的数值。程序在第 8 次执行完核心体后, 变为了 ,此时判定为“否”而退出。也就是说,变量 总共经历了 8 次 严格更新,而不是 9 次。

📖【试题探源与推广】

Tip

  1. 试题探源:本题源于人教A版高中数学老教材必修三第一章《算法初步》中关于程序框图经典循环结构的高考主干中档填空/选择题。
  2. 结论推广:本题的分式递推关系 属于数学中典型的一阶分式线性变换(Mobius Transformation,莫比乌斯变换)。其通项矩阵表达为: 计算该矩阵的幂次可以发现, (其中 为单位矩阵),这从高等代数矩阵特征值的角度完美解释了为什么该映射迭代 4 次后必然发生周期性坍缩并回归初始状态。掌握这一高数代数背景,能在审题的第一时间判定出其周期必定为 4。

🔗【关联脉络】

Multi column