高中数学算法案例备课资料
高中数学 1.4《算法案例3》教案 苏教版必修3

算法案例(3)教学目标(1)二分法主要是采用了循环结构处理问题要会分析类似的问题;(2)GoTo 语句的认识及其他语句的进一步熟悉;(3)能由流程图分析出期所含有的结构并用为代码表示出相应的算法.教学重点二分法的算法思想和算法表示.教学过程一、问题情境必修1中我们学习了二分法求方程的近似解,大家还能想起二分法的求解步骤吗?二、案例讲解:案例:写出用区间二分法求解方程310x x --=在区间[1,1.5]内的一个近似解(误差不超过0.001)的一个算法.(1)算法设计思想:如图,如果估计出方程()0f x =在某区间[,]a b 内有一个根*x ,就能用二分法搜索求得符合误差限制c 的近似解.(2)算法步骤可以表示为:1S 取[,]a b 的中点02a b x +=,间区间一分为二; 2S 若0()0f x =,则0x 就是方程的根,否则判断根*x 在0x 的左侧还是后侧;若0()()0f a f x >,则*0(,)x x b ∈,以0x 代替a ;若0()()0f a f x <,则*0(,)x a x ∈,以0x 代替b ;3S 若||a b c -<,计算终止,此时*0x x ≈,否则转1S .(3)流程图:(4)伪代码1:R ea d a ,b ,c 02a b x +←While ||a b c -≥ And 30010x x --≠ If 3(1)a a --⨯300(1)x x --<0 Then0b x ←Else0a x ←End If02a b x +← End WhilePrint 0x伪代码2:10 Read ,,a b c20 0()2a b x +←30 3()1f a a a ←--40 3000()1f x x x ←-- 50 If 0()0f x = Then GoTo 12060 If 0()()0f a f x < Then70 0b x ←80 Else90 0a x ←100 End If110 If ||a b c -≥ Then GoTo 20120 Print 0x二分搜索的过程是一个多次重复的过程,故可以用循环结构来处理(代码1),课本解法是采用GoTo 语句实现的(代码2)。
人教课标版高中数学必修三《算法案例(第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).。
高中数学之算法案例

