程序框图绘制要点
2015-11-28张华陈艳
张华 陈艳
程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形,具有形象直观、结构清晰和简洁明了的特点. 但怎样才能熟练而准确地画出程序框图?本文为此教同学们“抓特征,明规则,依步骤”九字诀,让大家轻松练就画程序框图的基本功.
1. 抓特征
组成一个程序框图的三要素是“四框”、“一线”加“文字说明”,所以首先要抓住它们各自的特征与意义.
“四框”的特征与意义:(1)终端框(起止框)的特征是圆角矩形,表示算法的开始和结束,是流程不可缺少的;(2)输入、输出框的特征是平行四边形,表示算法中输入和输出的信息,可放在任何需输入、输出的位置;(3)处理框(执行框)的特征是方角矩形,表示赋值和计算等,算法中要处理的数据或计算可分别写在不同的处理框内;(4)判断框的特征是菱形,用在当算法要求对某条件是否成立进行判断时,成立时在出口处表明“是”或“Y”,不成立时表明“否”或“N”.
“一线”的特征与意义:流程线的特征是带有方向箭头的线,用来连接程序框,直观地表示算法的流程,一个算法步骤到另外一个算法步骤用流程线连接.
“文字说明”的特征与意义:在框图内加以说明的文字、算式等,是每个框图不可缺少的内容.
2. 明规则
程序框图的画法规则是:(1)用标准,即使用标准的框图符号;(2)按顺序,即框图一般从上到下、从左到右的顺序画;(3)看出入,即大多数程序框图的图形符号只有一个入口和一个出口,判断框是惟一具有超过一个出口的符号,条件结构中要在出口处标明“是”或“否”;(4)明循环,即循环结构要注意变量的初始值及循环终止条件;(5)辨流向,即流程线的箭头表示执行的方向,不可缺少;(6)简说明,即在图形符号内的描述语言要简练清晰.
3. 依步骤
画程序框图的总体步骤如下:第一步,先设计算法,因为算法的设计是画程序框图的基础,所以在画程序框图前,首先写出相应的算法步骤,并分析算法需要哪种基本逻辑结构(顺序结构、条件结构、循环结构).若所要解决的问题不需要分情况讨论,可用顺序结构解决;若所要解决的问题要分类讨论,可引入条件结构;若所要解决的问题要进行重复的步骤,且这些步骤又有相同的规律时,可应用循环结构.第二步,把算法步骤转化为对应的程序框图,在这种转化过程中往往需要考虑很多细节,是一个将算法“细化”的过程. 具体画法步骤请看例题.
例1 若[1+2+3+…+n>2015],试设计算法的程序框图,寻找满足条件的最小数[n].
分析 因为涉及累加问题,所以算法含有循环结构,写出直到型循环结构的算法步骤如下:
第一步,令[S=0,i=1].
第二步,计算[S=S+i],[i=i+1].
第三步,判断[S>2015]吗?若是,则输出[n-1],结束算法;否则,返回第二步.
解 (1)画顺序结构图,即起止框及两个处理框,并分别填入循环初始条件(如下图①);(2)画循环结构图,先画循环体即两个处理框(一个累加,一个计数),再画循环终止条件,即判断框并判断[S>2015]?若是,则输出[n-1],否则,流向循环体之前进行再循环(如下图②);(3)画输出框输出[n-1],以及起止框表示算法结束(如下图③).
最后,合成整个算法程序框图如图.
点拨 循环结构必包含顺序结构和条件结构,所以本题具有一定的典型性和示范性;如累加、累乘等需要反复执行的算法设计中,宜使用循环结构,这时要密切注意“循环体”“循环变量”和“循环终止条件”三个重要组成部分的框图设计.
例2 某商场国庆期间进行优惠促销活动,规定若购物总金额不超过800元,不享受任何折扣;若购物总金额超过800元,则超过800元的部分享受一定的折扣优惠,按下表折扣分别累计计算:
[可以享受的折扣优惠金额\&折扣率\&不超过500元的部分\&95折\&超过500元的部分\&9折\&]
设计算法的程序框图,要求输入购物金额[x],即能输出实际交款额.
分析 由题意知,实际交款额[y]与购物金额[x]之间的函数关系是[y=x,0.95x+40,0.9x+105,] [ x≤800,800
第一步,输入购物金额[x].
第二步,判断[x≤800]吗?若是,则[y=x];否则,进入第三步.
第三步,判断[x≤1300]吗?若是,则[y=0.95x+40];否则,[y=0.9x+105].
第四步,输出[y],结束算法.
解 (1)画顺序结构图,即起止框及输入框,并用流程线连接;(2)画条件结构图,即画判断框并判断[x≤800]?若是,则画处理框并填入“[y=x]”,否则流向下一个判断框;(3)再画条件结构图,即画判断框并判断[x≤1300]?若是,则画处理框“[y=0.95x+40]”,否则画处理框“[y=0.9x+105]”;(4)画一个总的输出框并输出[y],以及起止框表示算法结束.
最后,合成整个算法程序框图如图.
[开始] [[x≤800?]] [输入x] [输出y][Y][N][N][结束] [Y]
点拨 画程序框图的关键是分析算法步骤,因为程序框图是算法步骤的图形表示,所以算法步骤越明确,画图就越容易;另外,在如分段函数这种需要对条件进行判断的算法设计中,宜使用条件结构.