1算法的基本思想.docx

上传人:b****3 文档编号:5479616 上传时间:2023-05-08 格式:DOCX 页数:13 大小:127.28KB
下载 相关 举报
1算法的基本思想.docx_第1页
第1页 / 共13页
1算法的基本思想.docx_第2页
第2页 / 共13页
1算法的基本思想.docx_第3页
第3页 / 共13页
1算法的基本思想.docx_第4页
第4页 / 共13页
1算法的基本思想.docx_第5页
第5页 / 共13页
1算法的基本思想.docx_第6页
第6页 / 共13页
1算法的基本思想.docx_第7页
第7页 / 共13页
1算法的基本思想.docx_第8页
第8页 / 共13页
1算法的基本思想.docx_第9页
第9页 / 共13页
1算法的基本思想.docx_第10页
第10页 / 共13页
1算法的基本思想.docx_第11页
第11页 / 共13页
1算法的基本思想.docx_第12页
第12页 / 共13页
1算法的基本思想.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

1算法的基本思想.docx

《1算法的基本思想.docx》由会员分享,可在线阅读,更多相关《1算法的基本思想.docx(13页珍藏版)》请在冰点文库上搜索。

1算法的基本思想.docx

1算法的基本思想

必修3第二章

算法初步

课题:

§1算法的基本思想

编写:

闻军、郭群审核:

日期:

2010.5.10编号:

01

学习目标:

1、知识与技能:

(1)了解算法的含义,体会算法的思想。

(2)能够用自然语言叙述算法。

(3)掌握正确的算法应满足的要求。

(4)会写出解线性方程(组)的算法。

(5)会写出一个求有限整数序列中的最大值的算法。

(6)会应用Scilab求解方程组。

2、过程与方法:

通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。

由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。

3、情感态度与价值观:

通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。

学习重难点:

重点:

算法的含义、解二元一次方程组和判断一个数为质数的算法设计。

难点:

把自然语言转化为算法语言。

学习过程:

一、问题提出

1、算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。

但是我们却从小学就开始接触算法,熟悉许多问题的算法。

如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。

我们知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解线性方程组的算法,求两个数的最大公因数的算法等。

因此,算法其实是重要的数学对象。

算法(algorithm)一词源于算术(algorism),即算术方法,是指一个由已知推求未知的运算过程。

后来,人们把它推广到一般,把进行某一工作的方法和步骤称为算法。

广义地说,算法就是做某一件事的步骤或程序。

菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。

在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。

比如解方程的算法、函数求值的算法、作图的算法,等等。

2、两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们四人都会划船,但都不会游泳。

试问他们怎样渡过河去?

请写出一个渡河方案。

3、猜物品的价格游戏:

现在一商品,价格在0~8000元之间,解决这一问题有什么策略?

 

二:

合作探究:

引例:

在给定素数表的条件下,设计算法,将936分解成素因数的乘积。

算法分析:

根据素数的定义,很容易设计出下面的步骤:

第一步:

    。

第二步:

    。

·

·

·

重复进行上述步骤,直到找出936的所有素因数。

解算法步骤如下:

(请写出)

 

三、实例演练

例1、写出求1+2+3+4+5+6的一个算法。

(可以写一种以上算法)

 

例2、写出解二元一次方程组

的算法。

 

例3、任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定。

 

例4、试给出求解一元二次方程

的一个算法.

例5、用二分法设计一个求议程x2–2=0的近似根的算法。

 

注意:

算法的描述可以用自然语言,也可以用数学语言。

例如,某同学要在下午到体育馆参加比赛,比赛下午2时开始,请写出该同学从家里发到比赛地的算法。

若用自然语言来描述可写为:

第一步:

1:

00从家出发到公共汽车站

第二步:

1:

10上公共汽车

第三步:

1:

40到达体育馆

第四步:

1:

45做准备活动。

第五步:

2:

00比赛开始。

若用数学语言来描述可写为:

S11:

00从家出发到公共汽车站

S21:

10上公共汽车

S31:

40到达体育馆

S41:

45做准备活动

S52:

00比赛开始

大家从中可以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。

 

四、课堂小结

本节课主要讲了算法的概念,算法就是解决问题的步骤,平时列论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。

 

五、自我检测

1、P78练习1

2、P81练习2

3、P83练习3

4、写出解一元二次方程ax2+bx+c=0(a≠0)的一个算法。

5、写出求1至1000的正数中的3倍数的一个算法(打印结果)

 

六、自我反思

1.1.1算法的概念

 

一、教学目标:

1、知识与技能:

(1)了解算法的含义,体会算法的思想。

(2)能够用自然语言叙述算法。

(3)掌握正确的算法应满足的要求。

(4)会写出解线性方程(组)的算法。

(5)会写出一个求有限整数序列中的最大值的算法。

(6)会应用Scilab求解方程组。

2、过程与方法:

通过求解二元一次方程组,体会解方程的一般性步骤,从而得到一个解二元一次方程组的步骤,这些步骤就是算法,不同的问题有不同的算法。

由于思考问题的角度不同,同一个问题也可能有多个算法,能模仿求解二元一次方程组的步骤,写出一个求有限整数序列中的最大值的算法。

3、情感态度与价值观:

通过本节的学习,使我们对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一各有力工具,进一步提高探索、认识世界的能力。

二、重点与难点:

重点:

算法的含义、解二元一次方程组和判断一个数为质数的算法设计。

难点:

把自然语言转化为算法语言。

三、学法与教学用具:

学法:

