当前位置:
文档之家› 编程中的流程图入门教学【经典讲解】
编程中的流程图入门教学【经典讲解】
否
否
结束
程序框图2:
开始 输入a,b,c max=a b>max ? 否 c>max ? 否 是 max=c 是
max=b
输出max
结束
条件结构
• 条件结构是指在算法中通过对条件的判断, 根据条件是否成立而选择不同流向的算法 结构。
是
满足条件?
满足条件? 是 语句
否
否 语句
语句
• 例4、设计一个求解一元二次方程ax2+bx+c=0 (a≠0)的算法,并画出程序框图表示. 算法:求根公式 S1: 输入3个系数a、b、c; S2: d=b2-4ac; S3: 若d < 0,则输出“方程没有实数根”,结束算 法; b d S4 : p=- 2 a , q= 2a S5 : x1=p+q,x2=p-q; S6 : 输出x1,x2.
开始
输入r S=π*r * r 输出S 结束
画程序框图的规则
1)框图一般按从上到下、从左到右的方向画。 2)使用标准的图形符号。 3)程序框一般只有一个进入点和一个退出点。 4)判断框有两个退出点, 用“是”与“否” 或“Y”与“N”表示判断的两种结果。 5)在图形符号内描述的语言要简练清楚。
知识运用
开始 i=1 S=0
开始 i=1
S=0
i=i+1 S=S+i S=S+i
i=i+1
否
i>100 ?
i >100 ?
否
是 输出S 结束
是 输出S 结束
循环结构
• 循环结构: 从某处开始,按照一定的条件反复执行 某些步骤。 • 循环体: 反复执行的步骤称为循环体。 • 循环条件 控制反复执行的条件称为循环条件。
练习3: 如果执行右面的程序框图, 那么输出的s=( )? A.2450 B.2500 C.2550 D.2652
练习2 • 设计计算1-2+3-4+……+99-100 的算法,并画出流程图
方法一
开始 i=1 S=0 S=S- (-1)i*i i=i+1 否
i>100 ?
是
输出S
结束
方法二
开始 i=1
S=0
(i mod 2) = 0 ? N
Y
S=S- i
i=i+1
S=S+ i
否
i>100 ?
是 输出S
结束
方法三
开始 i=1 S=0 p=1 S=S+ p*i p = -p i=i+1
否
i>100 ?
是 输出S
结束
方法四 (n为偶数)
开始 i=1 S=0 S=S+i i=i+1
S=S-i
i=i+1
循环体 否 满足条件? 是 循环体
直到型
是 满足条件?
直接转换成直到型
否
当型循环和直到型循环的区别
• 当型循环先判断,后执行(循环体),循环体 可能一次都不执行;直到型循环先执行(循 环体),后判断,循环体至少执行一次。 • 当型循环当条件满足时执行循环;直到型 循环当条件满足时终止循环。 • 当型循环和直到型循环可以相互表示。 • 解题时,按自然、简洁的标准选用循环结 构。
• 例2:交换A和B两个变量的值
• 算法:自然语言描述 S1、输入A,B S2、C=A; S3、A=B; S4、B=C。 S5、输出A,B
开始
开始
输入A,B
输入A,B
C=A A=B B=C
输出A,B 输出A,B C=A A=B B=C
结束
结束
顺序结构
• 顺序结构在程序框图中的体现就是用流程 线将程序框自上而下地连接起来,按顺序 执行算法步骤。如在示意图中,A框和B框 是依次执行的,只有在执行完A框指定的操 作后,才能接着执行B框所指定的操作。
算法的描述
• • • • • 自然语言 流程图 伪代码 程序设计语言 ……
程序框图
• 程序框图(流程图)是一种用程序框、流 程线及文字说明来表示算法的图。
构成流程图的图形符号及其作用
程序框 名称
起止框(终端框) 输入、输出框
功能
表示一个算法的起始和结束,是任 何流程图不可少的.
表示一个算法输入和输出的信息, 可用在算法中任何需要输入、输出 的位置.
循环结构一:当型循环
• 当型循环(while) 每次执行循环体前,对条件进行判断;当 条件满足时,执行循环体,否则终止循环。
否 满足条件? 是 循环体 循环体
当型
满足条件? 否
是
是
满足条件?
否
循环体 否
循环体
满足条件? 是
直接转换成当型
循环结构二:直到型循环
• 直到型循环(until) 先执行一次循环体,然后对条件进行判断, 如果条件不满足,就继续执行循环体,直 到条件满足时终止循环。
赋值、计算,算法中处理数据需要 的算式、公式等分别写在不同的用 以处理数据的处理框内. 判断某一条件是否成立,成立时在 出口处标明“是”或“Y”;不成立 时标明“否”或“N”.
处理框(执行框)
判断框 流程线 连接点
连接程序框
连接程序框图的两部分
• 例1:计算以任意正实数为半径的圆的面积。
算法: S1,输入r. S2,S=π*r * r S3, 输出S.
• 讨论:如何计算下面两个问题
① S=1+3+5+……+99 ② S=2+4+6+……+100
累加器总结
• 累加器构件 1. 初值 S=0; i=1 S=? ;i = ? 2. 循环控制条件(由循环变量 i 控制) 3. 计算公式 S=S+i S=S ☆ 第i项 4. 步长k i = i +1 i =i ◇ k
开始 输入a,b,c d=b*b-4ac
d<0
否 p=ቤተ መጻሕፍቲ ባይዱ ,q= d 2a 2a
是
x1=p+q , x2=p-q
输出x1,x2 结束
输出“方程没 有实数根”
累加器
• 设计一个算法1+2+…+100的值的算法, 并画出程序框图. • 算法: S1: S=0, i=1, S2: 若i>100,则输出S,算法结束. S3: S=S+i. S4: i=i+1, S5: 转到S2.
• 扩展: S=1+1/2+1/3+……1/100 S=1*2*3*4*……*100
开始 i=1
开始 i=1
S=0
S=S+i i=i+1
S=0
S=S+i i=i+1 输出S 否
否
i>100 ?
是 输出S
i>100 ?
是
结束 结束
思考:上面两个流程图有什么不同?
练习2:如图给出的是 计算1/2+1/4…+1/20 的值的一个程序框图, 其中判断框内应填入 的条件是 ( ) A、i>10 B、i<10 C、i>20 D、i<20
否
i>100 ?
是
输出S
结束
方法五 (n为偶数)
开始
开始
输入n
Y S = (-1)* 100/2 S = -n/2
n mod 2 = 0?
N
S = (n+1) /2
输出S
输出S
结束
结束
方法六
开始 i=1
S=0
S= - S+ i i=i+1 否
i>100 ?
是 Y (i mod 2) = 0 ? 输出-S
A
B
• 例3:设计求任意3个整数a,b,c的最大 值的算法。
算法:令max代表三个数中的最大值 S1,输入a、b、c三个数; S2,令max=a; S3,如果b>max, 则max=b; S4,如果c>max, 则max=c; S5,输出max
程序框图1:
开始
输入a,b,c max=a b>max? 是 max=b c>max? 是 max=c 输出max
N
输出S 结束
算法的基本逻辑结构
• 顺序结构 由若干个依次执行的步骤组成。 • 条件结构 需要经过条件判断后,才能决定执行哪个操作。 • 循环结构 从某处开始,按照一定的条件反复执行某些步骤。 可以证明:任何一个算法都可以由这三种结构组合而成。 算法的基本结构就是构成算法的积木,这一点在程序框图 中可以清楚看到。