1.1算法与程序框图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入正整数n x=2n-1 y=x2+5
输出y
结束
练习:
1.就(1)、(2)两种逻辑结构,说出各自的算法功能
(1) 开始 输入a,b (2) 开始 输入a,b
d a 2 b2
c d
输出
sum=a+b 输出sum 结束
c
结束
答案:(1)求直角三角形斜边长; (2)求两个数的和.
2.已知梯形上底为2,下底为4,高为5,求其面积, 设计出该问题的流程图.
第三步,计算 S = p( p - a )( p - b)( p - c) . 第四步,输出S.
思考3:上述算法的程序框图如何表示?
开始
输入a,b,c
p=
a + b+ c 2
S = p( p - a )( p - b)( p - c)
输出S 结束
例2 已知下图是“求一个正奇数的平方 加5的值”的程序框图,若输出的数是30,求 输入的数n的值. 开始
第二步:在n的因数中加入1和n;
第三步:输出n的所有因数.
计算机解决任何问题都要依 赖于算法.只有将解决问题的过程 分解为若干个明确的步骤,即算法, 并用计算机能够接受的“语言” 准确地描述出来,计算机才能够解 决问题.
1.1.2
程序框图
问题提出
1.算法的含义是什么?
在数学中,按照一定规则解决某一 类问题的明确和有限的步骤称为算法.
输入x
x≥0? 是 输出x 否
输出-x
结束
0( x 0) y 1(0 x 1) x ( x 1)
练习3:画程序 框图,对于输入的 x值,输出相应的 y值.
开始
输入x
x<0? 否 0≤x<1? 否 是
程序框图
是
y=x
y=1
y=0
输出y
结束
练习5: 1.就逻辑结构,说 出其算法功能.
程序框图:
开始 输入a,b,c
a+b>c,a+c>b,b+c>a是否 同时成立? 是 存在这样的 三角形 结束
否
不存在这样的 三角形
练习1
城区一中学生数学模块学分认定由模块成 绩决定,模块成绩由模块考试成绩和平时 成绩构成,各占50%,若模块成绩大于或 等于60分,获得2学分,否则不能获得学 分(为0分),设计一算法,通过考试成 绩和平时成绩计算学分,并画出程序框图
是
条件结构
n是质数
n不是质数
结束
知识探究(二):算法的顺序结构 思考1:任何一个算法各步骤之间都有明确的 顺序性,在算法的程序框图中,由若干个依 次执行的步骤组成的逻辑结构,称为顺序结 构,用程序框图可以表示为:
步骤n
?
在顺序结构中可能 会用到哪几种程序 框和流程线?
步骤n+1
S=
p(p - a)(p - b)(p - c)
作业: 设计房租收费的算法,其要求是:住房面积80平方米 以内,每平方米收费3元,住房面积超过80平方米时,超过部 分,每平方米收费5元.输入住房面积数,输出应付的房租.
算法分析: 第一步:输入住房面积S 第二步:根据面积选 择计费方式:如果S ຫໍສະໝຸດ Baidu于或等于80,则租 金为M=s×3,否则 为M=240+(S-80)×5
连接程序框
连接程序框图的两部分
知识探究(一):算法的程序框图 思考1:“判断整数n(n>2)是否为质数”的 算法步骤如何? 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示; 第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.
2.算法是由一系列明确和有限的计算步 骤组成的,我们可以用自然语言表述一 个算法,但往往过程复杂,缺乏简洁性, 因此,我们有必要探究使算法表达得更 加直观、准确的方法,这个想法可以通 过程序框图来实现.
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形. 通常,程序框图由程序框和流程线组成. 一个或几个程序框的组合表示算法中的一个步骤; 流程线是方向箭头,按照算法进行的顺序将程序 框连接起来.
求n除以i的余数r
i=i+1
反复执行的步 骤称为循环体.
i>n-1,或r=0?
否
是
循环结构
引例:设计一算法,求和:1+2+3+…+100
算法1: 第一步:确定首数a,尾数 b,项数n; 第二步:利用公式“总和 =(首数+尾数)×项数/2” 求和; 第三步:输出求和结果。 开始
思考3:基本的程序框和它们各自表示的功能?
图形符号 名称 终端框 (起止框) 输入、输 出框 处理框 (执行框) 判断框 流程线 连接点 功能 表示一个算法的起始 和结束 表示一个算法输入和 输出的信息 赋值、计算
判断某一条件是否成立,成立 时在出口处标明“是”或 “Y”;不”成立时标明“否” 或“N”.
[问题1]请你写出解二元一次方程组的详细求解 过程.
x y 35 2 x 4 y 94
(1) (2)
x y 35 解方程 2 x 4 y 94
第一步,由(1)得 x 35 y 第二步, 将(3)代入(2)得
(1) (2)
(3)
2(35 y) 4 y 94 (4) y 12 (5) 第三步, 解(4)得 第四步, 将(5)代入(3)得 x 23 x 23 第五步, 得到方程组的解得 y 12
开始 max=a 输入b 否 max=b
2.此为某一函数的求值程序 3.求函数 图,则满足该流程图的函数 解析式为( )(不能写成分 x2 段函数). y 开始 输入x
2 x, x 2 2, x 2
的值的算法流程图. 开始 否 输入x X<2? 是 是 输出max 结束 答案:1.求两个数中的最大值. 输出y 否
应用举例
例1.(2)设计一个算法判断35是否为质数.
第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35. 第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35.
第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
求n除以i的余数r
说明:i表示从2~(n-1) i=i+1 i的值增加 1仍用i表示 的所有正整数,用以 判断例1步骤2是否终 否 i≥n或r=0? 止,i是一个计数变量, 是 有了这个变量,算法 否 r=0? 才能依次执行.逐步 是 考察从2~(n-1)的所 n是质数 n不是质数 有正整数中是否有n 的因数存在. 结束
思考4:通过上述算法的两种不同表达方式的比 较,你觉得用程序框图来表达算法有哪些特点?
用程序框图表示的算法更加简练,直观,流向清楚.
开始 输入n i=2
思考:5:用程序框图来表示 算法,有几种不同的基本逻 辑结构? 顺序结构
求n除以i的余数r
i=i+1 i≥n或r=0?
是 否 否
循环结构
r=0?
开始 输入a,b
S=(a+b)*0.5
否
S>=60? 是
学分=2 输出学分 结束
学分=0
练习2:设计一个求任意数的绝对值的算法,并画 出程序框图. 程序框图: x(当x 0时) 开始 | x | x(当x<0时) 算法分析: 第一步:输入数x; 第二步:判断x≥0是否 成立?若是,则|x|=x; 若否,则|x|=-x.
y=x
y=1
y=0
输出y 结束
P:50页A组T1(2)
开始
输入x
x<0? 否 x=0? 否 是
程序框图
是
( x 2) ( x 0) y 4( x 0) ( x 2) 2 ( x 0)
2
y=(x-2)2
y=4
y=(x+2)2
输出y
结束
知识探究(四):算法的循环结构 循环结构---在一些算法中,也经常会出现从 某处开始,按照一定条件,反复执行某一步 骤的情况,这就是循环结构.
任意给定一个大于1的整数n,试设计一个程序或步骤 对n是否为质数做出判定.
第一步:判断n是否等于2.若n=2,则n是质数; 若n>2,则执行第二步. 第二步:依次从2~(n-1)检验是不是n的因 数,即整除n的数,若有这样的数,则n不是质 数;若没有这样的数,则n是质数. •这是判断一个大于1的整数n是否为质数的 最基本算法. •用语言描述一个算法,最便捷的方式就是按 解决问题的步骤进行描述.每一步做一件事 情.
开始
输入面积S
否
S<=80 是 M=3*S M=240+5*(S-8)
第三步:输出房租M的值。
输出租金M
结束
课本50页1(1) 课堂讲评
开始
输入x
x<0? 否 0≤x<1? 否 是
程序框图
是
0( x 0) y 1(0 x 1) x ( x 1)
上交作业:
课本P50页A组 1(2), (画 出程序框图)
应用举例
例1.(1)设计一个算法判断7是否为质数.
第一步, 用2除7,得到余数1.因为余数不为0, 所以2不能整除7. 第二步, 用3除7,得到余数1.因为余数不为0, 所以3不能整除7.
第三步, 用4除7,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除7,得到余数2.因为余数不为0, 所以5不能整除7. 第五步, 用6除7,得到余数1.因为余数不为0, 所以6不能整除7.因此,7是质数.
条件结构
否
r=0?
是
N不是质数
n是质数
条件结构---在一个算法中,经常会遇到一些 条件的判断,算法的流向根据条件是否成立 有不同的流向.条件结构就是处理这种过程 的结构.
否 否
满足条件?
是
满足条件?
是
步骤A
步骤B
步骤A
课本例4:任意给定3个正实数,设计一个算法,判 断分别以这3个数为三边边长的三角形是否存在. 画出这个算法的程序框图. 算法分析: 第一步:输入3个正实数a,b,c; 第二步:判断a+b>c,a+c>b,b+c>a是否同时成立, 若是,则能组成三角形;若否,则组不成三角形.
算法的概念:
广义地说:为了解决某一问题而采取的方 法和步骤,就称之为算法。 在数学中,按照一定规则解决某一类问 题的明确和有限的步骤,称为算法。 现在,算法通常可以编成计算机程序, 让计算机执行并解决问题。这些程序或步
骤必须是明确和有效的,而且能够在有限步之 内完成.
没有软件的支持,计算机只是一堆废铁而已; 软件的核心就是算法 !
课本5页 1
练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积. 算法分析: 第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.
课本5页 2
练习二:任意给定一个大于1的正整数n, 设计一个算法求出n的所有因数. 算法分析:
第一步:依次以2~(n-1)为除数去除n,判断 余数是否为0,若是,则是n的因数;若不是, 则不是n的因数.
x>3?
是
max>b?
y=x-2
y=4-x
y=-2
y x2 2x
结束 答案:2. y=|x-3|+1.
输出y 结束
作业:
P20页A组1;(画出程序框图)
作业: 设计房租收费的算法,其要求是:住房 面积80平方米以内,每平方米收费3元,住房面 积超过80平方米时,超过部分,每平方米收费5 元.输入住房面积数,输出应付的房租.
开始 输入n
思考2 : 为了使算法 的程序或步 骤表达得更 为直观,我们 更经常地用 图形方式来 表示它.
i=2
求n除以i的余数r
i=i+1 i的值增加 1仍用i表示 i≥n或r=0?
是 否 否
r=0?
是
n不是质数
结束
n是质数
开始 一般用i=i+1 表示. 输入n i=2
设n是一个大 于2的整数.
思考2:若一个三角形的三条边长分别为a,b, a + b+ c p = c,令 2 ,则三角形的面积 S = p( p - a )( p - b)( p - c) .你能利用这个公式 设计一个计算三角形面积的算法步骤吗? 第一步,输入三角形三条边的边长 a,b,c. 第二步,计算
a + b+ c p= . 2
开始
a 2, b 4, h 5
S 1 ( a b) h 2
输出
S
结束
顺序结构知识小结
顺序结构的程序框图的基本特征: (1)必须有两个起止框,穿插输入、输 出框和处理框,没有判断框. (2)各程序框从上到下用流程线依次 连接. (3)处理框按计算机执行顺序沿流程线 依次排列.
知识探究(三):算法的条件结构
输出y
结束
练习:
1.就(1)、(2)两种逻辑结构,说出各自的算法功能
(1) 开始 输入a,b (2) 开始 输入a,b
d a 2 b2
c d
输出
sum=a+b 输出sum 结束
c
结束
答案:(1)求直角三角形斜边长; (2)求两个数的和.
2.已知梯形上底为2,下底为4,高为5,求其面积, 设计出该问题的流程图.
第三步,计算 S = p( p - a )( p - b)( p - c) . 第四步,输出S.
思考3:上述算法的程序框图如何表示?
开始
输入a,b,c
p=
a + b+ c 2
S = p( p - a )( p - b)( p - c)
输出S 结束
例2 已知下图是“求一个正奇数的平方 加5的值”的程序框图,若输出的数是30,求 输入的数n的值. 开始
第二步:在n的因数中加入1和n;
第三步:输出n的所有因数.
计算机解决任何问题都要依 赖于算法.只有将解决问题的过程 分解为若干个明确的步骤,即算法, 并用计算机能够接受的“语言” 准确地描述出来,计算机才能够解 决问题.
1.1.2
程序框图
问题提出
1.算法的含义是什么?
在数学中,按照一定规则解决某一 类问题的明确和有限的步骤称为算法.
输入x
x≥0? 是 输出x 否
输出-x
结束
0( x 0) y 1(0 x 1) x ( x 1)
练习3:画程序 框图,对于输入的 x值,输出相应的 y值.
开始
输入x
x<0? 否 0≤x<1? 否 是
程序框图
是
y=x
y=1
y=0
输出y
结束
练习5: 1.就逻辑结构,说 出其算法功能.
程序框图:
开始 输入a,b,c
a+b>c,a+c>b,b+c>a是否 同时成立? 是 存在这样的 三角形 结束
否
不存在这样的 三角形
练习1
城区一中学生数学模块学分认定由模块成 绩决定,模块成绩由模块考试成绩和平时 成绩构成,各占50%,若模块成绩大于或 等于60分,获得2学分,否则不能获得学 分(为0分),设计一算法,通过考试成 绩和平时成绩计算学分,并画出程序框图
是
条件结构
n是质数
n不是质数
结束
知识探究(二):算法的顺序结构 思考1:任何一个算法各步骤之间都有明确的 顺序性,在算法的程序框图中,由若干个依 次执行的步骤组成的逻辑结构,称为顺序结 构,用程序框图可以表示为:
步骤n
?
在顺序结构中可能 会用到哪几种程序 框和流程线?
步骤n+1
S=
p(p - a)(p - b)(p - c)
作业: 设计房租收费的算法,其要求是:住房面积80平方米 以内,每平方米收费3元,住房面积超过80平方米时,超过部 分,每平方米收费5元.输入住房面积数,输出应付的房租.
算法分析: 第一步:输入住房面积S 第二步:根据面积选 择计费方式:如果S ຫໍສະໝຸດ Baidu于或等于80,则租 金为M=s×3,否则 为M=240+(S-80)×5
连接程序框
连接程序框图的两部分
知识探究(一):算法的程序框图 思考1:“判断整数n(n>2)是否为质数”的 算法步骤如何? 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示; 第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.
2.算法是由一系列明确和有限的计算步 骤组成的,我们可以用自然语言表述一 个算法,但往往过程复杂,缺乏简洁性, 因此,我们有必要探究使算法表达得更 加直观、准确的方法,这个想法可以通 过程序框图来实现.
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形. 通常,程序框图由程序框和流程线组成. 一个或几个程序框的组合表示算法中的一个步骤; 流程线是方向箭头,按照算法进行的顺序将程序 框连接起来.
求n除以i的余数r
i=i+1
反复执行的步 骤称为循环体.
i>n-1,或r=0?
否
是
循环结构
引例:设计一算法,求和:1+2+3+…+100
算法1: 第一步:确定首数a,尾数 b,项数n; 第二步:利用公式“总和 =(首数+尾数)×项数/2” 求和; 第三步:输出求和结果。 开始
思考3:基本的程序框和它们各自表示的功能?
图形符号 名称 终端框 (起止框) 输入、输 出框 处理框 (执行框) 判断框 流程线 连接点 功能 表示一个算法的起始 和结束 表示一个算法输入和 输出的信息 赋值、计算
判断某一条件是否成立,成立 时在出口处标明“是”或 “Y”;不”成立时标明“否” 或“N”.
[问题1]请你写出解二元一次方程组的详细求解 过程.
x y 35 2 x 4 y 94
(1) (2)
x y 35 解方程 2 x 4 y 94
第一步,由(1)得 x 35 y 第二步, 将(3)代入(2)得
(1) (2)
(3)
2(35 y) 4 y 94 (4) y 12 (5) 第三步, 解(4)得 第四步, 将(5)代入(3)得 x 23 x 23 第五步, 得到方程组的解得 y 12
开始 max=a 输入b 否 max=b
2.此为某一函数的求值程序 3.求函数 图,则满足该流程图的函数 解析式为( )(不能写成分 x2 段函数). y 开始 输入x
2 x, x 2 2, x 2
的值的算法流程图. 开始 否 输入x X<2? 是 是 输出max 结束 答案:1.求两个数中的最大值. 输出y 否
应用举例
例1.(2)设计一个算法判断35是否为质数.
第一步, 用2除35,得到余数1.因为余数不为0, 所以2不能整除35. 第二步, 用3除35,得到余数2.因为余数不为0, 所以3不能整除35.
第三步, 用4除35,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除35,得到余数0.因为余数为0, 所以5能整除35.因此,35不是质数.
求n除以i的余数r
说明:i表示从2~(n-1) i=i+1 i的值增加 1仍用i表示 的所有正整数,用以 判断例1步骤2是否终 否 i≥n或r=0? 止,i是一个计数变量, 是 有了这个变量,算法 否 r=0? 才能依次执行.逐步 是 考察从2~(n-1)的所 n是质数 n不是质数 有正整数中是否有n 的因数存在. 结束
思考4:通过上述算法的两种不同表达方式的比 较,你觉得用程序框图来表达算法有哪些特点?
用程序框图表示的算法更加简练,直观,流向清楚.
开始 输入n i=2
思考:5:用程序框图来表示 算法,有几种不同的基本逻 辑结构? 顺序结构
求n除以i的余数r
i=i+1 i≥n或r=0?
是 否 否
循环结构
r=0?
开始 输入a,b
S=(a+b)*0.5
否
S>=60? 是
学分=2 输出学分 结束
学分=0
练习2:设计一个求任意数的绝对值的算法,并画 出程序框图. 程序框图: x(当x 0时) 开始 | x | x(当x<0时) 算法分析: 第一步:输入数x; 第二步:判断x≥0是否 成立?若是,则|x|=x; 若否,则|x|=-x.
y=x
y=1
y=0
输出y 结束
P:50页A组T1(2)
开始
输入x
x<0? 否 x=0? 否 是
程序框图
是
( x 2) ( x 0) y 4( x 0) ( x 2) 2 ( x 0)
2
y=(x-2)2
y=4
y=(x+2)2
输出y
结束
知识探究(四):算法的循环结构 循环结构---在一些算法中,也经常会出现从 某处开始,按照一定条件,反复执行某一步 骤的情况,这就是循环结构.
任意给定一个大于1的整数n,试设计一个程序或步骤 对n是否为质数做出判定.
第一步:判断n是否等于2.若n=2,则n是质数; 若n>2,则执行第二步. 第二步:依次从2~(n-1)检验是不是n的因 数,即整除n的数,若有这样的数,则n不是质 数;若没有这样的数,则n是质数. •这是判断一个大于1的整数n是否为质数的 最基本算法. •用语言描述一个算法,最便捷的方式就是按 解决问题的步骤进行描述.每一步做一件事 情.
开始
输入面积S
否
S<=80 是 M=3*S M=240+5*(S-8)
第三步:输出房租M的值。
输出租金M
结束
课本50页1(1) 课堂讲评
开始
输入x
x<0? 否 0≤x<1? 否 是
程序框图
是
0( x 0) y 1(0 x 1) x ( x 1)
上交作业:
课本P50页A组 1(2), (画 出程序框图)
应用举例
例1.(1)设计一个算法判断7是否为质数.
第一步, 用2除7,得到余数1.因为余数不为0, 所以2不能整除7. 第二步, 用3除7,得到余数1.因为余数不为0, 所以3不能整除7.
第三步, 用4除7,得到余数3.因为余数不为0, 所以4不能整除7. 第四步, 用5除7,得到余数2.因为余数不为0, 所以5不能整除7. 第五步, 用6除7,得到余数1.因为余数不为0, 所以6不能整除7.因此,7是质数.
条件结构
否
r=0?
是
N不是质数
n是质数
条件结构---在一个算法中,经常会遇到一些 条件的判断,算法的流向根据条件是否成立 有不同的流向.条件结构就是处理这种过程 的结构.
否 否
满足条件?
是
满足条件?
是
步骤A
步骤B
步骤A
课本例4:任意给定3个正实数,设计一个算法,判 断分别以这3个数为三边边长的三角形是否存在. 画出这个算法的程序框图. 算法分析: 第一步:输入3个正实数a,b,c; 第二步:判断a+b>c,a+c>b,b+c>a是否同时成立, 若是,则能组成三角形;若否,则组不成三角形.
算法的概念:
广义地说:为了解决某一问题而采取的方 法和步骤,就称之为算法。 在数学中,按照一定规则解决某一类问 题的明确和有限的步骤,称为算法。 现在,算法通常可以编成计算机程序, 让计算机执行并解决问题。这些程序或步
骤必须是明确和有效的,而且能够在有限步之 内完成.
没有软件的支持,计算机只是一堆废铁而已; 软件的核心就是算法 !
课本5页 1
练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积. 算法分析: 第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.
课本5页 2
练习二:任意给定一个大于1的正整数n, 设计一个算法求出n的所有因数. 算法分析:
第一步:依次以2~(n-1)为除数去除n,判断 余数是否为0,若是,则是n的因数;若不是, 则不是n的因数.
x>3?
是
max>b?
y=x-2
y=4-x
y=-2
y x2 2x
结束 答案:2. y=|x-3|+1.
输出y 结束
作业:
P20页A组1;(画出程序框图)
作业: 设计房租收费的算法,其要求是:住房 面积80平方米以内,每平方米收费3元,住房面 积超过80平方米时,超过部分,每平方米收费5 元.输入住房面积数,输出应付的房租.
开始 输入n
思考2 : 为了使算法 的程序或步 骤表达得更 为直观,我们 更经常地用 图形方式来 表示它.
i=2
求n除以i的余数r
i=i+1 i的值增加 1仍用i表示 i≥n或r=0?
是 否 否
r=0?
是
n不是质数
结束
n是质数
开始 一般用i=i+1 表示. 输入n i=2
设n是一个大 于2的整数.
思考2:若一个三角形的三条边长分别为a,b, a + b+ c p = c,令 2 ,则三角形的面积 S = p( p - a )( p - b)( p - c) .你能利用这个公式 设计一个计算三角形面积的算法步骤吗? 第一步,输入三角形三条边的边长 a,b,c. 第二步,计算
a + b+ c p= . 2
开始
a 2, b 4, h 5
S 1 ( a b) h 2
输出
S
结束
顺序结构知识小结
顺序结构的程序框图的基本特征: (1)必须有两个起止框,穿插输入、输 出框和处理框,没有判断框. (2)各程序框从上到下用流程线依次 连接. (3)处理框按计算机执行顺序沿流程线 依次排列.
知识探究(三):算法的条件结构