高中数学算法初步复习课教案新人教版必修
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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