必修3教案.docx
《必修3教案.docx》由会员分享,可在线阅读,更多相关《必修3教案.docx(112页珍藏版)》请在冰豆网上搜索。
必修3教案
课题:
算法的概念
(1)
课型:
新授课
教学目标:
(1)了解算法的含义,体会算法的思想;
(2)能够用自然语言叙述算法;
(3)掌握正确的算法应满足的要求;
(4)会写出解线性方程(组)的算法;
(5)判断一个数为质数的算法、用二分法求方程近似根的算法。
教学重点:
解二元一次方程组等几个典型的的算法设计..
教学难点:
算法的含义、把自然语言转化为算法语言。
.
教学过程
一、引入课题
章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”。
算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。
但是我们却从小学就开始接触算法,熟悉许多问题的算法。
如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。
菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。
在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
(古代的计算工具:
算筹与算盘.20世纪最伟大的发明:
计算机,计算机是强大的实现各种算法的工具。
)
二、讲授新课:
1.算法概念:
在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。
广义地说,算法就是做某一件事的步骤或程序。
2.算法的特点:
(1)有限性:
一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的;
(2)确定性:
算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不
应当是模棱两可;
(3)顺序性与正确性:
算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题;
(4)不唯一性:
求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法;
(5)普遍性:
很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决;
3.教学几个典型的算法:
例1:
解二元一次方程组:
分析:
解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程.
解:
第一步:
②-①×2,得:
5y=3;③
第二步:
解③得
;
第三步:
将
代入①,得
.
学生探究:
对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?
老师评析:
本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。
下面写出求一般的二元一次方程组的解的算法:
例2:
写出求方程组
的解的算法.
解:
第一步:
②×a1-①×a2,得:
③
第二步:
解③得
;
第三步:
将
代入①,得
。
例3、
(1)设计一个算法,判断7是否为质数。
(2)设计一个算法,判断35是否为质数。
分析:
(1)质数是只能被1和自身整除的大于1的整数.
(2)要判断一个大于1的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.
解:
探究:
你能写出“判断整数n(n>2)是否为质数”的算法吗?
说明:
本算法是用自然语言的形式描述的.设计算法一定要做到以下要求:
(1)写出的算法必须能解决一类问题,并且能够重复使用;
(2)要使算法尽量简单、步骤尽量少;
(3)要保证算法正确,且计算机能够执行。
例4、.用二分法设计一个求方程
的近似根的算法.
分析:
该算法实质是求
的近似值的一个最基本的方法.
解:
设所求近似根与精确解的差的绝对值不超过0.005,算法:
第一步:
令
.因为
,所以设x1=1,x2=2.
第二步:
令
,判断f(m)是否为0.若是,则m为所求;若否,则继续判断
大于0还是小于0.
第三步:
若
,则x1=m;否则,令x2=m.
第四步:
判断
是否成立?
若是,则x1、x2之间的任意值均为满足条件的近似根;若否,则返回第二步。
三.巩固练习:
1.写出解方程x2-2x-3=0的一个算法。
2.求1×3×5×7×9×11的值,写出其算法。
3.有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题。
四.小结:
1、算法概念和算法的基本思想
(1)算法与一般意义上具体问题的解法的联系与区别;
(2)算法的五个特征。
2、利用算法的思想和方法解决实际问题,能写出一此简单问题的算法
3、两类算法问题
(1)数值性计算问题,如:
解方程(或方程组),解不等式(或不等式组),套用公式判断性的问题,累加,累乘等一类问题的算法描述,可通过相应的数学模型借助一般数学计算方法,分解成清晰的步骤,使之条理化即可。
(2)非数值性计算问题,如:
排序、查找、变量变换、文字处理等需先建立过程模型,通过模型进行算法设计与描述。
五.作业布置:
(课本第5页练习1,2)
六.后记:
课题:
基本算法语句
(1)
课型:
新授课
教学目标:
.
(1)正确理解输入语句、输出语句、赋值语句的结构;
(2)能初步操作、模仿.通过实例使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法;
(3)能用这三种基本的算法语句表示算法,进一步体会算法的基本思想;
教学重点:
会用输入语句、输出语句、赋值语句。
教学难点:
正确理解输入语句、输出语句、赋值语句的作用。
.
教学过程:
一、新课导入:
1.提问:
学习了哪些算法的表示形式?
(自然语言或程序框图描述)
算法中的三种基本的逻辑结构?
(顺序结构、条件结构和循环结构)
2.导入:
我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的.因此还需要将算法用计算机能够理解的程序设计语言翻译成计算机程序。
程序设计语言有很多种.如BASIC,Foxbase,C语言,C++,J++,VB,VC,JB等。
各种程序设计语言中都包含下列基本的算法语句:
输入语句、输出语句、赋值语句、条件语句和循环语句.今天,我们一起用类BASIC语言学习输入语句、输出语句、赋值语句。
二、讲授新课:
输入语句、输出语句、赋值语句基本上对应于算法中的顺序结构。
下面的例题是用这三种基本的算法语句表示的一个算法。
例1:
用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值。
编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值。
程序:
INPUT“x=”;x输入语句
y=x^3+3*x^2-24*x+30赋值语句
PRINTx输出语句
PRINTy输出语句
END
1.输入语句:
(1)输入语句的一般格式
INPUT“提示内容”;变量
(2)输入语句的作用是实现算法的输入信息功能;
(3)“提示内容”提示用户输入什么样的信息,变量是指程序在运行时其值是可以变化的量;
(4)输入语句要求输入的值只能是具体的常数,不能是函数、变量或表达式;
(5)提示内容与变量之间用分号“;”隔开,若输入多个变量,变量与变量之间用逗号“,”隔开。
2.输出语句:
(1)输出语句的一般格式
PRINT“提示内容”;表达式
(2)输出语句的作用是实现算法的输出结果功能;
(3)“提示内容”提示用户输入什么样的信息,表达式是指程序要输出的数据;
(4)输出语句可以输出常量、变量或表达式的值以及字符。
3.赋值语句:
可以给变量提供初值。
(1)赋值语句的一般格式
变量=表达式
(2)赋值语句的作用是将表达式所代表的值赋给变量;
(3)赋值语句中的“=”称作赋值号,与数学中的等号的意义是不同的。
赋值号的左右两边不能对换,它将赋值号右边的表达式的值、赋给赋值号左边的变量;
(4)赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或算式;
(5)对于一个变量可以多次赋值。
注意:
①赋值号左边只能是变量名字,而不能是表达式。
如:
2=X是错误的。
②赋值号左右不能对换。
如“A=B”“B=A”的含义运行结果是不同的。
③不能利用赋值语句进行代数式的演算。
(如化简、因式分解、解方程等)
④赋值号“=”与数学中的等号意义不同。
例2:
编写程序,计算一个学生数学、语文、英语三门课的平均成绩。
分析:
先写出算法,画出程序框图,再进行编程。
算法:
第一步,输入该学生数学、语文、英语三门课的成绩a,b,c.
第二步,计算
。
第三步,输出y。
程序框图:
程序:
INPUT“Maths=”;a
INPUT“Chinese=”;b
INPUT“English=”;c
PRINT“Theaverage=”;(a+b+c)/3
END
例3、给一个变量重复赋值。
例4、交换两个变量A和B的值,并输出交换前后的值。
分析:
引入一个中间变量X,将A的值赋予X,又将B的值赋予A,再将X的值赋予B,
从而达到交换A,B的值。
(比如生活中交换装满红墨水和蓝墨水的两个瓶子里的墨水,需要再找一个空瓶子)
程序:
三.巩固练习:
P24练习1,2,3
四.小结:
本节课介绍了输入语句、输出语句和赋值语句的结构特点及联系。
掌握并应用输入语句,输出语句,赋值语句编写一些简单的程序解决数学问题,特别是掌握赋值语句中“=”的作用及应用。
编程一般的步骤:
先写出算法,再进行编程。
我们要养成良好的习惯,也有助于数学逻辑思维的形成。
注意:
BASIC语言中的标准函数,如SQR(x)表示x的算术平方根,ABS(x)表示x的绝对值等。
五.作业布置:
(课本第33页习题1.2A组1)
六.后记
课题:
基本算法语句
(2)
课型:
新授课
教学目标:
(1)正确理解条件语句的概念,并掌握其结构;
(2)会应用条件语句编写程序;
(3)进一步体会算法的基本思想;
教学重点:
条件语句的步骤、结构及功能。
教学难点:
会编写程序中的条件语句。
教学过程:
一、复习准备:
1.提问:
算法的三种逻辑结构?
条件结构的框图模式?
否否
是是
2.提问:
输入语句、输出语句和赋值语句的格式与功能是什么?
二、讲授新课:
条件语句的格式与功能
1、条件语句的格式一般有两种:
IF—THEN—ELSE语句;IF—THEN语句。
(1)IF—THEN—ELSE语句
IF—THEN—ELSE语句的一般格式为图1,对应的程序框图为图2。
IF条件THEN
语句1
ELSE
语句2
ENDIF
否
是
图1图2
注意:
在IF—THEN—ELSE语句中,“条件”表示判断的条件,“语句1”表示满足条件时执行的操作内容;“语句2”表示不满足条件时执行的操作内容;ENDIF表示条件语句的结束。
计算机在执行时,首先对IF后的条件进行判断,如果条件符合,则执行THEN后面的语句1;若条件不符合,则执行ELSE后面的语句2。
(2)IF—THEN语句
IF—THEN语句的一般格式为图3,对应的程序框图为图4。
IF条件THEN
语句
ENDIF
图3图4
注意:
“条件”表示判断的条件;“语句”表示满足条件时执行的操作内容,条件不满足时,结束程序;ENDIF表示条件语句的结束。
计算机在执行时首先对IF后的条件进行判断,如果条件符合就执行THEN后边的语句,若条件不符合则直接结束该条件语句,转而执行其它语句。
2.例题讲解
例1.编写一个程序,求实数x的绝对值。
思考:
阅读下面的程序,你能得出什么结论?
例2.编写程序,使任意输入的3个整数按从大到小的顺序输出。
三.巩固练习:
P29练习1,2,3,4
四.小结:
1.条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套
2.编程的一般步骤:
(1)算法分析:
根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法。
(2)画程序框图:
依据算法分析,画出程序框图。
(3)写出程序:
根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来。
五.作业布置:
(课本第33页习题1.2A组2)
六.后记
课题:
基本算法语句(3)
课型:
新授课
教学目标:
(1)正确理解循环语句的概念,并掌握其结构;
(2)会应用循环语句编写程序;
(3)进一步体会算法的基本思想;
教学重点:
两种循环语句的表示方法、结构和用法,用循环语句表示算法。
教学难点:
理解循环语句的表示方法、结构和用法,会编写程序中的循环语句。
教学过程:
一、复习准备:
1.设计一个计算1+2+3+……+10的算法,并画出程序框图.
2.循环结构有哪两种模式?
有何区别?
相应框图如何表示?
答:
当型(while型)和直到型(until型)。
当型循环语句先对条件判断,根据结果决定是否执行循环体,可能一次也不执行循环体,也称为“前测试型”循环;直到型循环语句先执行一次循环体,再对一些条件进行判断,决定是否继续执行循环体。
是否
否是
当型循环直到型循环
二、讲授新课:
算法中的循环结构是由循环语句来实现的。
对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。
即WHILE语句和UNTIL语句。
1.WHILE语句
(1)WHILE语句的一般格式是对应的程序框图是
WHILE条件
循环体
WEND
(2)当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止。
这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句。
因此,当型循环有时也称为“前测试型”循环。
2.UNTIL语句
(1)UNTIL语句的一般格式是对应的程序框图是
DO
循环体
LOOPUNTIL条件
(2)直到型循环又称为“后测试型”循环,从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOPUNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句。
注意:
当型循环与直到型循环的区别:
(先由学生讨论再归纳)
(1)当型循环先判断后执行,直到型循环先执行后判断;
(2)在WHILE语句中,是当条件满足时执行循环体,在UNTIL语句中,是当条件不满足时执行循环体。
3.例题讲解
例1:
用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值.编写程序,连续输入自变量的11个取值,输出相应的函数值。
例2.将下列程序框图转化为相应的程序。
否
是
否
是
解:
程序为:
三.巩固练习:
P32练习1,2
四.小结:
1.循环语句的两种不同形式:
WHILE语句和UNTIL语句(另补充了For语句),掌握它们的一般格式。
2.在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法。
WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体。
3.循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务。
如累加求和,累乘求积等问题中常用到。
五.作业布置:
(课本第33页习题1.2B组1,3)
六.后记
课题:
算法案例
(1)
课型:
新授课
教学目标:
(1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;
(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;
(3)进一步体会算法的基本思想;
教学重点:
理解辗转相除法与更相减损术求最大公约数的方法。
教学难点:
把辗转相除法与更相减损术的方法转换成程序框图与程序语言。
.
教学过程:
一、新课导入:
提出问题:
在小学,我们已经学过求最大公约数的知识,如口算求出12与20的公约数。
其方法为:
先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来。
我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?
比如求8251与6105的最大公约数?
这就是我们这一堂课所要探讨的内容。
二、讲授新课:
1.辗转相除法
例1求两个正数8251和6105的最大公约数。
分析:
8251与6105两数都比较大,而且没有明显的公约数,我们可以考虑用两数中较大的数除以较小的数,求得商和余数:
8251=6105×1+2146
显然6105与2146的公约数也必是8251与6105的公约数,反过来,8251与6105的最大公约数也是6105与2146的最大公约数,所以它们的最大公约数相等。
6105=2146×2+18132146=1813×1+333
1813=333×5+148333=148×2+37
148=37×4+0
最后的除数37是148和37的最大公约数,也就是8251与6105的最大公约数。
以上我们求最大公约数的方法就是辗转相除法。
也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的。
利用辗转相除法求最大公约数的步骤如下:
(1).用较大的数m除以较小的数n得到一个商
和一个余数
;
(2).若
=0,则n为m,n的最大公约数;若
≠0,则用除数n除以余数
得到一个商
和一个余数
;
(3).若
=0,则
为m,n的最大公约数;若
≠0,则用除数
除以余数
得到一个商
和一个余数
;……依次计算直至
=0,此时所得到的
即为所求的最大公约数。
思考:
你能把辗转相除法编成一个计算机程序吗?
例如,把上面的例子为例.
算法步骤:
第一步,给定两个正整数m,n;
第二步,计算m除以n所得的余数r;
第三步,m=n,n=r.
第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步。
程序框图:
否
是
程序:
2.更相减损术
我国早期也有求最大公约数问题的算法,就是更相减损术。
在《九章算术》中有更相减损术求最大公约数的步骤:
可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之。
翻译为:
(1).任意给定两个正数,判断它们是否都是偶数。
若是,用2约简;若不是,执行第二步。
(2).以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。
继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数。
例2用更相减损术求98与63的最大公约数.
分析:
(略)
辗转相除法与更相减损术的区别:
(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到
三.巩固练习:
1.试用当型循环结构构造算法,求两个正整数的最大公约数;写出算法步骤、程序框图和程序。
2.P45练习1
四.小结:
对比分析辗转相除法与更相减损术求最大公约数的计算方法及完整算法程序。
五.作业布置:
(课本第48页习题1.3A组1)
六.后记
课题:
算法案例
(2)
课型:
新授课
教学目标:
(1)了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数,提高计算效率的实质;
(2)理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用;
(3)体会算法的基本思想;
教学重点:
秦九韶算法的特点及其程序设计。
教学难点:
秦九韶算法的先进性理解及其程序设计。
.
教学过程:
一、复习准备:
分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.。
二、讲授新课:
例如,设计一个求多项式
当
时的值的算法。
一般的解决方案:
将
代入多项式进行计算即可;
提问:
上述算法在计算时共用了多少次乘法运算?
多少次加法运算?
此方案有何优缺点?
(上述算法一共做了4+3+2+1=10次乘法运算,5次加法运算.优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)
另一种做法是先计算
的值,然后依次计算
的值,这样每次都可以利用上次计算的结果。
这时,我们一共做了4次乘法运算,5次加法运算。
第二种做法与第一种做法相比,乘法的运算次数减少了,因而能够提高运算效率。
对于计算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以采用第二种做法,计算机能更快地得到结果。
那么,有没有更有效的算法呢?
1.秦九韶算法
例如:
求一个n次多项式
的值?
先把多项式改写为:
首先计算最内层括号内一次多项式的值,即
,
然后由内向外逐层计算一次多项式的值,即
,
,
.
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值。
结论:
这种算法就是“秦九韶算法”。
例1、已知一个5次多项式为
f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8
用秦九韶算法求这个多项式当x=5时多项式的值。
思考:
用秦九韶算法求一个n次多项式
当x=x0
(x0是任意实数)时的值,需要多少次乘法运算,多少次加法运算?
分析:
秦九韶算法将求
次多项式的值转化为求
个一次多项式的值,整个过程只需
次乘法运算和
次加法运算;观察上述
个一次式,可发出
的计算要用到
的值,若令
,可得到下列递推公式:
.
这是一个反复执行的步骤,因此可用循环结构来实现.
算法步骤:
程序框图:
程序:
三.巩固练习:
2.P45练习2
四.小结:
(1)秦九韶算法计算多项式的值及程序设计
(2)注意循环语句的使用与算法的循环次数,对算法进行改进。
五.作业布置:
(课本第48页习题1.3A组2)
课题:
算法案例(3)
课型:
新授课
教学目标:
(1)了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换;
(2)学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k去余法,并理解其中的数学规律;
(3)体会算法的基本思想;
教学重点:
秦九韶算法的特点及其程序设计。
教学难点:
秦九韶算法的先进性理解及其程序设计。
.
教学过程:
一、复习准备:
1.试用秦九韶算法求多项式
当