1.1.2_程序框图与算法的基本逻辑结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

N不是质数
条件结构
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
i的值增加1,仍用i表示
否 i>n-1或r=0? 是
顺序结构
是 r=0? 否 N是质数
循环结构
N不是质数
条件结构
你能说出这三种基本逻辑结构的特点吗? 条件结构与循环结构有什么区别和联系?
知识探究(二):顺序结构及框图表示
1.顺序结构:按照步骤依次执行的一个算法 2.顺序结构的流程图
语句A
语句B
例1(1)写出图中程序框图的运行结果:
开始
输入a,b a=2 b=4
S=a/b+b/a
输出S 结束
图中输出S= 5/2 ;
(2)写出下列算法的功能。
开始
输入a,b
d=a2+b2
c= d
输出c 结束
左图算法的功能 是 求两数平方和的算术平方根 ;
开始 输入a,b,c
a+b>c,b+c>a,c+a>b是否 同时成立? 是

存在这样的三角形 结束
不存在这样的三角 形
例5 设计一个求解一元二次方程
ax 2 bx c 0
的算法,并画出程序框图表示.
例5程序框图也可设计为
开始 输入a,b,c Δ=
b2-4ac
Δ≥0?


是 Δ=0? 否
第二步,判断x与3的大小,若x>3,则 费用为m= 5+(x-3)×1.2=1.2x+1.4; 若x≤3,则费用为m=5. 第三步,输出m.
x>3? Y
y=1.2x+1.4
y=5
输出y
结束
P.20 习题1.1B组第1题
开始
算法步骤: 第一步,输入a1,b1,c1, a2,b2,c2. 第二步,计算 x=(c2b1 -c1b2)/(a1b2 -a2b1) y=(c2b1 -c1b2)/(a1b2 -a2b1) 第三步,输出x,y
当型结构
在解题的过程中,用累加变量S表示 每一步的计算结果,即把S+i的结果仍记 为S,从而把第i步表示为S=S+i,其中S s = s + i 的初始值为0,i依次取1,2,…,100. 由于i同时记录了循环的次数,所以也称 i=i+ 1 为计数变量.
i≤100? 是 s =s+i i=i+1

是,则输出y=1,否则输出y=x。
练习:
1.就逻辑结构,
说出其算法功能. 开始 max=a 输入b 否 max=b
2.此为某一函数的求值程序 图,则满足该流程图的函数 解析式为( )(不能写成分 段函数). 开始 输入x
x>3?


max>b? 是 输出max 结束
y=x-2
y=4-x
输出y
结束
答案:2. y=|x-3|+1.
i≤100? 否 输出S 结束
当型循环结构

例7 设计一个计算1+2+3+…+100的值的算法,并画 出程序框图.
开始 开始 i=0;S=0 否 S=s+i
i=0;S=0
i≤100? 是 s = s+i i=i+1 否
循 环 结 构
i=i+1
i>100? 是 输出S 当型结构 结束 直到型结构
输出S 结束
第四步,输出x,y.
程序框图:
开始 输入m,n
x =
4m - n 2
y= m-x
输出x,y
结束
知识探究(三):算法的条件结构
在一个算法中,经常会遇到一些条件的判断, 算法的流程根据条件是否成立有不同的流向.条件 结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的 主要作用就是表示分类. 条件结构可用程序框图表示为下面两种形式.
否 否
满足条件? 是
满足条件?

步骤A
步骤B
步骤A
例4:判断“以任意给定的3个正实数为 三条边边长的三角形是否存在”的算法 步骤如何设计?
第一步,输入三个正实数a,b,c.
第二步,判断a+b>c,b+c>a,c+a>b是否同 时成立.若是,则存在这样的三角形;否则, 不存在这样的三角形. 你能画出这个算法的程序框图吗?
算法2: 第一步,令i=1,S=0. 第二步,若i ≤100成立,则执 行第三步;否则,输出S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步.
开始 i=1
(1)确定循环体:i=i+1 s=s+i (2)初始化变量:i=1 s=0 (3)循环控制条件:i≤100
S=0 i=i+1
S=S+i
我们可以将上述算法用下面的图形表示:
开始 输入n i=2 求n除以i的余数 i的值增加1,仍用i表示 i>n-1或r=0? 是 r=0?
否 否
输出“n是质数”

