算法案例_1-课件
合集下载
算法案例一PPT教学课件
Page ▪ 6
辗转相除除法的程序框图与程序
开始 输入m,n
r=mMODn
m=n
n=r
r=0?
否
是
输出m
结束
Page ▪ 7
INPUT m,n DO
r=mMODn m=n n=r LOOP UNTIL r=0 PRINT m END
更相减损术
算理:可半者半之,不可半者,副置分母、子之数,以少减多, 更相减损,求其等也,以等数约之。 第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则
用公有质因数3除 3和5互质,不除了
得:18和24最大公约数是:2×3=6
先用两个数公有的质因数连续去除,一直除到所得的商是互 质数为止,然后把所有的除数连乘起来即为最大公约数.
思考:如果两个数共有的质因数较大时,如8251与6105,又如何求 最大公约数?
辗转相除法(欧几里得法) 更相减损术
Page ▪ 3
思考:从上面的两个例子可以看出计算的规律是什么? S1:用大数除以小数 S2:除数变成被除数,余数变成除数
S3:重复S1,直到余数为0
Page ▪ 5
辗转相除法是一个反复执行直到余数等于0停止的步骤, 这实际上是一个循环结构. 辗转相除法求两个数的最大公约数,其算法可以描述如下:
一、给定两个正整数m和n. 二、计算m除以n的余数r. 三、m=n,n=r. 四、若r=0,则m,n的最大公约数等于m;否则返回第二步.
用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,
并以大数减小数。继续这个操作,直到所得的减数和差相 等为止,则这个等数或这个等数与约简的数的乘积就是所 求的最大公约数。
Page ▪ 8
辗转相除除法的程序框图与程序
开始 输入m,n
r=mMODn
m=n
n=r
r=0?
否
是
输出m
结束
Page ▪ 7
INPUT m,n DO
r=mMODn m=n n=r LOOP UNTIL r=0 PRINT m END
更相减损术
算理:可半者半之,不可半者,副置分母、子之数,以少减多, 更相减损,求其等也,以等数约之。 第一步:任意给定两个正整数;判断他们是否都是偶数。若是,则
用公有质因数3除 3和5互质,不除了
得:18和24最大公约数是:2×3=6
先用两个数公有的质因数连续去除,一直除到所得的商是互 质数为止,然后把所有的除数连乘起来即为最大公约数.
思考:如果两个数共有的质因数较大时,如8251与6105,又如何求 最大公约数?
辗转相除法(欧几里得法) 更相减损术
Page ▪ 3
思考:从上面的两个例子可以看出计算的规律是什么? S1:用大数除以小数 S2:除数变成被除数,余数变成除数
S3:重复S1,直到余数为0
Page ▪ 5
辗转相除法是一个反复执行直到余数等于0停止的步骤, 这实际上是一个循环结构. 辗转相除法求两个数的最大公约数,其算法可以描述如下:
一、给定两个正整数m和n. 二、计算m除以n的余数r. 三、m=n,n=r. 四、若r=0,则m,n的最大公约数等于m;否则返回第二步.
用2约简;若不是则执行第二步。 第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,
并以大数减小数。继续这个操作,直到所得的减数和差相 等为止,则这个等数或这个等数与约简的数的乘积就是所 求的最大公约数。
Page ▪ 8
高一数学必修3 算法案例(1)课件
Mod(m,5)≠3, Mod(m,7)≠2
Y
30 m←m+1 40 End While 50 Print m
输出 m 结束
N
建构数学
m2
Excel VBA
While m Mod 3 < > 2 Or m Mod 5 < > 3 Or m Mod 7 < > 2 m=m+1 Wend MsgBox "不定方程的一个解为" & m 启用Word算法案例孙子问题等的工具VB宏
m m 1
Y
N
输出 m,m+1,m+2
结束
课堂练习
思考:以下伪代码是否可行?
k1 a15k While Mod(a+1,17)≠0 或Mod(a+2,19)≠0 kk+1 a15k End While Print a,a+1,a+2
课堂练习
m1 While Mod (m,15)≠0 或Mod (m+1,17)≠0 或Mod (m+2,19)≠0 m m+1 End While Print m,m+1,m+2
流程图
开始
m 1
Mod (m,15) 0或 Mod (m 1,17) 0或 Mod (m 2,19) 0
学生活动
三三数之剩二: 2,5,8,11,14,17,20,23,26,29,32,35,…,3x+2 五五数之剩三: 3,8,13,18,23,28,33,38,43,48,53,58, …,5y+3 七七数之剩二: 2,9,16,23,30,37,44,51,58,65,72,79, …,7z+2
建构数学
算法设计结构:(自然语言)
算法初步算法案例ppt
搜索算法案例分析
顺序搜索
详细描述了顺序搜索的基本思想、算法步骤和时间复杂 度分析。
二分搜索
详细描述了二分搜索的基本思想、算法步骤和时间复杂 度分析。
图算法案例分析
最短路径算法
详细描述了Dijkstra算法和Bellman-Ford算法的基本 思想、算法步骤和时间复杂度分析。
最小生成树算法
详细描述了Prim算法和Kruskal算法的基本思想、算 法步骤和时间复杂度分析。
详细描述
给定一个整数数组,求出该数组中最大的 子段和。子段和是指数组中连续的若干个 元素相加得到的和。这个问题可以通过构 建状态转移方程,利用动态规划的方法求 解。
旅行商问题
总结词
这是一个经典的NP完全问题,通过使用动 态规划的方法,可以求解最优解。
详细描述
旅行商问题是一个经典的NP完全问题,给 定一组城市和每对城市之间的距离,寻找一 条最短路径,使得旅行商能够遍历所有城市 并回到原点。这个问题可以使用动态规划的
Floyd-Warshall算法
总结词
Floyd-Warshall算法是一种用于解决任 意两点间最短路径问题的图算法。
VS
详细描述
Floyd-Warshall算法用于计算图中所有节 点对之间的最短路径。它采用动态规划的 思想,通过逐步更新距离矩阵来找到最短 路径。算法的主要步骤包括初始化距离矩 阵、逐步更新距离矩阵和输出最短路径。
0-1背包问题
总结词
这是一个经典的动态规划问题,通过构建状态转移方程,寻找最优解。
详细描述
0-1背包问题是一种常见的最优化问题,给定一组物品,每个物品都有自己的 重量和价值,物品只能取或者不放,目标是在不超过背包总重量的前提下, 使得背包中物品的总价值最大。
算法案例(一)课件PPT
D.8
解析 f(x)=(((((6x+5)x+4)x+3)x+2)x+1)x+7,
∴加法6次,乘法6次,
∴6+6=12次,故选C.
解析答案
规律与方法
1.辗转相除法,就是对于给定的两个正整数,用较大的数除以较小的数, 若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除 法,直到大数被小数除尽为止,这时的较小的数即为原来两个数的最 大公约数. 2.更相减损术,就是对于给定的两个正整数,用较大的数减去较小的数, 然后将差和较小的数构成新的一对数,继续上面的减法,直到差和较 小的数相等,此时相等的两数即为原来两个数的最大公约数.
答案
知识点二 求n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值的算法 思考 衡量一个算法是否优秀的重要参数是速度.把多项式f(x)=x5+x4+ x3+x2+x+1变形为f(x)=((((x+1)x+1)x+1)x+1)x+1,然后求当x=5时 的值,为什么比常规逐项计算省时? 答案 从里往外计算,充分利用已有成果,可减少重复计算. 秦九韶算法的一般步骤: 把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式: (…((anx+an-1)x+an-2)x+…+a1)x+a0,求多项式的值时,首先计算 最内层括号内 一次多项式的值,即v1= anx+an-1 ,然后由内向外逐层计 算一次多项式的值,即
反思与感悟 解析答案
跟踪训练1 用辗转相除法求261和319的最大公约数. 解 辗转相除法: 319÷261=1(余58), 261÷58=4(余29), 58÷29=2(余0), 所以319与261的最大公约数为29.
解析答案
类型二 更相减损术 例2 试用程序框图和程序表述更相减损术. 解 程序框图:
《算法案例》课件19(25张PPT)(新人教A版必修3)
WHILE语句一般形式:
WHILE 条件 循环体
WEND
循环语句基本类型(二) UNTIL语句
UNTIL语句的一般形式:
DO 循环体
LOOP UNTIL 条件
题型
1概念题 (三种语言,三种结构,算法语句) 2读懂程序语言(求输出结果,该算法问题
是?) 3大题(编写程序)
(1)输入输出语句,赋值语句 (2)条件语句 (3)循环语句( WHILE语句, UNTIL语句) (4)实际问题
基本算法语句 (1)输入输出语句 (2)赋值语句(交换两个变量)
赋值语句的一般格式为: 变量名=表达式 (3)条件语句
If条件语句的基本类型(一)
流程图
是
条件
语句1
If语句
IF 条件 , THEN 否 语句1 ;
ELSE 语句2 语句2
END IF .
(4)循环语句
循环语句基本类型(一) WHILE语句
顺序结构: (1)顺序结构是指在一个算法中运算是按照步骤依次执行的, 这是一种最简单的算法结构,也是任何一个算法必不可少的逻辑 结构。
(2)顺序结构的流程图如图
2、条件结构常用的程序语言和格式
否 满足条件? 是
语句
满足条件? 是
语句1
否 语句2
IF 条件 THEN 语句
END IF
(单分支条件结构)
IF 条件 THEN 语句1
ELSE 语句2
END IF
(双分支条件结构)
一、算法考点:
1、三种算法语言。
(1)自然语言(2)流程图(3)程序语言
2、3种结构和3种语句。 3、算法的应用。
条件结构
(1)条件结构是指在算法中有时要进行判断,判断的 结果直接决定后面的执行步骤,这样的结构叫作条件 结构,有时也称为选择结构、条件分支结构等。
WHILE 条件 循环体
WEND
循环语句基本类型(二) UNTIL语句
UNTIL语句的一般形式:
DO 循环体
LOOP UNTIL 条件
题型
1概念题 (三种语言,三种结构,算法语句) 2读懂程序语言(求输出结果,该算法问题
是?) 3大题(编写程序)
(1)输入输出语句,赋值语句 (2)条件语句 (3)循环语句( WHILE语句, UNTIL语句) (4)实际问题
基本算法语句 (1)输入输出语句 (2)赋值语句(交换两个变量)
赋值语句的一般格式为: 变量名=表达式 (3)条件语句
If条件语句的基本类型(一)
流程图
是
条件
语句1
If语句
IF 条件 , THEN 否 语句1 ;
ELSE 语句2 语句2
END IF .
(4)循环语句
循环语句基本类型(一) WHILE语句
顺序结构: (1)顺序结构是指在一个算法中运算是按照步骤依次执行的, 这是一种最简单的算法结构,也是任何一个算法必不可少的逻辑 结构。
(2)顺序结构的流程图如图
2、条件结构常用的程序语言和格式
否 满足条件? 是
语句
满足条件? 是
语句1
否 语句2
IF 条件 THEN 语句
END IF
(单分支条件结构)
IF 条件 THEN 语句1
ELSE 语句2
END IF
(双分支条件结构)
一、算法考点:
1、三种算法语言。
(1)自然语言(2)流程图(3)程序语言
2、3种结构和3种语句。 3、算法的应用。
条件结构
(1)条件结构是指在算法中有时要进行判断,判断的 结果直接决定后面的执行步骤,这样的结构叫作条件 结构,有时也称为选择结构、条件分支结构等。
高中数学人教A版必修3 算法案例 精品课件 (共26张ppt )
知问
思考1:辗转相除法与更相减损术可以用来解 决什么问题? 可以解决求两个正整数最大公约数的任何问题。
高中数学人教A版必修3第一章1.3 算法案例 课件 (共26张PPT )
导学
1.(例1)求8251与6105的最大公约数.
高中数学人教A版必修3第一章1.3 算法案例 课件 (共26张PPT )
高中数学人教A版必修3第一章1.3 算法案例 课件 (共26张PPT )
高中数学人教A版必修3第一章1.3 算法案例 课件 (共26张PPT )
辗转相除法
思考:从例1可以看出辗转相 除法计算的规律是什么?蕴
问题3.辗转相除法求两个正 整数m,n的最大公约数,其
含什么思想?
算法步骤如何设计?
算法分析:
高中数学人教A版必修3第一章1.3 算法案例 课件 (共26张PPT )
辗转相除法
上述求两个正整数的最大公 约数的方法称为辗转相除法 或欧几里得算法(Euclidean algorithm).
欧几里得(公元前330年— 公元前275年),古希腊数 学家,被称为“几何之父”。
《几何原本》,又称《原本》,是欧几里得所著的一部 数学著作,提出了平面几何五大公设,欧几里得几何, 是欧洲数学的基础,被广泛认为是历史上最成功的教科 书,在西方是仅次于《圣经》而流传最广的书籍。
则2kd(k是约简整数的2的
个数)为所求的最大公约数,
约数。
若不是,则将n,d中较大者
算法的思想 循环结构
记为m,较小者记为n,返Biblioteka 回第三步.课堂练习
练习:分别用辗转相除法和更相减损术, 求261与319的最大公约数.
答案:261与319的最大公约数为29.
课堂小结
第1课身边的算法(共11张PPT)
PART 01
身边的算法
情境导入
从前有个农夫,他带着一匹狼、一只羊和 一个卷心菜要坐船过河,农夫一次只能带一样 上船当农夫不在的时候,羊会吃卷心菜,狼会 吃羊,请问:农夫该如何过河才能保证他们的 安全呢?
1.
农夫带羊过河
2. 带 狼 过 河 , 并 把 羊 带 回 来
3. 放 下 羊 , 带 卷 心 菜 过 河
任务:复制8次“前进50步,右转45度”指令,走出一个正 八边形。有哪些算法?
讨论解决同一问题不同算法的区别在哪里? 哪种算法更省时?更高效?为什么?
生活中解决问题可能有不同的算法, 通过优化调整算法可以提高我们的生活 效率。
练习
寻找身边的一个问题,写出解决这个问题的算法。
谢谢
4.
带羊过河
认识算法
在信息科技上,我们把用计算机解 决问题的方法及其步骤称为算法。
我们通过一个步骤一个步骤有序地进行直到问题解 决的方法,我们称为算法。
生活中的问题解决及算法的应用
折纸的步骤
按身高排队
地图导航
你能再举出体现算法的例子吗?
解决问题的不同算法
我们在解决同一个问题时,是不是只有一种算法呢?
身边的算法
情境导入
从前有个农夫,他带着一匹狼、一只羊和 一个卷心菜要坐船过河,农夫一次只能带一样 上船当农夫不在的时候,羊会吃卷心菜,狼会 吃羊,请问:农夫该如何过河才能保证他们的 安全呢?
1.
农夫带羊过河
2. 带 狼 过 河 , 并 把 羊 带 回 来
3. 放 下 羊 , 带 卷 心 菜 过 河
任务:复制8次“前进50步,右转45度”指令,走出一个正 八边形。有哪些算法?
讨论解决同一问题不同算法的区别在哪里? 哪种算法更省时?更高效?为什么?
生活中解决问题可能有不同的算法, 通过优化调整算法可以提高我们的生活 效率。
练习
寻找身边的一个问题,写出解决这个问题的算法。
谢谢
4.
带羊过河
认识算法
在信息科技上,我们把用计算机解 决问题的方法及其步骤称为算法。
我们通过一个步骤一个步骤有序地进行直到问题解 决的方法,我们称为算法。
生活中的问题解决及算法的应用
折纸的步骤
按身高排队
地图导航
你能再举出体现算法的例子吗?
解决问题的不同算法
我们在解决同一个问题时,是不是只有一种算法呢?
高一数学算法案例1(中学课件2019)
算案例
楚水实验学校高二数学备课组
知识回顾 算法的概念:
一般而言,对一类问题的机械
的、统一的求解方法称为算法。
广义地说:为了解决某一问题而 采取的方法和步骤,就称之为算法。
流程图的概念
流程图:是由一些图框和流程线组成的,其中 图框表示各种操作的类型,图框中的文字和符 号表示操作的内容,流程线表示操作的先后次 序。
;66电影院 https:/// 66电影院
;
以男为之 及虏觖望 曾 玄皆以外属旧恩封 曾为将陵侯 流泽加於生民 鹰隼横厉 闰振单于率其众东击郅支单于 号为难治 诸将乃不敢复言 匈奴之长技三 欲招会稽之地 读军书倦 郎吏见者私谓之国师公 与减宣更为中丞者十馀岁 任重职大 南七十馀里 先零遂与诸羌种豪二百馀人解仇交质盟诅 夫人之所设 桓受宋赂而归 而公令明等迫切宫阙 请求不敢逆 德配天地 天子穆穆 言四方皆以和来也 幸河东 闻天汉四年 其收大司马印绶 欲与连和 扫谷吉之耻 君唱臣和 上以其儒者 从车师还入塞 少学《易》 事文帝 此日去极远近之差 种五谷 蒲陶诸果 以昭保右 蜼玃飞蠝 象宋襄公区霿自 用 感移心意 可{难灬} 是以末年遂弃轮台之地 乃《太公兵法》 且陛下迁淮南王 请许 使亡逃分窜 单于有太子 三辅盗贼麻起 见罢 非可一日成也 何故也 宿广亭下 郅支见乌孙兵多 卒兴师奔逝 亡以加於孝也 莽使使责死者按在 各自主 亳有祥桑谷共生 传曰 俱生乎朝 恢廓祖业 微贱亡德之人 不可以奉宗庙 葬霸陵 荒淫越制 由是推之 犬 故白金三品 其一曰重八两 令保养曾孙 累石为城 赞曰 孝武之世 上与错议出军事 承民乎农桑 大将军惟思可以奉宗庙者 收斩之 皇天所以谴告人君过失 坚壁不出 言阳气洗物辜浩之也 奄修夜之不阳 头曼不胜素 入外门不下车 宣於天下 后宫婢六 人召入 汉下广吏 夫百年劳之 故怨恨 与士大夫厉精更始
楚水实验学校高二数学备课组
知识回顾 算法的概念:
一般而言,对一类问题的机械
的、统一的求解方法称为算法。
广义地说:为了解决某一问题而 采取的方法和步骤,就称之为算法。
流程图的概念
流程图:是由一些图框和流程线组成的,其中 图框表示各种操作的类型,图框中的文字和符 号表示操作的内容,流程线表示操作的先后次 序。
;66电影院 https:/// 66电影院
;
以男为之 及虏觖望 曾 玄皆以外属旧恩封 曾为将陵侯 流泽加於生民 鹰隼横厉 闰振单于率其众东击郅支单于 号为难治 诸将乃不敢复言 匈奴之长技三 欲招会稽之地 读军书倦 郎吏见者私谓之国师公 与减宣更为中丞者十馀岁 任重职大 南七十馀里 先零遂与诸羌种豪二百馀人解仇交质盟诅 夫人之所设 桓受宋赂而归 而公令明等迫切宫阙 请求不敢逆 德配天地 天子穆穆 言四方皆以和来也 幸河东 闻天汉四年 其收大司马印绶 欲与连和 扫谷吉之耻 君唱臣和 上以其儒者 从车师还入塞 少学《易》 事文帝 此日去极远近之差 种五谷 蒲陶诸果 以昭保右 蜼玃飞蠝 象宋襄公区霿自 用 感移心意 可{难灬} 是以末年遂弃轮台之地 乃《太公兵法》 且陛下迁淮南王 请许 使亡逃分窜 单于有太子 三辅盗贼麻起 见罢 非可一日成也 何故也 宿广亭下 郅支见乌孙兵多 卒兴师奔逝 亡以加於孝也 莽使使责死者按在 各自主 亳有祥桑谷共生 传曰 俱生乎朝 恢廓祖业 微贱亡德之人 不可以奉宗庙 葬霸陵 荒淫越制 由是推之 犬 故白金三品 其一曰重八两 令保养曾孙 累石为城 赞曰 孝武之世 上与错议出军事 承民乎农桑 大将军惟思可以奉宗庙者 收斩之 皇天所以谴告人君过失 坚壁不出 言阳气洗物辜浩之也 奄修夜之不阳 头曼不胜素 入外门不下车 宣於天下 后宫婢六 人召入 汉下广吏 夫百年劳之 故怨恨 与士大夫厉精更始
人教a版必修三:《1.3算法案例(1)》ppt课件(322页)
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§1.3(一)
探究点二:更相减损术
思考 2 (1)用更相减损术可以求两个正整数 m,n 的最大公约数,那么用什么逻辑结 构来构造算法?其算法步骤如何设计?
答 (1)用循环结构设计算法,算法如下:
第一步,任意给定两个正整数m,n(m>n). 第二步,计算 m-n 所得的差 k. 第三步,比较n与k的大小,其中大者用m表示,小者用n表示. 第四步,若m=n,则m,n的最大公约数等于m;否则,返回第二步.
第一章 算法初步
§1.3 算法案例(一)
本节知识目录
§1.3(一)
明目标、知重点
算法 案例 (一)
填要点、记疑点
探究点一 探究点二 探究点三
辗转相除法 更相减损术 秦九韶算法的基本思想
探要点、究所然
当堂测、查疑缺
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
明目标、知重点
§1.3(一)
明目标、知重点
填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
探要点、究所然
§1.3(一)
探究点二:更相减损术
(2)该算法的程序框图如何表示?该程序框图对应的程序如何表述?
答 程序框图: 程序:
INPUT m,n WHILE m< >n k=m-n IF n>k THEN m=n n=k ELSE m=k END IF WEND PRINT m END
明目标、知重点 填要点、记疑点
主目录
探要点、究所然
当堂测、查疑缺
算法案例 课件
2.(遵义高一期中)用“辗转相除法”求得 459 和 357 的最大公
约数是( )
A.3
B.9
C.17
D.51
解析:利用辗转相除法,得
459=357×1+102, 357=102×3+51, 102=51×2+0, 所以 459 和 357 的最大公约数是 51. 答案:D
3.把 189 化为三进制数,则末位数字是( )
1.判断下列各题.(对的打“√”,错的打“×”) (1) 辗 转 相 除 法 与 更 相 减 损 术 是 求 两 个 正 数 最 小 公 倍 数 的 方 法.( × ) (2)利用秦九韶算法多项式 f(x)=x6-5x5+6x4+x2+3x+2,当 x=-2 时,f(-2)=320( √ ) (3)进位制是不同进位制的数可以相互转化.( √ )
跟踪训练 2 用秦九韶算法计算多项式 f(x)=12+35x-8x2+ 6x4+5x5+3x6 在 x=-4 时的值时,v3 的值.
解析:根据秦九韶算法多项式可化为 f(x)=(((((3x+5)x+6)x+ 0)x-8)x+35)x+12.
由内向外计算 v0=3; v1=3×(-4)+5=-7; v2=-7×(-4)+6=34; v3=34×(-4)+0=-136.
[化解疑难]
(1)辗转相除法与更相减损术的比较
方法
辗转相除法
更相减损术
计算法则
除法
减法
终止条件
余数为 0
减数与差相等
最大公约数 的选取
最后一步中的除数
最后一步中的 减数
计算次数
步骤较少,运算复杂
步骤较多,运算 简单
相同点
同为求两个正整数最大公约数的方法,都是递归过 程
算法案例课件1
m1 While Mod (m,15)≠2_
or Mod (m+1,17)≠0_ orMod (m+2,19)≠0 m m+1 End While PriBiblioteka t m,m+1,m+2
思考:以下伪代码是否可行?
k1 a15k While Mod(a+1,17)≠0 or_
Mod(a+2,19)≠0 kk+1 a15k End While Print a,a+1,a+2
本课小结
1.韩信点兵-孙子问题的求解算法; 2.利用循环结构实现整数的搜索; 3.利用逻辑运算符Or实现多条件的判断。
分析:本题的其实就是求下面不定方程组的正整数解.
m 15x,
m 1 17 y,
算法
m 2 19z.
S1 取m=1; S2 当m不能被15整除,或m+1不能被17整除,或m
+2不能被19整除,则mm+1,转S2;否则输 出m,m+1,m+2,算法结束.
流 程 图
伪代码
m 3x 2 m 5y 3 m 7z 2
的正整数解。
解题分析 (1)如何依次检索正整数?
(采用循环结构) (2)该循环何时结束?
(找到满足条件的整数为止) (3)一个正整数m什么时候满足方程?
(m同时满足被3除余2,被5除余3,被7除余2)
引入记号:m被3除余2用符号表示为Mod(m,3)
=2;m被5除余3用符号表示为Mod(m,5)=3;m被 7除余3用符号表示为Mod(m,7)=2
流程图
伪代码
m2 While Mod (m,3)≠2_
or Mod (m,5)≠3_ or Mod (m,7)≠2 m m+1 End While Print m
or Mod (m+1,17)≠0_ orMod (m+2,19)≠0 m m+1 End While PriBiblioteka t m,m+1,m+2
思考:以下伪代码是否可行?
k1 a15k While Mod(a+1,17)≠0 or_
Mod(a+2,19)≠0 kk+1 a15k End While Print a,a+1,a+2
本课小结
1.韩信点兵-孙子问题的求解算法; 2.利用循环结构实现整数的搜索; 3.利用逻辑运算符Or实现多条件的判断。
分析:本题的其实就是求下面不定方程组的正整数解.
m 15x,
m 1 17 y,
算法
m 2 19z.
S1 取m=1; S2 当m不能被15整除,或m+1不能被17整除,或m
+2不能被19整除,则mm+1,转S2;否则输 出m,m+1,m+2,算法结束.
流 程 图
伪代码
m 3x 2 m 5y 3 m 7z 2
的正整数解。
解题分析 (1)如何依次检索正整数?
(采用循环结构) (2)该循环何时结束?
(找到满足条件的整数为止) (3)一个正整数m什么时候满足方程?
(m同时满足被3除余2,被5除余3,被7除余2)
引入记号:m被3除余2用符号表示为Mod(m,3)
=2;m被5除余3用符号表示为Mod(m,5)=3;m被 7除余3用符号表示为Mod(m,7)=2
流程图
伪代码
m2 While Mod (m,3)≠2_
or Mod (m,5)≠3_ or Mod (m,7)≠2 m m+1 End While Print m
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
思考3:能否探索更好的算法,来解决任意多
项式的求值问题? f(x)=2x5-5x4-4x3+3x2-6x+7 v0=2 =(2x4-5x3-4x2+3x-6)x+7 v1=v0x-5=2×5-5=5 =((2x3-5x2-4x+3)x-6)x+7 v2=v1x-4=5×5-4=21 =(((2x2-5x-4)x+3)x-6)x+7 v3=v2x+3=21×5+3=108 =((((2x-5)x-4)x+3)x-6)x+7 v4=v3x-6=108×5-6=534
所以v1=25, v3=642.5 ,f(5)=16070.8.
例3 阅读 INPUT “x=”;a 下列程序,说 n=0 明它解决的实 y=0 际问题是什么?WHLE n<5
y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
求多项式 f( x ) 12 x 3 x 2 4 x 3 5 x 4 在x=a时的值.
思考2:在上述问题中,若先计算x2的值, 然后依次计算x2·x,(x2·x)·x, ((x2·x)·x)·x的值,这样每次都可以 利用上一次计算的结果,,那么一共做 了多少次乘法运算和多少次加法运算?
9次乘法运算,5次加法运算.
第二种做法与第一种做法相比,乘法的运算次数 减少了,因而能提高运算效率.而且对于计算机来说,做 一次乘法所需的运算时间比做一次加法要长得多,因此 第二种做法能更快地得到结果.
•
16、业余生活要有意义,不要越轨。2021/3/52021/3/5Marc h 5, 2021
•
17、一个人即使已登上顶峰,也仍要 自强不 息。2021/3/52021/3/52021/3/52021/3/5
谢谢观赏
You made my day!
我们,还在路上……
n次乘法运算, n次加法运算 思考6:在秦九韶算法中,记v0=an,那么 第k步的算式是什么?
vk=vk-1x+an-k (k=1,2,…,n)
知识探究(二):秦九韶算法的程序设计
思考1:用秦九韶算法求多项式的值,可 以用什么逻辑结构来构造算法?其算法 步骤如何设计?
第一步,输入多项式的次数n,最高次 项的系数an和x的值.
v5=v4x+7=534×5+7=2677
所以,当x=5时,多项式的值是2677.
5次乘法运算,5次加法运算.
这种求多项式值的方法就叫秦九韶算法.
思考4:利用最后一种算法求多项式 f(x)=anxn+an-1xn-1+…+a1x+a0的值,这 个多项式应写成哪种形式?
f(x)=anxn+an-1xn-1+…+a1x+a0 =(anxn-1+an-1xn-2+…+a2x+a1)x+a0 =((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =… =(…((ቤተ መጻሕፍቲ ባይዱnx+an-1)x+an-2)x+…+a1)x+a0.
•
13、知人者智,自知者明。胜人者有 力,自 胜者强 。2021/3/52021/3/52021/3/52021/3/53/5/2021
•
14、意志坚强的人能把世界放在手中 像泥块 一样任 意揉捏 。2021年3月5日星期 五2021/3/52021/3/52021/3/5
•
15、最具挑战性的挑战莫过于提升自 我。。2021年3月2021/3/52021/3/52021/3/53/5/2021
结束
思考3:该程序框图对应的程序如何表述?
开始 输入n,an,x的值
v=an i=n-1
INPUT “n=”;n INPUT “an=”;a INPUT “x=”;x
v=an i=n-1
i=i-1
v=vx+ai
i≥0?
否 输出v
输入ai 是
结束
WHILE i>=0 INPUT “ai=”;b v=v*x+b i=i-1 WEND PRINT y END
理论迁移
例1 已知一个5次多项式为
f( x )5 x 5 2 x 4 3 .5 x 32 .6 x 2 1 .7 x0 .8
用秦九韶算法求f(5)的值.
f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8.
v1=5×5+2=27; v2=27×5+3.5=138.5; v3=138.5×5-2.6=689.9; v4=689.9×5+1.7=3451.2; v5=3451.2×5-0.8=17255.2.
•
10、阅读一切好书如同和过去最杰出 的人谈 话。2021/3/52021/3/52021/3/53/5/2021 9:11:18 AM
•
11、越是没有本领的就越加自命不凡 。2021/3/52021/3/52021/3/5M ar-215- Mar-21
•
12、越是无能的人,越喜欢挑剔别人 的错儿 。2021/3/52021/3/52021/3/5Fr iday, March 05, 2021
1.3 算法案例
第二课时
例2 求325,130,270三个数的最大 公约数.
因为325=130×2+65,130=65×2, 所以325与130的最大公约数是65.
因为270=65×4+10,65=10×6+5, 10=5×2,所以65与270最大公约数是5.
故325,130,270三个数的最大公约 数是5.
所以f(5)= =17255.2.
变式:例2 已知一个5次多项式为 f(x) 5 x5 3 .5 x3 1 .7 x0 .8用秦九韶算法 求当x=5时,V1,V3的值及求f(5)的值做多 少次乘法运算.
解:f(x)=((((5x+0)x+3.5)x+0)x+1.7)x-0.8.
v1=5×5+0=25; v2=25×5+3.5=128.5; v3=128.5×5+0=642.5; v4=642.5×5+1.7=3214.2; v5=3214.2×5-0.8=16070.8.
[问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值的算法,并写出程序.
程序 x=5
f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7
PRINT f
END
点评:上述算法一共做了15次乘法运算,5次 加法运算.优点是简单,易懂;缺点是不通用,不能 解决任意多项多求值问题,而且计算效率不高.
第二步,令v=an,i=n-1. 第三步,输入i次项的系数ai.
第四步,v=vx+ai,i=i-1. 第五步,判断i≥0是否成立.若是,则返回第
二步;否则,输出多项式的值v.
思考2:该算法的程序框图如何表示?
开始
输入n,an,x的值
v=an i=n-1
i=i-1
v=vx+ai
i≥0?
否 输出v
输入ai 是
思考4:对于f(x)=(…((anx+an-1)x+ an-2)x+…+a1)x+a0,由内向外逐层计算 一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2.
第三步,计算v3=v2x+an-3. … 第n步,计算vn=vn-1x+a0.
思考5:上述求多项式 f(x)=anxn+an-1xn-1+…+a1x+a0的值的方法 称为秦九韶算法,利用该算法求f(x0)的 值,一共需要多少次乘法运算,多少次 加法运算?
小结作业
评价一个算法好坏的一个重要标志是 运算的次数,如果一个算法从理论上需 要超出计算机允许范围内的运算次数, 那么这样的算法就只能是一个理论算法. 在多项式求值的各种算法中,秦九韶算 法是一个优秀算法.
作业: P45练习:2. P48习题1.3A组:2.
•
9、有时候读书是一种巧妙地避开思考 的方法 。2021/3/52021/3/5Fr iday, March 05, 2021
问题提出
1.辗转相除法和更相减损术,是求 两个正整数的最大公约数的优秀算法, 我们将算法转化为程序后,就可以由计 算机来执行运算,实现了古代数学与现 代信息技术的完美结合.
2.对于求n次多项式的值,在我国古 代数学中有一个优秀算法,即秦九韶算 法,我们将对这个算法作些了解和探究.
知识探究(一):秦九韶算法的基本思想