■熊 伟
条件结构作为表达算法的一种实用而简洁的形式,其主要特点是:依据条件,从可选的流程中选择执行;重点体现在“判断”;条件结构也是唯一的单入口、多出口的算法结构,虽然有两个出口,但也只能选择其中一个出口。解答条件结构的程序框图问题时,要厘清题目中的逻辑关系,注重细节,认真检查。
例1画出求分段函数y=的函数值的程序框图。
分析:这是一个分段函数求值的程序框图问题,可通过条件结构的嵌套实现三分支分段函数的求值问题。
解法1:由题意画出程序框图,如图1所示。
图1
评注:对于条件结构的嵌套,本题容易忽视判断框“x<10”处隐含着“x≥1”这一条件,因为“x<10”这个条件结构嵌套在“x<1”不成立这一分支上。
解法2:除了条件结构的嵌套能实现这一功能,也可以像三分支的分段函数一样用三个条件结构串起来,每个条件结构对应分段函数的一支,从而实现三分支分段函数求值的程序框图问题。由题意画出程序框图,如图2所示。
图2
评注:这种用三个条件结构串起来实现三分支分段函数求值的程序框图问题,理解起来简单,只是与条件结构嵌套画出的程序框图相比显得冗长一些。
例2闰年是指能被4整除但不能被100整除,或者能被400整除的年份,画出判断输入的年份是否为闰年的程序框图。
分析:明确题意,哪些年份是闰年,哪些年份不是闰年。闰年有这样一个谚语:四年一闰(如2020年,2024年是闰年),百年不闰(2100年,2200年不是闰年),四百年又闰(2000年,2400年是闰年)。
解法1:根据题意,利用直译法画出程序框图,如图3所示。
图3
解法2:利用倒叙法画出程序框图,如图4所示。
图4
评注:厘清问题的逻辑关系是解题的关键。解答这类问题要求思路清晰,知识掌握得牢固。