高中数学算法初步复习课教案新人教版必修

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

算法初步复习课一.本章的知识结构

算法与程序框图

算法

程序框图

算法的三种基本逻辑

结构和框图表示

顺序结构

分支结构

循环结构

基本算法语句输入语句、输出语句、赋值语句、条件语句、循环语句

二.知识梳理

要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。

算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。

算法的概念

1广义地讲算法是为完成一项任务所应当遵照的一步一步的规则的、精确的、无歧义的描述,它的总步数是有限的。

2 狭义地讲算法是解决一个问题采取的方法和步骤的描述

例1 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数1做出判定。

算法分析:根据质数的定义,很容易设计出下面的步骤:

第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。

第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。

小结:算法具有以下特性:(1)有穷性;(2)确定性;(3)顺序性;(4)不惟一性;(5)普遍性

例5 写出求1+2+3+4+5+6的一个算法。

(1)四种基本的程序框

终端框(起止框)

输入.输出框

处理框

判断框

(2)三种基本逻辑结构

顺序结构条件结构循环结构

顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。

条件结构:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理。因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构。它是根据指定打件选择执行不同指令的控制结构。

循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。

(3)基本算法语句

(一)输入语句

单个变量

多个变量

(二)输出语句

(三)赋值语句

(四)条件语句

IF -THEN -ELSE 格式

当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执

行THEN 后的语句1,否则执行ELSE 后的语句2。其对应的程序框图为:(如上右图)

IF -THEN 格式

计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条

件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)

IF 条件 THEN 语句1 ELSE 语句2 END IF 满足条件? 语句1 语句2 是 否 IF 条件 THEN 语句 END IF 满足条件? 语句 是 否 INPUT “提示内容”;变量 INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,… PRINT “提示内容”;表达式 变量=表达式

(五)循环语句

(1)WHILE 语句

其中循环体是由计算机反复执行的一组语句构成的。WHLIE 后面的“条件”是用于控

制计算机执行循环体或跳出循环体的。

当计算机遇到WHILE 语句时,先判断条件的真假,如果条件符合,就执行WHILE 与WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND 语句后,接着执行WEND 之后的语句。因此,当型循环有时也称为“前测试型”循环。其对应的程序结构框图为:(如上右图)

(2)UNTIL 语句

其对应的程序结构框图为:(如上右图)

(4)算法案例

案例1 辗转相除法与更相减损术

案例2 秦九韶算法

案例3 排序法:直接插入排序法与冒泡排序法

案例4 进位制

三.典型例题

例1 写一个算法程序,计算1+2+3+…+n 的值(要求可以输入任意大于1的正自然数) 解:INPUT “n=”;n

i=1

sum=0

WHILE i<=n

sum=sum+i

i=i+1

WEND

PRINT sum

END

思考:在上述程序语句中我们使用了WHILE 格式的循环语句,能不能使用UNTIL 循环?

例3 把十进制数53转化为二进制数.

解:53=1×25+1×24+0×23+1×22+0×21+1×2

0 WHILE 条件 循环体 WEND DO 循环体 LOOP UNTIL 条件 满足条件? 循环体 是 否 满足条件? 循环体 是 否

=110101(2)

例4 利用辗转相除法求3869与6497的最大公约数与最小公倍数。解:6497=3869×1+2628

3869=2628×1+1241

2628=1241*2+146

1241=146×8+73

146=73×2+0

所以3869与6497的最大公约数为73

最小公倍数为3869×6497/73=344341

相关文档
最新文档