1.1算法与程序框图.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例2:任意给定3个正实数,设计一个算法,判断分 别以这3个数为三边边长的三角形是否存在.画 出这个算法的程序框图.
算法分析:
第一步:输入3个正实数a,b,c;
第二步:判断a+b>c,a+c>b,b+c>a是否同时成立, 若是,则能组成三角形;若否,则组不成三角形.
程序框图: 开始
输入a,b,c
a+b>c,a+c>b,b+c>a 是否
第三步:若f(a) (m)>0,则令a=m;否则,令b=m.
第四步:判断|a-b|<ε是否成立?若是,则a或b为满 足条件的近似根;若否,则返回第二步.
练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积. 算法分析:
第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.
否
同时成立 ?
是
存在这样的 三角形
不存在这样的 三角形
结束
(3)循环结构---在一些算法中,也经常会出 现从某处开始,按照一定条件,反复执行某 一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
注意:循环结构不能是永无终止的“死循 环”,一定要在某个条件下终止循环,这 就需要条件结构来作出判断,因此,循环 结构中一定包含条件结构.
连接程序框
连接点
连接程序框图的两部分
开始 输入n i=2
用程序框图来表示算法,有 三种不同的基本逻辑结构:
顺序结构
求n除以 i的余数 r
i=i+1
i≥n或r=0?
是
r=0?
是
n不是质数
否 否
n是质数
循环结构 条件结构
结束
(1)顺序结构-----是由若干个依次执行的处理 步骤组成的.这是任何一个算法都离不开的 基本结构.
例2:用二分法设计一个求方程x2-2=0(x>0)的近
似根的算法.
算法分析:
设所求近似根与精确解的差的绝对 值不超过ε=0.005.
第一步:令f(x)=x2-2. 因为f(1)<0,f(2)>0,
所以设a=1,b=2.
第二步:令 m ? a ? b , 判断f(m)是否为0. 若是,则m
2
为所求; 若否,则继续判断f(a) (m)大于0还是小于0.
为了使算法的程序或步骤表达得更为直观,我 们更经常地用图形方式来表示它.
一般用 i=i+1 表示.
开始 输入n i=2
设n是一个大 于2的整数 .
求n除以 i的余数 r
说明:i表示从2~(n-1) 的所有正整数 ,用以 i的值增加i=1i+仍1 用i表示
判断步骤 2是否终止,i 是一个计数变量 ,有 了这个变量 ,算法才 能依次执行 .逐步考 察从 2~(n-1) 的所有 正整数中是否有 n的
从上节课我们知道:算法可以用自然语言 来描述.如例1
例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.
算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数;
若n>2,则执行第二步.
第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数.
例3:设计一个计算1+2+3+……+100的值的算
法,并画出程序框图.
算法分析:
各步骤有共同的结构:
第1步:0+1=1; 第(i-1)步的结果+i=第i步的结果
第2步:1+2=3; 第3步:3+3=6; 第4步:6+4=10
为了方便有效地表示上述过程,我
们引进一个累加变量S来表示每
i≥n或r=0?
是
r=0?
是
n不是质数
否 否
n是质数
因数存在 .
结束
思考?通过上述算法的两种不同表达方式的比 较,你觉得用程序框图来表达算法有哪些特点?
用程序框图表示的算法更加简练,直观,流向清楚.
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形.
通常,程序框图由程序框和流程线组成. 一个或几个程序框的组合表示算法中的一个步骤;
算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数; 若n>2,则执行第二步.
第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数. 说明:用语言描述一个算法,最便捷的方式就是按 解决问题的步骤进行描述.每一步做一件事情.
例1:已知一个三角形的三边边长分别为a,b,c, 利用海伦-秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图. 算法分析:
第一步:计算p的值.
第二步:由海伦-秦九韶公式求出三角形的面积S.
第三步:输出S的值.
已知三角形三边长分别为a,b,c,则三角 形的面积为
S ? p( p ? a)( p ? b)( p ? c)
流程线方向用箭头表示,按照算法进行的顺序将 程序框连接起来.
基本的程序框和它们各自表示的功能如下:
图形符号
名称
功能
终端框 (起止框 ) 输入、输 出框 处理框 (执行框 )
判断框
流程线
表示一个算法的起始 和结束 表示一个算法输入和 输出的信息
赋值、计算
判断某一条件是否成立,成立 时在出口处标明“是”或 “Y”;不”成立时标明“否” 或“N”.
③
第二步: 解③得: y ? 3
第三步:
将yΒιβλιοθήκη ?3 55 代入①,解得
x
?
1 5
.
对于一般的二元一次方程组
? ? ?
a1x ? a2x ?
b1 y ? b2 y ?
c1 c2
其中 a1b2 ? a2b1 ? 0也可以按照上述步骤求解.
例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.
计算机解决任何问题都要依 赖于算法 .只有将解决问题的过程 分解为若干个明确的步骤 ,即算法,
并用计算机能够接受的“语言” 准确地描述出来 ,计算机才能够解 决问题.
[问题1]请你写出解二元一次方程组的详细求解
过程.
?x? 2y ? ?1 ① ??2x ? y ? 1 ②
第一步:②-①×2得: 5y=3
其中
p
?
a
?
b 2
?
c
这个公式被称为海伦—秦九韶公式.
开始 输入a,b,c p? a? b? c
2
S ? p( p ? a)( p ? b)( p ? c)
输出S 结束
(2)条件结构---在一个算法中,经常会遇到一 些条件的判断,算法的流向根据条件是否成 立有不同的流向.条件结构就是处理这种过 程的结构.
算法分析:
第一步:输入3个正实数a,b,c;
第二步:判断a+b>c,a+c>b,b+c>a是否同时成立, 若是,则能组成三角形;若否,则组不成三角形.
程序框图: 开始
输入a,b,c
a+b>c,a+c>b,b+c>a 是否
第三步:若f(a) (m)>0,则令a=m;否则,令b=m.
第四步:判断|a-b|<ε是否成立?若是,则a或b为满 足条件的近似根;若否,则返回第二步.
练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积. 算法分析:
第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.
否
同时成立 ?
是
存在这样的 三角形
不存在这样的 三角形
结束
(3)循环结构---在一些算法中,也经常会出 现从某处开始,按照一定条件,反复执行某 一步骤的情况,这就是循环结构.
反复执行的步骤称为循环体.
注意:循环结构不能是永无终止的“死循 环”,一定要在某个条件下终止循环,这 就需要条件结构来作出判断,因此,循环 结构中一定包含条件结构.
连接程序框
连接点
连接程序框图的两部分
开始 输入n i=2
用程序框图来表示算法,有 三种不同的基本逻辑结构:
顺序结构
求n除以 i的余数 r
i=i+1
i≥n或r=0?
是
r=0?
是
n不是质数
否 否
n是质数
循环结构 条件结构
结束
(1)顺序结构-----是由若干个依次执行的处理 步骤组成的.这是任何一个算法都离不开的 基本结构.
例2:用二分法设计一个求方程x2-2=0(x>0)的近
似根的算法.
算法分析:
设所求近似根与精确解的差的绝对 值不超过ε=0.005.
第一步:令f(x)=x2-2. 因为f(1)<0,f(2)>0,
所以设a=1,b=2.
第二步:令 m ? a ? b , 判断f(m)是否为0. 若是,则m
2
为所求; 若否,则继续判断f(a) (m)大于0还是小于0.
为了使算法的程序或步骤表达得更为直观,我 们更经常地用图形方式来表示它.
一般用 i=i+1 表示.
开始 输入n i=2
设n是一个大 于2的整数 .
求n除以 i的余数 r
说明:i表示从2~(n-1) 的所有正整数 ,用以 i的值增加i=1i+仍1 用i表示
判断步骤 2是否终止,i 是一个计数变量 ,有 了这个变量 ,算法才 能依次执行 .逐步考 察从 2~(n-1) 的所有 正整数中是否有 n的
从上节课我们知道:算法可以用自然语言 来描述.如例1
例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.
算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数;
若n>2,则执行第二步.
第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数.
例3:设计一个计算1+2+3+……+100的值的算
法,并画出程序框图.
算法分析:
各步骤有共同的结构:
第1步:0+1=1; 第(i-1)步的结果+i=第i步的结果
第2步:1+2=3; 第3步:3+3=6; 第4步:6+4=10
为了方便有效地表示上述过程,我
们引进一个累加变量S来表示每
i≥n或r=0?
是
r=0?
是
n不是质数
否 否
n是质数
因数存在 .
结束
思考?通过上述算法的两种不同表达方式的比 较,你觉得用程序框图来表达算法有哪些特点?
用程序框图表示的算法更加简练,直观,流向清楚.
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形.
通常,程序框图由程序框和流程线组成. 一个或几个程序框的组合表示算法中的一个步骤;
算法分析:
第一步:判断n是否等于2. 若n=2,则n是质数; 若n>2,则执行第二步.
第二步:依次检验2~(n-1)这些整数是不是n的 因素,即是不是整除n的数.若有这样的数,则n不是 质数;若没有这样的数,则n是质数. 说明:用语言描述一个算法,最便捷的方式就是按 解决问题的步骤进行描述.每一步做一件事情.
例1:已知一个三角形的三边边长分别为a,b,c, 利用海伦-秦九韶公式设计一个算法,求出它的 面积,画出算法的程序框图. 算法分析:
第一步:计算p的值.
第二步:由海伦-秦九韶公式求出三角形的面积S.
第三步:输出S的值.
已知三角形三边长分别为a,b,c,则三角 形的面积为
S ? p( p ? a)( p ? b)( p ? c)
流程线方向用箭头表示,按照算法进行的顺序将 程序框连接起来.
基本的程序框和它们各自表示的功能如下:
图形符号
名称
功能
终端框 (起止框 ) 输入、输 出框 处理框 (执行框 )
判断框
流程线
表示一个算法的起始 和结束 表示一个算法输入和 输出的信息
赋值、计算
判断某一条件是否成立,成立 时在出口处标明“是”或 “Y”;不”成立时标明“否” 或“N”.
③
第二步: 解③得: y ? 3
第三步:
将yΒιβλιοθήκη ?3 55 代入①,解得
x
?
1 5
.
对于一般的二元一次方程组
? ? ?
a1x ? a2x ?
b1 y ? b2 y ?
c1 c2
其中 a1b2 ? a2b1 ? 0也可以按照上述步骤求解.
例1:任意给定一个大于1的整数n,试设计一个程 序或步骤对n是否为质数做出判定.
计算机解决任何问题都要依 赖于算法 .只有将解决问题的过程 分解为若干个明确的步骤 ,即算法,
并用计算机能够接受的“语言” 准确地描述出来 ,计算机才能够解 决问题.
[问题1]请你写出解二元一次方程组的详细求解
过程.
?x? 2y ? ?1 ① ??2x ? y ? 1 ②
第一步:②-①×2得: 5y=3
其中
p
?
a
?
b 2
?
c
这个公式被称为海伦—秦九韶公式.
开始 输入a,b,c p? a? b? c
2
S ? p( p ? a)( p ? b)( p ? c)
输出S 结束
(2)条件结构---在一个算法中,经常会遇到一 些条件的判断,算法的流向根据条件是否成 立有不同的流向.条件结构就是处理这种过 程的结构.