当前位置:
文档之家› 1.1算法与程序框图-ppt
1.1算法与程序框图-ppt
开始
输入正整数n
x=2n-1 y=x2+5 输出y
结束
练习:
1.就(1)、(2)两种逻辑结构,说出各自的算法功能
第四步,输出S.
思考3:上述算法的程序框图如何表示?
开始 输入a,b,c
p= a+ b+ c 2
S = p(p - a)(p - b)(p - c)
输出S 结束
顺序结构------理论迁移
例1 一个笼子里装有鸡和兔共m只,且 鸡和兔共n只脚,设计一个计算鸡和兔各有多 少只的算法,并画出程序框图表示.
第一步, 用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不是质数.
第五步,
得到方程组的解得
x
y
23 12
x y 35
(1)
解方程 2x 4y 94 (2)
第一步, (1) 2 (2)得: -2y 24 (3) 第二步, 解(3)得: y 12
第三步, (1) 4 (2)得: 2x 46 (4)
第四步, 解(4)得: x 23
第五步,
得到方程组的解得
零点,进而得到零点近似值的方法
叫做二分法.
y x2 2 (x 0)
解决问题
×
第一步, 令 f (x) x2 2 .给定精确度d.
第二步, 给定区间[a,b],满足f(a) ·f(b)<0.
第三步,
取中间点
m
a
2
b
.
第四步, 若f(a) ·f(m) < 0,则含零点的区间为
[a,m];否则,含零点的区间为[m, b].
任意给定一个大于1的整数n,试设计一个程序或步骤
对n是否为质数做出判定.
第一步:判断n是否等于2.若n=2,则n是质数; 若n>2,则执行第二步.
第二步:依次从2~(n-1)检验是不是n的因
数,即整除n的数,若有这样的数,则n不是质 数;若没有这样的数,则n是质数.
•这是判断一个大于1的整数n是否为质数的 最基本算法.
问题的提出
有一个农夫带一条狼狗、一只羊和 一筐白菜过河。如果没有农夫看管,则 狼狗要吃羊,羊要吃白菜。但是船很小, 只够农夫带一样东西过河。问农夫该如 何解此难题?
方法和过程: 1、带羊到对岸,返回;
2、带菜到对岸,并把羊带回; 3、带狼狗到对岸,返回; 4、带羊到对岸。
[问题1]请你写出解二元一次方程组的详细求解 过程.
我们身边的算法
• 广播操图解是广播操的算法; • 菜谱是做菜的算法; • 歌谱是一首歌曲的算法; • 空调说明书是空调使用的算法等
算法学的发展
• 随着科学技术的日新月异,算法学也得到 了前所未有的发展,现在已经发展到了各个 领域.有遗传算法,排序算法,加密算法,蚁群 算法等,与生物学,计算机科学等有着很广泛 的联系,尤其是在现在的航空航天中,更是有 着更广泛的应用. 很多复杂的运算都是借助计算机和算法 来完成的,在高端科学技术中有着很重要的 地位.
课本5页 2
练习二:任意给定一个大于1的正整数n, 设计一个算法求出n的所有因数. 算法分析:
第一步:依次以2~(n-1)为除数去除n,判断 余数是否为0,若是,则是n的因数;若不是, 则不是n的因数.
第二步:在n的因数中加入1和n;
第三步:输出n的所有因数.
练习三:为了加强居民的节水意识,某市制订了 以下生活用水收费标准:每户每月用水未超过 7m3时,每立方米收费1.0元,并加收0.2元的城 市污水处理费;超过7m3的部分,每立方米收费 1.5元,并加收0.4元的城市污水处理费,请你写 出某户居民每月应交纳的水费y(元)与用水量 x(m3)之间的函数关系,然后设计一个求该函 数值的算法.
• 科学家王小云主导破解两 大密码算法获百万大奖
• 杨振宁教授 为获得“求 是杰出科学 家奖”的山 东大学特聘 教授王小云 颁发了获奖 证书和奖金 100万元人 民币,表彰 其密码学领 域的杰出成 就。
应用举例
例1.(1)设计一个算法判断7是否为质数.
第一步, 用2除7,得到余数1.因为余数不为0, 所以2不能整除7.
第三步:输出应交纳的水费y.
计算机解决任何问题都要依 赖于算法.只有将解决问题的过程 分解为若干个明确的步骤,即算法, 并用计算机能够接受的“语言” 准确地描述出来,计算机才能够解 决问题.
1.1.2 程序框图
问题提出
1.算法的含义是什么?
在数学中,按照一定规则解决某一 类问题的明确和有限的步骤称为算法.
d 1 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625
评析:实际上,上述步骤就是在求 2的近似值.
与一般的解决问题的过程比较,算法有以下特 征:
①设计一个具体问题的算法时,与过去熟悉地 解数学题的过程有直接的联系,但这个过程必 须被分解成若干个明确的步骤,而且这些步骤 必须是有效的.
第二步, 用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是质数.
应用举例
例1.(2)设计一个算法判断35是否为质数.
x y 35
(1)
2x 4y 94 (2)
x y 35
(1)
解方程 2x 4y 94 (2)
第一步,由(1)得 x 35 y (3)
第二步, 将(3)代入(2)得
2(35 y) 4y 94 (4)
第三步, 解(4)得 y 12 (5)
第四步, 将(5)代入(3)得 x 23
思考3:基本的程序框和它们各自表示的功能?
图形符号
名称 终端框 (起止框) 输入、输 出框 处理框 (执行框)
判断框
流程线
功能 表示一个算法的起始 和结束 表示一个算法输入和 输出的信息
赋值、计算
判断某一条件是否成立,成立 时在出口处标明“是”或 “Y”;不”成立时标明“否”
或连“N接”.程序框
连接点 连接程序框图的两部分
i=i+1
i≥n或r=0?
是
r=0?
是
n不是质数
否 否
n是质数
循环结构 条件结构
结束
知识探究(二):算法的顺序结构 思考1:任何一个算法各步骤之间都有明确的 顺序性,在算法的程序框图中,由若干个依 次执行的步骤组成的逻辑结构,称为顺序结 构,用程序框图可以表示为:
步骤n
步骤n+1
S = p(p - a)(p - b)(p - c)
第四步,判断“r=0”是否成立.若是,则n 不是质数,结束算法;否则,将i 的值增加1,仍用i表示;
第五步,判断“i>(n-1)”是否成立,若是, 则n是质数,结束算法;否则,返回 第三步.
思考2 : 为了使算法 的程序或步 骤表达得更 为直观,我们 更经常地用 图形方式来 表示它.
开始 输入n
i=2
解:y与x之间的函数关系为:
1.2x, (当0≤x≤7时) y 1.9x 4.9(当x>7时)
解:y与x之间的函数关系为:
1.2x, (当0≤x≤7时) y 1.9x 4.9(当x>7时)
求该函数值的算法分析:
第一步:输入每月用水量x;
第二步:判断x是否不超过7.若是m 1.5 1.25 1.375 1.4375 1.40625 1.421875 1.4140625 1.41796875 1.41601563
f(m) 0.25 -0.4375 -0.109375 0.06640625 -0.02246094 0.021728516 -0.00042725 0.010635376 0.00510025
②算法要“面面俱到”,不能省略任何一个细 小的步骤,只有这样,才能在人设计出算法后, 把具体的执行过程交给计算机完成.
课本5页 1
练习一:任意给定一个正实数,设计一个 算法求以这个数为半径的圆的面积.
算法分析:
第一步:输入任意一个正实数r; 第二步:计算以r为半径的圆的面积S=πr2; 第三步:输出圆的面积.
2.算法是由一系列明确和有限的计算步 骤组成的,我们可以用自然语言表述一 个算法,但往往过程复杂,缺乏简洁性, 因此,我们有必要探究使算法表达得更 加直观、准确的方法,这个想法可以通 过程序框图来实现.
知识探究(一):算法的程序框图 思考1:“判断整数n(n>2)是否为质数”的 算法步骤如何? 第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r;
求n除以i的余数r
i的值增加i=1i+仍1用i表示
i≥n或r=0?
是
r=0?
是
n不是质数
否 否
n是质数
结束
程序框图又称流程图,是一种用规定的图形、 指向线及文字说明来准确、直观地表示算法的 图形.
通常,程序框图由程序框和流程线组成.
一个或几个程序框的组合表示算法中的一个步骤;
流程线是方向箭头,按照算法进行的顺序将程序 框连接起来.
算法分析:
第一步,输入m,n. 第二步,计算鸡的只数x = 4m - n .
2
第三步,计算兔的只数y=m-x.
第四步,输出x,y.
程序框图:
开始 输入m,n x = 4m - n