输出“n不是质数” 结束
上述表示算法的图形称为算法的程序框 图又称流程图,其中的多边形叫做程序 框,带方向箭头的线叫做流程线,你能 指出程序框图的含义吗? 用程序框、流程线及文字说明来表示 算法的图形.
解决方法就是加上一个判断,
直到型结构
例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. (3)循环控制条件: a>300
开始
n=2005
a=200
t=0.05a
a=a+t
n=n+1
a>300? Y 输出n
结束
N
开始
n=2005
当型
开始
n=2005
直到型
a=200 n=n+1
a=200
t=0.05a
a=a+t a=a+t t=0.05a a≤300? N 输入n 结束 Y n=n+1
a>300? Y 输入n
结束
N
小结
作用
表示算法的输入 和输出的信息
名称
处理框或执行框
作用
赋值、计算
名称
判断框
作用
判断某一条件是否成立, 成立在出口处标明“是”或“Y” 不成立标明“否”或“N”
图形符号
名 称
功 能
终端框 (起止框) 输入、输出 框 处理框 (执行框) 判断框
表示一个算法的起始和结束 表示一个算法输入和输出的 信息 赋值、计算
1.1.2
程序框图与算法 的基本逻辑结构
第一课时
问题提出
1.算法的含义是什么?
在数学中,按照一定规则解决某一 类问题的明确和有限的步骤称为算法.
2.算法是由一系列明确和有限的计算步 骤组成的,我们可以用自然语言表述一 个算法,但往往过程复杂,缺乏简洁性, 因此,我们有必要探究使算法表达得更 加直观、准确的方法,这个想法可以通 过程序框图来实现.
是 n不是质数 n是质数
结束
开始
输入n
流程线
i=2
n除以i的余数r
i=i+1
连接点
i>n-1或r=0?
是 否
r=0?

