高中数学新课程----算法案例教案

合集下载

人教课标版高中数学必修三《算法案例(第3课时)》教案(1)-新版

人教课标版高中数学必修三《算法案例(第3课时)》教案(1)-新版

⼈教课标版⾼中数学必修三《算法案例(第3课时)》教案(1)-新版1.3 算法案例第3课时⼀、教学⽬标 1.核⼼素养在学习古代数学家解决数学问题的⽅法的过程中培养严谨的逻辑思维能⼒,在利⽤算法解决数学问题的过程中培养理性的精神和动⼿实践的能⼒. 2.学习⽬标(1)1.3.3.1理解进位制的概念,掌握各种进位制与⼗进制之间的转换规律.(2)1.3.3.2掌握⼗进位制转化为各种进位制的除k 余法. 3.学习重点各种进位制与⼗进制之间的转换规律. 4.学习难点不同进位制之间的转化规律及其思想⼆、教学设计(⼀)课前设计 1.预习任务任务1阅读教材P40-P45,思考:各种进位制与⼗进制之间转换的规律是什么?任务2你可以熟练的进⾏各进位制之间的转换吗? 2.预习⾃测1.在2进制中,0+0,0+1,1+0,1+1的值分别是多少?【解析】:分别是0,1,1,10 2.把⼆进制数()2110011化为⼗进制数【解析】:()=?+?+?+?+?+?=+++=543210211001112120202121232162151(⼆)课堂设计1.知识回顾(1)⽣活中常见的进位制有哪些(例如时间、钱等)(2)计算机中的2进制和通常的10进制怎么进⾏转换(3)⾮10的两种不同进制之间怎么进⾏转换 2.问题探究问题探究⼀认识进位制,将⼗进制数转化为k 进制数●活动⼀什么是n 进位制?我们常见的数字都是⼗进制的,但是并不是⽣活中的每⼀种数字都是⼗进制的.⽐如时间和⾓度的单位⽤六⼗进位制,电⼦计算机⽤的是⼆进制.那么什么是进位制?不同的进位制之间⼜⼜什么联系呢?进位制是⼀种记数⽅式,⽤有限的数字在不同的位置表⽰不同的数值.可使⽤数字符号的个数称为基数,基数为n ,即可称n 进位制,简称n 进制.现在最常⽤的是⼗进制,通常使⽤10个阿拉伯数字0-9进⾏记数.对于任何⼀个数,我们可以⽤不同的进位制来表⽰.⽐如:⼗进制数57,可以⽤⼆进制表⽰为111001,也可以⽤⼋进制表⽰为71、⽤⼗六进制表⽰为39,它们所代表的数值都是⼀样的.表⽰各种进位制数⼀般在数字右下脚加注来表⽰,如()2110011表⽰⼆进制数,(5)34表⽰5进制数.●活动⼆如何将10进制数转化为2进制数?解:根据⼆进制数满⼆进⼀的原则,可以⽤2连续去除89或所得商,然后去余数. 具体的计算⽅法如下:=?+=?+=?+=?+=?+892441442220222110112515221()(((())))=+++++=?+?+?+?+?+?+?=654321028922222211001120212120202121011001 这种算法叫做除2取余法,还可以⽤下⾯的除法算式表⽰:把上式中的各步所得的余数从下到上排列即可得到89=1011001(2)●活动三如何将10进制数转化为k进制数?上述⽅法可以推⼴为把⼗进制化为k进制数的算法,这种算法成为除k取余法. ⼗进制数化为k进制数(除k取余法)的步骤:1.除:把⼗进制数连续去除以k,直到商为0为⽌,同时将各步的余数写出2.取余:将各步所得的余数倒叙写出,即为所求的k进制数3.标基数:写出k进制数后将基数k⽤括号括起来标在右下⾓例1.将⼗进制数458分别转化为四进制数和六进制数.解:算式如下图,则458=13022(4)=2042(6)问题探究⼆不同进制数相互转换●活动⼀如何将10进制数与k进制数进⾏相互转换?⼆进制数110 011(2)化为⼗进制数是什么数?110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=32+16+2+1=51.那么如何将⼀个k进制数转换为⼗进制数?将k进制数a n a n-1…a1a0(k)化为⼗进制的⽅法:把k进制数a n a n-1…a1a0(k)写成各数位上的数字与基数k的幂的乘积之和的形式,然后计算出结果即为对应的⼗进制数.这样我们就可以进⾏10进制数与k进制数进⾏相互转换●活动⼆如何将⾮10的不同进制数进⾏相互转换?进制的数转化为10进制数后再把10进制的⼗进制是连接其他进制的桥梁.把k1进制数,各个进制数之间就能实现互相转换.数转化为k2例2.1 011 001(2)=______(10)=______(5).解:89,324 ⾸先将1011001(2) 化为⼗进制数为1×26+0+1×24+1×23+0+0+1×20=89,再将89化成五进制数:89除以5的商是17,余数为4,17除以5的商是3,余数为2,所以五进制数为324.3.课堂总结【知识梳理】(1)k进制化成⼗进制,幂积求和法(2)⼗进制化成k进制,除k取余法进制的数转化为10进制数后再把10进制的数转(3)不同进制之间转换:把k1化为k进制数2【重难点突破】(1)进位制之间的转换⽅法:k进制化成⼗进制,幂积求和法;⼗进制化成k 进制,除k取余法.(2)把⼀个⾮⼗进制数转化为另⼀种⾮⼗进制数,通常是把这个数先转化为⼗进制数,然后再利⽤除k取余法,把⼗进制数转化为k进制数.⽽在使⽤除k 取余法时要注意以下⼏点:1.必须除到所得的商是0为⽌;2.各步所得的余数必须从下到上排列;3.切记在所求数的右下⾓标明基数4.随堂检测1.下列各进制数中值最⼩的是( )A.85(9)B.210(6)C.1 000(4)D.111 111(2)【解析】:D 由进位制的知识易得,故选D.2.把189化为三进制数,则末位数是( )A.0 B.1 C.2 D.3【解析】:A将189除以3得余数为0,所以189化为三进制数的末位数为0. 故选A.3.已知⼀个k进制的数132与⼗进制的数30相等,那么k等于( )A.7或4 B.-7C.4 D.都不对【解析】:C132(k)=1×k2+3×k+2=k2+3k+2,∴k2+3k+2=30,即k2+3k-28=0,解得k=4或k=-7(舍去).故选C.4.四位⼆进制数能表⽰的最⼤⼗进制数是( )A.4 B.64 C.255 D.15【解析】:D由⼆进制数化为⼗进制数的过程可知,当四位⼆进制数为1 111时表⽰的⼗进制数最⼤,此时,1 111(2)=15.故选D5.七进制数中各个数位上的数字只能是______中的⼀个.【解析】:0、1、2、3、4、5、6“满⼏进⼀”就是⼏进制.∵是七进制.∴满七进⼀,根本不可能出现7或⽐7⼤的数字,所以各个数位上的数字只能是0、1、2、3、4、5、6中的⼀个.6.已知三个数12(16),25(7),33(4),将它们按由⼩到⼤的顺序排列为________.【解析】:33(4)<12(16)<25(7)将三个数都化为⼗进制数.12(16)=1×16+2=18,25(7)=2×7+5=19,33(4)=3×4+3=15,∴33(4)<12(16)<25(7).(三)课后作业基础型⾃主突破1.⼆进制数111.11(2)转换成⼗进制数是( )A.7.3 B.7.5 C.7.75 D.7.125【解析】:C 由题意知⼆进制对应的⼗进制是:1×22+1×21+1×20+1×2-1+1×2-2=4+2+1+0.5+0.25=7.75. 故选A2.将⼆进制110 101(2)转化为⼗进制为( )A.106 B.53 C.55 D.108【解析】:B110 101(2)=1+1×22+1×24+1×25=53. 故选B3.下列与⼆进制数1 001 101(2)相等的是( )A.115(8)B.113(8)C.114(8)D.116(8)【解析】:A 先化为⼗进制数:1 001 101(2)=1×26+1×23+1×22+1×20=77,再化为⼋进制数.所以77=115(8),1 001 101(2)=115(8)故选A.4.下列各数中,与1 010(4)相等的数是( )A.76(9)B.103(8)C.2 111(3)D.1 000 100(2)【解析】:D 1 010(4)=1×43+1×4=68.因为76(9)=7×9+6=69;103(8)=1×82+3=67;2111(3)=2×33+1×32+1×3+1=67;1000100(2)=1×26+1×22=68,所以1 010(4)=1 000 100(2)故选D..5.⼀个k进制的三位数与某六进制的⼆位数等值,则k不可能是( )A.3 B.4 C.5 D.7【解析】:D k进制的最⼩三位数为k2,六进制的最⼤⼆位数为5×6+5=35,由k2≤35得0…a1a0(k)表⽰⼀个k进制数,若21(k)=9,则321(k)在⼗进制中所表⽰的6.记anan-1数为( )A.86 B.57 C.34 D.17【解析】:B 由已知中21(k)=9,求出k值,进⽽利⽤累加权重法,可得答案.若21(k)=9,则2k+1=9,解得k=4,故321(k)=321(4)在+进制中所表⽰的数为:3×42+2×4+1=57. 故选B能⼒型师⽣共研7.已知1 0b1(2)=a02(3),求数字a,b的值.【解析】:a=1,b=1 ∵1 0b1(2)=1×23+b×2+1=2b+9,a02(3)=a×32+2=9a+2,∴2b+9=9a+2,即9a-2b=7.∵a∈{1,2},b∈{0,1},∴当a=1时,b=1符合题意,当a=2时,b=112不合题意,∴a=1,b=1.8.已知44(k)=36,把67(k)转化为⼗进制数为( )A.8 B.55 C.56 D.62【解析】:B 由题意得,36=4×k1+4×k0,所以k=8.则67(k)=67(8)=6×81+7×80=55. 故选B9.古时候,当边境有敌⼈来犯时,守边的官兵通过在烽⽕台上举⽕向国内报告,如图,烽⽕台上点⽕,表⽰数字1,不点⽕表⽰数字0,约定⼆进制数对应的⼗进制的单位是1 000,请你计算⼀下,这组烽⽕台表⽰约有多少敌⼈⼊侵?【解析】:27 000 由图可知从左到右的五个烽⽕台,表⽰⼆进制数的⾃左到右五个数位,依题意知这组烽⽕台表⽰的⼆进制数是11 011,改写为⼗进制为:11 011(2)=1×24+1×23+0×22+1×21+1×20=16+8+2+1=27(10).⼜27×1 000=27 000,所以这组烽⽕台表⽰边境约有27 000个敌⼈来犯.探究型多维突破10.分别⽤算法步骤、程序框图、程序语句表⽰把k进制数a(共有n位数)转化成⼗进制数b.【解析】:算法步骤:第⼀步,输⼊a,k,n的值.第⼆步,赋值b=0,i=1.第三步,b=b+a i·k i-1,i=i+1.第四步,判断i>n是否成⽴.若是,则执⾏第五步;否则,返回第三步.第五步,输出b的值.程序框图:程序语句:11.若10y1(2)=x02(3),求数字x,y的值及与此两数等值的⼗进制数.【解析】:x=y=1,11∵10y1(2)=x02(3),∴1×23+0×22+y×2+1=x×32+0×3+2,将上式整理得9x-2y=7,由进位制的性质知,x∈{1,2},y∈{0,1},当y=0时,x=(舍),当y=1时,x=1.∴x=y=1,已知数为102(3)=1 011(2),与它们相等的⼗进制数为1×32+0×3+2=11.⾃助餐1.在什么进位制中,⼗进位制数71记为47( )A.17 B.16 C.8 D.12【解析】:B 设为k进制,有:4k+7=71,从⽽可解得k=16.因此是16进制.故选B.2.把⼗进制数20化为⼆进制数为( )A.10 000(2)B.10 100(2)C.11 001(2)D.10 001(2)【解析】:B 利⽤除2取余数可得.故选B3.在⼋进制中12(8)+7(8)=21(8),则12(8)×7(8)的值为( )A.104(8)B.106(8)C.70(8)D.74(8)【解析】:B 12(8)=1×81+2×80=10(10),7(8)=7×80=7(10),12(8)×7(8)=70(10).故70(10)=106(8).即12(8)×7(8)=106(8).故选B4.将四位⼋进制数中的最⼩数转化为六进制数为( )A.2 120 B.3 120 C.2 212 D.4 212【解析】:C 四位⼋进制中的最⼩数为1 000(8).所以1 000(8)=1×83=512.再将512除以6取余得512=2 212(6).故选C5.两个⼆进制数101(2)与110(2)的和⽤⼗进制数表⽰为( )A.12 B.11 C.10 D.9【解析】:B101(2)=1×22+0×21+1×20=5,110(2)=1×22+1×21+0×20=6,5+6=11.故选B6.在计算机的运⾏过程中,常常要进⾏⼆进制数与⼗进制数的转换与计算.如⼗进制数8转换成⼆进制数是1 000,记作8(10)=1 000(2);⼆进制数111转换成⼗请进制数是7,记作111(2)=7(10)等.⼆进制的四则运算,如11(2)+101(2)=1 000(2).计算:11(2)×111(2)=________,10 101(2)+1 111(2)=________.【解析】:10 101(2),100 100(2)由题可知,在⼆进制数中的运算规律是“满⼆进⼀”,∴11(2)×111(2)=10 101(2),10 101(2)+1 111(2)=100 100(2).7.1 101(2)+1 011(2)=__________(⽤⼆进制数表⽰).【解析】:11 000(2)1 101(2)=1×23+1×22+1=13;1 011(2)=1×23+1×2+1=11,则1101(2)+1011(2)=24.即24=11 000(2).。

