1、 高中数学必修高中数学必修 3 3 知识点知识点总结总结 第一章第一章 算法初步算法初步 1.1.1 算法的概念算法的概念 1、算法概念: 在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或 步骤必须是明确和有效的,而且能够在有限步之内完成. 2. 算法的特点: (1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的. (2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可. (3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤, 前一步是后一步的
2、前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题. (4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法. (5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设 计好的步骤加以解决. 1.1.2 程序框图程序框图 1、程序框图基本概念: (一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地 表示算法的图形。 一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文字说明。 (二)构成程序框的图形符号及其作用 程序框 名称 功能 起止框
3、表示一个算法的起始和结束, 是任何流程图不可少 的。 输入、输出框 表示一个算法输入和输出的信息, 可用在算法中任 何需要输入、输出的位置。 处理框 赋值、计算,算法中处理数据需要的算式、公式等 分别写在不同的用以处理数据的处理框内。 判断框 判断某一条件是否成立, 成立时在出口处标明 “是” 或“Y” ;不成立时标明“否”或“N” 。 学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下: 1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,大多数流程图 符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。4、判断框分
4、两大类,一类判 断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。5、 在图形符号内描述的语言要非常简练清楚。 (三) 、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。 1、 顺序结构: 顺序结构是最简单的算法结构, 语句与语句之间, 框与框之间是按从上到下的顺序进行的,、 顺序结构: 顺序结构是最简单的算法结构, 语句与语句之间, 框与框之间是按从上到下的顺序进行的, 它是由若干个依它是由若干个依次执行次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 顺序结构在
5、程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。如在示意图中,A 框和 B 框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执 行 B 框所指定的操作。 2、条件结构:、条件结构: 条件结构是指在算法中通过对条件的判断 根据条件是否成立而选择不同流向的算法结构。 条件 P 是否成立而选择执行 A 框或 B 框。无论 P 条件是否成立,只能执行 A 框或 B 框之一,不可 能同时执行 A 框和 B 框,也不可能 A 框、B 框都不执行。一个判断结构可以有多个判断框。 3、循环结构:、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处
6、理步骤的情况, 这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。循环结构又称重 复结构,循环结构可细分为两类: (1) 、一类是当型循环结构,如下左图所示,它的功能是当给定的条件 P 成立时,执行 A 框,A 框执行完 毕后,再判断条件 P 是否成立,如果仍然成立,再执行 A 框,如此反复执行 A 框,直到某一次条件 P 不成 立为止,此时不再执行 A 框,离开循环结构。 (2) 、另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条件 P 是否成立, 如果 P 仍然不成立,则继续执行 A 框,直到某一次给定的条件 P 成立为止,此时不再执行
7、A 框,离开循环 结构。 A B 当型循环结构 直到型循环结构 注意:注意: 1 循环结 构要在某个条件下终止循环, 这就需要条件结构来判断。因此,循环 结构中一定包含条件结构,但不允许“死循环” 。2 在循环结构中都有一个计数变量和累加 变量。 计数变量用于记录循环次数, 累加变量用于输出结果。 计数变量和累加变量一般是同步执行的, 累加一次,计数一次。 1.2.1 输入、输出语输入、输出语句和赋值语句句和赋值语句 1、输入语句、输入语句 (1)输入语句的一般格式 (2)输入语句的作用是实现算法的输入信息功能; (3) “提示内容”提示用户输入什么样的信息,变量是 指程序在运行时其值是可以变
8、化的量; (4)输入语句要求输入的值只能是具体的常数,不能是函数、变量 或表达式; (5)提示内容与变量之间用分号“; ”隔开,若输入多个变量,变量与变量之间用逗号“, ”隔 开。 2、输出语句、输出语句 (1)输出语句的一般格式 (2)输出语句的作用是实现算法的输出结果功能; (3) “提示内容”提示用户输入什么样的信息,表达式 是指程序要输出的数据; (4)输出语句可以输出常量、变量或表达式的值以及字符。 3、赋值语句、赋值语句 (1)赋值语句的一般格式 (2)赋值语句的作用是将表达式所代表的值赋给变量; (3)赋值语句中的“”称作赋值号,与数学中的 等号的意义是不同的。赋值号的左右两边不
9、能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量; (4)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式; (5)对于 一个变量可以多次赋值。 注意:注意:赋值号左边只能是变量名字,而不能是表达式。如:2=X 是错误的。赋值号左右不能对换。如 “A=B” “B=A”的含义运行结果是不同的。不能利用赋值语句进行代数式的演算。 (如化简、因式分解、 A 成立 不成立 P 不成立 P 成立 A 图形计算器 格式 INPUT“提示内容” ;变量 INPUT “提示内容” ,变量 PRINT“提示内容” ;表达式 图形计算器 格式 Disp “提示内容” ,变量 变
10、量表达式 图形计算器 格式 表达式变量 解方程等)赋值号“=”与数学中的等号意义不同。 122 条件语句条件语句 1、条件语句的一般格式有两种: (1)IFTHENELSE 语句; (2)IFTHEN 语句。2、IFTHENELSE 语句 IFTHENELSE 语句的一般格式为图 1,对应的程序框图为图 2。 图 1 图 2 分析:在 IFTHENELSE 语句中, “条件”表示判断的条件, “语句 1”表示满足条件时执行的操作内容; “语句 2”表示不满足条件时执行的操作内容;END IF 表示条件语句的结束。计算机在执行时,首先对 IF 后的条件进行判断, 如果条件符合, 则执行 THEN
11、 后面的语句 1; 若条件不符合, 则执行 ELSE 后面的语句 2。 3、IFTHEN 语句 IFTHEN 语句的一般格式为图 3,对应的程序框图为图 4。 注意:注意: “条件”表示判断的条件; “语句”表示满足条件时执行的操作内容,条件 不满足时,结束程序;END IF 表示条件语句的结束。计算机在执行时首先对 IF 后的条件进行判断,如果 条件符合就执行 THEN 后边的语句,若条件不符合则直接结束该条件语句,转而执行其它语句。 123 循环语句循环语句 循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计语言中也有当 型(WHILE 型)和直到型(UNTIL 型
12、)两种语句结构。即 WHILE 语句和 UNTIL 语句。 1、WHILE 语句语句 (1)WHILE 语句的一般格式是 对应的程序框图是 (2)当计算机遇到 WHILE 语句时,先判断条件的真假,如果条件符合,就执行 WHILE 与 WEND 之间 IF 条件 THEN 语句 1 ELSE 语句 2 END IF 否 是 满足条件? 语句 1 语句 2 IF 条件 THEN 语句 END IF (图 3) 满足条件? 语句 是 否 (图 4) WHILE 条件 循环体 WEND 满足条件? 循环体 否 是 的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某
13、一次条 件不符合为止。这时,计算机将不执行循环体,直接跳到 WEND 语句后,接着执行 WEND 之后的语句。 因此,当型循环有时也称为“前测试型”循环。 2、UNTIL 语句语句 (1)UNTIL 语句的一般格式是 对应的程序框图是 (2)直到型循环又称为“后测试型”循环,从 UNTIL 型循环结构分析,计算机执行该语句时,先执行一次 循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过 程反复进行,直到某一次条件满足时,不再执行循环体,跳到 LOOP UNTIL 语句后执行其他语句,是先执行 循环体后进行条件判断的循环语句。 分析:分析:当型循环与直
14、到型循环的区别: (先由学生讨论再归纳) (1) 当型循环先判断后执行,直到型循环先执行后判断; 在 WHILE 语句中,是当条件满足时执行循环体,在 UNTIL 语句中,是当条件不满足时执行循环 1.3.1 辗转相除法与更相减损术辗转相除法与更相减损术 1、辗转相除法。也叫欧几里德算法,用辗转相除法求最大公约数的步骤如下: (1) :用较大的数 m 除以较小的数 n 得到一个商 0 S 和一个余数 0 R ; (2) :若 0 R 0,则 n 为 m,n 的最大 公约数;若 0 R 0,则用除数 n 除以余数 0 R 得到一个商 1 S 和一个余数 1 R ; (3) :若 1 R 0,则
15、1 R 为 m, n 的最大公约数;若 1 R 0,则用除数 0 R 除以余数 1 R 得到一个商 2 S 和一个余数 2 R ; 依次计 算直至 n R 0,此时所得到的 1n R 即为所求的最大公约数。 2、更相减损术 我国早期也有求最大公约数问题的算法,就是更相减损术。在九章算术中有更相减损术求最大公约数 的步骤:可半者半之,不可半者,副置分母子之数,以少减多,更相减损,求其等也,以等数约之。 翻译为: (1) :任意给出两个正数;判断它们是否都是偶数。若是,用 2 约简;若不是,执行第二步。 (2) : 以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作
16、,直到所得 的数相等为止,则这个数(等数)就是所求的最大公约数。 例 2 用更相减损术求 98 与 63 的最大公约数. 分析: (略) 3、辗转相除法与更相减损术的区别: 满足条件? 循环体 是 否 DO 循环体 LOOP UNTIL 条件 (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转 相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相 等而得到 1.3.2 秦九韶算法与排序秦九韶算法与排序 1、秦九韶算法概念: f(x
17、)=anxn+an-1xn-1+.+a1x+a0求值问题 f(x)=anxn+an-1xn-1+.+a1x+a0=( anxn-1+an-1xn-2+.+a1)x+a0 =( anxn-2+an-1xn-3+.+a2)x+a1)x+a0 =(.( anx+an-1)x+an-2)x+.+a1)x+a0 求多项式的值时,首先计算最内层括号内依次多项式的值,即 v1=anx+an-1 然后由内向外逐层计算一次多项式的值,即 v2=v1x+an-2 v3=v2x+an-3 vn=vn-1x+a0 这样,把 n 次多项式的求值问题转化成求 n 个一次多项式的值的问题。 2、两种排序方法、两种排序方法:
18、直接插入排序和冒泡排序 1、直接插入排序 基本思想:插入排序的思想就是读一个,排一个。将第个数放入数组的第个元素中,以后读入的数与 已存入数组的数进行比较,确定它在从大到小的排列中应处的位置将该位置以及以后的元素向后推移一 个位置,将读入的新数填入空出的位置中 (由于算法简单,可以举例说明) 2、冒泡排序 基本思想: 依次比较相邻的两个数,把大的放前面,小的放后面.即首先比较第 1 个数和第 2 个数,大数放前, 小数放后.然后比较第 2 个数和第 3 个数直到比较最后两个数.第一趟结束,最小的一定沉到最后.重 复上过程,仍从第1个数开始,到最后第2个数 由于在排序过程中总是大数往前,小数往后,相当气泡 上升,所以叫冒泡排序.