本题导读
本题考查算法初步中的循环结构程序框图。通过控制变量在循环体内的交替递减,将程序运行的终值计算转化为两个等差数列的求和问题,侧重考查逻辑推理与精确运算能力。
📌【题干】
Question
(2007年山东卷(理)) 阅读如图的程序框图,若输入的 是 100,则输出的变量 和 的值依次是()
A. 2500, 2500 B. 2550, 2550 C. 2500, 2550 D. 2550, 2500
🔍【思路分析】
破题导航
顺着流程图的箭头方向,模拟前几次循环中变量 的变化规律。
发现 与 分别累加偶数和奇数的规律,确定循环跳出时 的临界值,转化为数列求和计算。
✅【答案】
点击查看答案
D
✍【详细解析】
Abstract
进入循环前:. 第 1 次循环:,不满足 .执行 ,;执行 ,; 第 2 次循环:,不满足 .执行 ,;执行 ,; 第 50 次循环:此时进入循环的 ,不满足 .执行 ,;执行 ,; 下一次判断: 满足条件,跳出循环,输出 和 . 利用等差数列求和公式计算: 故输出的 和 分别为 2550, 2500. 故选 D.
💡【考点归纳与避坑指南】
Danger
核心考点:直到型或当型循环结构流程图的条件判别,等差数列前 项和。
核心方法:单步追踪法(用于找寻变量迭代步长规律),数列公式归纳法。
避坑指南:注意循环体内 出现了两次,这意味着每执行完一遍循环体, 的值减小 2,因此 累加的是偶数, 累加的是奇数,切勿因混淆累加顺序而错选 C。
📖【试题探源与推广】
Tip
试题探源:本题属于早期算法大纲中的经典循环压轴题,设计精巧地将计算机科学的“循环步长变动”与数学中的“奇偶项分治求和”思想相融合。
结论推广:对于输入为正偶数 的同类分流累加程序,若每次循环减 2,则最终输出的两个累加器分别等于从 到 2 的所有偶数之和与从 到 1 的所有奇数之和。
🔗【关联脉络】
Multi column
/2007-山东卷理-10-题.png)