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

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
1.1.2程序框图与算法的基本逻辑结构(循环结构)

变式训练(1): 编写程序求:12 +22 +32 +42 +……+1002的值.
开始
i=1 S=0
如何修改?
开始
i=1 S=0 i=i+1
否 i≤100?
S=S+i S=S+i 2
i=i+1
直到 型循 环结 构
i>100? 是
输出S
是
2 S=S+i S=S+i
否 输出S
结束
结束
当型循环 结构
变式训练(2): 1 1 1 1 编写程序求: 1 2 3 4 100 的值. 开始 如何修改? 开始
S=S*i 否 i≤6? 否 是
i=i+1 i>6?
是 输出S 结束
输出S
结束
变式训练(1): 编写程序求:12 +22 +32 +42 +……+1002的值. 变式训练(2): 1 1 1 1 编写程序求: 1 的值. 2 3 4 100 变式训练(3): 编写程序求:1+2+3+4+5+……+n的值. 变式训练(4): 编写程序求:n!=1×2×3×4×5×……×n的值. 变式训练(5): 编写程序求:1×3×5×7×……×101的值.
知识回顾
1、算法的概念
在数学上, “算法”通常是指可以用计算机来 解决的某一类问题的程序或步骤,这些程序或 步骤必须是明确和有效的,而且能够在有限步 之内完成.
2、算法最重要的特征: (1).有序性 (2).确定性 (3).有限性
3、程序框图的三种基本的逻辑结构
1.1.2程序框图与算法的基本逻辑结构

解决方法就是加上一个判断,
直到型ቤተ መጻሕፍቲ ባይዱ构
例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
i=2
顺序结构
求n除以i的余数r i的值增加1,仍用i表示 i>n-1或r=0? 是 r=0? 否 否 N是质数 结束
循环结构
是
N不是质数
条件结构
2.算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
输出“ n 是质数” 结束
(1)顺序结构 顺序结构是最简单的算法结构,语句与语句 之间,框与框之间是按从上到下的顺序进行的, 它是由若干个依次执行的处理步骤组成的,它是 任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线 将程序框自上而下地连接起来,按顺序执行算法 步骤。
否
s=s+i i=i+1 否 i>100? 是
循环结构中都有一个计数变量和累加变量, 判断是否已经加到了 100,如果加到 计数变量用以记录循环次数,同时它的取值还 用于判断循环是否终止,累加变量用于输出结 了则退出,否则继续加。 果,累加变量和计数变量一般是同步执行的, 累加一次,计数一次 . 请填上判断的条件。
1.1.2程序框图与算法的基本逻辑结构(3)-循环结构

当型循环结构
开始
i=1
S=0
i=i+1 S=S+i i≤100?
2
3
4
… … N
0+1 0+1+2 0+1+2+3 … Y Y Y
是
否
输出S 结束
理解应用 以例6为依据,回答:
1) 设计算法:输出1,1+2,1+2+3,…,
1+2+…+100.(提示:改变“输出S”的位置) 2)设计算法解决课本P15“思考题”。
3)画出计算1 +22 + 32+……+992 +1002 的
程序框图
4)画出计算1*2*3*…*100的程序框图
限时训练
课时作业P7: 1-12题
初始化:S = 0, i = 1 终止条件:i > 100
计数变量i:依次取1, 2,…,100, i = i + 1, 其中i的初始值为1.
当型循环结构
第一步,令i=1,S=0. 第二步,如果i≤100成立, Y 则执行第三步, 否则,输出S,结束算法. 第三步,S=S+i. 第四步,i=i+1, 返回第二步. Y Y Y
1.1.2程序框图与算法的基本逻辑结
——循环结构
复习回顾
终端框 输入、输出 (起止框) 框
处理框 (执行框)
判断框
流程3;1
复习回顾
2. 条件结构
否 否
满足条件?
满足条件?
是
步骤A 步骤B
是
步骤A
(1)
(2)
学习目标
1、通过阅读课本P13掌握两种循环结构的概念
1.1.2_程序框图与算法的基本逻辑结构(1)