人教版高中数学必修三 第一章 算法初步算法案例—辗转相除法-教学设计

人教版高中数学必修三 第一章 算法初步算法案例—辗转相除法-教学设计

算法案例—辗转相除法-教学设计一、教材分析选自苏教版普通高中课程标准实验教科书必修3第一章第4节。

1、地位作用:与传统教学内容相比,《算法初步》为新增内容,算法是计算机科学的重要基础,从日常生活的电子邮件发送到繁忙的交通管理,从与人们生产、生活息息相关的天气预报到没有硝烟的战争模拟等等都离不开计算机算法。

算法思想已经渗透到社会的方方面面,算法思想也逐渐成为每个现代人应具有的数学素养。

在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程,求解方程的步骤,以及将要学习的数列求和等等,完成这些工作都需要一系列程序化的步骤,这就是算法思想。

本节内容是探究古代算法案例――辗转相除法,巩固算法三种描述性语言(自然语言、流程图和伪代码),提高学生分析和解决问题的能力。

2、教学目标:(1)知识目标:①理解辗转相除法原理;②能用自然语言、流程图和伪代码表达辗转相除法;③能应用迭代算法思想。

(2)能力目标:①培养学生把具体问题抽象转化为算法语言的能力;②培养学生自主探索和合作学习的能力。

