欢迎来到天天文库
浏览记录
ID:58741396
大小:59.61 KB
页数:7页
时间:2020-09-30
《高一数学教案[苏教版]算法小结复习.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、高一新课程数学必修(Ⅲ)教案算法小结复习教学目的:总结算法解题的一般思路,即算法分析(提炼问题的数学本质)——画出程序框图——按框图编写伪代码;通过本章学习增强解题的规范性.教学重点:在准确理解算法的基础上,掌握流程图的画法及判断;掌握伪代码的编写.教学过程:例1.阅读下列伪代码,并指出当a3,b5时的计算结果:(1)reada,b(2)reada,b(3)reada,bX←a+ba←a+ba←a+by←a-bb←a-bb←a-ba←(x+y)/2a←(a+b)/2a←(a-b)/2b←(x-y)/2b←(a-b)/2b←(a+b)/2Printa,bPrinta,bPrinta,b
2、a=____,b___a=____,b___a=____,b___例2.写出用二分法求方程x2x10在区间1,1.5内的一个近似解(误差不超过0.001)的一个算法.说明:此题主要再次强调算法的问题根本上是一个思维的问题以及算法语言的基本规则;如何通过语句的结构形式规范处理及简化问题,从而增强解题的规范性.流程图与伪代码10Renda,b,c20x0←(a+b)/230f(a)3←a--140f(x0)30-1←x0-x50Iff(x)=0thenGoto120060Iff(a)f(x0)<0then70b←x0输入a,b,cX0←(a+b)/2f(a)←a3-a-1f(x0)←x
3、03-x0-180Else90a←x0f(x0)=0NY100Endif110If
4、a-b
5、≧cthenGoto20120Printx0NYf(a)f(x0)<0a←x0b←x0N
6、a-b
7、8、a2+b2=Yc←c+1输出a,b,cYc≦b←b+1Na←a+1Yb≦NYa≦N结束例四.已知钱数x(不足10元),要把它用于1元、5角、1角、1分的硬币表示,若要用尽量少的硬币个数表示x,设计一个算法,求各硬币的个数.分析:要用尽量少的硬币表示钱数,也就是要尽可能地用大面值的硬币.以1元钱的个数就是x的整数部分,记为a,则5角钱的个数就是(x-a)/0.5的整数部分,记为b;1角钱的个数就是(x-a*1-b*0.5)的整数部分,记为c;1分钱的个数就是(x-a*1-b*0.5-c*0.1)的整数部分.解:Readxa=int(x)b=int((x-a)/0.5)c=int((x-9、a*1-b*0.5)/0.1)d=int((x-a*1-b*0.5-c*0.1)/0.01)Printa,b,c,d第2页共7页例五.在日常生活中,人们经常要把一些记录中的数据排序,如招生录取中按照成绩对考生进行排序,汉字拼音检索中按照字母顺序对汉字进行排序等等。排序就是按照一定的规则,对数据加以排列整理,从而提高查找效率.(1)直接插入排序法:(2)冒泡排序法:现用直接插入排序法对任意输入的n个数进行从小到大的排序,其伪代码程序如下:BeginReadnFori=1tonReada(i)EndForFori=2tonForj=1toi-1Ifa(j)>a(i)Thenm=a(i)a10、(i)=a(j)a(j)=mEndifEndForEndForFork=1tonPrinta(k)EndForEnd再用直接冒泡排序法对任意输入的n个数进行从小到大的排序,其伪代码程序如下:10Begin20Readn30Fori=1ton40Reada(i)50EndFor60Forj=1ton-170w=080Fori=1ton-190Ifa(i)>a(i+1)Then100m=a(i)110a(i)=a(i+1)120a(i+1)=m130w=w+1140endif150EndFor160Ifw=0ThenGoto180170EndFor180Fork=1ton190Print11、a(k)第3页共7页200EndFor210End用DO循环语句表示如下:BeginReadnFori=1tonReada(i)EndForDow=0Fori=1ton-1Ifa(i)>a(i+1)Thenm=a(i)a(i)=a(i+1)a(i+1)=mw=w+1endifNextiLoopUntilw=0Fork=1tonPrinta(k)EndForEnd例三与例五及算经中的“百钱百鸡”问题均对循环语句的应用提出更高要求,在算法理解及流程图的设计上思
8、a2+b2=Yc←c+1输出a,b,cYc≦b←b+1Na←a+1Yb≦NYa≦N结束例四.已知钱数x(不足10元),要把它用于1元、5角、1角、1分的硬币表示,若要用尽量少的硬币个数表示x,设计一个算法,求各硬币的个数.分析:要用尽量少的硬币表示钱数,也就是要尽可能地用大面值的硬币.以1元钱的个数就是x的整数部分,记为a,则5角钱的个数就是(x-a)/0.5的整数部分,记为b;1角钱的个数就是(x-a*1-b*0.5)的整数部分,记为c;1分钱的个数就是(x-a*1-b*0.5-c*0.1)的整数部分.解:Readxa=int(x)b=int((x-a)/0.5)c=int((x-
9、a*1-b*0.5)/0.1)d=int((x-a*1-b*0.5-c*0.1)/0.01)Printa,b,c,d第2页共7页例五.在日常生活中,人们经常要把一些记录中的数据排序,如招生录取中按照成绩对考生进行排序,汉字拼音检索中按照字母顺序对汉字进行排序等等。排序就是按照一定的规则,对数据加以排列整理,从而提高查找效率.(1)直接插入排序法:(2)冒泡排序法:现用直接插入排序法对任意输入的n个数进行从小到大的排序,其伪代码程序如下:BeginReadnFori=1tonReada(i)EndForFori=2tonForj=1toi-1Ifa(j)>a(i)Thenm=a(i)a
10、(i)=a(j)a(j)=mEndifEndForEndForFork=1tonPrinta(k)EndForEnd再用直接冒泡排序法对任意输入的n个数进行从小到大的排序,其伪代码程序如下:10Begin20Readn30Fori=1ton40Reada(i)50EndFor60Forj=1ton-170w=080Fori=1ton-190Ifa(i)>a(i+1)Then100m=a(i)110a(i)=a(i+1)120a(i+1)=m130w=w+1140endif150EndFor160Ifw=0ThenGoto180170EndFor180Fork=1ton190Print
11、a(k)第3页共7页200EndFor210End用DO循环语句表示如下:BeginReadnFori=1tonReada(i)EndForDow=0Fori=1ton-1Ifa(i)>a(i+1)Thenm=a(i)a(i)=a(i+1)a(i+1)=mw=w+1endifNextiLoopUntilw=0Fork=1tonPrinta(k)EndForEnd例三与例五及算经中的“百钱百鸡”问题均对循环语句的应用提出更高要求,在算法理解及流程图的设计上思
此文档下载收益归作者所有