例4、任意给定3个正实数, 判断以这3个数为三边边 长的三角形是否存在.并画 出这个算法的程序框图。
解:算法步骤如下:
条件结构 程序框图: 开始
输入a,b,c a+b>c,b+c>a, c+a>b是否同 时成立? 是
存在这样 的三角形 不存在这样 的三角形
第一步:输入正实数a,b,c 第二步:判断 a+b>c,b+c>a,c+a>b 是否都成立,若是,则 存在这样的三角形,否 则,则不存在这样的三 角形.
第一课时
知识探究(一):算法的程序框图
“判断整数n(n>2)是否为质数”的算法步骤
2~(n-1)?
第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示; 第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.
知识探究(四):多重条件结构的程序框图 思考1.解关于x的方程ax+b=0的算法步骤 如何设计? 第一步,输入实数a,b.
第三步,判断b是否为0.若是,则输出“ 方 程的解为任意实数”;否则,输出“方程无 第二步,判断a是否为0. 若是,执行第三 b 实数解”. 步;否则,计算x , 并输出x,结束
步骤 n
步骤n+1
例1(1)写出图中程序框图的运行结果:
开始
输入a,b a= 2 b= 4
顺序结构
S=a/b+b/a
输出S 结束
框图? 结构?
图中输出S= 5/2 ;
(2)写出下列算法的功能。
第1章 1.1.2 程序框图与算法的基本逻辑结构第3课时 教师配套用书课件(共39张ppt)

明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
填要点、记疑点
2.常见的两种循环结构
名称 直到型 循环结 构 结构图 特征 先执行循环体后判断条件,若不 满足条件则 执行循环体 ,否则
第3课时
终止循环
当型循 环结构
先对条件进行判断,满足时
执行循环体 ,否则 终止循环
明目标、知重点
填要点、记疑点
答
反思与感悟 变量S作为累加变量,来计算所求数据之 和.当第一个数据送到变量i中时,累加的动作为S=S+i, 即把S的值与变量i的值相加,结果再送到累加变量S中,如 此循环,则可实现数的累加求和.
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
第3课时
探究点二:循环结构的形式
探究点三:程序框图的画法
例3 下面是“二分法”求方程x2-2=0(x>0)的近似解的算法步骤. 第一步,令f(x)=x2-2,给定精确度d. 第二步,确定区间[a,b],满足f(a)f(b)<0. a+b 第三步,取区间中点m= . 2 第四步,若f(a)f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b]. 将新得到的含零点的区间仍记为[a,b]. 第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解; 否则,返回第三步. 请根据以上的算法步骤画出算法的程序框图.
1 2 3 n 跟踪训练1 已知有一列数 , , ,„, ,设计程序框图实现求该数列前20 2 3 4 n+ 1 项的和.
解 算法分析:该列数中每一项的分母是分子数加1,单独观察分子,恰好是
1.1.2程序框图与算法的基本逻辑结构课件人教新课标

2.对于条件结构,首先对问题设置的条件作出 判断,设置好判断框内的条件,然后根据条件 是否成立选择不同的流向.(如例 2) 3.循环结构程序框图的设计要搞清“三个对 应”
初始值
判断框内的值
计数变量的值
循环结构形式
计数 先—后—顺→序 求值 (如例 3)
失误防范 如不画出箭头就难以判断 各框的执行顺序.判断框的两个出口处要注明 “是”与“否”. 2.在循环结构中,要注意根据条件设置合理 的计数变量,累加(乘)变量,同时条件的表述 要恰当、精确.累加变量的初值一般为0,而 累乘变量的初值一般为1.(如例3)
→ 如果a<0,则得到_最__大__值__m
2.你会发电子邮件吗?其流程是这样的 打开电子邮箱 → 点击写邮件 → 输入发送地址
→ 输入主题 → 输入_信__件__内容 → _点__击__发__送__
知新益能
1.任何一种算法都是由三种基本逻辑结构组 成的,它们是_顺__序__结构、 _条__件__结构、__循__环_ 结构. 2.顺序结构是任何一个算法都不可缺少的基 本结构,它是由若干个__依__次__执__行_的步骤组成 的.
图形符号 名称
功能
终端框(起 表示一个算法的__起___
止框)
和__结__束_ 始
输入、输 出框
处理框(执 行框)
表示一个算法输入和 _输____的信息 出
赋值、计算
图形符号 名称
功能
判断某一条件是否成立,
_判__断__框__
成立时在出口处标明 “是”或“Y”;不成立
时标明“否”或“N”
流程线
_连__接__程__序__框__
【思路点拨】 本题是乘法运算的多次重复, 且参与运算的各数之间依次多1,故可采用循 环结构:M=M×i,i=i+1.
1.1.2程序框图与算法的基本逻辑结构