(3)情感目标:①使学生进一步了解从具体到抽象,抽象到具体的辨证思想方法,对学生进行辨证唯物主义教育;②创设和谐融洽的教学氛围和阶梯形问题,使学生在活动中获得成功感,从而培养学生热爱数学、积极学习数学、应用数学的热情。

3、教学重点与难点:(1)教学重点:①理解辗转相除法原理;②能用自然语言、流程图和伪代码表达辗转相除法。

(2)教学难点:①理解和区分两种循环结构表达辗转相除法;②能应用迭代算法思想。

二、教法学法1、教法:以问题为载体,有引导的对话,让学生经历知识的形成过程和发展过程,从而突出教学重点,并采用多媒体教学,增加课堂容量,有利于学生活动的充分展开。

2、学法:以观察、讨论、思考、分析、动手操作、自主探索、合作学习多种形式相结合,引导学生多角度、多层面认识事物,突破教学难点。

三、教学过程设计:1、情景设置――感知辗转相除法(发给每位学生一张长为22cm ,宽为6cm 的纸条)【问1】这张长方形的纸,先拿短边往长边上折,得到一个正方形,从长方形上裁掉这个正方形后继续将短边往长边上折,一直到最后剩下来的是正方形为止,最后得到的边长是几的正方形?【师生互动解答】22=6×3+4;6 = 4×1+2;4 = 2×2+0 => 最后正方形的边长为2cm 。

