算法的三种基本逻辑结构和框图表示
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法的基本逻辑结 构
二、提出问题
顺序结构
开始 输入n i=2 求n除以i的余数r
循环结构
i的值增加1,仍用i表示
i>n-1或r=0? 是
是 r=0?
否 否
条件结构
N不是质数 结束 N是质数
三、概念形成
概念1.顺序结构 顺序结构是最简单的算法结构,语句与语句之 间,框与框之间是按从上到下的顺序进行的,它是 由若干个依次执行的处理步骤组成的,它是任何一 个算法都离不开的一种基本算法结构。 顺序结构在程序框图 中的体现就是用流程线将 程序框自上而下地连接起 步骤n 来,按顺序执行算法步骤。 步骤n+1
满足条件? 否
满足条件?
是
否
是
步骤A
步骤B
步骤A
三、概念形成
概念2.条件分支结构 任意给定3个正实 数,设计一个算法, 判断分别以这3个 数为三边边长的 三角形是否存在。 画出这个算法的 程序框图。
开始
输入a,b,c
a+b>c,a+c>b,b+c>a 是否同时成立?
是 存在这样的 三角形
否
不存在这样 的三角形
是 P>30? 否
解:先输入托运重量为P和里程 D,再分别用各自条件下的计算 式子来进行计算处理,然后将 结果与托运路程D想成,最后输 出托运行李费用M。
Y=0.3× 30+0.5(P- 30)
Y=0.3P
M=D× Y
输出 M
结束
四、应用举例
例4.写出下列程序框图的运行结果。 (2)
开始 输入x
x 0?
x0 , y0 , A, B , C
B y C 0 ,求点
开始
输入 x 0 , y 0 , A , B , C
d | A x0 B y0 C | / A B
2 2
S2:计算:
d | A x0 B y0 C | / A B
2 2
d
S3:输出
d
;
结束
四、应用举例
例2.写出下列程序框图的运行结果。 (1)
循 环 结 构
四、应用举例
例8.某工厂2005年的年生产总值为200万元, 技术革新后预计以后每年的年生产总值都比 上一年增长5℅.设计一个程序框图,输出预 计年生产总值超过300万元的最早年份. 算法步骤: 第一步,输入2005年的年生产总值。 第二步,计算下一年的年生产总值。 第三步,判断所得的结果是否大于300。若是, 则输出该年的年份;否则,返回第二步。 (1)确定循环体:设a为某年的年生产总值, t为年生产总值的年增长量,n为年份,则循 环体为t=0.05a,a=a+t,n=n+1。 (2)初始化变量: n=2005, a=200.
怀 天 天才就是百分之一的灵感,百分之九十九的汗水! 什 才 在 于 勤 奋,努 力 书 山 有 下 学问为 求人 真 海 无,学 苦成 做 !!! 人 勤劳的孩子展望未来, 什 徒 才 能 但懒惰的孩子享受现在!!! 天 小 不 不 , 的径,学 知 伤 悲不 到 功! 成功=艰苦的劳动+正确的方法+少谈空话 少 么 也 路 勤习,老 来 么 也 崖 学 作 舟
二、提出问题
我们写出的算法或画出的程序框图,一定要使 大家一步步地看清楚、明白,容易阅读。不然的话, 写得算法乱无头绪,就很难让人阅读和理解。这就 要求算法或程序框图有一个良好的结构。 通过各式各样的算法和框图进行分析和研究,
证明只须用顺序结构、条件分支结构和循环结构就 可以表示任何一个算法。下面我们就系统地研究
三、概念形成
概念1.顺序结构
开始
输入a=4,h=2
三角形ABC的底BC为4, 高AD
为2,求三角形ABC的面积S,试 设计该问题的算法和流程。
计算
wenku.baidu.com
S=1/2ah
输出S
结束
四、应用举例
例1.已知点 P0 ( x 0 , y 0 ) 和直线 l : A x P0 ( x 0 , y 0 ) 到直线 l 的距离 d 。 解:(2)用框图来描述算法: S1:输入点的坐标, 及直线系数:
结束
四、应用举例
例3.设火车托运 P ( k g )行李时,每千米的费用(单 位:元)标准为:
当 P 3 0 kg时 0 .3 P , y 0 .3 3 0 0 .5 ( P 3 0 ), 当 P 3 0 k g 时
开始
输入 P, D
画出行李托运费用的程序框图。
开始
n=2005
a=200
t=0.05a a=a+t
n=n+1
a>300? Y 输出n 结束 N
(3)循环控制条件: a>300
算法2: 第一步,令i=1,S=0. 第二步,若i ≤100成立,则执 行第三步;否则,输出S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步. i=1
S=0
i=i+1 S=S+i i≤100?
否
输出S
是
当型循环结构
结束
四、应用举例
例7.设计一个计算1+2+3+„+100的值的算法,并画 出程序框图。
1.1. 3 算法的三种基本逻辑结构
第一课时
一、复习引入
1.程序框图的概念 通常用一些通用图形符号构成一张图来表示算法。 这种图称做程序框图(简称框图)也叫流程图。
程序框
名称 起止框 输入、输出 框 处理框 判断框
功能
表示一个算法的起始和结束,是任 何流程图不可少的。 表示一个算法输入和输出的信息, 可用在算法中任何需要输入、输出 的位置。 赋值、计算,算法中处理数据需要 的算式、公式等分别写在不同的用 以处理数据的处理框内。 判断某一条件是否成立,成立时在 出口处标明“是”或“Y”;不成立 时标明“否”或“N”。
分数 = 第1圈 第2圈 第3圈 = = = 分数 + 10 + + + 10 10 10
探究
(3)如果用变量s表示分数,上述表达式该如何表示?
四、应用举例
例6.设计一个计算1+2+3+„+100的值的算法,并画 出程序框图。 开始
第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. …… 第100步,4950+100=5050.
三、概念形成
概念3.循环结构
智力竞赛的中,主持人提问,选手回答,若回答正确,加 10分,如果错误,不加分,然后主持人继续提问,选手继 续回答,如此循环下去,直到提问结束。用程序框图来描 述这一情况。
三、概念形成
概念3.循环结构
(1)何时循环进行,何时 循环结束? (2)“分数=分数+ 10分” 的含义是:“后来的分数= 原分数+10分”。假设前三 个问题选手都回答正确,请 在下表中填入相应的数字。
开始
a 2 b 4 h 5
S (a b )h / 2
输出S 结束
运行结果
。
三、概念形成
概念2.条件分支结构 在一个算法中,经常会遇到一些条件的判断, 算法的流程根据条件是否成立有不同的流向。条件 结构就是处理这种过程的结构。 分类是算法中经常发生的事情,条件结构的主 要作用就是表示分类。条件结构可用程序框图表示 为下面两种形式。
No
Y es
y 1
Y es
x 0?
No
y 0
y 1
输出y 结束
当x输入,-2,0,2时运行结果 分别是 。
四、应用举例
例5.写出下列程序框图的运行结果。 (3)已知函数 f ( x ) | x 3 | ,程序框图表示的是给 出x值,求相应的函数值的算法。将框图补充完整。 其中①处应填写 x 3 ; ②处应填写 y x 3 。