r=0? 是 n不是质数
Page 3
否 n是质数
结束
开始
2、一个程序框图包括以下几部分: ①表示相应操作的程序框;
输入n i=2 n除以i的余数r i=i+1 i>n-1或r=0? 是 否
②带箭头的流程线;
③程序框外必要的文字说明。 不同的程序框有不同的含义
r=0? 是 n不是质数
Page 4
S p( p a)( p b)( p c)
输出S 结束
Page 15
练习
1、设计一算法:输入圆的半径,输出圆的面积,并画出流 程图
算法分析: 第一步:输入圆的半径 第二步:利用公式 S r 2 计 算圆的面积; 第三步:输出圆的面积。
输入半径R 计算 S r 2
开始
(1)在程序框图中, 开始框和结束框不可少; (2)在算法过程中, 输出语句是必不可少的;
Page 16
输出面积S
结束
2、下列逻辑结构,说出它的算法功能 开始 输入a,b sum=a+b 输出sum
结束 答案:求两个数的和
Page 17
3、已知梯形上底为2,下底为4,高为5,求其面积,设计出 该问题的流程图.
否 n是质数
结束
程序框名称及作用
开始 输入n
终端框(起止框), 表示一个算法的起始和 结束
i=2 n除以i的余数r i=i+1 i>n-1或r=0? 是 否
r=0? 是 n不是质数
Page 5
否 n是质数
结束
开始 输入n
输入、输出框 表示一个算法输入和输 出的信息
i=2 n除以i的余数r i=i+1 i>n-1或r=0? 是 否
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入正实数r
S=πr2
输出S
结束
P.5习题第2题
开始
输入大于1的整数n
2.任意给定一个大于1的整数n,设计一个 算法求出n的所有因数。 解:算法步骤: 第一步,给定一个大于1的整数n. 第二步,令i=1. 第三步,用i除n,得到余数r. 第四步,判断“r=0”是否成立.若是, 则i是n的因数,并输出i;否则,i不是n的 因数. 第五步,使i的值增加1,仍用i表示. 第六步,判断“i>n”是否成立.若是, 则结束算法;否则,返回第三步.
算法步骤如下: 第一步,输入3个正实数a,b,c. 第二步,判断a+b>c,a+c>b, b+c>a是否同时成立. 若是,则存在这样的三角形; 否则,不存这样的三角形.
条件结构
条件结构
例5.设计一个求解一元二 次方程 ax 2 bx c 0 的算法,并画出程序框图 表示.
开始 输入a,b,c Δ=
例7.某工厂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
开始 输入a,b,c
p=
a+b+c 2
S=
p(p - a)(p - b)(p - c) .
输出S
结束
例、已知两个变量A和B的值,试设计一个交 换这两个变量的值的算法,并画出程序框图。
开始 输入A,=B
X=A
第四步、令B=X
第五步、输出A、B
A=B
结束
(2)条件结构 在一个算法中,经常会遇到一些条件的判断, 算法的流程根据条件是否成立有不同的流向.条件 结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的 主要作用就是表示分类. 条件结构可用程序框图表示为下面两种形式.
满足条件? 是 否 满足条件? 否
是
步骤A
步骤B
步骤A
例4 任意给定3个正实数, 设计一个算法,判断分别 以这3个数为三边边长的 三角形是否存在,画出这 个算法的程序框图.
r=0?
是 N不是质数 结束
否
N是质数
输出“n不 是质数”
输出“n 是质数” 结束
学习这部分知识的时候,要掌握各个图形的 形状、作用及使用规则,画程序框图的规则如下: 1、使用标准的图形符号。 2、框图一般按从上到下、从左到右的方向画。 3、除判断框外,大多数流程图符号只有一个进入 点和一个退出点。判断框是具有超过一个退出 点的唯一符号。 4、判断框分两大类,一类判断框是“是”与“否” 两分支的判断,而且有且仅有两个结果;另一 类是多分支判断,有几种不同的结果。 5、在图形符号内描述的语言要非常简练清楚。
(1)顺序结构 顺序结构是最简单的算法结构,语句与语句 之间,框与框之间是按从上到下的顺序进行的, 它是由若干个依次执行的处理步骤组成的,它是 任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线 将程序框自上而下地连接起来,按顺序执行算法 步骤。
步骤n
步骤n+1
例3、已知一个三角形的三边分别为a、b、c,利用海伦公式设 计一个算法,求出它的面积,并画出算法的程序框图。
B=X
输出A,B 结束
2、已知变量A、B、C的值,试设计一个算法 程序框图,使得A为B的值,B为C的值,C为A 开始 的值。
输入A,B,C
练 习
第一步、输入A、B、C 第二步、令X=A
X=A A=B B=C C=X 输出A,B,C
第三步、令A=B
第四步、令B=C 第五步、令C=X 第六步、输出A、B、C的值
练 习
1. 对任意正整数n, 设计一个算法求
开始
输入一个正整数n
1 1 1 S 1 2 3 n
的值,并画出程序框图.
S=0 i=1 S=S+1/i i=i+1 i≤n N 输出S的值 结束 Y
练 习
2.设计一算法,求积: 1×2×3×…×100,画出流程图.
开始
i=0,S=1 i = i + 1
开始
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
你能说出这三种基本逻辑结构的特点吗? 条件结构与循环结构有什么区别和联系?
S=S*i 否
i≥100? 是 输出S
结束
, 的函数值,并画出程
开始 输入x
第一步、输入x 第二步、判断“x<0”是否成立,若 是,则输出y=0,否则执行第三步; 第三步、判断“x<1”是否成立,若 是,则输出y=1,否则输出y=x。
y=x 否 是 X<0? 否 X<1? 是
y=1
y=0
输出y
结束
(3)循环结构
循环结构指的是按照一定的条件反复执行的某些算法步骤. 反复执行的步骤称为循环体.
i≤100? 否 输出S 结束
什么循环结构?
当型循环结构
是
例6. 设计一个计算1+2+3+…+100的值的算法, 并画出程序框图. 开始
算法1:
第一步:确定首数a,尾 数b,项数n; 第二步:利用公式“S=n (a+b) /2” 求和; 第三步:输出求和结果。
输入a,b,n
a=1,b=100,n=100
b2-4ac
Δ≥0?
否
是
是 Δ=0? 否
x
b 2a
b x1 2a
x2
b 2a
方程无实数根
输出x
输出x1 , x2
结束
例5 设计一个求解一元二次方程
ax 2 bx c 0
的算法,并画出程序框图表示.
例、设计一个算法计算分段函数 序框图。
0( x 0) y 1(0 x 1) x( x 1)
构成程序框的图形符号及其作用 图形符号 名 称 功 能
终端框(起止框) 输入、输出框 处理框(执行框) 判断框
一个算法的起始和结束 一个算法输入和输出的信息 赋值、计算
判断某一条件是否成立,出 口成立标“是”不成立“否”
连接程序框
或
流程线
连接点
连接程序框图的两部分
程序框图范例:
判断整数n(n>2)是否为质数
S=n (a+b) /2
输出S
结束
例6.设计一个计算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 结束
当型结构
2.算法的三种基本逻辑结构: 顺序结构、条件结构、循环结构。
开始
输入n
i=2 顺序结构 求n除以i的余数r 循环结构
i的值增加1,仍用i表示
i>n-1或r=0? 是 是 r=0? 否 N是质数 否
N不是质数 结束
条件结构
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
循环体
循环体 否 是
满足条件? 是
满足条件? 否
执行一次循环体后,对条件进行 判断,如果条件不满足,就继续执行 循环体,直到条件满足时终止循环.
在每次执行循环体前,对条件进行 判断,当条件满足,执行循环体,否则 终止循环.
例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.
在解题的过程中,用累加变量S表示 每一步的计算结果,即把S+i的结果仍记 为S,从而把第i步表示为S=S+i,其中S s = s + i 的初始值为0,i依次取1,2,…,100,101. 由于i同时记录了循环的次数,所以也称 i=i+ 1 为计数变量.
i≤100? 是 s =s+i i=i+1
否
s=s+i i=i+1 否 i>100? 是
开始 输入n i=2
设n是一个大于2的整数
求n除以i的余数r
是 r=0? 否 i的值增加1, 仍用i表示 i>n-1? 是 否
用i=i+1表示
输出“n不 是质数”
输出“n 是质数” 结束
开始
开始
输入n i=2 求n除以i的余数r 是 r=0? 否 i的值增加1, 仍用i表示 i>n-1? 是 否
S=πr2
输出S
结束
P.5习题第2题
开始
输入大于1的整数n
2.任意给定一个大于1的整数n,设计一个 算法求出n的所有因数。 解:算法步骤: 第一步,给定一个大于1的整数n. 第二步,令i=1. 第三步,用i除n,得到余数r. 第四步,判断“r=0”是否成立.若是, 则i是n的因数,并输出i;否则,i不是n的 因数. 第五步,使i的值增加1,仍用i表示. 第六步,判断“i>n”是否成立.若是, 则结束算法;否则,返回第三步.
算法步骤如下: 第一步,输入3个正实数a,b,c. 第二步,判断a+b>c,a+c>b, b+c>a是否同时成立. 若是,则存在这样的三角形; 否则,不存这样的三角形.
条件结构
条件结构
例5.设计一个求解一元二 次方程 ax 2 bx c 0 的算法,并画出程序框图 表示.
开始 输入a,b,c Δ=
例7.某工厂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
开始 输入a,b,c
p=
a+b+c 2
S=
p(p - a)(p - b)(p - c) .
输出S
结束
例、已知两个变量A和B的值,试设计一个交 换这两个变量的值的算法,并画出程序框图。
开始 输入A,=B
X=A
第四步、令B=X
第五步、输出A、B
A=B
结束
(2)条件结构 在一个算法中,经常会遇到一些条件的判断, 算法的流程根据条件是否成立有不同的流向.条件 结构就是处理这种过程的结构. 分类是算法中经常发生的事情,条件结构的 主要作用就是表示分类. 条件结构可用程序框图表示为下面两种形式.
满足条件? 是 否 满足条件? 否
是
步骤A
步骤B
步骤A
例4 任意给定3个正实数, 设计一个算法,判断分别 以这3个数为三边边长的 三角形是否存在,画出这 个算法的程序框图.
r=0?
是 N不是质数 结束
否
N是质数
输出“n不 是质数”
输出“n 是质数” 结束
学习这部分知识的时候,要掌握各个图形的 形状、作用及使用规则,画程序框图的规则如下: 1、使用标准的图形符号。 2、框图一般按从上到下、从左到右的方向画。 3、除判断框外,大多数流程图符号只有一个进入 点和一个退出点。判断框是具有超过一个退出 点的唯一符号。 4、判断框分两大类,一类判断框是“是”与“否” 两分支的判断,而且有且仅有两个结果;另一 类是多分支判断,有几种不同的结果。 5、在图形符号内描述的语言要非常简练清楚。
(1)顺序结构 顺序结构是最简单的算法结构,语句与语句 之间,框与框之间是按从上到下的顺序进行的, 它是由若干个依次执行的处理步骤组成的,它是 任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线 将程序框自上而下地连接起来,按顺序执行算法 步骤。
步骤n
步骤n+1
例3、已知一个三角形的三边分别为a、b、c,利用海伦公式设 计一个算法,求出它的面积,并画出算法的程序框图。
B=X
输出A,B 结束
2、已知变量A、B、C的值,试设计一个算法 程序框图,使得A为B的值,B为C的值,C为A 开始 的值。
输入A,B,C
练 习
第一步、输入A、B、C 第二步、令X=A
X=A A=B B=C C=X 输出A,B,C
第三步、令A=B
第四步、令B=C 第五步、令C=X 第六步、输出A、B、C的值
练 习
1. 对任意正整数n, 设计一个算法求
开始
输入一个正整数n
1 1 1 S 1 2 3 n
的值,并画出程序框图.
S=0 i=1 S=S+1/i i=i+1 i≤n N 输出S的值 结束 Y
练 习
2.设计一算法,求积: 1×2×3×…×100,画出流程图.
开始
i=0,S=1 i = i + 1
开始
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
你能说出这三种基本逻辑结构的特点吗? 条件结构与循环结构有什么区别和联系?
S=S*i 否
i≥100? 是 输出S
结束
, 的函数值,并画出程
开始 输入x
第一步、输入x 第二步、判断“x<0”是否成立,若 是,则输出y=0,否则执行第三步; 第三步、判断“x<1”是否成立,若 是,则输出y=1,否则输出y=x。
y=x 否 是 X<0? 否 X<1? 是
y=1
y=0
输出y
结束
(3)循环结构
循环结构指的是按照一定的条件反复执行的某些算法步骤. 反复执行的步骤称为循环体.
i≤100? 否 输出S 结束
什么循环结构?
当型循环结构
是
例6. 设计一个计算1+2+3+…+100的值的算法, 并画出程序框图. 开始
算法1:
第一步:确定首数a,尾 数b,项数n; 第二步:利用公式“S=n (a+b) /2” 求和; 第三步:输出求和结果。
输入a,b,n
a=1,b=100,n=100
b2-4ac
Δ≥0?
否
是
是 Δ=0? 否
x
b 2a
b x1 2a
x2
b 2a
方程无实数根
输出x
输出x1 , x2
结束
例5 设计一个求解一元二次方程
ax 2 bx c 0
的算法,并画出程序框图表示.
例、设计一个算法计算分段函数 序框图。
0( x 0) y 1(0 x 1) x( x 1)
构成程序框的图形符号及其作用 图形符号 名 称 功 能
终端框(起止框) 输入、输出框 处理框(执行框) 判断框
一个算法的起始和结束 一个算法输入和输出的信息 赋值、计算
判断某一条件是否成立,出 口成立标“是”不成立“否”
连接程序框
或
流程线
连接点
连接程序框图的两部分
程序框图范例:
判断整数n(n>2)是否为质数
S=n (a+b) /2
输出S
结束
例6.设计一个计算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 结束
当型结构
2.算法的三种基本逻辑结构: 顺序结构、条件结构、循环结构。
开始
输入n
i=2 顺序结构 求n除以i的余数r 循环结构
i的值增加1,仍用i表示
i>n-1或r=0? 是 是 r=0? 否 N是质数 否
N不是质数 结束
条件结构
算法千差万别,但都是由这 三种基本逻辑结构构成的.
输入n
i=2
求n除以i的余数r
循环体
循环体 否 是
满足条件? 是
满足条件? 否
执行一次循环体后,对条件进行 判断,如果条件不满足,就继续执行 循环体,直到条件满足时终止循环.
在每次执行循环体前,对条件进行 判断,当条件满足,执行循环体,否则 终止循环.
例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.
在解题的过程中,用累加变量S表示 每一步的计算结果,即把S+i的结果仍记 为S,从而把第i步表示为S=S+i,其中S s = s + i 的初始值为0,i依次取1,2,…,100,101. 由于i同时记录了循环的次数,所以也称 i=i+ 1 为计数变量.
i≤100? 是 s =s+i i=i+1
否
s=s+i i=i+1 否 i>100? 是
开始 输入n i=2
设n是一个大于2的整数
求n除以i的余数r
是 r=0? 否 i的值增加1, 仍用i表示 i>n-1? 是 否
用i=i+1表示
输出“n不 是质数”
输出“n 是质数” 结束
开始
开始
输入n i=2 求n除以i的余数r 是 r=0? 否 i的值增加1, 仍用i表示 i>n-1? 是 否