1、写出的算法,必须能解决一类问题(如:

判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用。

2、要使算法尽量简单、步骤尽量少。

3、要保证算法正确,且计算机能够执行,如:

让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。

教学用具:

电脑,计算器,图形计算器

四、教学设想:

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是否为质数的最基本算法。

例2用二分法设计一个求议程x2–2=0的近似根的算法。

算法分析:

回顾二分法解方程的过程,并假设所求近似根与准确解的差的绝对值不超过0.005,则不难设计出以下步骤:

第一步:

令f(x)=x2–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之间的任意取值均为满足条件的近似根;若否,则返回第二步。

小结:

算法具有以下特性:

(1)有穷性;

(2)确定性;(3)顺序性;(4)不惟一性;(5)普遍性

典例剖析:

1、基本概念题

x-2y=-1,①

例3写出解二元一次方程组的算法

2x+y=1②

解:

第一步,②-①×2得5y=3;③

第二步,解③得y=3/5;

第三步,将y=3/5代入①,得x=1/5

学生做一做:

对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?

老师评一评:

本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。

下面写出求方程组

的解的算法:

第一步:

②×A1-①×A2,得(A1B2-A2B1)y+A1C2-A2C1=0;③

第二步:

解③,得

第三步:

代入①,得

此时我们得到了二元一次方程组的求解公式,利用此公司可得到倒2的另一个算法:

第一步:

取A1=1,B1=-2,C1=1,A2=2,B2=1,C2=-1;

第二步:

计算

第三步:

输出运算结果。

可见利用上述算法,更加有利于上机执行与操作。

基础知识应用题

例4写出一个求有限整数列中的最大值的算法。

解:

算法如下。

S1先假定序列中的第一个整数为“最大值”。

S2将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。

S3如果序列中还有其他整数,重复S2。

S4在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。

学生做一做写出对任意3个整数a,b,c求出最大值的算法。

老师评一评在例2中我们是用自然语言来描述算法的,下面我们用数学语言来描述本题的算法。

S1max=a

S2如果b>max,则max=b.

S3如果C>max,则max=c.

S4max就是a,b,c中的最大值。

综合应用题

例5写出求1+2+3+4+5+6的一个算法。

分析:

可以按逐一相加的程序进行,也可以利用公式1+2+…+n=

进行,也可以根据加法运算律简化运算过程。

解:

算法1:

S1:

计算1+2得到3;

S2:

将第一步中的运算结果3与3相加得到6;

S3:

将第二步中的运算结果6与4相加得到10;

S4:

将第三步中的运算结果10与5相加得到15;

S5:

将第四步中的运算结果15与6相加得到21。

算法2:

S1:

取n=6;

S2:

计算

S3:

输出运算结果。

算法3:

S1:

将原式变形为(1+6)+(2+5)+(3+4)=3×7;

S2:

计算3×7;

S3:

输出运算结果。

小结:

算法1是最原始的方法,最为繁琐,步骤较多,当加数较大时,比如1+2+3+…+10000,再用这种方法是行不通的;算法2与算法3都是比较简单的算法,但比较而言,算法2最为简单,且易于在计算机上执行操作。

学生做一做求1×3×5×7×9×11的值,写出其算法。

老师评一评算法1;第一步,先求1×3,得到结果3;

第二步,将第一步所得结果3再乘以5,得到结果15;

第三步,再将15乘以7,得到结果105;

第四步,再将105乘以9,得到945;

第五步,再将945乘以11,得到10395,即是最后结果。

算法2:

用P表示被乘数,i表示乘数。

S1使P=1。

S2使i=3

S3使P=P×i

S4使i=i+2

S5若i≤11,则返回到S3继续执行;否则算法结束。

小结由于计算机动是高速计算的自动机器,实现循环的语句。

因此,上述算法2不仅是正确的,而且是在计算机上能够实现的较好的算法。

在上面的算法中,S3,S4,S5构成一个完整的循环,这里需要说明的是,每经过一次循环之后,变量P、i的值都发生了变化,并且生循环一次之后都要在步骤S5对i的值进行检验,一旦发现i的值大于11时,立即停止循环,同时输出最后一个P的值,对于循环结构的详细情况,我们将在以后的学习中介绍。

4、课堂小结

本节课主要讲了算法的概念,算法就是解决问题的步骤,平时列论我们做什么事都离不开算法,算法的描述可以用自然语言,也可以用数学语言。

例如,某同学要在下午到体育馆参加比赛,比赛下午2时开始,请写出该同学从家里发到比赛地的算法。

若用自然语言来描述可写为

第一步:

1:

00从家出发到公共汽车站

第二步:

1:

10上公共汽车

第三步:

1:

40到达体育馆

第四步:

1:

45做准备活动。

第五步:

2:

00比赛开始。

若用数学语言来描述可写为:

S11:

00从家出发到公共汽车站

S21:

10上公共汽车

S31:

40到达体育馆

S41:

45做准备活动

S52:

00比赛开始

大家从中要以看出,实际上两种写法无本质区别,但我们在书写时应尽量用教学语言来描述,它的优越性在以后的学习中我们会体会到。

5、自我评价

1、写出解一元二次方程ax2+bx+c=0(a≠0)的一个算法。

2、写出求1至1000的正数中的3倍数的一个算法(打印结果)

6、评价标准

1、解:

算法如下

S1计算△=b2-4ac

S2如果△〈0,则方程无解;否则x1=

S3输出计算结果x1,x2或无解信息。

2、解:

算法如下:

S1使i=1

S2i被3除,得余数r

S3如果r=0,则打印i,否则不打印

S4使i=i+1

S5若i≤1000,则返回到S2继续执行,否则算法结束。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2