第一篇:2.1算法的基本思想教学设计 教案 (北师大必修3)
第二章 算法初步 第一课时 2.1算法的基本思想
【课程标准】通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义.【教学目标】1.理解算法的概念与特点;
2.学会用自然语言描述算法,体会算法思想; 3.培养学生逻辑思维能力与表达能力.【教学重点】算法概念以及用自然语言描述算法 【教学难点】用自然语言描述算法 【教学过程】
一、序言
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域.那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学学习中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、实例分析
例1:写出你在家里烧开水过程的一个算法.解:第一步:把水注入电锅;
第二步:打开电源把水烧开;
第三步:把烧开的水注入热水瓶.(以上算法是解决某一问题的程序或步骤)例2:给出求1+2+3+4+5的一个算法.解: 算法1 按照逐一相加的程序进行.
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
第四步:将第三步中的运算结果10与5相加,得到15.
算法2 运用公式123 第一步:取n=5;
第二步:计算
nn(n1)直接计算. 2n(n1); 2 第三步:输出运算结果. 算法3 用循环方法求和.
第一步:使S1,; 第二步:使I2;
第三步:使SSI;
第四步:使II1;
第五步:如果I5,则返回第三步,否则输出S. 点评:一个问题的算法可能不唯一. 例3 给出求解方程组2xy7的一个算法.
4x5y1142; 2解:用消元法解这个方程组,步骤是:
第一步:方程①不动,将方程②中x的系数除以方程①中x的系数,得到乘数m第二步:方程②减去m乘以方程①,消去方程②中的x项,得到
2xy7; 3y3第三步:将上面的方程组自下而上回代求解,得到y1,x4.
所以原方程组的解为
例4.用二分法设计一个求解方程x–2=0的近似根的算法。并假设所求近似根与准确解的差的绝对值不超过0.005,解:则不难设计出以下步骤:
2第一步:令f(x)=x–2。因为f(1)<0,f(2)>0,所以设x1=1,x2=2。
第二步:令m=(x1+x2)/2,判断f(m)是否为0,若则,则m为所长;若否,则继续判断f(x1)·f(m)大于0还是小于0。
第三步:若f(x1)·f(m)>0,则令x1=m;否则,令x2=m。
第四步:判断|x1–x2|<0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二
点评:渗透循环的思想,为后面教学做铺垫。例5.写出求方程组
2x4.
y1点评:通过例1再次明确算法特点:有限性和确定性
a1xb1yc1a2xb2yc2①②a1b2a2b10的解的算法.解:第一步:②× a1-①×a2,得:a1b2a2b1ya1c2a2c1 ③ 第二步:解③得 ya1c2a2c1;
a1b2a2b1第三步:将ycb1ya1c2a2c1代入①,得x1
a1b2a2b1a1点评:可推广到解一般的二元一次方程组,说明算法的普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.例6:用“待定系数法”求圆的方程的大致步骤是:
第一步:根据题意,选择标准方程或一般方程;
第二步:根据条件列出关于a,b,r或D,E,F的方程组;
第三步:解出a,b,r或D,E,F,代入标准方程或一般方程.三、算法的概念
通过对以上几个问题的分析,我们对算法有了一个初步的了解.在解决某些问题时,需要设计出一系列可操作或可计算的步骤,通过实施这些步骤来解决问题,通常把这些步骤称为解决这些问题的算法
在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.四、课堂练习
1:任意给定一个大于1的正整数n,设计一个算法求出n的所有因数.解:根据因数的定义,可设计出下面的一个算法:
第一步:输入大于1的正整数n.第二步:判断n是否等于2,若n2,则n的因数为1,n;若n2,则执行第三步.第三步:依次从2到n1检验是不是整除n,若整除n,则是n的因数;若不整除n,则不是n的因数.2:设计一个计算1+2+„+100的值的算法.解:算法1
按照逐一相加的程序进行
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
„„
第九十九步:将第九十八步中的运算结果4950与100相加,得到5050.算法2
可以运用公式1+2+3+„+n=
第一步:取n=100;
第二步:计算
n(n1)直接计算 2n(n1); 2第三步:输出运算结果.3:任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.解:第一步:输入任意正实数r;
2第二步:计算Sr;
第三步:输出圆的面积S.4.二分法求解多项式方程在区间[a,b]的一种常用方法.算法步骤是。
解1.确定区间[a,b],验证f(a)f(b)0,给定精度ε; 2.求区间(a,b)的中点x1;
3.计算f(x1): 若f(x1)0,则x1就是函数的零点; 若f(a)f(x1)0,则令bx
1(此时零点x0(a,x1)); 若f(x1)f(b)0,则令ax1(此时零点x0(x1,b)); 4.判断是否达到精度ε;即若|ab|,则得到零点零点值a(或b);否则重复步骤2~4.
5.两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们四人都会划船,但都不会游泳.同学们现在想一想,他们怎样渡过河去?请写一写你的渡河方案.解:因为一次只能渡过一个大人,而船还要回来渡其他人,所以只能让两个小孩先过河。渡河的方法与步骤为:
第一步 两个小孩同船渡过河去; 第二步 一个小孩划船回来;
第三步 一个大人独自划船渡过河去; 第四步 对岸的小孩划船回来; 第五步 两个小孩再同船渡过河去; 第六步 一个小孩划船回来;
第七步 余下的一个大人独自划船渡过河去; 第八步 对岸的小孩划船回来; 第九步 两个小孩再同船渡过河去.五、课堂小结
1.算法的特性:
①有穷性:一个算法的步骤序列是有限的,它应在有限步操作之后停止,而不能是无限的.②确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.③可行性:算法中的每一步操作都必须是可执行的,也就是说算法中的每一步都能通过手工和机器在有限时间内完成.④输入:一个算法中有零个或多个输入..⑤输出:一个算法中有一个或多个输出.2.描述算法的一般步骤:
①输入数据.(若数据已知时,应用赋值;若数据为任意未知时,应用输入)
②数据处理.③输出结果.
第二篇:《算法的基本思想》教案
普通高中课程标准实验教科书(北京师范大学出版社)
第二章 算法初步
《算法的基本思想》教案(第1课时)
一、教学目标:
1.知识与技能
(1)通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;
(2)能够用语言叙述算法;
(3)会写出将自然数分解成素因数乘积的算法;
(4)会写出求两个自然数的最大公因数的算法和两个自然数的最小公倍数的算法。
2.过程与方法
通过对物品价格的猜测,体会猜测者的基本思路,得到一个一般步骤,而这个步骤就是一个算法。结合具体问题,模仿算法步骤,写出将自然数分解成素因数乘积的算法和求两个自然数的最大公因数的算法,从而体会算法的基本思想,了解算法的含义。
3.情感态度与价值观
通过本节的学习,使学生对算法的思想有一个初步的认识,体会算法的基本思想——程序化思想,在归纳概括中培养学生的逻辑思维能力,从而进一步体会算法与现实世界的密切关系。
二、教学重点与难点:
重点:体会算法的思想,了解算法的含义;
难点:能够用语言来叙述算法。
三、学法与教学用具:
学法:学生通过对具体问题的感受,主动思考,互相交流,共同讨论,总结概括,从而更好地完成本节课的教学目标。
教学用具:某件物品、电脑、多媒体
四、教学设想:
1.创设情景
客串中央电视台的《幸运52》,让学生快速猜测出某件物品的价格。
2.探索研究
请同学们从老师和参与者的对话中感受参与者猜测的思路,试着叙述出参与者的思路。如果你是参与者,你会如何又快又准地猜出价格?用我们学过的一种思想,又将如何叙述?
实际上,我们可以把这种思想概括如下:(在给定区间为(a,b)的前提下)
1.报出首次价格T1;
2.根据老师的回答确定价格区间:
(1)若报价T1小于商品价格P,则商品的价格所在区间为(T1,b);
(2)若报价T1大于商品价格P,则商品的价格所在区间为(a,T1);
(3)若报价等于商品价格P,则游戏结束。
3.如果游戏没有结束,则报出上面确定的价格区间的中点T2,这个确定的价格区间就是新一轮报价的给定区间了。
按照这种方法,继续判断,直到游戏结束。
然而上述的这一系列的步骤就是解决实际问题的一个算法。
相信同学们对这个过程都有了一个初步的认识,但是还不够清晰,下面我们来看一个具体的实例。
3.例题分析
例题:在给定素数表的条件下,设计算法,将936分解成素因数的乘积。(4000以内的素数表见附录1)
让学生叙述解题的过程,了解一个初步的步骤,再根据这个解题的过程和学生共同完成这个算法的步骤,实质上就是用短除法将自然数分解成素因数。
解 算法步骤如下:
1.判断936是否为素数:否。
2.确定936的最小素因数:2。936=2×468。短除法
3.判断468是否为素数:否。
4.确定468的最小素因数:2。936=2×2×234。
5.判断234是否为素数:否。
6.确定234的最小素因数:2。936=2×2×2×117。
7.判断117是否为素数:否。
8.确定117的最小素因数:3。936=2×2×2×3×39。
9.判断39是否为素数:否。
10.确定39的最小素因数:3。936=2×2×2×3×3×13。
11.判断13是否为素数:13是素数,所以分解结束。
分解结果是:
936=2×2×2×3×3×13
第三篇:高中数学第二章算法初步2.1算法的基本思想教案北师大版3教案
第一节 算法的基本思想
本节教材分析 一、三维目标
1、知识与技能
(1)通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;(2)能够用语言叙述算法;
(3)会写出将自然数分解成素因数乘积的算法;
(4)会写出求两个自然数的最大公因数的算法和两个自然数的最小公倍数的算法. 2.过程与方法
通过对物品价格的猜测,体会猜测者的基本思路,得到一个一般步骤,而这个步骤就是一个算法.结合具体问题,模仿算法步骤,写出将自然数分解成素因数乘积的算法和求两个自然数的最大公因数的算法,从而体会算法的基本思想,了解算法的含义.
3.情感态度与价值观
通过本节的学习,使学生对算法的思想有一个初步的认识,体会算法的基本思想——程序化思想,在归纳概括中培养学生的逻辑思维能力,从而进一步体会算法与现实世界的密切关系.
二、教学重点:算法的含义及应用.
三、教学难点:写出解决一类问题的算法.
四、教学建议
算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固. 新课导入设计
导入一
一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.
导入二
大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?
答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上. 上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.
导入三
算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.
【教学过程】 1.情境导入:
算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。但是我们却从小学就开始接触算法,熟悉许多问题的算法。如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。因此,算法其实是重要的数学对象。2.探索研究
算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。
广义地说,算法就是做某一件事的步骤或程序。菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。比如解方程的算法、函数求值的算法、作图的算法,等等。3.例题分析
例1.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。解析:根据质数的定义判断 解:算法如下:
第一步:判断n是否等于2,若n=2,则n是质数;若n>2,则执行第二步。
第二步:依次从2至(n-1)检验是不是n的因数,即整除n的数,若有这样的数,则n不是质数;若没有这样的数,则n是质数。
这是判断一个大于1的整数n是否为质数的最基本算法。
点评:通过例1明确算法具有两个主要特点:有限性和确定性。
变式训练1:一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法。
解:算法或步骤如下: S1 人带两只狼过河; S2 人自己返回;
S3 人带一只羚羊过河; S4 人带两只狼返回; S5 人带两只羚羊过河; S6 人自己返回; S7 人带两只狼过河; S8 人自己返回; S9 人带一只狼过河.
2xy7例2 给出求解方程组的一个算法.
4x5y11解析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组. 解:用消元法解这个方程组,步骤是:
第一步:方程①不动,将方程②中x的系数除以方程①中x的系数,得到乘数m第二步:方程②减去m乘以方程①,消去方程②中的x项,得到
42; 22xy7; 3y3第三步:将上面的方程组自下而上回代求解,得到y1,x4.
x4所以原方程组的解为.
y1点评:通过例2再次明确算法特点:有限性和确定性
变式训练2:写出求过两点M(-2,-1)、N(2,3)的直线与坐标轴围成面积的一个算法。解:算法:第一步:取x1=-2,y1=-1,x2=2,y2=3; 第二步:计算yy1xx1; y2y1x2x1第三步:在第二步结果中令x=0得到y的值m,得直线与y轴交点(0,m); 第四步:在第二步结果中令y=0得到x的值n,得直线与x轴交点(n,0); 第五步:计算S=1|m||n|; 22第六步:输出运算结果
例3 用二分法设计一个求解方程x–2=0的近似根的算法。
算法分析:回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:
2第一步:令f(x)=x–2。因为f(1)<0,f(2)>0,所以设x1=1,x2=2。第二步:令m=(x1+x2)/2,判断f(m)是否为0,若则,则m为所长;若否,则继续判断f(x1)·f(m)大于0还是小于0。
第三步:若f(x1)·f(m)>0,则令x1=m;否则,令x2=m。
第四步:判断|x1–x2|<0.005是否成立?若是,则x1、x2之间的任意取值均为满足条件的近似根;若否,则返回第二
点评:渗透循环的思想,为后面教学做铺垫。变式训练3 给出求1+2+3+4+5的一个算法. 解: 算法1 按照逐一相加的程序进行. 第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第四步:将第三步中的运算结果10与5相加,得到15. 算法2 运用公式123n第一步:取n=5; 第二步:计算
n(n1)直接计算. 2n(n1); 2第三步:输出运算结果. 算法3 用循环方法求和. 第一步:使S1,; 第二步:使I2; 第三步:使SSI; 第四步:使II1;
第五步:如果I5,则返回第三步,否则输出S. 点评:一个问题的算法可能不唯一. 4.回顾小结
1.算法的概念:对一类问题的机械的、统一的求解方法.算法是由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题. 2.算法的重要特征:
(1)有限性:一个算法在执行有限步后必须结束;(2)确定性:算法的每一个步骤和次序必须是确定的;
(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.
(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的. 5.课后作业
111的一个算法 23100解:第一步:使S1,; 第二步:使I2;
1第三步:使n;
I第四步:使SSn; 第五步:使II1;
第六步:如果I100,则返回第三步,否则输出S. 写出求1
课后练习与提高:
1.下列关于算法的说法中,正确的是().A. 算法就是某个问题的解题过程 B. 算法执行后可以不产生确定的结果
C. 解决某类问题的算法不是惟一的 D. 算法可以无限地操作下去不停止 2.有一堆形状大小相同的珠子,其中只有一粒质量比其他的轻,某同学利用科学的算法,两次利用天平找出这粒最轻的珠子,则这堆珠子最多有多少粒()A.4 B.5 C.7 D.9 3下列各式中的S值不可以用算法求解的是()A.S=1+2+3+4 B.S=1+2+3+4+„.C.S=1111 23100D.S=1+2+3+4+„+100
4.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99。求它的总分和平均分的一个算法为:
第一步:取A=89,B=99;第二步: 第三步:
第四步:输出计算结果。5.写出解方程2x+3=0的算法。第一步: 第二步: 第三步:
6.给出一个判断点P(x0,y0)是否在直线y=x-1上的一个算法。
第四篇:高中数学 第二章 算法初步 本章归纳整合教学设计 北师大版必修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个数据,然后将新数据与“中间位置”的数据比较,若新数据大于“中间位置”的数据,则在右半边进行下一步骤;若新数据小于“中间位置”的数据,则在左半边进行下一步骤;依次类推,就可以确定新数据在序列中的位置.
第五篇:高中数学《秦九韶算法与排序》教案1 北师大版必修3
第三、四课时 秦九韶算法与排序
(1)教学目标(a)知识与技能
1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
(b)过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙。能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。(c)情态与价值
通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。
(2)教学重难点
重点:1.秦九韶算法的特点
2.两种排序法的排序步骤及计算机程序设计 难点:1.秦九韶算法的先进性理解
2.排序法的计算机程序设计(3)学法与教学用具
学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。
教学用具:电脑,计算器,图形计算器
(4)教学设想
(一)创设情景,揭示课题
我们已经学过了多项式的计算,下面我们计算一下多项式
5432f(x)xxxxx1当x5时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
2我们把多项式变形为:f(x)x(1x(1x(1x)))x1再统计一下计算当x5时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。显然少了6次乘法运算。这种算法就叫秦九韶算法。
(二)研探新知
1.秦九韶计算多项式的方法
用心
爱心
专心 31
f(x)anxan1x(anxn1n2nn1an2xn3n2a1xa0a1)xa0an1xn2an2xn3((anxan1xa2)xa1)xa0
(((anxan1)xan2)xa1)a0例1 已知一个5次多项式为f(x)5x52x43.5x32.6x21.7x0.8 用秦九韶算法求这个多项式当x5时的值。解:略
思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?
(2)在利用秦九韶算法计算n次多项式当xx0时需要多少次乘法计算和多少次加法计算?
练习:利用秦九韶算法计算f(x)0.83x50.41x40.16x30.33x20.5x1 当x5时的值,并统计需要多少次乘法计算和多少次加法计算? 例2 设计利用秦九韶算法计算5次多项式
f(x)a5xa4xa3xa2xa1xa0当xx0时的值的程序框图。5432解:程序框图如下:
开始输入f(x)的系数:a1,a2,a3,a4,a5输入x0n=1v=a5 n=n+1v=v x0+a5-nn≤5是否输出v结束
用心
爱心
专心
练习:利用程序框图试编写BASIC程序并在计算机上测试自己的程序。
2.排序
在信息技术课中我们学习过电子表格,电子表格对分数的排序非常简单,那么电子计算机是怎么对数据进行排序的呢? 阅读课本P30—P31面的内容,回答下面的问题:(1)排序法中的直接插入排序法与冒泡排序法的步骤有什么区别?(2)冒泡法排序中对5个数字进行排序最多需要多少趟?(3)在冒泡法排序对5个数字进行排序的每一趟中需要比较大小几次? 游戏:5位同学每人拿一个数字牌在讲台上演示冒泡排序法对5个数据4,11,7,9,6排序的过程,让学生通过观察叙述冒泡排序法的主要步骤.并结合步骤解决例3的问题.例3 用冒泡排序法对数据7,5,3,9,1从小到大进行排序
解:P32 练习:写出用冒泡排序法对5个数据4,11,7,9,6排序的过程中每一趟排序的结果.例4 设计冒泡排序法对5个数据进行排序的程序框图.解: 程序框图如下:
开始输入a1,a2,a3,a4,a5r=1i=1ai>ai+1是否x=aiai=ai+1ai+1=xi=i+1r=r+1i=5否是r=5否是输出a1,a2,a3,a4,a5结束 思考:直接排序法的程序框图如何设计?可否把上述程序框图转化为程序? 练习:用直接排序法对例3中的数据从小到大排序
用心
爱心
专心
3.小结:(1)秦九韶算法计算多项式的值及程序设计
(2)数字排序法中的常见的两种排序法直接插入排序法与冒泡排序法(3)冒泡法排序的计算机程序框图设计(5)评价设计
作业:P38 A(2)(3)
补充:设计程序框图对上述两组数进行排序
用心
爱心
专心 34