是 n不是质数 n是质数
结束
程序框图:又称流程图,是一种用规定的图形、指向线及文字说明来准确、
直观的表示算法的图形. 名称 作用 表示算法的 起始和结束
终端框或起止框
名称
输入、输出框
第一步:确定首数a,尾 数b,项数n; 第二步:利用公式“S=n (a+b) /2” 求和; 第三步:输出求和结果。
开始
输入a,b,n
S=n (a+b) /2
输出S
结束
例7 设计一个计算 1+2+3+…+100的值的算法, 并画出程序框图.
第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. …… 第100步,4950+100=5050.
1、循环结构的特点 重复同一个处理过程
2、循环结构的框图表示
知识探究(一):算法的程序框图
“判断整数n(n>2)是否为质数”的算法步骤
第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示; 第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.
循环体
循环体 否 是
满足条件? 是
满足条件? 否
执行一次循环体后,对条件进行 判断,如果条件不满足,就继续执行 循环体,直到条件满足时终止循环.
在每次执行循环体前,对条件进行 判断,当条件满足,执行循环体,否则 终止循环.
例7 设计一个计算1+2+3+…+100的值的算法,并画 出程序框图.
算法1:
开始
输入n i=2
终端框(起止框), 表示一个算法的起始 和结束
n除以i的余数r
i=i+1 否
i>n-1或r=0?
是 否
r=0?
是 n不是质数 n是质数
结束
开始
输入n
输入、输出框 表示一个算法输入和 输出的信息
i=2
n除以i的余数r
i=i+1 否
i>n-1或r=0?
是 否
r=0?
是 n不是质数 n是质数
例2 设计一算法:输入圆的半径,输出圆的面积,并画出流程图 算法分析:
开始
第一步:输入圆的半径 第二步:利用公式“圆的面 积=圆周率×(半径的平方)” 计算圆的面积; 第三步:输出圆的面积。
输入半径R
计算S=π*R*R
(1)在程序框图中, 开始框和结束框不可少; (2)在算法过程中, 输出语句是必不可少的;
s=s+i i=i+1 否 i>100? 是
循环结构中都有一个计数变量和累加变量, 判断是否已经加到了100,如果加到 计数变量用以记录循环次数,同时它的取值还 用于判断循环是否终止,累加变量用于输出结 了则退出,否则继续加。 果,累加变量和计数变量一般是同步执行的, 累加一次,计数一次. 请填上判断的条件。
x
b 2a
b x1 2a
x2
b 2a
方程无实数根
输出x
输出x1 , x2
结束
0( x 0) 例6、设计一个算法计算分段函数 y 1(0 x 1) x( x 1) 序框图。
, 的函数值,并画出程
第一步、输入x 第二步、判断“x<0”是否成立,若 是,则输出y=0,否则执行第三步; 第三步、判断“x<1”是否成立,若
输出面积S结束Fra bibliotek例3:若一个三角形的三条边长分别为a,b, c,令 ,则三角形的面积 .你能利用这个公式 设计一个计算三角形面积的算法步骤吗?
开始 输入a,b,c
p=
a+b+c 2
S=
p(p - a)(p - b)(p - c) .
输出S
结束
例4、已知两个变量A和B的值,试设计一个交换这两个变 量的值的算法,并画出程序框图。
判断某一条件是否成立,成立时在 出口处标明“是”或“Y”;不成立 时标明“否”或“N”
流程线
连接程序框,表示算法步骤的 执行顺序
开始
顺序结构
输入n i=2
n除以i的余数r
循环结构
i=i+1 否
i>n-1或r=0?
是 否
条件结构
r=0?
是 n不是质数 n是质数
结束
开始 输入n
i=2 顺序结构
求n除以i的余数r i的值增加1,仍用i表示 i>n-1或r=0? 是 是 r=0? 否 N是质数 结束 2.算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。 否 循环结构
结束
开始
输入n i=2
处理框(执行框) 赋值、计算
n除以i的余数r
i=i+1 否
i>n-1或r=0?
是 否
r=0?
是 n不是质数 n是质数
结束
开始
输入n i=2
判断框 判断某一条件是否成立,成 立时在出口处标明“是”; 不成立时标明“否”
n除以i的余数r
i=i+1 否
i>n-1或r=0?
是 否
r=0?
答案:1.求两个数中的最大值.
作业:
1.已知梯形上底为2,下底为4,高为 5,求其面积,设计出该问题的流程图.
2.求函数
x 2 x, x 2 y 2, x 2
2
的值的算法流程图.
P.20 习题A组第3题
开始
算法步骤: 第一步,输入人数x,设收取的卫生费 为y元.
输入x N
输入a1,b1,c1, a2
。b2,
c2 N
a1b2-a2b1≠0?
Y x=(c2b1 -c1b2)/(a1b2 -a2b1)
y=(c2b1 -c1b2)/(a1b2 -a2b1)
输出“x=
”; ,“y=
”;
输出“输入数据不合题意
结束
知识探究(四):算法的循环结构
循环结构指的是按照一定的条件反复执行的某些算法步骤. 反复执行的步骤称为循环体.
第一步、输入A、B
第二步、令X=A 第三步、令A=B
第四步、令B=X
第五步、输出A、B
练习:一个笼子里装有鸡和兔共m只,且 鸡和兔共n只脚,设计一个计算鸡和兔各有多 少只的算法,并画出程序框图表示. 算法分析:
第一步,输入m,n.
4m - n 第二步,计算鸡的只数 x = . 2
第三步,计算兔的只数y=m-x.
相关文档
最新文档