在算法中,像这种需要重复执行同一操作的结构称为循环结构(cyclestrcuture).图中就是常见的一种循环结构:先执行A框,再判断给定的条件p是否为“假”;若p为“假”,则再执行A,如此反复,直到p为“真”,该循环过程结束.开始S←0结束输出Si←1S←S+ii←i+1i>5NY知识回顾:•循环结构根据需要可以先判断条件后进行循环(当型),也可以先进入循环后循环(直到型),一般情况下两者可以互换,但循环的判断条件不同;•循环结构中,累加和计算的顺序影响循环的输出结果,我们应学会“跟踪法”
结束输出SS←开始S←S+ii←i+YNi←0结束输出SS←开始i←i+S←S+iYNi←开始S←结束输出Si←S←S+ii←i+NY开始S←结束输出Si←i←i+S←S+iNY当型后计数直到型后计数99531S直到型先计数当型先计数01112222111i≤99i=101i=99i≤97i≥101i≥99i>99i>97例1:依次从键盘输入学号是1到10号的同学的数学成绩,请设计一个算法计算他们总分和平均分
S1S←0;S2输入学号为1的同学成绩x;S3S←S+x;S4输入学号为2的同学成绩x;S20输入学号为10的同学成绩x;S5S←S+x;……S21S←S+x;S22A←S/10;S23输出S,A
需要一个计数器i表示学号S1S←0;S2i←0;S5i←i+1;S4S←S+x;S6如果i不大于10,转S3;S3输入成绩x;S7A←S/10;S8输出S,A
交换S4,S5会影响循环的判断条件吗
i在本算法中的作用仅仅起到计数的作用,并没有参予计算例2:依次从键盘输入学号是1到10号的同学的数学成绩,并输出其中成绩超过80分的同学学号,和所有同学的总分和平均分
S1S←0;S2i←0;S5i←i+1;S4S←S+x;S7如果i不大于10,转S3;S3输入成绩x;S8A←S