1.3.1《算法案例--辗转相除法和更相减损术》

1.3.1《算法案例--辗转相除法和更相减损术》
进而由贝祖等式就可 以求解二元一次不定 方程的通解。
01.07.2019
93 168 1
75 93 18 75 4 18 72 03
3、利用辗转相除法求最大公约数的步骤如下: 第一步:用较大的数m除以较小的数n得到
一个商q0和一个余数r0;(m=n×q0+r0) 第二步:若r0=0,则n为m,n的最大公约
数. 2. 更相减损术,就是对于给定的两个正
整数,用较大的数减去较小的数,然后将差 和较小的数构成新的一对数,继续上面的减 法,直到差和较小的数相等,此时相等的两 数0即1.07.20为1损术的区别
(1)都是求最大公约数的方法,计算上辗转相除 法以除法为主,更相减损术以减法为主,计算次数 上辗转相除法计算次数相对较少,特别当两个数字 大小区别较大时计算次数的区别较明显。
教学难点 :转相除法与更相减损术的方法转 换成程序框图与程序语言。
01.07.2019
问题提出
1.研究一个实际问题的算法,主要从 算法步骤、程序框图和编写程序三方面 展开.在程序框图中算法的基本逻辑结构 有哪几种?在程序设计中基本的算法语 句有哪几种?
2.“求两个正整数的最大公约数” 是数学中的一个基础性问题,它有各种 解决办法,我们以此为案例,对该问题 的算法作一些探究.
m=n

