第一篇:高中数学 第一章《算法初步》算法的概念教学设计 新人教版必修3
算法的概念(教学设计)
一、教材背景分析 1.教材的地位和作用
《 算法的概念》是全日制普通高级中学教科书人教A版必修3第一章《算法初步》的第一节内容,《算法初步》是课程标准的新增内容,它是数学及其应用的重要组成部分,是计算科学的重要基础,在信息技术高度发达的现代社会,算法思想应该是公民必备的科学素养之一.而《算法的概念》则是《算法初步》的奠基石,它非常重要,但并不神秘.新教材的编写特别强调了知识的螺旋形上升,所以在前面的学习中,已经让学生积累了大量的算法的实际经验,这个重要的数学概念其实早已存在于学生的意识之中,而且在不同场合都已经不自觉的“实际使用”,只是没有明朗化.此时引入算法概念可以说是水到渠成,教师的责任就是为学生建立概念修通渠道.让学生借助他们已有的大量经验抽象出算法的概念并认识其特点;再依据算法的概念和特点来设计一个具体的算法,进一步深化对概念的认知;最后通过典型解题步骤提炼算法的过程,使算法思想进一步得到升华.这一过程不仅有利于培养学生的思维能力、理性精神和实践能力;也有利于学生理解构造性数学,培养其数学应用意识.
本节是起始课,不仅应让学生体会概念,认识到这一概念的重要性,还要为进一步的学习程序框图,算法的基本结构和语句奠定基础.而且算法思想是逻辑数学最重要的体现形式.这一切都决定了本节课的重要地位.
2.学情分析
知识结构:学生在以前的学习和生活中已经认识过大量的算法实例,本节课就是在此基础上使学生进一步理解和提炼算法的概念,体会算法的思想.
心理特征:高二的学生已经具备了分辨是非的能力,高度的语言概括能力,能够从具体问题中去体会和提炼重要数学思想.
3.教学重点与难点
重点:理解算法的概念及其特点,体会算法思想,能用自然语言描述算法. 难点:根据算法实例抽象概括算法的概念和特点;依据概念设计算法. 关键:算法思想的渗透.
二、教学目标
1.通过对学生已经学习过的一些算法实例的再现,让学生体会算法思想,了解算法含义,初步形成算法概念的雏形,进一步培养学生归纳总结、提炼概括的能力.
2.通过对具体算法实例的挖掘,引导学生进一步认识算法的特征、完善算法的概念,进一步培养学生理性思维能力.
3.通过算法实例设计的实践过程,让学生进一步完善算法的理解,准确把握算法的基本特征,学会用自然语言描述算法,进一步培养学生逻辑思维能力.
4.通过具体实例渗透算法的基本结构和程序框图,为学生后继学习分散难点,同时通过具体情境和语言的激励,激发学生后继学习的激情.
5.通过典型解题步骤抽象出算法这一过程的设计,进一步渗透算法的思想,从而增强利用算法来解决问题的意识.
三、教法选择和学法指导 教法:问题引导、合作探究.
学法:数学学习实际上是“认知结构”的完善过程,算法的学习就体现这一过程:从经验中提炼概念,再从设计运用中深化对概念的认知,最后从算法的提炼中进一步渗透算法的思想.这都需要教师的层层引导,渐次递进.
四、教学基本流程设计
五、教学过程
(一)轶事开篇,巧妙设境引深思
有一天希尔伯特邀请朋友们来家聚会,眼看客人就要登门,他的夫人凯娣却发现希尔伯特还系着一根旧领带,便催促他说赶紧上二楼换根领带.过了片刻,客人陆续登门,可就是不见希尔伯特下楼来,夫人便悄悄吩咐管家赶紧上楼去请希尔伯特下来.管家来到他的房间,却发现希尔伯特已在床上睡熟了.原来,对于希尔伯特来说,上了二楼,解下领带,下一个程序便是上床入睡.所以,他严格按照既定程序酣然入睡了.
在我们的数学领域中,太多问题的解决都需要按照一定的规则、遵循严格的步骤,事实上在高一的学习中,大家就应该发现了这一现象.
(二)温故知新,拨云见雾初识真 1.“坐标方法”解决几何问题的三部曲:
第一步:建立适当的平面直角坐标系,用坐标和方程表示问题中的几何元素,将平面 几何问题转化为代数问题;
第二步:通过代数运算,解决代数问题; 第三步:把代数运算结果“翻译”成几何结论.
2.求圆的方程常用“待定系数法”,那么它的大致步骤是怎样的? 第一步:根据题意,选择标准方程或一般方程; 第二步:根据条件列出关于a,b,r或D,E,F的方程组; 第三步:解出a,b,r或D,E,F,代入标准方程或一般方程. 3.实际问题使用数学建模的步骤:
4.给点精确度,用二分法求函数零点近似值的步骤如下: 第一步:确定区间[a,b],验证f(a)f(b)0; 第二步:求区间(a,b)的中点c; 第三步:计算f(c);
(1)若f(c)0,则c就是函数零点;
(2)若f(a)f(c)0,则令bc,(此时零点x0(a,c));(3)若f(c)f(b)0,则令ac,(此时零点x0(c,b)).第四步:判断是否达到精确度,即若ab,则得到零点近似值a或b;否则重复2~4. 通过观察以上算法实例,初步形成概念的雏形:算法是按一定规则解决某一类问题的步骤.
(三)共论经典,曲径通幽玉妆成 选取案例4中的算法做更深入的研究.
问题1:按照此算法,我们是否能够借助计算机来寻求方程的近似值呢?
我们必须确保让计算机执行的程序的每一个步骤都明明白白没有歧义,也就是步骤必须明确 问题2:我们可以把精确度取消吗?
算法的步骤必须是有限的,它可以进行循环结构的运算,但必须有终点. 在数学中,经过这样一补充,我们就得到了完整的算法概念: 算法通常是指按照一定的规则解决某一类问题的明确和有限的步骤.
(四)实例设计,分层推进探玄机
问题:如何设计判断任意大于2的正整数n是否是质数的算法? 1.判断11是否为质数的算法:
第一步:用2除11,得到余数为1,因为余数不为0,所以2不能整除11. 第二步:用3除11,得到余数为2,因为余数不为0,所以3不能整除11. 第三步:用4除11,得到余数为3,因为余数不为0,所以4不能整除11. 第四步:用5除 11,得到余数为1,因为余数不为0,所以5不能整除11. 第五步:用6除11,得到余数为5,因为余数不为0,所以6不能整除11. 第六步:用7除11,得到余数为4,因为余数不为0,所以7不能整除11. 第七步:用8除11,得到余数为3,因为余数不为0,所以8不能整除11. 第八步:用9除11,得到余数为2,因为余数不为0,所以9不能整除11. 第九步:用10除11,得到余数为1,因为余数不为0,所以10不能整除11. 所以11是质数.
2.判断1999是否是质数的算法: 第一步:令i2;
第二步:用i除1999,得到余数r.
第三步:判断“r0”是否成立.若是,则1999不是质数;否则,将i的值增加1,仍用i表示; 第四步,判断“i1998”是否成立.若是,则1999是质数,结束算法;否则,返回第三步. 3.判断任意大于2的正整数n是否是质数的算法: 第一步:给定大于2的整数n; 第二步:令i2;
第三步:用i除n,得到余数r.
第四步:判断“r0”是否成立.若是,则n不是质数;否则将i的值增加1,仍用i表示; 第五步,判断“i(n1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步. 回顾刚才研究的整个过程,从11,再到1999,最后到任意大于2的正整数n,对他们的判断方法具有高度的一致性,这其实反映了算法的一个重要特征----普适性.
(五)见微知著,算法思想再升华
在平常的学习中,是否可以通过一些典型问题的解法,从具体到抽象,总结出同类型问题共有的解题步骤和程序呢?现在就请大家根据一些典型习题的解题方法来寻求其对应的算法.
(六)华章重奏,雏鹰振翅欲高飞
因为本节课是一章的起始课,它的功能不仅仅是本节知识内容的落实,还需要对后面的学习起到提纲挈领的作用.所以归纳小结不仅对今天所学知识:算法的概念、特点,如何设计算法使用算法思想等作了简要回顾,还对即将学习的内容和作用作了介绍,使学生对后续的学习充满了信心和兴趣.
(七)目标检测,概念应用悟新知
(1)写出求一元二次方程ax2bxc0(a0)根的一个算法.
(2)任意给定一个对于1的正整数n,设计一个算法求出n的所有因数.
六、目标检测设计
(一)课堂检测
根据以下典型解题方法寻求此类问题的算法: xy35,1.解二元一次方程组:2x4y94.(1)(2)解:第一步:(1)4(2),得2x46,(3)第二步,解(3)得x23,第三步:(2)(1)2,得2y24,(4)第四步,解(4)得y12,x23,第五步,所以方程组解为
y12.1π2.画出函数y2sin(x)的简图:
36解:第一步:先把正弦曲线ysinx上所有的点向右平行移动象.
ππ个单位长度,得到ysin(x)的图661π第二步:再把后者所有点的横坐标伸长到原来的3倍(纵坐标不变),得到ysin(x)的图象;
361π1π第三步:再把ysin(x)图象上所有点的纵坐标伸长到原来的2倍,而得到函数y2sin(x)3636的图象. 3.解下列不等式:(1)x22x30;(2)4x24x10;(3)3x22x30.
解:(1)4120.方程x22x30无实根.又yx22x3的图象开口向上,所以原不等式的解集为R.
1(2)0.方程4x24x10的根为x1x2.21∴原不等式的解集为{xxR,x}.
2(3)400.方程3x22x30的根为x1110110,x2.33110110∴原不等式的解集为xx,或x.
33
4.判断下列函数的奇偶性:
1x22x(1)f(x)x;(2)f(x)x;(3)f(x).
xx24解:(1)对于函数f(x)x4,其定义域为(,).因为对于定义域内每一个x,都有f(x)(x)4x4f(x),所以f(x)x4是偶函数.
(2)对于函数f(x)x1,其定义域为xxR,x0.因为对于定义域内每一个x,都有xf(x)x111(x)f(x),所以f(x)x是奇函数.
xxxx22x(3)对于函数f(x),其定义域为{xxR,x2}.因为对其定义域不具备对称性,所以函x2数f(x)x4非奇非偶.
设计意图:促进学生进一步了解算法的概念及特征,巩固学生已领会的算法思想并促进其有意识的运用.
(二)课后检测:
(1)写出求一元二次方程ax2bxc0(a0)根的一个算法.
(2)任意给定一个对于1的正整数n,设计一个算法求出n的所有因数. 设计意图:进一步巩固概念的认知,检测学生是否能用自然语言正确表达算法.
第二篇:高中数学 1.1.1 算法的概念教案2 新人教A版必修3
算法的概念
教学目的:理解并掌握算法的概念与意义,会用“算法”的思想编制数学问题的算法。教学重点:算法的设计与算法意识的的培养 教学过程:
一、问题情景:
请大家研究解决下面的一个问题
1.两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1 个大人或两个小孩,他们四人都会划船,但都不会游泳。试问他们怎样渡过河去?请写出一个渡河方案。
(通过学生讨论得出渡河方案与步骤如下)
S1 两个小孩同船过河去; S2 一个小孩划船回来; S3 一个大人划船过河去; S4 对岸的小孩划船回来; S5 两个小孩同船渡过河去; S6 一个小孩划船回来;
S7 余下的一个大人独自划船渡过河去;对岸的小孩划船回来; S8 两个小孩再同时划船渡过河去。
2.一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡?
先列方程组解题,得鸡10只,兔7只; 再归纳一般二元一次方程组的通用方法,即用高斯消去法解一般的二元一次a11x1a12x2b1方程组。
axaxb2222211令Da11a22a21a12,若D0,方程组无解或有无数多解。若D0,则x1b1a22b2a12bab1a21,x2211。
DD由此可得解二元一次方程组的算法。
S1 计算Da11a22a21a12;
S2 如果D0,则原方程组无解或有无穷多组解;否则(D0),x1b1a22b2a12bab1a21,x2211
DDS3 输出计算结果x1、x2或者无法求解的信息。
二、数学构建:
算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题。
算法的五个重要特征:
(1)有穷性:一个算法必须保证执行有限步后结束;(2)确切性:算法的每一步必须有确切的定义;
(3)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次即可完成;
(4)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件。所谓0个输入是指算法本身定出了初始条件。
(5)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
三、知识运用:
例1.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物。没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊。(1)设计过河的算法;(2)思考每一步算法所遵循的相同之处原则是什么。
解:算法或步骤如下: S1 人带两只狼过河 S2 人自己返回
S3 人带一只羚羊过河 S4 人带两只狼返回 S5 人带两只羚羊过河 S6 人自己返回 S7 人带两只狼过河
S8 人自己返回带一只狼过河
例2.写出一个求有限整数序列中的最大值的算法。解:为了便于理解,算法步骤用自然语言叙述:
S1 先将序列中的第一个整数设为最大值;
S
2将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时就假定“最大值”就是这个整数;
S3 如果序列中还有其它整数,重复S2;
S4 在序列中一直进行到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。
试用数学语言写出对任意3个整数a、b、c中最大值的求法
S1 max=a S2 如果b>max,则max=b S3 如果c>max,则max=c, S4 max就是a、b、c中的最大值。
四、学力发展:
1.给出求100!123100的一个算法。
2.给出求点P(x0,y0)关于直线AxByC0的对称点的一个算法。
五、课堂小结:
算法的概念:由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题。
算法的五个重要特征:
(1)有穷性:一个算法必须保证执行有限步后结束;(2)确切性:算法的每一步必须有确切的定义;
(3)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次即可完成;
(4)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件。所谓0个输入是指算法本身定出了初始条件。
(5)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。
六、课外作业:
1.优化设计P3-4:变式练习1-10题。2.课本P6:练习1-4题
第三篇:高中数学必修2教学设计: 1.1.1算法的概念
文字资料] 1.1.1算法的概念
算法是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。
算法常常含有重复的步骤和一些比较或逻辑判断。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。〖算法的历史〗
“算法”(algorithm)来自于9世纪波斯数学家比阿勒·霍瓦里松的名字al-Khwarizmi,比阿勒·霍瓦里松在数学上提出了算法这个概念。“算法”原为“algorism”,意思是阿拉伯数字的运算法则,在18世纪演变为“algorithm”。第一次编写算法是Ada Byron于1842年为巴贝奇分析机编写求解解伯努利方程的程序,因此Ada Byron被大多数人认为是世界上第一位程序员。因为巴贝奇(Charles Babbage)未能完成他的巴贝奇分析机,这个算法未能在巴贝奇分析机上执行。因为“well-defined procedure”缺少数学上精确的定义,19世纪和20世纪早期的数学家、逻辑学家在定义算法上出现了困难。20世纪的英国数学家图灵提出了著名的图灵论题,并提出一种假想的计算机的抽象模型,这个模型被称为图灵机。图灵机的出现解决了算法定义的难题,图灵的思想对算法的发展起到了重要的作用。
一个算法应该具有以下五个重要的特征:
有穷性: 一个算法必须保证执行有限步之后结束;
确切性: 算法的每一步骤必须有确切的定义;
输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件;
输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;
可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。
〖形式化算法〗
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法来告诉计算机确切的步骤来执行一个指定的任务,如计算职工的薪水或打印学生的成绩单。一般地,当算法在处理信息时,会从输入设备或数据的存储地址读取数据,把结果写入输出设备或某个存储地址供以后再调用。〖算法的实现〗
算法不单单可以用计算机程序来实现,也可以在神经网络、电路或者机械设备上实现。·例子
这是算法的一个简单的例子。
如果将数列中的每一个数字看成是一颗豆子的大小,可以将下面的算法形象地称为“捡豆子”: 首先将第一颗豆子放入口袋中。
从第二颗豆子开始检查,直到最后一颗豆子。如果正在检查的豆子比口袋中的还大,则将它捡起放入口袋中,同时丢掉原先口袋中的豆子。
最后口袋中的豆子就是所有的豆子中最大的一颗。下面是一个形式算法,用近似于编程语言的伪代码表示
给定:一个数列“list“,以及数列的长度”length(list)" largest = list[1] for counter = 2 to length(list): if list[counter] > largest: largest = list[counter] print largest 符号说明: = 用于表示赋值。即:右边的值被赋予给左边的变量。List[counter]用于表示数列中的第counter项。例如:如果counter的值是5,那么List[counter]表示数列中的第5项。<= 用于表示“小于或等于”。
==例子==
设两个变量 M 和 N 1.如果 M < N,则交换 M 和 N 2.以 N 除以 M,得到余数 R 3.判断 R=0,正确则 N 即为“最大公约数”,否则下一步 4.将 N 赋值给 M,将 R 赋值给 N,重做第一步。用“Basic 代码”表示--
If M < N Then Swap M,N Do While R <> 0 R = M Mod N M = N N = R Loop Print R
〖算法设计和分析的基本方法〗
分治法:字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题„„直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。这个技巧是很多高效算法的基础,如排序算法(快速排序,归并排序),傅立叶变换(快速傅立叶变换)„„
动态规划:动态规划在查找有很多重叠子问题的情况的最优解时有效。它将问题重新组合成子问题。为了避免多次解决这些子问题,它们的结果都逐渐被计算并被保存,从简单的问题直到整个
因此,动态规划保存递归时的结果,因而不会在解决同样的问题时花费时间。
贪心法(亦作饕餮法):就是一种在每一步选择中都采取在当前状态下最好/优的选择,从而希望导致结果是最好/优的算法。贪心法可以解决一些最优性问题,如:求图中的最小生成树、求哈夫曼编码„„对于其他问题,贪心法一般不能得到我们所要求的答案。一旦一个问题可以通过贪心法来解决,那么贪心法一般是解决这个问题的最好办法。由于贪心法的高效性以及其所求得的答案比较接近最优结果,贪心法也可以用作辅助算法或者直接解决一些要求结果不特别精确的问题。〖算法的分类〗
·基本算法 〔枚举 搜索(深度优先搜索 广度优先搜索 启发式搜索 遗传算法)〕 ·数据结构的算法 ·数论与代数算法
·计算几何的算法(凸包算法)
·图论的算法(哈夫曼编码 树的遍历 最短路径算法 最小生成树算法 最小树形图 网络流算法 匹配算法)· 动态规划
·其他(数值分析 加密算法 排序算法 检索算法 随机化算)
还可以分成串行算法、并行算法。
〖算法的复杂性〗
算法的复杂性是算法效率的度量,在评价算法性能时,复杂性是一个重要的依据。算法的复杂性的程度与运行该算法所需要的计算机资源的多少有关,所需要的资源越多,表明该算法的复杂性越高;所需要的资源越少,表明该算法的复杂性越低。
计算机的资源,最重要的是运算所需的时间和存储程序和数据所需的空间资源,算法的复杂性有时间复杂性和空间复杂性之分。
算法在计算机上执行运算,需要一定的存储空间存放描述算法的程序和算法所需的数据,计算机完成运算任务需要一定的时间。根据不同的算法写出的程序放在计算机上运算时,所需要的时间和空间是不同的,算法的复杂性是对算法运算所需时间和空间的一种度量。不同的计算机其运算速度相差很大,在衡量一个算法的复杂性要注意到这一点。
对于任意给定的问题,设计出复杂性尽可能低的算法是在设计算法时考虑的一个重要目标。另外,当给定的问题已有多种算法时,选择其中复杂性最低者,是在选用算法时应遵循的一个重要准则。因此,算法的复杂性分析对算法的设计或选用有着
在讨论算法的复杂性时,有两个问题要弄清楚:
(1)一个算法的复杂性用怎样的一个量来表达;
(2)怎样计算一个给定算法的复杂性。
找到求解一个问题的算法后,接着就是该算法的实现,至于是否可以找到实现的方法,取决于算法的可计算性和计算的复杂性,该问题是否存在求解算法,能否提供算法所需要的时间资源和空间资源。
筛选法求质数
质数亦叫作素数,是大于1的自然数,并且除了该数本身和1以外没有其它的数能整除它,如2,3,5,7,11,13,„,质数有无穷多个。
(1)判断143是否为质数。解:
Step1:143÷2不为整数; Step2:143÷3不为整数; Step3:143÷4不为整数; Step4:143÷5不为整数; Step5:143÷6不为整数; Step6:143÷7不为整数; Step7:143÷8不为整数; Step8:143÷9不为整数;
:143÷10不为整数;
Step10:143÷11=13,143能被11整除; Step11:结论:143不是质数。(2)判断17是否为质数。解:
Step1:17÷2不为整数; Step2:17÷3不为整数; Step3:17÷4不为整数; Step4:17÷5不为整数; Step5:17÷6不为整数; Step6:17÷7不为整数; Step7:17÷8不为整数; Step8:17÷9不为整数; Step9:17÷10不为整数; Step10:17÷11不为整数; Step11:17÷12不为整数; Step12:17÷13不为整数; Step13:17÷14不为整数; Step14:17÷15不为整数; Step15:17÷16不为整数; Step16:结论:17是质数。
3)判断216091是不是质数
该题的计算量非常大,我们可以把算法编为程序,由计算机帮我们计算。
(4)设计一个算法,输入大于2的整数n,由计算机判断它是不是质数。
解:Step1:输入整数n;
Step2:依次检验2~(n-1)是不是n的因数,若有这样的数,则n不是质数,否则,n为质数。Step3:输出结果。
说明:其中第3步在计算机中可以通过一个循环来实现,今后会学到
第四篇:高中数学 第二章 算法初步 本章归纳整合教学设计 北师大版必修3
第二章算法初步 本章归纳整合
知识归纳
专题一 算法的含义及算法设计
算法不同于一般意义上解决某个问题的方法,它是对一类问题的一般解法的抽象和概括,它要借助一般问题的解决方法,又要包含这类问题的所有可能情形.设计算法往往把问题的解法划分为若干个可执行的步骤,有些甚至重复多次,但必须在有限步之内完成.
用自然语言描述算法,大体可分以下三步完成:
第一步:明确问题的性质,分析题意,我们可将问题简单的分为数值型问题和非数值型问题,不同类型的问题
可以有针对性地采用不同的方法进行处理.
第二步:建立问题的描述模型.对于数值型问题,可以建立数学模型,通过数学语言来描述问题;对于非数值型问题,我们可以建立过程模型,通过过程模型来描述问题.
第三步:设计确立算法.对于数值型问题,我们可以采用数值分析的方法进行处理,数值分析中有许多现成的固定算法,我们可以直接使用,当然我们可以根据问题的实际情况设计算法.对于非数值型问题,根据过程模型分析算法与设计算法,也可以选择一些成熟的办法进行处理,如排序、递推等. 【例1】
韩信是汉高祖刘邦部下的大将,他英勇善战,智谋超群,为建立汉朝立下了汗马功劳,据说他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力,采用下述点兵的方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报4.这样,韩信很快就算出了自己部队士兵的总人数.请你设计一个算法,求出士兵至少有多少人?
解 第一步,首先确定最小的除以7余4的正整数:4.第二步,依次加7就得到所有除以7余4的正整数:4,11,18,25,32,39,46,53,60,….第三步,在第二步得到的一列数中确定最小的除以5余3的正整数:18.第四步,然后依次加上35,得到18,53,88,….1 第五步,在第四步得到的一列数中找出最小的满足除以3余2的正整数:53.这就是我们要求的数.
规律方法 本题直接通过列方程组显然无法求解,故根据题设运用列举法分步求解.我们将7,5,3的顺序颠倒一下,也能解答此题,不妨试一试.
专题二 顺序结构与选择结构
1.顺序结构是由若干个依次执行的处理步骤组成的逻辑结构,这是任何一个程序都离不开的基本结构.
2.在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向,这种算法结构即选择结构.
【例2】
用顺序结构表示:利用尺规作图,确定线段AB的4等分点的算法. [思路探索] 先写出作法,由作法写出算法.
解 作法:如图,第一步:过A作射线AP,在AP上任取一点C,得线段AC; 第二步:在射线AP上作线段AC=CD=DE=EP;
第三步:连接BP,过C作CF∥BP,交AB于F,同理,作出点M,N; 第四步:F,M,N为所作的AB的三个4等分点.
算法:
【例3】
设计判断正整数p是否是正整数q的约数的算法并画出框图.
[思路探索] 判断正整数p是否是正整数q的约数,即是看正整数q能否被正整数p整除,如果能,则p是q的约数;如果不能,则p不是q的约数,从分析上看,该题应用选择结构.
解 算法如下:
第一步:输入p,q;
第二步:判断p除q的余数r是否为0,如果r=0,则p是q的约数,否则p不是q的约数.
算法框图如图所示.
规律方法 解本题要熟练掌握约数的概念,本题由于要判断余数是否为0,即要用到分类讨论的思想,故采用选择结构. 专题三 循环结构
循环结构是指运算过程中根据指定条件决定是否重复执行一条或多条指令的控制结构.其中重复执行的步骤叫循环体.循环结构中包含条件结构.
1.涉及多项的和或积的程序框图要用到循环和分支结构,画图时应注意三个量:循环变量的初值、终值、循环变量的增量在程序中的作用与位置.
2.利用循环结构可寻数.使用循环结构寻数时,要明确数字的结构特征,决定循环的终止条件与数的结构特征的关系及循环次数,尤其是统计数时,注意要统计的数的出现次数与循环次数的区别.
3.循环结构是执行算法流程的重要组成部分.
【例4】
阅读程序框图,运行相应的程序,则输出s的值为().
A.-1 B.0 C.1 D.3 [思路探索] 按程序框图进行计算,注意循环体执行的次数. 解析 当i>4时共进行四次运算: s=3,i=2;
s=3×(3-2)+1=4,i=3; s=1,i=4; s=0,i=5.答案 B
专题四 条件语句与循环语句
1.条件语句
计算机通常是按照算法中语句出现的先后顺序依次往下执行的,但有时需要根据某个 4 给定的条件是否满足来决定所要执行的语句,这时就需要用到条件语句.算法中的选择结构由条件语句来表达.因此,在条件语句中要体现出对条件的判断及执行语句的顺序.条件语句主要是If——Then——Else语句,在某些情况下,也可以只使用If——Then语句,无Else分支语句.
2.循环语句
算法中的循环结构由循环语句来实现.循环语句一般分为For、Do Loop语句.
【例5】 用循环语句描述计算1+12+13+14+…+110 000的值的 一个算法.
[思路探索] 求1+1+1+1+…+123410 000的值与求1+2 +3+4+…+10 00的值有相似之处,只要将后者的S= 1 S+i变为S=S+i即可. 解 用For语句描述: S=0 For i=1 To 10 000 S=S+1/i Next 输出S
用Do Loop语句描述:
i=1 S=0 Do S=S+1/i i=i+1 Loop While i<=10 000 输出 S
规律方法 本题的两种书写方式具有普遍性和广泛的应用 1111性.若将S=S+变为S=S+2则算法变为求1+2+2+…ii23
1+的值的算法.若将Do Loop语句中的i=i+1变为i 10 00021111
=i+2,则成了求S=1++++…+的值,我们可3579 999
以举一反三,以达到真正掌握知识的目的. 专题五折半插入排序法
折半插入排序:折半插入排序的基本思想是先将新数据与有序列中“中间位置”的那个数据进行比较,如果与之相等,则可确定其插入位置及序号;若不相等,中间位置的数据将数据列分为两半,当新数据较小时,它的位置应在靠左的一半,否则在靠右的一半.反复进行这种查找的方法,直到确定新数据的位置.通过前面的研究我们知道,折半插入排序方法中应用了二分法的思想后,少了多次无用的比较.相比较前面的有序列直接插入排序算法,会减少一些资源的浪费.对折半插入排序的理解:
一般地,对于一个有序列:a1≤a2≤a3≤…≤an,欲将新数据A插入到有序列中,形成新的有序列,其做法是:将数据A与原有序列中的数据从右到左依次进行比较,直到发现某一数据ai,使得ai≤A,把A插入到ai的右边;如果数据A小于原有序列中的所有数据,则将A插入到原序列的最左边.上面的排序算法通常称为有序列直接插入排序的算法.
【例6】 把8插入到1,3,5,7,9,11,13中.
解:首先,将8与13比较,显然8比13小,所以它要插在13之前;再将它与11比较,显然它比11小,所以8插在11前;同样地,8插在9前;接着,将8与7比较,显然它比7大,所以,完成8的插入排序操作.
评析:将8与数列中的数进行比较,可找到它的正确位置. 变式练习6 完成无序列{5,1,3,6}的排序. [解] 其算法如下:
S1 因为5>1,输出1,5;
S2 因为3<5,则5后移一位空出第二位;
S3 因为3>1,输出1,3,5; S4 因为6>5,输出1,3,5,6.专题六折半插入排序法
折半插入排序:折半插入排序的基本思想是先将新数据与有序列中“中间位置”的那个数据进行比较,如果与之相等,则可确定其插入位置及序号;若不相等,中间位置的数据将数据列分为两半,当新数据较小时,它的位置应在靠左的一半,否则在靠右的一半.反复进行这种查找的方法,直到确定新数据的位置.通过前面的研究我们知道,折半插入排序方法中应用了二分法的思想后,少了多次无用的比较.相比较前面的有序列直接插入排序算法,会减少一些资源的浪费.对折半插入排序的理解:
先将新数据与有序列中“中间位置”的数据进行比较,若有序列有2n+1个数据,则“中间位置”的数据指的是第n+1个数据,若有2n个数据,则“中间位置”的数据指的是第n个数据,如果新数据小于中间位置的数据,则新数据插入的位置应该在靠左边的一半;如果新数据等于中间位置的数据,则将新数据插入到中间位置的数据的右边;如果新数据大于中间位置的数据,则新数据插入的位置应该在靠右边的一半.也就是说,一次比较就排除了数据中一半的位置.反复进行这种比较,直到确定新数据的位置.
例七将52插入有序列{13,27,38,39,43,47,48,51,57,66,74,82}中,构成一个新的有序列.
[解] 首先选择有序列中具有中间位置序号的数据47,将52与47进行比较,显然52>47,故52不能插入到47的左边的任何位置.所以,应该排在47的右边,再将余下数据的中间位置的数据57与52比较,显然52<57,因此应插到57的左边,又51<52,则52插入到51的右边,57的左边,即可得到52的位置.
评析:用折半插入排序法向有序列中插入新数据时,首先确定原有序列中数据的个数是偶数2n还是奇数2n+1.若为偶数,则“中间位置”的数据是第n个数据;若为奇数,则“中间位置”的数据为第n+1个数据,然后将新数据与“中间位置”的数据比较,若新数据大于“中间位置”的数据,则在右半边进行下一步骤;若新数据小于“中间位置”的数据,则在左半边进行下一步骤;依次类推,就可以确定新数据在序列中的位置.
第五篇:算法论文:高中数学算法初步的功能分析及教学设计
算法论文:高中数学算法初步的功能分析及教学设计
【中文摘要】随着信息社会和科学技术的发展,计算机在日常生活中起着越来越重要的作用。而算法是计算机工作的基础,了解算法知识及其思想成为现代社会每一个公民所应具备的基本素养。在许多发达国家,算法知识早已成为中学教材的重要内容。2003年4月教育部颁布《普通高中数学课程标准(试验)》,新课程开始陆续实施。作为新课程中首次出现的内容之一,算法的教学问题被人们所关注。湖北省于2010年才第一次进行必修3(含算法初步的内容)的教学。由于算法内容对刚实行新课改地区的中学数学老师来说是比较陌生的,心理上存在着畏惧情绪,在实际教学中缺少有效的教学指导,因此给他们的教学带来了全新的挑战。本文研究了国内外关于算法教学的研究及教学设计理论的发展,重点是国内的“双主”教学设计与“以活动为中心”的教学设计,对高中数学算法初步的内容进行了功能分析。结合教学实际,对算法初步的部分内容进行了教学设计。旨在为自己及同行的教学提供一个有益的探索与尝试。本文所给出算法设计方案只是初步的,有待于在今后的教学实践中进一步检验完善。
【英文摘要】Algorithm is an ancient concept,with the development of computational science,algorithm has become more and more important.The idea of Algorithm has already become a mathematical quality for modern citizens.In many developed countries, Algorithm has become an important part in senior
high school teaching.In April 2003, The Mathematics Curriculum Standard of High School began to be carried on in our country, and algorithm has appeared in the text-books of high school mathematics.But the problem of teac...【关键词】算法 功能分析 教学设计
【英文关键词】algorithm function analysis instructional design 【目录】高中数学算法初步的功能分析及教学设计4-5出8-9910-1111-14ABSTRACT5绪论8-11
摘要
1.1 研究问题的提1.2 研究意义9-101.2.2 研究的实践价值9-102 研究综述11-18
1.2.1 研究的理论意义
1.3 研究方法2.1 算法的研究综述
2.1.2 国内的算2.1.1 国外的算法研究11-13
2.2 教学设计的相关研究综述法研究13-1414-182.2.1 国外教学设计理论的发展14-162.2.2 国内教学设计理论的发展16-1818-20算法初步的功能分析
3.2 有助于3.1 有助于提高学生的信息素养18培养学生的逻辑思维与创造性思维18-19秀的算法传统19-20
3.3 有助于发扬优
4.1 算法初步的教学设计20-40算法初步的教学设计策略20-21析为起点2020
4.1.1 以内容分析和学情分
4.1.2 以现代信息技术为辅助手段
4.1.4 以数学文化为4.1.3 以思维训练为目的20
驱动力20-2121-40
4.2 算法初步的教学设计案例
21-24
4.2.2 程序4.2.3 基本算法4.2.1 算法概念的教学设计框图与算法基本逻辑结构的教学设计语句的教学设计29-3232-35
24-29
4.2.4 循环语句的教学设计教学建4.2.5 秦九韶算法的教学设计35-40
5.1 教学建议议及需要进一步研究的问题40-4240-4142-455.2 需要进一步研究的问题41-42参考文献
附录 附录 A:攻读硕士期间发表的论文45-46
致谢50 B:听课笔记节选46-50