1、流程图:是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的概念知识回顾顺序结构及框图表示1.顺序结构:依次进行多个处理的结构称为顺序结构.语句A语句B2.顺序结构的流程图 顺序结构是最简单、最基本的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的.它是由若干个处理步骤组成的,这是任何一个算法都离不开的基本结构.选择结构也叫分支结构,是指在算法中通过对条件的 判断,根据条件是否成立而选择不同流向的算法结构 右图此结构中包含一个判断框,根据给定的条件P是否成立而选择执行A框或B框无论P条件是否成立,只能执行A框或
2、B框之一,不可能同时执行A框和B框,也不可能A框、B框都不执行引例:在学校的长跑测试中,你每跑1圈,会想是否跑完了全程.如果没有跑完全程,那么又会想离终点还有多远。用怎样的算法结构表示这个过程?S1 起跑;S2 如果未跑到10000m,那么转S3,否则转S4;S3 跑1圈,转S2;S4 结束。以万米长跑为例我们分步描述上述过程:S1 起跑;S2 如果未跑到10000m,那么转S3,否则转S4;S3 跑1圈,转S2;S4 结束。Y开始起跑N结束未满10000m 跑1圈Y开始S0N结束S10000 SS+4001.2.3循环结构在算法中,像这种需要重复执行同一操作的结构称为循环结构(cycle s
3、trcuture)图中就是常见的一种循环结构:先判断所给条件 是否成立,若成立,则执行,再判断条件P是否成立;若仍成立,则又执行,如此反复,直到某一次不成立为止。pAYN先判断,后执行:“Y”进入循环当型循环Y开始S0N结束S10000 SS+400S1 起跑;S2 跑1圈;S3 如果跑到10000m,那么转S4,否则转S2;S4 结束。Y开始起跑N结束满10000m 跑1圈Y开始S0N结束S10000 SS+400Y开始S0N结束S10000 SS+400pAYN先执行,后判断:“N”进入循环上面这种循环结构称为直到型循环:先执行,再判断所给条件 是否成立,若P不成立,则再执行,如此反复,直
4、到某一次成立,该循环过程结束。直到型循环直到型循环pAYN当型循环pAYN先执行,后判断:先判断,后执行:“N”进入循环“Y”进入循环Y开始S0N结束S10000 SS+400Y开始S0N结束S4NY开始S 1结束输出Si2SSiii1i5NY计数器初始值不同累加变量计数变量计数和累加的顺序不同退出循环的计数值不同先累加,后计数,则计数值达到最后一个累加数1时退出(大于最后一个累加数)先计数,后累加,则计数值应达到最后一个累加数时退出(大于倒数第二个累加数)例1:写出1+2+3+4+5的一个算法.开始S 1结束输出Si2SSiii1i5NY开始S 0结束输出Si1SSiii1i5NY累加变量清
5、零计数变量初始化为1习惯上改成:练习1:写出1+2+3+4+5+100的一个算法.开始S?结束输出Si?SSiii1i?NYN开始S?结束输出Si?ii1SSii?Y练习2:写出12345的一个算法.例2 设计一个计算10个数的平均数的算法.解:S1 S0 把0赋值给变量S;S2 I1 把1赋值给变量I;S3 输入G 输入一个数;S4 SS+G 把S+G赋值给变量S;S5 II+1 把I+1赋值给变量I;S6 如果I不大于10,转S3 转到S3循环;S7 AS/10 把A/10存放到A中;S8 输出A直到型循环pAYN当型循环pAYN先执行,后判断:先判断,后执行:“N”进入循环“Y”进入循环
6、Y开始S0N结束S10000 SS+400Y开始S0N结束S2006.3.退出循环的条件是什么?1.你准备用哪种循环?例:请设计一个算法计算满足下列不等式的最小正数n.2.你认为如何设计累加变量和计数器的初始值比较合适?分析:结束输出i开始S2006YNi 0S 0i i+1S S+iS2006结束输出i开始YNi 0S 0i i+1S S+i何时应用循环结构?当反复执行某一步骤或过程时,应用循环结构.当型循环是先判断条件,条件满足再执行循环体,不满足退出循环;直到型循环是先执行循环体,再判断条件,不满足条件时执行循环体,满足时退出循环.应用循环结构前:确定循环变量和初始条件;确定算法中反复执
7、行的部分,即循环体;确定循环的终止条件.小结:例1:依次从键盘输入学号是1到10号的同学的数学成绩,请设计一个算法计算他们总分和平均分.S1 S0;S2 输入学号为1的同学成绩x;S3 S Sx;S4 输入学号为2的同学成绩x;S20 输入学号为10的同学成绩x;S5 S Sx;S21 S S x;S22 AS/10;S23 输出 S,A.需要一个计数器i表示学号S1 S0;S2 i 0;S5 i i1;S4 S S x;S6 如果i不大于10,转S3;S3 输入成绩x;S7 AS/10;S8 输出 S,A.交换S4,S5会影响循环的判断条件吗?i在本算法中的作用仅仅起到计数的作用,并没有参予计算例2:依次从键盘输入学号是1到10号的同学的数学成绩,并输出其中成绩超过80分的同学学号,和所有同学的总分和平均分.S1 S0;S2 i 0;S5 i i1;S4 S Sx;S7 如果i不大于10,转S3;S3 输入成绩x;S8 AS/10;S9 输出 S,A.S6 如果x80,输出i,否则转S7;“否则”多余S1 S0;S2 i 0;S5 i i1;S4 S x;S7 如果i不大于10,转S3;S3 输入成绩x;S8 AS/10;S9 输出 S,A.S6 如果x80,输出i;
Copyright@ 2020-2024 m.ketangku.com网站版权所有