1.3 中国古代数学中的算法案例
【入门向导】
秦朝末年,楚汉相争.一次,韩信率1 500名将士与楚王大将李锋交战.苦战一场,楚军不敌,败退回营,汉军也死伤四五百人,于是韩信整顿兵马也返回大本营.当行至一山坡,忽有后军来报,说有楚军骑兵追来.只见远方尘土飞扬,杀声震天.汉军本来已十分疲惫,这时队伍大哗.韩信骑马到坡顶,见来敌不足五百骑,便急速点兵迎敌.他命令士兵3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名.韩信马上向将士们宣布:我军有1 073名勇士,敌人不足五百,我们居高临下,以众击寡,一定能打败敌人.汉军本来就信服自己的统帅,这一来更相信韩信是“神仙下凡”“神机妙算”.于是士气大振,一时间旌旗摇动,鼓声喧天,汉军步步进逼,楚军乱作一团,交战不久,楚军大败而逃.
这就是历史上有名的“韩信点兵”,这类问题的有解条件和解题方法被称为“中国剩余定理”,是一个典型的算法案例.
1.用等值算法求两个正整数的最大公约数
“等值算法”在我国古代也称为“更相减损之术”.有人称其为“约分术”,是一种对分数约分的算法;也可以用来求最大公约数.对于给定的两个不相等的正整数,用较大的数减去较小的数,接着把所得的差和较小的数作比较,并以较大数减去较小数,继续这个操作,直到所得的两数相等为止,则这个数就是所求的最大公约数.
例1 用“等值算法”求84与294的最大公约数.
分析 根据等值算法算理计算如下:
294-84=210; 210-84=126;
126-84=42; 84-42=42;
42-42=0.
解 (294,84)→(210,84)→(126,84)→(42,84)→(42,42).故84与294的最大公约数是42.
2.割圆术
所谓“割圆术”,就是用圆内接正多边形的面积去无限逼近圆面积,并以此求取圆周率的方法.这个方法,是刘徽在批判总结了数学史上的各种旧的计算方法之后,经过深思熟虑才创造出来的一种方法.
割圆术的步骤:
第一,从半径为1的圆内接正六边形开始,计算它的面积S 6.
第二,逐步加倍圆内接正多边形的边数,分别计算圆内接正十二边形、正二十四边形、正四十八边形……的面积,到一定的边数(设为2m )为止,得到一列递增的数S 6,S 12,S 24,…,S 2m .
第三,在第二步中各正n 边形每边上作一高为余径的矩形,把其面积(S 2n -S n )与相应的正n 边形的面积S 2n 相加,得S 2n +(S 2n -S n ),这样又得到一列递增数:S 12+(S 12-S 6),S 24+(S 24-S 12),S 48+(S 48-S 24),…,S 2m +(S 2m -S m ).
第四,圆面积S 满足不等式S 2m
估计S 的近似值,即圆周率的近似值.
3.秦九韶算法是多项式求值的最先进的算法
(1)秦九韶算法把求一个n 次多项式的值转化为求n 个一次多项式的值,把求f (x )=a n x n
+a n -1x n -1+…+a 1x +a 0的值转化为求递推公式:
一、单项选择题(共12小题,每小题5分,共60分) 1. 算法的有穷性是指() A. 算法必须包含输出 B. 算法中每个操作步骤都是可执行的 C. 算法的步骤必须有限 D. 以上说法均不正确 【答案】C 【解析】 试题分析:所谓算法有穷性是指一个算法应包含有限的操作步骤,即在执行有限操作后算法结束,从而可得结论. 解:一个算法必须在有限步内结束,简单的说就是没有死循环 即算法的步骤必须有限 故选C. 点评:本题主要考查了算法的特点,属于基本概念的考查,是容易题. 2.2.算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是( ) A. 一个算法只能含有一种逻辑结构 B. 一个算法最多可以包含两种逻辑结构 C. 一个算法必须含有上述三种逻辑结构 D. 一个算法可以含有上述三种逻辑结构的任意组合 【答案】D 【解析】 分析:根据算法中三种逻辑结构的定义,顺序结构是最基本的结构,每个算法一定包含顺序结构,选择结构是算法中出现分类讨论时使用的逻辑结构,循环结构一定包含一个选择结构,从而即可得出答案. 详解:算法有三种逻辑结构, 最基本的是顺序结构, 一个算法一定包含有顺序结构,但是可以含有三种逻辑结构的任意组合. 故选:D. 点睛:本题考查的知识点是算法的概念及算法的特点,是对概念的直接考查,属基础题,熟练掌握相关概念是解答本题的关键.
3.3.下列给出的赋值语句中正确的是() A. B. C. D. 【答案】B 【解析】 【分析】 根据赋值语句定义判断选择. 【详解】赋值语句一般格式是:变量=表达式(或变量),所以选B. 【点睛】赋值语句用符号“=”表示,其一般格式是变量=表达式(或变量),其作用是对程序中的变量赋值; 4.4.程序执行后输出的结果是() A. -1 B. 0 C. 1 D. 2 【答案】B 【解析】 试题分析:开始满足,第一次循环:; 满足,第二次循环:; 满足,第三次循环:; 满足,第四次循环:; 满足,第五次循环:; 此时不满足,结束循环,所以输出n的值为0。
高一数学必修三算法初步知识点 【一】 (1)算法概念:在数学上,现代意义上的“算法”通常是指能够 用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是 明确和有效的,而且能够在有限步之内完成. (2)算法的特点: ①有限性:一个算法的步骤序列是有限的,必须在有限操作之后 停止,不能是无限的. ②确定性:算法中的每一步应该是确定的并且能有效地执行且得 到确定的结果,而不理应是模棱两可. ③顺序性与准确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只 有执行完前一步才能实行下一步,并且每一步都准确无误,才能完成 问题. ④不性:求解某一个问题的解法不一定是的,对于一个问题能够 有不同的算法. ⑤普遍性:很多具体的问题,都能够设计合理的算法去解决,如 心算、计算器计算都要经过有限、事先设计好的步骤加以解决。 【二】 (1)顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序实行的,它是由若干个依次执行的处 理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线将程序框自上而下地 连接起来,按顺序执行算法步骤。如在示意图中,A框和B框是依次执行的,只有在执行完A框指定的操作后,才能接着执行B框所
指定的操作。 (2)条件结构:条件结构是指在算法中通过对条件的判断根据条 件是否成立而选择不同流向的 算法结构。 条件P是否成立而选择执行A框或B框。无论P条件是否成立, 只能执行A框或B框之一,不可能同时执行 A框和B框,也不可能A框、B框都不执行。一个判断结构能够 有多个判断框。 (3)循环结构:在一些算法中,经常会出现从某处开始,按照一 定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行 的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结 构又称重复结构,循环结构可细分为两类: ①一类是当型循环结构,如下左图所示,它的功能是当给定的条 件P成立时,执行A框,A框执行完毕后,再判断条件P是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P不 成立为止,此时不再执行A框,离开循环结构。 ②另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件P是否成立,如果P仍然不成立,则继续执行A 框,直到某一次给定的条件P成立为止,此时不再执行A框,离开循 环结构。 注意:1循环结构要在某个条件下终止循环,这就需要条件结构 来判断。所以,循环结构中一定包含条件结构,但不允许“死循环”。 2在循环结构中都有一个计数变量和累加变量。计数变量用于记 录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同 步执行的,累加一次,计数一次。 【三】
算法介绍 1.什么是算法 算法(algorithm )一词源于算术(algorism) ,算术方法的原义是一个由已知推求未知的运算过程.后来,人们把它推广到一般,指算法是在有限步骤内求解某一问题所使用的一组定义明确的规则,甚至把把进行某一工作的方法和步骤也称为算法. 例如,人们在计算过程中,先乘除,后加减,从内到外去括号等规则,都是按部就班必须遵守的算法.人类最早关于算法的记录存在于在两河流域发现的公元前两三千年的泥板书上,其中的一个典型例子就是计算利息何时能够够等于本金.算法早期发展中值得一提的另一个成果应归功于古希腊的欧几里得,他提出的计算最大公约数的方法——辗转相除法(又称欧几里得算法)至今仍在使用. 我国古代数学发展的主导思想,就是构造“算法”,解决问题.可以说:我国古代数学中蕴含着丰富的算法思想,其中最具代表性的就是《九章算术》. 《九章算术》是战国、秦、汉时期数学发展的总结,就其数学成就来说,堪称是世界数学名著.其内容按类分章,以数学问题的形式出现,包括分数四则运算、开平方与开立方(包括二次方程数值解法)、盈不足术、各种面积和体积公式、线性方程组解法、正负数运算的加减法则、勾股形解法(特别是勾股定理和求勾股数的方法)等.其中方程组解法和正负数加减法则在世界数学发展上是遥遥领先的.就其特点来说,它形成了一个以筹算为中心,与古希腊数学完全不同的独立体系. 我们现在学习的算法,不同于求解某一个具体问题的方法,它应具有如下特点: 2.算法的特点 通用性:能解决一类问题.能重复使用. 程序性:step by step .算法过程要一步一步执行. 确定性:算法的每一步执行的操作,必须确切,不能含混不清. 可行性:算法中的每一个步骤必须是能实现的.例如,在算法中,不允许出现分母为零的情况;在实数范围内不能求一个负数的平方根等. 有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制的持续进行.
§1.1.1集合的含义及其表示 [自学目标] 1.认识并理解集合的含义,知道常用数集及其记法; 2.了解属于关系和集合相等的意义,初步了解有限集、无限集、空集的意义; 3.初步掌握集合的两种表示方法—列举法和描述法,并能正确地表示一些简单的集合. [知识要点] 1. 集合和元素 (1)如果a 是集合A 的元素,就说a 属于集合A,记作a A ∈; (2)如果a 不是集合A 的元素,就说a 不属于集合A,记作a A ?. 2.集合中元素的特性:确定性;无序性;互异性. 3.集合的表示方法:列举法;描述法;Venn 图. 4.集合的分类:有限集;无限集;空集. 5.常用数集及其记法:自然数集记作N ,正整数集记作* N 或N +,整数集记作Z ,有理数集记作Q ,实数集记作R . [预习自测] 例1.下列的研究对象能否构成一个集合?如果能,采用适当的方式表示它. (1)小于5的自然数; (2)某班所有高个子的同学; (3)不等式217x +>的整数解; (4)所有大于0的负数; (5)平面直角坐标系内,第一、三象限的平分线上的所有点. 分析:判断某些对象能否构成集合,主要是根据集合的含义,检查是否满足集合元素的确定性. 例2.已知集合{},,M a b c =中的三个元素可构成某一个三角形的三边的长,那么此三角形 一定是 ( ) A.直角三角形 B.锐角三角形 C.钝角三角形 D.等腰三角形 例3.设()()() {} 2 2 ,,2,,5,a N b N a b A x y x a y a b ∈∈+== -+-=若()3,2A ∈,求,a b 的值. 分析: 某元素属于集合A,必具有集合A 中元素的性质p ,反过来,只要元素具有集合A 中元素的性质p ,就一定属于集合A. 例4.已知{}2,,M a b =,{} 22,2,N a b =,且M N =,求实数,a b 的值. [课内练习] 1.下列说法正确的是( ) (A )所有著名的作家可以形成一个集合 (B )0与 {}0的意义相同 (C )集合? ?????∈= =+N n n x x A ,1 是有限集 (D )方程0122=++x x 的解集只有一个元素 2.下列四个集合中,是空集的是 ( ) A .}33|{=+x x B },,|),{(2 2R y x x y y x ∈-= C .}0|{2 ≤x x D .}01|{2 =+-x x x 3.方程组2 0{ =+=-y x y x 的解构成的集合是 ( ) A .)}1,1{( B .}1,1{ C .(1,1) D .}1{. 4.已知}1,0,1,2{--=A ,}|{A x x y y B ∈==,则B = 5.若}4,3,2,2{-=A ,},|{2 A t t x x B ∈==,用列举法表示B= . [归纳反思] 1.列举法:把集合中的元素一一列举出来,写在花括号“{ }”内表示集合的方法.当集合中的元素 较少 时,用列举法表示方便. .例:x 2 -3x +2=0的解集可表示为{1,2}. 有些集合元素的个数较多,元素又呈现出一定的规律,在不至于发生误解的情况下,亦可用列举法表示,如何用列举法表示从1到100的所有整数组成的集合及自然数集N. 答 分别表示为{1,2,3,…,100},{1,2,3,4,…,n ,…}. 小结 用列举法表示集合时,应把集合中的元素一一列举出来,并且写在大括号内,元素和元素之间要用“,”隔开.花括号“{ }”表示“所有”、“整体”的含义,如实数集R 可以写为{实数},但如果写成{实数集}、{全体实数}、{R}都是不确切的. 1 用列举法表示下列集合: (1)小于10的所有自然数组成的集合;
高中数学必修三算法案例知识点 算法案例: 主要有辗转相除法、更相减损术、秦九韶算法、k进制化十进制的算法。 辗转相除的定义: 所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较 小的数就是原来两个数的最大公约数。 更相减损术的定义: 就是对于给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一 对数,再用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等 的两数便为原来两个数的最大公约数。 比较辗转相除法与更相减损术的区别: 1都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区 别较明显。 2从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损 术则以减数与差相等而得到。 辗转相除法的一个程序算法的步骤: 第一步:输入两个正整数m,nm>n. 第二步:计算m除以n所得的余数r. 第三步:m=n,n=r. 第四步:若r=0,则m,n的最大公约数等于m;否则转到第二步.第五步:输出最大公约 数m. 更相减勋术的一个程序算法步骤: 第一步:输入两个正整数a,ba>b; 第二步:若a不等于b,则执行第三步;否则转到第五步; 第三步:把a-b的差赋予r;
第四步:如果b>r,那么把b赋给a,把r赋给b;否则把r赋给a,执行第二步; 第五步:输出最大公约数b. 1、算法概念: 在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题. 2、算法的特征 ①有限性:算法中的步骤序列是有限的,必须在有限操作之后停止,不能是无限的。 ②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可。 ③顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后续步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题。 ④不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法。 ⑤普通性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算其计算都要经过有限、事先设计好的步骤加以解决。 <>的人还: 感谢您的阅读,祝您生活愉快。
高中数学必修三《算法初步》练习题 一、选择题 1.下面对算法描述正确的一项是 ( ) A .算法只能用伪代码来描述 B .算法只能用流程图来表示 C .同一问题可以有不同的算法 D .同一问题不同的算法会得到不同的结果 2.程序框图中表示计算的是 ( ). A . B C D 3 将两个数8,17a b ==交换,使17,8a b ==, 下面语句正确一组是 ( ) A B C D . 4. 计算机执行下面的程序段后,输出的结果是( ) 1a = 3b = a a b =+ b a b =- PRINT a ,b A .1,3 B .4,1 C .0,0 D .6,0 5.当2=x 时,下面的程序运行后输出的结果是 ( ) A .3 B .7 C .15 D .17 6. 给出以下四个问题: ①输入一个数x , 输出它的相反数 ②求面积为6的正方形的周长 ③输出三个数,,a b c 中的最大数 ④求函数1,0 ()2,0x x f x x x -≥?=?+ 的函数值 其中不需要用条件语句来描述其算法的有 ( ) A .1个 B .2个 C . 3个 D .4个 7.图中程序运行后输出的结果为 ( ) A. 3 43 B. 43 3 C. 18- 16 D. 16 18- 8. 如果右边程序执行后输出的结果是990,那么在程序中 UNTIL 后面的“条件”应为 ( ) A. i>10
B. i<8 C. i<=9 D. i<9 9. INPUT 语句的一般格式是( ) A. INPUT “提示内容”;表达式 B.“提示内容”;变量 C. INPUT “提示内容”;变量 D. “提示内容”;表达式 10.算法共有三种逻辑结构,即顺序结构、条件结构、循环结构,下列说法正确的是( ) A . 一个算法只能含有一种逻辑结构 B. 一个算法最多可以包含两种逻辑结构 C. 一个算法必须含有上述三种逻辑结构 D. 一个算法可以含有上述三种逻辑结构的任意组合 11. 如右图所示的程序是用来 ( ) A .计算3×10的值 B .计算93的值 C .计算103的值 D .计算12310???????的值 12. 把88化为五进制数是( ) A. 324(5) B. 323(5) C. 233(5) D. 332(5) 13.下列判断正确的是 ( ) A.条件结构中必有循环结构 B.循环结构中必有条件结构 C.顺序结构中必有条件结构 D.顺序结构中必有循环结构 14. 如果执行右边的框图, 输入N =5,则输出的数等于( ) A .5 4 B.4 5 C. 6 5 D. 56 15.某程序框图如图所示,现输入如下四个函数, 其中可以输出的函数是 ( ) A .2()f x x = B .1 ()f x x = C .()ln 26f x x x =+- D . ()f x x = 二、填空题: