龙空技术网

高中数学知识点汇总07—算法初步

耿保阳 126

前言:

当前兄弟们对“算法初步教学视频”大致比较看重,我们都想要知道一些“算法初步教学视频”的相关知识。那么小编也在网摘上搜集了一些对于“算法初步教学视频””的相关文章,希望你们能喜欢,我们快快来学习一下吧!

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

第一章 算法初步

1.1.1 算法的概念

1、算法概念:

在数学上,现代意义上的"算法"通常是指可以用计算机来解决的某一类问题是程序或步骤,

这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.

2. 算法的特点:

(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.

(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当

是模棱两可.

(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个

确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步

都准确无误,才能完成问题.

(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.

(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经

过有限、事先设计好的步骤加以解决.

1.1.2 程序框图

1、程序框图基本概念:

(一)程序构图的概念:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来

准确、直观地表示算法的图形。

一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要文

字说明。

(二)构成程序框的图形符号及其作用

程序框 名称 功能

起止框表示一个算法的起始和结束,是任何流程图不

可少的。

输入、输出框表示一个算法输入和输出的信息,可用在算法

中任何需要输入、输出的位置。

处理框

赋值、计算,算法中处理数据需要的算式、公

式等分别写在不同的用以处理数据的处理框

内。

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

判断框判断某一条件是否成立,成立时在出口处标明

"是"或"Y";不成立时标明"否"或"N"。

学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:

1、使用标准的图形符号。2、框图一般按从上到下、从左到右的方向画。3、除判断框外,

大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出点的唯一符号。

4、判断框分两大类,一类判断框"是"与"否"两分支的判断,而且有且仅有两个结果;

另一类是多分支判断,有几种不同的结果。5、在图形符号内描述的语言要非常简练清楚。

(三)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。

1、顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下

的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一

种基本算法结构。

顺序结构在程序框图中的体现就是用流程线将程序框自上而

下地连接起来,按顺序执行算法步骤。如在示意图中,A 框和 B

框是依次执行的,只有在执行完 A 框指定的操作后,才能接着执

行 B 框所指定的操作。

2、条件结构:

条件结构是指在算法中通过对条件的判断

根据条件是否成立而选择不同流向的算法结构。

条件 P 是否成立而选择执行 A 框或 B 框。无论 P 条件是否成立,只能执行 A 框或 B 框

之一,不可能同时执行 A 框和 B 框,也不可能 A 框、B 框都不执行。一个判断结构可以有多

个判断框。

3、循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理

步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含

条件结构。循环结构又称重复结构,循环结构可细分为两类:

(1)、一类是当型循环结构,如下左图所示,它的功能是当给定的条件 P成立时,执行 A

框,A框执行完毕后,再判断条件 P是否成立,如果仍然成立,再执行 A框,如此反复执

行 A框,直到某一次条件 P不成立为止,此时不再执行 A框,离开循环结构。

A

B

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

(2)、另一类是直到型循环结构,如下右图所示,它的功能是先执行,然后判断给定的条

件 P是否成立,如果 P仍然不成立,则继续执行 A框,直到某一次给定的条件 P成立为止,

此时不再执行 A框,离开循环结构。

当型循环结构 直到型循环结

注意:1循环结构要在某个条件下终止循环,这就需要条件结构来判断。因此,循环结

构中一定包含条件结构,但不允许"死循环"。2在循环结构中都有一个计数变量和累加变

量。计数变量用于记录循环次数,累加变量用于输出结果。计数变量和累加变量一般是同

步执行的,累加一次,计数一次。

1.2.1 输入、输出语句和赋值语句

1、输入语句

(1)输入语句的一般格式

(2)输入语句的作用是实现算法的输入信息功能;(3)"提示内容"提示用户输入什么样的

信息,变量是指程序在运行时其值是可以变化的量;(4)输入语句要求输入的值只能是具体

的常数,不能是函数、变量或表达式;(5)提示内容与变量之间用分号";"隔开,若输入

多个变量,变量与变量之间用逗号","隔开。

2、输出语句

(1)

输 出

语 句

的一般格式

A

成立

不成立

P不成立

P成立

A

图形计算器

格式INPUT"提示内容";变量 INPUT "提示内容",变量

PRINT"提示内容";表达式

图形计算器

格式 Disp "提示内容",变量

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

(2)输出语句的作用是实现算法的输出结果功能;(3)"提示内容"提示用户输入什么样的

信息,表达式是指程序要输出的数据;(4)输出语句可以输出常量、变量或表达式的值以及

字符。

3、赋值语句

(1)赋值语句的一般格式

(2)赋值语句的作用是将表达式所代表的值赋给变量;(3)赋值语句中的"="称作赋值

号,与数学中的等号的意义是不同的。赋值号的左右两边不能对换,它将赋值号右边的表达

式的值赋给赋值号左边的变量;(4)赋值语句左边只能是变量名字,而不是表达式,右边表

达式可以是一个数据、常量或算式;(5)对于一个变量可以多次赋值。注意:①赋值号左边只能是变量名字,而不能是表达式。如:2=X是错误的。②赋值号左右不能对换。如"A=B""B=A"的含义运行结果是不同的。③不能利用赋值语句进行代数式的演算。(如化简、因式分解、解方程等)④赋值号"="与数学中的等号意义不同。

1.2.2条件语句

1、条件语句的一般格式有两种:(1)IF—THEN—ELSE 语句;(2)IF—THEN 语句。2、IF—THEN—ELSE语句

IF—THEN—ELSE 语句的一般格式为图 1,对应的程序框图为图 2。

图 1

图 2

分析:在 IF—THEN—ELSE 语句中,"条件"表示判断的条件,"语句 1"表示满足条件时

执行的操作内容;"语句 2"表示不满足条件时执行的操作内容;END IF 表示条件语句的

结束。计算机在执行时,首先对 IF 后的条件进行判断,如果条件符合,则执行 THEN 后面

的语句 1;若条件不符合,则执行 ELSE 后面的语句 2。

3、IF—THEN语句

IF—THEN 语句的一般格式为图 3,对应的程序框图为图 4。

变量=表达式

图形计算器

格式 表达式变量

IF 条件 THEN

语句 1

ELSE

语句 2

END IF

满足条件?

语句 1 语句 2

IF 条件 THEN

语句

END IF (图 3)

满足条件?

语句

否(图 4)

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

注意:"条件"表示判断的条件;"语句"表示满足条件时执行的操作内容,条件不满足时,

结束程序;END IF 表示条件语句的结束。计算机在执行时首先对 IF 后的条件进行判断,如果条件符合就执行 THEN 后边的语句,若条件不符合则直接结束该条件语句,转而执行其它语句。

1.2.3循环语句循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构,一般程序设计

语言中也有当型(WHILE 型)和直到型(UNTIL 型)两种语句结构。即 WHILE 语句和 UNTIL

语句。

1、WHILE 语句

(1)WHILE 语句的一般格式是 对应的程序框图是

(2)当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE

与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个

过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND

语句后,接着执行WEND之后的语句。因此,当型循环有时也称为"前测试型"循环。

2、UNTIL语句

(1)UNTIL 语句的一般格式是 对应的程序框图是

(2)直到型循环又称为"后测试型"循环,从 UNTIL 型循环结构分析,计算机执行该语句

时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然

后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到

LOOP UNTIL 语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。

分析:当型循环与直到型循环的区别:(先由学生讨论再归纳)

(1) 当型循环先判断后执行,直到型循环先执行后判断;

WHILE 条件

循环体

WEND 满足条件?

循环体

满足条件?

循环体

DO

循环体

LOOP UNTIL 条件

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

在 WHILE 语句中,是当条件满足时执行循环体,在 UNTIL 语句中,是当条件不满足时执行循

例题: . 99...531 的一个算法设计计算  (见课本 21P )

S intPr End

ISS 2 Step 99 To 3 From I

1

For

ForS



S intPr hile EndISS 2II

97 I hile11

W

WIS





S intPr hile End

2II ISS 99 I hile

11

W

WIS





  

S intPr) 99 I ( 001 I

2II ISS

o11







或者UntilLoop

DIS

S intPr 99 I

ISS 2II

o11





UntilLoop

DIS

 

S intPr

2II ISS

) 100 I( 99 I Whileo11

Loop

DIS







或者

S intPr

ISS 2II

) 99 I( 97 I Whileo11

Loop

DIS







或者

 

友情提醒:

1. 一定要看清题意,看题目让你干什么,有的只要写出算法,有的只要求写出伪代码,而有的题目则是既写出算法画出流程还要写出伪代码。

2. 在具体做题时,可能好多的同学感觉先画流程图较为简单,但也有的算法伪代码比较好写,你也可以在草稿纸上按照你自己的思路先做出来,然后根据题目要求作答。一般是先写

高中数学辅导知识点归纳,高中数学辅导就找耿保阳老师

算法,后画流程图,最后写伪代码。

3. 书写程序时一定要规范化,使用统一的符号,最好与教材一致,由于是新教材的原因,再加上各种版本,可能同学会看到各种参考书上的书写格式不一样,而且有时还会碰到我们

没有见过的语言,希望大家能以课本为依据,不要被铺天盖地的资料所淹没!

1.3.1辗转相除法与更相减损术1、辗转相除法。也叫欧几里德算法,用辗转相除法求最大公约数的步骤如下:

(1):用较大的数 m 除以较小的数 n 得到一个商 0S

和一个余数 0R

;(2):若 0R

=0,则 n

为 m,n 的最大公约数;若 0R

≠0,则用除数 n 除以余数 0R

得到一个商 1S

和一个余数 1R

(3):若 1R

=0,则 1R

为 m,n 的最大公约数;若 1R

≠0,则用除数 0R

除以余数 1R

得到一个

商 2S

和一个余数 2R

;…… 依次计算直至 nR

=0,此时所得到的 1nR  即为所求的最

大公约数。

2、更相减损术

我国早期也有求最大公约数问题的算法,就是更相减损术。在《九章算术》中有更相减损术

求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,

求其等也,以等数约之。

翻译为:(1):任意给出两个正数;判断它们是否都是偶数。若是,用 2约简;若不是,执

行第二步。(2):以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减

小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。

例 2 用更相减损术求 98 与 63 的最大公约数.

分析:(略)

3、辗转相除法与更相减损术的区别:

(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,

计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别

较明显。

(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术

则以减数与差相等而得到

1.3.2秦九韶算法与排序

1、秦九韶算法概念:

f(x)=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、两种排序方法:直接插入排序和冒泡排序

1、直接插入排序

基本思想:插入排序的思想就是读一个,排一个。将第1个数放入数组的第1个元素中,以

后读入的数与已存入数组的数进行比较,确定它在从大到小的排列中应处的位置.将该位置

以及以后的元素向后推移一个位置,将读入的新数填入空出的位置中.(由于算法简单,可

以举例说明)

2、冒泡排序

基本思想:依次比较相邻的两个数,把大的放前面,小的放后面.即首先比较第 1 个数和第 2

个数,大数放前,小数放后.然后比较第2个数和第3个数......直到比较最后两个数.第一趟

结束,最小的一定沉到最后.重复上过程,仍从第 1个数开始,到最后第 2 个数...... 由于在

排序过程中总是大数往前,小数往后,相当气泡上升,所以叫冒泡排序.

1.3.3进位制

1、概念:进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数

字符号的个数称为基数,基数为 n,即可称 n 进位制,简称 n 进制。现在最常用的是十进制,

通常使用 10 个阿拉伯数字 0-9 进行记数。对于任何一个数,我们可以用不同的进位制来表

示。比如:十进数 57,可以用二进制表示为 111001,也可以用八进制表示为 71、用十六进

制表示为 39,它们所代表的数值都是一样的。

一般地,若 k 是一个大于一的整数,那么以 k 为基数的 k进制可以表示为:

1 1 0( ) 1 1 0... (0 ,0 ,..., , )n n k n na a a a a k a a a k     ,

而表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表示5进

制数

标签: #算法初步教学视频