(苏教版必修3)数学:第1章《算法》教案

文档属性

名称 (苏教版必修3)数学:第1章《算法》教案
格式 rar
文件大小 147.6KB
资源类型 教案
版本资源 苏教版
科目 数学
更新时间 2010-09-14 08:27:00

图片预览

文档简介

本资料来自于资源最齐全的21世纪教育网www.21cnjy.com
算法部分章质量检测
本章知识结构
一、知识点剖析
1.算法的定义和特点
掌握要点:
算法定义:在数学中指按照一定规则解决某一类问题的明确和有限的步骤。
算法特点:①有穷性:一个算法的步骤是有限的,它应在有限步操作之后停止。②确定性,算法的每一步操作必须是明确的,不能有歧义或模糊且算法执行后一定产生确定的结果,不能模棱两可。③可行性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个明确的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都要准确无误才能解决问题。④不惟一性:求解某一类问题的算法是不惟一的,对于一个问题可以有不同的算法。⑤普遍性,很多具体的问题都可以设计合理的算法解决。
易混易错:(1)算法一般是机械的,有时要进行大量重复的运算,只要按部就班的做总能算出结果,通常把算法过程称为“数学机械化”,“数学机械化”的最大优点是它可以让计算机来完成。(2)实际上,处理任何问题都需要算法。如,邮购物品有其相应的手续。购买飞机票也有一定的手续等。(3)求解某个问题的算法不惟一。
2.(1)程序框图表示算法步骤的一些常用的图形和符号
图形符号 名称 功能
终端框(起止框) 程序的开始和结束,
输入、输出框 表示数据的输入或结果的输出
处理框 赋值,计算
判断框 判断某一条件是否成立,成立时在出口处标明:“是”或“YES”;不成立时在出口处标明“否”或”NO”
流程线 连接程序框
连接点 连接程序框图的两部分
易混易错:在所给的上述符号之中只有判断框有一个入口和两个出口,它是唯一有两个退出点的符号。
(2)三种基本逻辑结构
①顺序结构
②条件结构
③循环结构
顺序结构:顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。这是任何一个算法都离不开的基本结构。
条件结构:在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立会有不同的流向,条件结构就是处理这种过程的结构。
易混易错:在条件结构中无论条件是否成立,都只能执行两框之一,两框不可能同时执行,也不可能两框都不执行。
循环结构:算法结构中经常会遇到从某处开始,按照一定条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤成为循环体。循环结构分为两种:当性循环结构和直到性循环结构。
当性循环结构:在每次执行循环体前,对条件进行判断,当条件满足时,执行循环体,否则终止循环。“先判断”
直到性循环结构:在执行了一次循环体后,对条件进行判断,如果条件不满足就继续执行循环体,直到条件满足时终止循环。“先循环”
注意:循环结构中一定包含着条件结构。
3.基本算法语句
(1)输入语句
①输入语句的一般形式是:INPUT “提示内容”;变量
②输入语句的作用是实现算法的输入信息功能
③“提示内容”提示用户输入什么样的信息
④输入语句可以给变量提供初值
⑤提示内容与变量之间用分号隔开,若输入多个变量,变量之间用逗号隔开。
例如:INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量
(2)输出语句
①输出语句的一般形式是:PRINT “提示内容”;表达式
②输出语句的作用是实现算法的输出结果功能。
③“提示内容”提示用户输入什么样的信息,如PRINT “S=;S 是提示输出的结果是S的值
④PRINT语句可以在屏幕上出现常量、变量以及系统信息。
注意:任何求解问题的算法,都要把求解问题的结果输出。
(3)赋值语句
①赋值语句是最基本的语句
②赋值语句的一般格式为:变量=表达式
③“=”叫做赋值号。
易混易错: ①赋值号做变只能是变量而不能使表达式。
②赋值号的左右两边不能调换。
③不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等)。
④赋值号与数学中的符号意义不同。
注意:输入语句、输出语句、赋值语句基本上对应程序框图中的顺序结构;一个算法有0个或者多个输入,有一个或多个输出;输出语句和赋值语句具有运算功能而输入语句不具有运算功能。
(4)条件语句
共分为两种形式 IF-THEN-ELSE格式
(1)
当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2。其对应的程序框图为:(如上右图)
② IF-THEN格式
计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图)
条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。
(5)循环语句
算法中的循环结构是由循环语句来实现的。对应于程序框图中的两种循环结构。
一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。即WHILE语句和UNTIL语句。
①WHILE语句的一般格式是:
其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。
当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。因此,当型循环有时也称为“前测试型”循环。其对应的程序结构框图为:(如上右图)
②UNTIL语句的一般格式是:
其对应的程序结构框图为:(如上右图)
从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOP UNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。
区别:在WHILE语句中,是当条件满足时执行循环体,而在UNTIL语句中,是当条件不满足时执行循环体。
4.算法案例
辗转相除法算法:
第一步:用较大的数m除以较小的数n得到一个商q0和一个余数r0;
第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则用除数n除以余数r0得到一个商q1和一个余数r1;
第三步:若r1=0,则r1为m,n的最大公约数;若r1≠0,则用除数r0除以余数r1得到一个商q2和一个余数r2;
……
依次计算直至rn=0,此时所得到的rn-1即为所求的最大公约数。
程序框图
程序:
INPUT “m=”;m
INPUT “n=”;n
IF mx=m
m=n
n=x
END IF
r=m MOD n
WHILE r<>0
r=m MOD n21世纪教育网
m=n
n=r
WEND
PRINT m
END
更相减损术
更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母·子之数,以少减多,更相减损,求其等也,以等数约之。
翻译出来为:
第一步:任意给出两个正数;判断它们是否都是偶数。若是,用2约简;若不是,执行第二步。
第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。
(1) 辗转相除法与更相减损术区别联系
①都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。
②从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到
(2)秦九韶算法与排序
掌握秦九韶算法的原理
=an
vk=vk-1+an-k (k=1,2,3,……n)
(3)进位制
进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制 ( http: / / www.21cnjy.com / " \o "十进制 ),通常使用10个阿拉伯数字0-9进行记数。
易混易错:表示各种进位制数一般在数字右下脚加注来表示, 如111001(2)表示二进制数,34(5)表示5进制数.
二、典型例题剖析
1.判断某一事情是否为算法
方法归纳:(1) 判断某一问题是否为算法要把握算法的五个特征:
①有穷性②确定性③可行性④不惟一性⑤普遍性
例1.下列关于算法的说法中正确的个数有( )
①求解某一类问题的算法是唯一的 ②算法必须在有限步操作之后停止
③算法的每一步操作必须是明确的,不能有歧义或模糊
④算法执行后一定产生确定的结果
A. 1 B. 2 C. 3 D. 4
主要过程:由算法的五个特征可以解得只有①是错误的,解答某一类问题的算法时不惟一的。
强调内容:把握好算法的五个特征。
2.就某一问题画出程序框图并写出算法
方法归纳:(1)画程序框图时一定要明确图中各个符号的作用并能正确使用三种基本逻辑结构。(2)用程序设计语言描述算法时一定要注意有些符号与框图之中书写的不同。
例2.设计算法求的值.要求画出程序框图,写出用基本语句编写的程序.
主要过程:
强调内容:解答此题目是一定要注意循环终止的条件是i>99而不是i>100,因为这个数列共有99项
3.讨论法画程序框图写程序
方法归纳:先通过解决数学题的思想进行讨论,再画图写程序。
例3、画出解关于x的不等式ax+b<0 (a,b∈R)的流程图及程序。
主要过程:如上
强调内容:注意讨论时要全面,不但要讨论a还要讨论b.
4.实际应用:
方法归纳:先通过解决数学题的思想进行讨论,再画图写程序
例4、某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下列问题:
(1)写出该城市人口数y(万人)与年份x(年)的函数关系式;
(2)用程序表示计算10年以后该城市人口总数的算法;
(3)用流程图表示计算大约多少年以后该城市人口将达到120万人的算法。
主要过程:(1)
(2)程序如下:
S=100
I=1.2
X=0
WHILE S<120
S=S*I
X=X+1
WEND
PRINT X
END
[来源:21世纪教育网]
21世纪教育网
5. 求高次多项式的值
方法归纳:能够熟练利用秦九韶算法原理求高次多项式的值
v=a
v=v+a (k=1,2,3,……n)
用秦九韶算法计算
主要过程:a =5, a=4,a=3,a=2,a =1,a =1
v= a=5
v= v*2+ a=5*2+4=14
v= v*2+ a=14*2+3=31
v= v*2+ a=31*2+2=64
v= v*2+ a=64*2+1=129
v= v*2+ a=129*2+1=259
所以 f(2)=259
强调内容:注意在运算过程之中v=v+a (k=1,2,3,……n)的正确应用[来源:21世纪教育网]
三、高考链接
(2008广东 )1.阅读右上的程序框图。若输入m = 4,n = 3,则输出a = __12__,i =_3____ 。(注:框图中的赋值符号“=”也可以写成“←”或“:=”)
(2007山东)2.阅读如上右边的程序框图,若输入的
是100,则输出的变量和的 ( D )
A.2500,2500 B.2550,2550
C.2500,2550 D.2550,2500`
巩固练习
1、给出一个算法的流程图(如图),若,则输出结果为 ( )
A、sinθ B、 C、tanθ D、不确定
2.x=5
y=6
PRINT x+y=11
END
上面程序运行时输出的结果是( )
A.xy=11 B.11 C. x+y=11 D.出错信息
3.如果下边程序执行后输出的结果是990,那么在程序中UNTIL后面的“条件”应为( )
A. i>10
B. i<8
C. i<=9
D. i<9
4.如右图所示的程序是用来( )
A.计算3×10的值 B.计算的值
C.计算的值 D.计算1×2×3×…×10的值
5.计算机中常用十六进制,采用数字0~9和字母A~F共16个计数符号与十进制得对应关系如下表:
16进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
10进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
例如用十六进制表示有D+E=1B,则A×B=( )
A 6E B 7C C 5F D B0
二、填空题
6. 若六进数化为十进数为,则=
7. 二进制数转换成十进制数是_________________.
8. 右边程序输出的n的值是_____________________.
j=1
n=0
WHILE j<=11
j=j+1
IF j MOD 4=0 THEN
n=n+1
END IF
j=j+1
WEND
PRINT n
END
9.下图给出的是计算的值的一个程序框图,其中判断框内应填入的条件是 .
10.计算时多项式的值,需要
次加法运算,( ) 次乘法运算,此多项式写成算法
语句为( )。
三.解答题。
11.执行右图中程序,回答下面问题。
(1)若输入:m=888,n=1147,则输出的结果为:________
(2)画出该程序的程序框图。
12.已知请设计程序框图,
要求从键盘输入x,输出y。
并写出计算机程序。
13. 已知S=12-22+32-42+……+(n-1)2-n2,
请设计程序框图,算法要求从键盘输入n,输出S。
并写出计算机程序。
14. 按如图所示的流程图操作.
(Ⅰ)操作结果得到的数集是什么?如果把依次产生的数看成是数列的项,试写出其通项公式.
(Ⅱ)如何变更A框,能使操作流程图产生的数分别是数列的前10项?
15.到银行办理个人异地汇款(不超过100万元)时, 银行要收取一定的手续费。汇款额不超过100元,收取1元手续费;超过100元但不超过5000元,按汇款额的1%收取;超过5000元,一律收取50元手续费。设计算法求汇款额为x元时,银行收取的手续费y元。画出流程图并写出程序。
16.求成立的的最大整数值,画出程序框图,并写程序
17.某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下列问题:
(1)写出该城市人口数y(万人)与年份x(年)的函数关系式;
(2)用程序表示计算10年以后该城市人口总数的算法;
(3)用流程图表示计算大约多少年以后该城市人口将达到120万人的算法。
参考答案
1、 选择题 BDDCA
2、 6. 4 7. 7.75 8. 3 9. n>20(或者i>10)
10. 4,4,f(x)=2*x︿4+3*x︿3+5*x-4
三、11. 37
2.
3.解:由表达式规律可知,输入的n必须为偶数。
程序框图为:
13.
注:程序框图也可以不对n进行奇数和偶数的讨论,直接进入循环。
14.解:(Ⅰ),通项公式为,N*,且n≤10.
(Ⅱ)变更A框为:写下0,这时操作流程图,可依次得:0,2,4,…,18,恰好为数列通项公式为的前10项.
15.先写出函数,此题为一分段函数
程序略
16.
17(1)
(2)程序如下:
S=100
I=1.2
X=0
WHILE S<120
S=S*I
X=X+1
WEND
PRINT X
END
21世纪教育网
w.w.w.k.s.5.u.c.o.m
www.
满足条件?
语句1
语句2


IF 条件 THEN
语句1
ELSE
语句2
END IF
满足条件?
语句


IF 条件 THEN
语句
END IF
满足条件?
循环体


WHILE 条件
循环体
WEND
满足条件?
循环体


DO
循环体
LOOP UNTIL 条件
i=1
s=0
DO
s=s+1/(i*(i+1))
i=i+1
LOOP UNTIL i>99
PRINT s
END
开始
i=1
s=0
s=s+1/(i*(i+1))
i=i+1
i>99 ???
输出s
结束
INPUT a,b
IF a= 0 THEN
IF b>0 THEN
PRINT 无解
ELSE
PRINT x为全体实数
ELSE IF a>0 THEN
PRINT
ELSE
PRINT
END IF
END
开始
结束
S=100
I=1.2
X=0
S=S*I
X= X +1
S<120
输出X
N
Y
开始
输入
结束
输出


输入a,b,c
a>b
a>c
a=b
输出a
a=c
Y
Y
N
N
第1题
i=11
s=1
DO
s=s*i
i=i-1
LOOP UNTIL “条件”(第3题图)
PRINT S
END (第10题)
程序:S=1
I=1
WHILE I<=10
S=3*S
I=I+1
WEND
PRINT S
END
(第4题)
第9题
INPUT“m=”;m
INPUT“n=”;n
DO
r=m MOD n
m=n
n=r
LOOP UNTIL r=0
PRINT m
END
第11题图
开始
写下1
对前一个数加2
写下结果
你已写下了
10个数吗?
N
Y
结束
A
B
input x
if x<=-2 Then
y=-2*x-4
else
if Then
y=SQR(x+1)
else
y=2^(x-1)
end if
end if
print
end
N
N
Y
Y
输入
y=x+1
y=2
开始
结束
输出
y=-2x-4
i =1,S =0

n mod 2 =0 ?

开始
i = i+1
S = S+i EMBED Equation.3
输入 n
i <= n ?


结束
输出错误信息
输出 S
N
N
Y
Y
输入
y=0.1x
y=50
开始
结束
0输出
100y=1
开始
S=1
I=2
while s<1000
A= I ^
S = S + I^
I = I +1
wend
print i-2
end
(第16题图)
S=0
i=1
S=S+i^2
i=i+1


S<1000

输出i-2
结束
开始
结束
S=100
I=1.2
X=0
S=S*I S=* I
X= X +1
S<120
输出X
N
Y
21世纪教育网 -- 中国最大型、最专业的中小学教育资源门户网站。 版权所有@21世纪教育网