输出m 结束
INPUT m,n WHILE m<>n
k=m-n IF mn=>nk THEN
n=k ELSEm=k END IF WEND PRINT m
01.07.2019
n=k
END
例2 分别用更相减损术和辗转相除法求98
与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数,

高中数学算法案例-进位制(公开课)教案 新人教A版必修3

高中数学算法案例-进位制(公开课)教案 新人教A版必修3

必修3第一章1.3算法案例:案例3进位制[教学目标]:(1)了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。

(2)学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律。

[教学重点]各进位制表示数的方法及各进位制之间的转换[教学难点]除k取余法的理解[情感态度价值观] 学生通过合作完成任务,领悟十进制,二进制的特点,了解计算机与二进制的联系,进一步认识到计算机与数学的联系,培养他们的合作精神和严谨的态度。

[教学方法] 讲解法、尝试法、归纳法、讨论法、[教学用具]多媒体电脑[学法] 学习各种进位制特点的同时探讨进位制表示数与十进制表示数的区别与联系,熟悉各种进位制表示数的方法,从而理解十进制转换为各种进位制的除k取余法。

[教学过程]一、创设情景,揭示课题辗转相除法和更相减损术,是求两个正整数的最大公约数的算法,秦九韶算法是求多项式的值的算法,将这些算法转化为程序,就可以由计算机来完成相关运算。

人们为了计数和运算方便,约定了各种进位制,本节课我们来共同学习《进位制》你都了解那些进位制?比如说?在日常生活中,我们最熟悉、最常用的是十进位制,据说这与古人曾以手指计数有关;由于计算机的计算与记忆元件特点,计算机上通用的是二进位制;一周七天是七进位;一年十二个月〔生肖、一打〕是十二进制;旧式的称是十六进制;〔老称一斤为16两,故而有了半斤八两之说〕、24进制〔节气〕一小时六十分、角度的单位是六十进位制。

二进制是有德国数学家莱布尼兹发明的。

第一台计算机ENIAC〔埃尼阿克〕用的就是十进制。

计算机之父冯·诺伊曼研究后,提出改进意见,用二进制替代十进制。

主要原因①二进制只有0和1两个数字,要得到两种不同稳定状态的电子器件很容易,而且制造简单,可靠性高;②各种计数法中,二进制运算规那么简单。

如:十进 制乘法叫九九表,二进制只有4句。

高中数学《算法初步》教案新人教A版必修

高中数学《算法初步》教案新人教A版必修

高中数学《算法初步》教案新人教A版必修一、教学目标1. 理解算法的基本概念,了解算法在数学和日常生活中的应用。

2. 掌握算法的基本步骤,能够清晰地描述和分析算法的过程。

3. 学会使用循环结构编写算法,熟练掌握基本的编程技巧。

4. 通过解决实际问题,培养学生的逻辑思维能力和创新能力。

二、教学内容1. 算法的基本概念:算法、输入、输出、步骤2. 算法的基本步骤:排序、查找、乘法口诀、求解一元二次方程3. 循环结构:for循环、while循环、do-while循环4. 实际问题求解:编写算法解决生活中的实际问题,如计算器、购物清单等。

三、教学重点与难点1. 重点:算法的基本概念、基本步骤和循环结构。

2. 难点:循环结构的嵌套使用和复杂问题的算法设计。

四、教学方法与手段1. 采用问题驱动的教学方法,引导学生从实际问题中提炼出算法。

2. 使用多媒体教学手段,展示算法的过程和效果,增强学生的直观感受。

3. 引导学生通过编程实践,巩固算法知识,提高解决问题的能力。

五、教学安排1. 第一课时:介绍算法的基本概念,学习算法的输入、输出、步骤。

2. 第二课时:学习算法的基本步骤,掌握排序、查找、乘法口诀、求解一元二次方程等基本算法。

3. 第三课时:学习循环结构,掌握for循环、while循环、do-while循环的用法。

4. 第四课时:运用所学算法解决实际问题,编写算法程序。

5. 第五课时:进行课堂讨论,分享算法解决问题的经验,进行算法设计的交流和探讨。

六、教学过程1. 导入:通过引入日常生活中的算法例子,如计算购物找零、制定旅行计划等,激发学生的兴趣,引出算法的概念。

2. 新课导入:介绍算法的定义、特点和作用,引导学生了解算法在数学和科学领域中的应用。

3. 案例分析:分析排序、查找等基本算法,让学生通过具体案例理解算法的基本步骤和原理。

