《第四章 选择型程序设计.ppt》由会员分享,可在线阅读,更多相关《第四章 选择型程序设计.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程主讲人:第四章 选择型程序设计 4.1 流程图 一、流程图符号 所谓流程图,就是对给定算法的一种图形描述。流程图又称为框图框图,它用规定的一系列图形、流程线及文字说明来表示算法中的基本操作和控制流程,其优点是形象直观、简单易懂、便于修改和交流。表4-1中分别列出了标准的流程图符号的名称、表示和功能。这些符号已被世界各国的广大程序设计工作者普遍接受和采用 1.顺序结构 顺序结构表示程序中的各操作是按照它们出现的先后顺序执行的,其流程如图4-5所示。图中的s1和s2表示两个处理步骤,这些处理步骤可以是一个非转移操作或多个非转移操作序列,甚至可以是空操作,也可以是三种基本结构中的任一种结构。整个
2、顺序结构只有一个入口点a和一个出口点b。这种结构的特点是:程序从入口点a开始,按顺序执行所有操作,直到出口点b处,所以称为顺序结构。事实上,不论程序中包含了什么样的结构,而程序的总流程都是顺序结构。 3.循环结构 循环结构表示程序反复执行某个或某些操作,直到某条件为假(或真)时终止循环。循环结构的基本形式有两种:当型循环和直到型循环,其流程如图4-9所示。 用流程图表示算法将黑、蓝、白三个墨水瓶分别用A、B、C三个变量表示,其算法就是用计算机进行任意两数交换的典型算法,流程图如图4-2所示。图中有开始框、结束框、输入框、输出框和流程线。其控制流程是顺序结构。 由上述3个简单的例子可以看出,一个
3、算法由若干操作步骤构成,并且这些操作是按一定的控制结构所规定的次序执行。如例4.1中的4个操作步骤是顺序执行的,称之为顺序结构。而在例4.2中,则不是按操作步骤顺序执行,也不是所有步骤都执行,如第3步和第4步的两个操作就不能同时被执行,它们需要根据条件判断决定执行哪个操作,这种结构称之为选择结构。在例4.3中不仅包含了判断,而且需要重复执行,如第2步第5步之间的步骤就需要根据条件判断是否重复执行,并且一直延续到条件“余数为0”为止,这种具有重复执行功能的结构称之为循环结构。 程序流程图如上图,其源程序如下:void main() float x; scanf(%f,&x); if(xy)if(
4、zx) max=z; else if(yx) max=y; printf(最大数是:%fn,max); 这样的处理使程序结构清楚多了。程序流程图如图4-12所示。【例4.7】输入一个字符,如果是数字则输出1,如果是大写字母则输出2,如果是小写字母则输出3,如果是空格则输出4,如果是回车符则输出5,如果是其他字符则输出6。 据题意解决问题时,依序重点考虑以下几个步骤:一是数据的输入(从键盘接收一个字符);二是对输入数据的判断(采用多分支选择语句分段判断);三是数据的输出(对判断结果输出显示)。void main() char c; scanf(%c,&c); switch(c) case 0:
5、case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: printf(这是数字n); break; case : case n: case t: printf(这是空白n); break; default: printf(这是其他字符n); 【例4.9】使用switch语句编写一个成绩等级判定程序。从键盘输入某一成绩(经判断控制在0100),若大于等于90输出优秀,若在7089之间输出良好,若在6069之间输出及格,否则输出不及格。 程序采用多分支选择判断时,若直接采用实际的成绩数据,将使程序非常冗长。所以,将实际成绩同10整除作判断选择条件,是该类别程序设计的最基本技巧。其次,使用switch结构判断某一数据范围时,同一范围内的条件要邻近罗列,且都应在共同结果的上面。具体程序如下: 2x + 2.5(0 x2)y21.5(x3)(2x4)x/21.5(4x6)
限制150内