循环框图的输出值
给一张带循环的程序框图和一个输入,问输出多少;把循环体读成递推、把判断框读成退出条件,再决定是手推还是解通项。
题型说明
- 常见问法:「若某程序框图如图所示,当输入 时,输出的结果是 ____」,或反过来给输出问输入。
- 主线:
- 先把框图翻译成三行字。初值()、循环体(,)、退出条件( 时退出)。翻译完就可以不看图了。
- 确认判断框在循环体之前还是之后。在后面 = 做完再判,循环体至少跑一次;在前面 = 先判再做,有可能一次不跑。这一步定的是「差一步」还是「差两步」。
- 认清输出的是哪个变量、在哪一刻取的值。退出时计数器往往已经多加了一次,输出值与循环轮数常常相差 。
- 手推还是求通项,看轮数:轮数少(一般 )直接列表;轮数多或输入是字母,就把循环体当递推解出 的通项,再解不等式。
- 一条现成结论:形如 的循环体就是非齐次线性递推,标准做法是配一个待定的 让 成等比;或者作差把它降成 这种更简单的形式再累加。
常见陷阱
- 把输出的计数器值当成循环轮数,答案差 。
- 退出条件是 还是 看错;边界那一轮跑不跑,直接决定答案。
- 处理框里的 当成方程去解。它是赋值,右边用的是旧值。
- 循环体里两条赋值语句的先后读反:先更新 再算 ,与先算 再更新 ,得到的是两条不同的递推。
- 轮数明明只有五六轮,却去硬解通项;或者反过来,输入是字母还在一轮一轮地试。
学它之前先会
共 1 条前置、最深 1 层。
出现在以下题目中
共 6 道题考到本条。