4. 编程实践:让学生动手编写简单的算法程序,如排序算法、查找算法等,加深对算法概念的理解。

高中数学算法的教案

高中数学算法的教案

高中数学算法的教案教学目标:1. 了解算法的基本概念和原理;2. 掌握常见的数学算法,如欧几里德算法、快速幂算法等;3. 能够通过算法解决实际问题。

教学重点:1. 算法的基本概念和原理;2. 欧几里德算法;3. 快速幂算法。

教学难点:1. 算法的应用;2. 算法的复杂度分析。

教学准备:1. 讲义、PPT等教学资料;2. 白板、彩色笔等教学工具。

教学过程:一、引言(5分钟)介绍算法在现代社会中的重要性,激发学生学习算法的兴趣。

二、算法的基本概念(10分钟)1. 定义:算法是解决问题的一个有限指令序列;2. 特点:输入、输出、有限性、确定性和有效性。

三、欧几里德算法(20分钟)1. 算法原理:求两个整数的最大公约数;2. 算法步骤:辗转相除法;3. 算法实现:通过示例演示欧几里德算法的具体操作。

四、快速幂算法(20分钟)1. 算法原理:求指数运算的快速方法;2. 算法步骤:分治思想;3. 算法实现:通过示例演示快速幂算法的具体操作。

五、综合练习(15分钟)结合欧几里德算法和快速幂算法,进行练习题的讲解和解答。

六、实际应用(10分钟)介绍算法在实际生活和工作中的应用,如密码学、图像处理等领域。

七、作业布置(5分钟)布置相关练习题,巩固学生对算法的理解和掌握。

教学反思:通过本节课的教学,学生对算法的基本概念和常见算法有了更深入的了解,同时也提高了对算法的应用能力。

在今后的教学中,需要进一步引导学生灵活运用算法解决问题,提高他们的综合思考能力和实践能力。

高中数学算法案例教案

高中数学算法案例教案

高中数学算法案例教案
课题:排序算法——冒泡排序
教学目标:
1.了解冒泡排序算法的基本原理及实现过程。

2.掌握冒泡排序算法在实际应用中的应用场景。

3.能够通过编程实现冒泡排序算法。

4.培养学生的逻辑思维能力和编程实践能力。

教学过程:
一、导入新知识(5分钟)
向学生介绍冒泡排序算法的基本原理及实现过程,通过示例演示冒泡排序的排序过程。

二、理论学习(15分钟)
1.讲解冒泡排序算法的原理:比较相邻的元素,如果前一个比后一个大,则交换两个元素
的位置。

2.详细讲解冒泡排序的实现过程,并通过示例展示冒泡排序的排序过程。

三、算法分析(15分钟)
与学生一起分析冒泡排序算法的时间复杂度,引导学生思考如何优化冒泡排序算法的性能。

四、实际操作(20分钟)
1.让学生通过编程实现冒泡排序算法,并让他们自行编写测试用例进行验证。

2.引导学生思考如何改进冒泡排序算法,提高其效率。

五、应用拓展(10分钟)
探讨冒泡排序算法在实际应用中的场景,并引导学生思考如何在实际问题中应用冒泡排序
算法。

六、总结归纳(5分钟)
回顾本节课的主要内容,强调冒泡排序算法的重要性和应用价值。

七、作业布置(5分钟)
布置任务:要求学生练习编写冒泡排序算法,并结合实际问题进行应用。

教学反思:
通过本堂课的教学,学生对冒泡排序算法有了更深刻的理解,通过实际操作提高了他们的编程实践能力,培养了他们的逻辑思维能力。

在未来的教学中,需要更加注重培养学生的实践能力和创新能力,引导学生将所学知识应用到实际问题中。

高中数学 算法案例 (1)教案 新人教A版必修3