算法案例(讲义)➢ 知识点睛典型算法举例: 1. 辗转相除法①方法概述:两数相除,较大数除以较小数,得商和余数,继而较小数除以余数,重复操作,直至除尽,此时除数即为最大公约数.②原理:在a =bq +r 中,除数b 和余数r 能被同一个数整除,那么被除数a 也能被这个数整除.或者说,除数与余数的最大公约数,就是被除数与除数的最大公约数. 2. 秦九韶算法把一个n 次多项式改写成如下形式:1110121102312101210()()(())((()))n n n n n n n n n n n n n n n f x a x a x a x a a x a x a x a a x a x a x a x a a x a x a x a x a ----------=++++=++++=+++++==+++++……………… 记0n v a =,11n n v a x a -=+,…,10n n v v x a -=+.求多项式的值时,首先计算最内层括号内一次多项式的值,即v 1,然后由内向外逐层计算. 3. 进位制①k 进制:若k 是一个大于1的整数,那么以k 为基数的k 进制数可以表示为一串数字连写在一起的形式.110()n n k a a a a -…11011000n n n n a a a a N a k a a a k --∈<<<≤(,,…,,,,,…,,)②进位制数相互转化:k 进制转十进制,计算k 进制数a 的右数第i 位数字i a 与1i k -的乘积1i i a k -⋅,再将其累加,重复操作求和.十进制数转k 进制数(除k 取余法): 如右图,十进制数化为二进制数, 89=1011001(2).➢ 精讲精练1. 用“辗转相除法”求下列数的最大公约数:(1)459和357的最大公约数是____________;余数2222222012511224489(2)三个数324243135,,的最大公约数是____________.2. 用秦九韶算法求多项式的值:(1)计算多项式x x x x x x x f 876543)(23456+++++=在1.0=x 时的值时,需要做乘法和加法的次数分别是_______,_______;(2)求多项式23456()1235879653f x x x x x x x =+-++++在x =-4的值时,4v 的值为_______;(3)计算多项式5432()853261f x x x x x x =+++++,当2x =时的值为________. 3. 完成下列进制的转化:(3)(10)10202____=; (10)__________(8)101=;1231(5)=_____________(7).4. 三位七进制的数表示的最大的十进制的数是( )A .322B .402C .342D .3655. 在下列各数中,最小的数是( )A .)9(85B .)6(210C .)4(1000D .(2)1111116. 已知三个数12(16),25(7),33(4),按照从小到大的顺序排列为________________.7. 已知()175r =(10)125,则r =________.8. 如图所示的程序框图的算法思路来源于我国古代数学名著《九章算术》中的“更相减损术”,执行该程序框图,若输入的a ,b 的值分别为14,18,则输出的a 的值为( ) A .0B .2C .4D .149. 如图所示的程序框图给出了利用秦九韶算法求多项式值的一个实例,若输入n ,x 的值分别为3,2,则输出v 的值为( ) A .35B .20C .18D .910.下面是把二进制数(2)11111化为十进制数的一个程序框图,判断框内应填入的条件是()A.5i>?B.4i≤?C.4i>?D.5i≤?11.执行如图所示的程序框图后,输出的值为4,则P的取值范围是()A.715816P<≤B.1516P>C.3748P<≤D.715816P<≤12.设a是一个各位数字都不是0且没有重复数字的三位数.将组成a的3个数字按从小到大排成的三位数记为I(a),按从大到小排成的三位数记为D(a)(例如a=815,则I(a)=158,D(a)=851).阅读如图所示的程序框图,运行相应的程序,任意输入一个a,输出的结果b=________.13. 已知函数232 1 01 012 1x x y x x x x x -<⎧⎪=+<⎨⎪+⎩≤≥()()(),写出求该函数的函数值的算法,并画出程序框图.14. 设计一算法,求使20063212222>++++n Λ成立的最小正整数n 的值.15.设计算法计算:1112131415167S=++++++,画出程序框图.【参考答案】1. (1)51;(2)272. (1)6;5;(2)220;(3)3813. 101 145 3624. C5. D6. (4)(16)(7)331225<<7. 88. B9. C 10. C 11. C 12. 495 13. 略 14. 略 15. 略算法案例(随堂测试)1. 372和684的最大公约数是( )A .36B .186C .12D .5892. 用秦九韶算法计算多项式65432()3567983512f x x x x x x x =+++-++在x =-4时的值时,v 2的值为( )A .-57B .-22C .34D .743. 1234(8)=________(10);300=________(5);300=_______(6).4. 设计一个算法,输入正整数n ,输出111123n++++….【参考答案】1. C2. C3. 668;2 200;1 2204. 略算法案例(习题)➢ 巩固练习5. 求下列数的最大公约数:(1)1 443与999的最大公约数是_____________;(2)319,377,116的最大公约数是___________.6. 用秦九韶算法求n 次多项式1110()n n n n f x a x a x a x a --=++++…,当x =x 0时,0()f x 需要算乘法、加法的次数分别为( ) A .n 2,nB .2n ,nC .n ,2nD .n ,n7.已知532=++++,运用秦九韶算法计算x=3时的值时,v3的值为()()231f x x x x xA.27 B.11 C.109 D.368.用秦九韶算法求多项式765432=++++++在x=3时的值为________.()765432f x x x x x x x x9.把21化为二进制数,则此数为()A.10011(2)B.10110(2)C.10101(2)D.11001(2)10.一个k进制的三位数与某六进制的二位数等值,则k不可能是()A.3 B.4 C.5 D.711.下列各数中,最小的数是()A.75B.210(6)C.111111(2)D.85(9)12.若a=33(10),b=52(6),c=11111(2),则三个数的大小关系是()A.c>b>a B.b>c>a C.c>a>b D.a>b>c13.中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=()A.7B.12C.17D.34第9题图第10题图14.如图是一个算法的程序框图,该算法所输出的结果是()A.11112310++++…B.11113519++++…C.111124620++++…D.231011112222++++…15.某程序框图如图所示,若输出的S=57,则判断框内为()A.k>4?B.k>5?C.k>6?D.k>7?11第11题图 第12题图16. 执行如图所示的程序框图,若输入k 的值为8,则判断框图可填入的条件是( )A .S ≤34?B .S ≤56?C .S ≤1112? D .S ≤1524?17. 设计一个算法,输入两个数,输出两个数中较大的一个.18.已知函数21111131x x y x x x x ⎧-<-⎪=+-⎨⎪+>≤≤()()(),试画出求函数值的程序框图.19. 对任意给定的正整数n ,写出一个求13+23+33+…+n 3的算法程序框图.20.设计算法求111112233499100++++⨯⨯⨯⨯…的值,要求画出程序框图.【参考答案】1.(1)111 (2)292.D3.D4.213245.C6.D7.C8.D9.C10.C11.A12.C13.略14.略15.略16.略12。
高中数学算法案例-进位制(公开课)教案 新人教A版必修3

必修3第一章1.3算法案例:案例3进位制[教学目标]:(1)了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。
(2)学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律。
[教学重点]各进位制表示数的方法及各进位制之间的转换[教学难点]除k取余法的理解[情感态度价值观] 学生通过合作完成任务,领悟十进制,二进制的特点,了解计算机与二进制的联系,进一步认识到计算机与数学的联系,培养他们的合作精神和严谨的态度。
[教学方法] 讲解法、尝试法、归纳法、讨论法、[教学用具]多媒体电脑[学法] 学习各种进位制特点的同时探讨进位制表示数与十进制表示数的区别与联系,熟悉各种进位制表示数的方法,从而理解十进制转换为各种进位制的除k取余法。
[教学过程]一、创设情景,揭示课题辗转相除法和更相减损术,是求两个正整数的最大公约数的算法,秦九韶算法是求多项式的值的算法,将这些算法转化为程序,就可以由计算机来完成相关运算。
人们为了计数和运算方便,约定了各种进位制,本节课我们来共同学习《进位制》你都了解那些进位制?比如说?在日常生活中,我们最熟悉、最常用的是十进位制,据说这与古人曾以手指计数有关;由于计算机的计算与记忆元件特点,计算机上通用的是二进位制;一周七天是七进位;一年十二个月〔生肖、一打〕是十二进制;旧式的称是十六进制;〔老称一斤为16两,故而有了半斤八两之说〕、24进制〔节气〕一小时六十分、角度的单位是六十进位制。
二进制是有德国数学家莱布尼兹发明的。
第一台计算机ENIAC〔埃尼阿克〕用的就是十进制。
计算机之父冯·诺伊曼研究后,提出改进意见,用二进制替代十进制。
主要原因①二进制只有0和1两个数字,要得到两种不同稳定状态的电子器件很容易,而且制造简单,可靠性高;②各种计数法中,二进制运算规那么简单。
如:十进 制乘法叫九九表,二进制只有4句。
高中数学 1.3算法案例精品教案 新人教A版必修3

1.3算法案例第三、四课时 秦九韶算法与排序(1)教学目标(a )知识与技能1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
(b )过程与方法模仿秦九韶计算方法,体会古人计算构思的巧妙。
能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
(c )情态与价值通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。
(2)教学重难点重点:1.秦九韶算法的特点2.两种排序法的排序步骤及计算机程序设计难点:1.秦九韶算法的先进性理解2.排序法的计算机程序设计(3)学法与教学用具学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。
2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。
教学用具:电脑,计算器,图形计算器(4)教学设想(一)创设情景,揭示课题我们已经学过了多项式的计算,下面我们计算一下多项式1)(2345+++++=x x x x x x f 当5=x 时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为:1)))1(1(1()(2+++++=x x x x x x f 再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
显然少了6次乘法运算。
这种算法就叫秦九韶算法。
(二)研探新知1.秦九韶计算多项式的方法01210123120132211012211)))((())(()()(a a x a x a x a a x a x a x a x a a x a x a x a x a a x a x a x a x a x f n n n n n n n n n n n n n n n n n n n +++++==+++++=+++++=+++++=--------------例1 已知一个5次多项式为8.07.16.25.325)(2345-+-++=x x x x x x f 用秦九韶算法求这个多项式当5=x 时的值。
高中数学必修三教案-算法案例

教学目标:1.理解不定方程的算法中蕴含的数学原理,并能根据这些原理进行2.理解不定方程的算法的方法与步骤.3.能根据算法语句与伪代码语句的知识设计完整的流程图并写出伪代码语句算法程序.4.使学生初步掌握不定方程的算法设计和列举法的基本思想.教学方法:1.通过讲解中国古代的一个有趣的故事的方法引入新知识,可以使学生容易接受,易于激发学生的求知欲.2.教学中利用探索性教学法,可以加深学生对不定方程的算法的理解,有利于培养学生的理性思维和实践能力.3.通过本节课的学习,使学生进一步体会观察、比较、归纳、分析等一般科学方法的运用.教学过程:一、问题情境情境:韩信是秦末汉初的著名军事家.据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数.韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行.二、学生活动1.同学们想一想,韩信是如何得出正确的人数的?2.类似的问题最早出现在我国的《算经十书》之一的《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:「二十三」”3.孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理.中国剩余定理(Chinese Remainder Theorem )在近代抽象代数学中占有一席非常重要的地位;4.该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”.在中国还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝, 七子团圆月正半, 除百零五便得知. 它的意思是说:将某数(正整数)除以3所得的余数乘以70,除以5所得的余数乘以21,除以7所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105为止. 所得结果就是某数的最小正整数值.用上面的歌诀来算《孙子算经》中的问题,便得到算式:2×70+3×21+2×15=233,233-105×2=23,即所求物品最少是23件.三、建构教学 “孙子问题”相当于求关于,,x y z 的不定方程组的325372m x m y m z =+⎧⎪=+⎨⎪=+⎩的正整数解;设所求的数为m ,根据题意m 应该同时满足下列三个条件:①m 被3除后余2,即mod(,3)2m =;②m 被5除后余3,即mod(,5)3m =;③m 被7除后余2,即mod(,7)2m =;用自然语言可以将算法写为:1S 1m ←2S 1m m ←+3S 如果mod(,3)2m =且mod(,5)3m =且mod(,7)2m =则执行4S ,否则执行2S ;4S 输出m伪代码:1m ←DO1m m ←+Loop Until mod(,3)2m =且mod(,5)3m =且mod(,7)2m =Print m流程图为:四、数学运用例题 有3个连续的自然数,其中最小的能被15整除,中间的能被17整除,最大的能被19整除,求满足要求的一组三个连续的自然数.伪代码:思考:以下伪代码是否可行? ka kWhile Mod(a +1,17)≠0 orMod(a +2,19)≠0 k k +1a kEnd WhilePrint a ,a +1,a +2五、要点归纳与方法小结本节课学习了以下内容:1.中国数学在世界数学史上的巨大贡献;2.实际问题的分析和解决问题过程;3.算法的表示及语句的运用.。
高中数学算法案例(全套)教案苏教版必修3

§1.4 算法案例(1)教学目标:(1)介绍中国古代算法的案例-韩信点兵-孙子问题;(2)用三种方法熟练的表示一个算法;(3)让学生感受算法的意义和价值.教学重点、难点:不定方程解法的算法.教学过程:一、问题情境(韩信点兵-孙子问题):韩信是秦末汉初的著名军事家。
据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数。
韩信先令士兵排成3列纵队,结果有2个人多余;接着立即下令将队形改为5列纵队,这一改,又多出3人;随后他又下令改为7列纵队,这次又剩下2人无法成整行。
在场的人都哈哈大笑,以为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333人。
众人听了一愣,不知道韩信用什么方法这么快就能得出正确的结果的。
同学们,你知道吗?背景说明:1.类似的问题最早出现在我国的《算经十书》之一的《孙子算经》中原文是:“今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:「二十三」”2.孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理(孙子定理)。
中国剩余定理在近代抽象代数学中占有一席非常重要的地位;3.该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做“大衍求一术”。
在中国还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知。
它的意思是说:将某数(正整数)除以3所得的余数乘以70,除以5所得的余数乘以21,除以7所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105为止。
所得结果就是某数的最小正整数值。
用上面的歌诀来算《孙子算经》中的问题,便得到算式:2×70+3×21+2×15=233,233-105×2=23,即所求物品最少是23件。
高中数学算法案例教案

高中数学算法案例教案
课题:排序算法——冒泡排序
教学目标:
1.了解冒泡排序算法的基本原理及实现过程。
2.掌握冒泡排序算法在实际应用中的应用场景。
3.能够通过编程实现冒泡排序算法。
4.培养学生的逻辑思维能力和编程实践能力。
教学过程:
一、导入新知识(5分钟)
向学生介绍冒泡排序算法的基本原理及实现过程,通过示例演示冒泡排序的排序过程。
二、理论学习(15分钟)
1.讲解冒泡排序算法的原理:比较相邻的元素,如果前一个比后一个大,则交换两个元素
的位置。
2.详细讲解冒泡排序的实现过程,并通过示例展示冒泡排序的排序过程。
三、算法分析(15分钟)
与学生一起分析冒泡排序算法的时间复杂度,引导学生思考如何优化冒泡排序算法的性能。
四、实际操作(20分钟)
1.让学生通过编程实现冒泡排序算法,并让他们自行编写测试用例进行验证。
2.引导学生思考如何改进冒泡排序算法,提高其效率。
五、应用拓展(10分钟)
探讨冒泡排序算法在实际应用中的场景,并引导学生思考如何在实际问题中应用冒泡排序
算法。
六、总结归纳(5分钟)
回顾本节课的主要内容,强调冒泡排序算法的重要性和应用价值。
七、作业布置(5分钟)
布置任务:要求学生练习编写冒泡排序算法,并结合实际问题进行应用。
教学反思:
通过本堂课的教学,学生对冒泡排序算法有了更深刻的理解,通过实际操作提高了他们的编程实践能力,培养了他们的逻辑思维能力。
在未来的教学中,需要更加注重培养学生的实践能力和创新能力,引导学生将所学知识应用到实际问题中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法案例备课资料
例题解析
【例1】输入两个正整数a和b(a>b),求它们的最大公约数.
解析:求两个正整数a、b(a>b)的最大公约数,可以归结为求一数列:
a,b,r1,r2,…,r n-1,r n,r n+1,0
此数列的首项与第二项是a和b,从第三项开始的各项,分别是前两项相除所得的余数,如果余数为0,它的前项r n+1即是a和b的最大公约数,这种方法叫做欧几里得辗转相除法,其算法如下:
S1输入a,b(a>b);
S2求a/b的余数r;
S3如果r≠0,则将b→a,r→b,再次求a/b的余数r,转至S2;
S4输出最大公约数b.
伪代码如下:
10Read a,b
20r←mod(a,b)
30If r=0then Goto 80
40Else
50a←b
60b←r
70Goto 20
80Print b
流程图如下:
点评:算法的多样性:对于同一个问题,可以有不同的算法.例如求1+2+3+...+100的和,可以采用如下方法:先求1+2,再加3,再加4,一直加到100,最后得到结果5050.也可以采用这样的方法:1+2+3+ (100)
(1+100)+(2+99)+(3+98)+…+(50+51)=50×101=5050.显然,对于算法来说,后一种方法更简便,而循环累加更适用于计算机解题.因此,为了有效地进行解题,不仅要保证算法正确,还要选择好的算法,即方法简单、运算步骤少,能迅速得出正确结果的算法.
【例2】求1734,816,1343的最大公约数.
分析:三个数的最大公约数分别是每个数的约数,因此也是任意两个数的最大公约数的约数,也就是说三个数的最大公约数是其中任意两个数的最大公约数与第三个数的最大公约数.
解:用“辗转相除法”.
先求1734和816的最大公约数,
1734=816×2+102;
816=102×8;
所以1734与816的最大公约数为102.
再求102与1343的最大公约数,
1343=102×13+17;
102=17×6.
所以1343与102的最大公约数为17,即1734,816,1343的最大公约数为17.
【例3】猴子吃桃问题:有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法,吃掉剩下桃子的一半另加一个,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少个?
解析:此题粗看起来有些无从着手的感觉,那么怎样开始呢?假设第一天开始时有a1只桃子,第二天有a2只……第9天有a9只,第10天有a10只.在a1,a2,…,a10中,只有a10=1是知道的,现要求a1,而我们可以看出a1,a2,…,a10之间存在一个简单的关系:
a9=2×(a10+1),
a8=2×(a9+1),
a1=2×(a2+1).
也就是:a i=2×(a i+1+1)i=9,8,7,6, (1)
这就是此题的数学模型.
再考察上面从a9,a8直至a1的计算过程,这其实是一个递推过程,这种递推的方法在计算机解题中经常用到.另一方面,这九步运算从形式上完全一样,不同的只是a i的下标而已.由此,我们引入循环的处理方法,并统一用a0表示前一天的桃子数,a1表示后一天的桃子数,将算法改写如下:
S1a1←1;{第10天的桃子数,a1的初值}
S2i←9;{计数器初值为9}
S3a0←2×(a1+1);{计算当天的桃子数}
S4a1←a0;{将当天的桃子数作为下一次计算的初值}
S5i←i-1;
S6若i≥1,转S3;
S7输出a0的值;
伪代码如下:
10a1←1
20i←9
30a0←2×(a1+1)
40a1←a0.
50i←i-1
60If i≥1 then Goto 30
70Else
80Print a0
流程图如下:
点评:这是一个从具体到抽象的过程,具体方法:
(1)弄清如果由人来做,应该采取哪些步骤;
(2)对这些步骤进行归纳整理,抽象出数学模型;
(3)对其中的重复步骤,通过使用相同变量等方式求得形式的统一,然后简练地用循环解决.
思考过程
算法是在有限步骤内求解某一问题所使用的一组定义明确的规则.通俗点说,就是计算机解题的过程.
1.本节通过对解决具体问题过程与步骤的分析(如求两个数的最大公约数),体会算法的思想,进一步了解算法的含义.
2.本节通过阅读中国古代数学中的算法案例,如约分术,体会中国古代数学对世界数学发展的贡献.通过学生自己的亲身实践,亲自去解决几个算法设计的问题,才能体会到算法的基本思想.数学的其他内容与算法密切相关,如函数、数列等.我们在学习这些内容时要和算法联系起来.。