高中数学 算法案例 (1)教案 新人教A版必修3
教学用具:投影仪
教学方法:启发式教学
教学过程:
一、新课导入:
提出问题:在小学,我们已经学过求最大公约数的知识,如口算求出12与20的公约数。其方法为:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来。我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容。
算法案例
教学目标:(1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;(3)进一步体会算法的基本思想;
教学重点:理解辗转相除法与更相减损术求最大公约数的方法。
教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言。.
6105=2146×2+1813 2146=1813×1+333
1813=333×5+148 333=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,此时所得到的 即为所求的最大公约数。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高中数学新课程----算法案例一.【课标要求】通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。

二.【命题走向】算法是高中数学新课程中的新增内容,本讲的重点是几种重要的算法案例思想,复习时重算法的思想轻算法和程序的构造。

预测2020年高考队本讲的考察是:以选择题或填空题的形式出现,分值在5分左右,考察的热点是算法实例和传统数学知识的结合题目三.【要点精讲】1.求最大公约数(1)短除法求两个正整数的最大公约数的步骤:先用两个数公有的质因数连续去除,一直除到所得的商是两个互质数为止,然后把所有的除数连乘起来(2)穷举法(也叫枚举法)穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数(3)辗转相除法辗转相除法求两个数的最大公约数,其算法可以描述如下:①输入两个正整数m和n;②求余数r:计算m除以n,将所得余数存放到变量r中;③更新被除数和余数:m=n,n=r;④判断余数r是否为0。

若余数为0,则输出结果;否则转向第②步继续循环执行如此循环,直到得到结果为止。

(4)更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术。

在《九章算术》中记载了更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之步骤:Ⅰ.任意给出两个正数;判断它们是否都是偶数。

若是,用2约简;若不是,执行第二步。

Ⅱ.以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。

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

2.秦九韶算法秦九韶算法的一般规则:秦九韶算法适用一般的多项式f(x)=a n x n +a n-1x n-1+….+a 1x+a 0的求值问题。

用秦九韶算法求一般多项式f(x)=a n x n +a n-1x n-1+….+a 1x+a 0当x=x 0时的函数值,可把n 次多项式的求值问题转化成求n 个一次多项式的值的问题,即求v 0=a nv 1=a n x+a n -1 v 2=v 1x+a n -2 v 3=v 2x+a n -3 …….. v n =v n -1x+a 0观察秦九韶算法的数学模型,计算v k 时要用到v k -1的值,若令v 0=a n 。

我们可以得到下面的递推公式: v 0=a nv k =v k -1+a n -k (k=1,2,…n)这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现3.进位制 (1)概念进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。

可使用数字符号的个数称为基数,基数为n ,即可称n 进位制,简称n 进制。

现在最常用的是十进制,通常使用10个阿拉伯数字0—9进行记数。

对于任何一个数,我们可以用不同的进位制来表示。

比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。

一般地,若k 是一个大于一的整数,那么以k 为基数的k 进制可以表示为:110()110...(0,0,...,,)n n k n n a a a a a k a a a k --<<≤<,而表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表示5进制数。

(2)进位制间的转换 关于进位制的转换,教科书上以十进制和二进制之间的转换为例讲解,并推广到十进制和其它进制之间的转换。

这样做的原因是,计算机是以二进制的形式进行存储和计算数据的,而一般我们传输给计算机的数据是十进制数据,因此计算机必须先将十进制数转换为二进制数,再处理,显然运算后首次得到的结果为二进制数,同时计算机又把运算结果由二进制数转换成十进制数输出。

非十进制数转换为十进制数比较简单,只要计算下面的式子值即可:111011.........)(.....a k a k a k a k a a a a n n n n n n +⨯++⨯+⨯=---第一步:从左到右依次取出k 进制数)(.....011k a a a a n n -各位上的数字,乘以相应的k 的幂,k 的幂从n 开始取值,每次递减1,递减到0,即00111,,,.........,k a k a k a k a n n n n ⨯⨯⨯⨯--;第二步:把所得到的乘积加起来,所得的结果就是相应的十进制数。

十进制数转换成非十进制数把十进制数转换为二进制数,教科书上提供了“除2取余法”,我们可以类比得到十进制数转换成k 进制数的算法“除k 取余法”。

非十进制之间的转换一个自然的想法是利用十进制作为桥梁。

教科书上提供了一个二进制数据与16进制数据之间的互化的方法,也就是先有二进制数转化为十进制数,再由十进制数转化成为16进制数。

四.【典例解析】题型1:求最大公约数 例1.(1)用辗转相除法求123和48的最大公约数? (2)用更相减损来求80和36的最大公约数?解析:(1)辗转相除法求最大公约数的过程如下:(建立带余除式)123=2×48+27 48=1×27+21 27=1×21+621=3×6+36=2×3+0最后6能被3整除,得123和48的最大公约数为3。

(2)分析:我们将80作为大数,36作为小数,执行更相减损术来求两数的最大公约数。

执行结束的准则是减数和差相等更相减损术:因为80和36都是偶数,要去公因数2。

80÷2=40,36÷2=18;40和18都是偶数,要去公因数2。

40÷2=20,18÷2=9下面来求20与9的最大公约数,20-9=1111-9=29-2=77-2=55-2=33-2=12-1=1可得80和36的最大公约数为22×1=4。

点评:对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等。

例2.设计一个算法,求出840与1764的最大公因数。

解析:我们已经学习过了对自然数的素因数分解的方法,下面的算法就是在此基础上设计的。

解题思路如下:首先对两个数进行素因数分解:840=23×3×5×7,1764=22×32×72,其次,确定两个数的公共素因数:2,3,7。

接着确定公共素因数的指数:对于公共素因数2,840中为23,1764中为22,应取较少的一个22,同理可得下面的因数为3和7。

算法步骤:第一步:将840进行素数分解23×3×5×7;第二步:将1764进行素数分解22×32×72;第三步:确定它们的公共素因数:2,3,7;第四步:确定公共素因数2,3,7的指数分别是:2,1,1;第五步:最大公因数为22×31×71=84。

点评:质数是除1以外只能被1和本身整除的正整数,它应该是无限多个,但是目前没有一个规律来确定所有的质数题型2:秦九韶算法 例3.(2009福州模拟)如果执行右面的程序框图,那么输出的S = ( )A .22B .46C .94D .190 答案C 2、(2009浙江卷理)某程序框图如图所示,该程序运行后输出的k 的值是 () A .4B .5C .6D .7【解析】对于0,1,1k s k ==∴=,而对于1,3,2k s k ==∴=,则2,38,3k s k ==+∴=,后面是113,382,4k s k ==++∴=,不符合条件时输出的4k =. 答案A 3、(2009天津卷理)阅读上(右)图的程序框图,则输出的S=()A26B35C40D57【解析】当1=i 时,2,2==S T ;当2=i 时,7,5==S T ;当3=i时,15,8==S T ;当4=i 时,26,11==S T ;当5=i 时, 40,14==S T ;当6=i 时,57,17==S T ,故选择C 。

答案 C4(2009安徽卷文)程序框图上(右)(即算法流程图)如图所示,其输入结果是_______。

【解析】根据流程图可得a 的取值依次为1、3、7、15、31、63……答案127点评:秦九韶算法适用一般的多项式f(x)=a n x n+a n-1x n-1+….+a1x+a0的求值问题。

直接法乘法运算的次数最多可到达2)1(nn,加法最多n次。

秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次。

例4.已知多项式函数f(x)=2x5-5x4-4x3+3x2-6x+7,求当x=5时的函数的值。

解析:把多项式变形为:f(x)=2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7计算的过程可以列表表示为:多项式x系数2-5-43-67运算运算所得的值1251055402670+变形后x的"系数" 2 5211085342677*5最后的系数2677即为所求的值算法过程:v0=2v1=2×5-5=5v2=5×5-4=21v3=21×5+3=108v4=108×5-6=534v5=534×5+7=2677点评:如果多项式函数中有缺项的话,要以系数为0的项补齐后再计算。

题型3:进位值例5.把十进制数89化为三进制数,并写出程序语句.解析:具体的计算方法如下:89=3×29+229=3×9+29=3×3+03=3×1+01=3×0+1所以:89(10)=1011001(3)。

点评:根据三进制数满三进一的原则,可以用3连续去除89及其所的得的商,然后按倒序的先后顺序取出余数组成数据即可。

例6.将8进制数314706(8)化为十进制数,并编写出一个实现算法的程序。

解析:314706(8)=3×85+1×84+4×83+7×82+0×Array 81+6×80=104902。

所以,化为十进制数是104902。

点评:利用把k进制数转化为十进制数的一般方法就可以把8进制数314706(8)化为十进制数,然后根据该算法,利用GET函数,应用循环结构可以设计程序。

五.【思维总结】1.求最大公约数(1)辗转相除法程序框图与程序语句程序:INPUT“m,n=”;m,nDOr=mMODnm=nn=rLOOPUNTILr=0PRINTEND(2)更相减损术更相减损术程序:INPUT“请输入两个不相等的正整数”;a,bi=0WHILEaMOD2=0ANDbMOD2=0a=a/2b=b/2i=i+1WENDDOIFb<aTHENt=aa=bb=tENDIFc=a-ba=bb=cLOOPUNTILa=bPRINTa^iENDf(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0首先,让我们以5次多项式一步步地进行改写:f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0=((a5x3+a4x2+a3x+a2)x+a1)x+a0=(((a5x2+a4x+a3)x+a2)x+a1)x+a0=((((a5x+a4)x+a3)x+a2)x+a1)x+a0上面的分层计算。

相关文档
最新文档