§1.1.1 算法的概念
学习目标
1、了解算法的含义,体会算法的思想,
2、掌握正确的算法应满足的要求。
重点难点
重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
难点:把自然语言转化为算法语言。
学法指导
算法是建立在解法基础上的操作过程,算法不一定要有运算结果,问题答案可以由计算机解决.设计一个解决某类问题的算法的核心内容是设计算法的步骤,它没有一个固定的模式,但有以下几个基本要求:
(1)符合运算规则,计算机能操作;
(2)每个步骤都有一个明确的计算任务;
(3)对重复操作步骤作返回处理;
(4)步骤个数尽可能少;
(5)每个步骤的语言描述要准确、简明。
问题探究
知识探究(一):算法的概念
思考1:在初中,对于解二元一次方程组你学过哪些方法?
思考2:用加减消元法解二元一次方程组
的具体步骤是什么?
第一步,①+②×2,得 5x=1 . ③
第二步,
第三步,
第四步,
第五步,
思考3:参照上述思路,一般地,解方程组
的基本步骤是什么?
第一步,
第二步,
第三步,
第四步,
第五步,
思考4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”。我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?
思考5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的。
你认为:
(1)这些步骤的个数是有限的还是无限的?
(2)每个步骤是否有明确的计算任务?
思考6:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:
第一步,检验6=3+3,
第二步,检验8=3+5,
第三步,检验10=5+5,
……
利用计算机无穷地进行下去!
请问:这是一个算法吗?
思考7:根据上述分析,你能归纳出算法的概念吗?
知识探究(二):算法的步骤设计
思考1:如果让计算机判断7是否为质数,如何设计算法步骤?
第一步,用2除7,得到余数1,所以2不能整除7.
第二步,
第三步,
第四步,
第五步,
因此,7 质数。
思考2:如果让计算机判断35是否为质数,如何设计算法步骤?
第一步,
第二步,
第三步,
第四步,
第五步,
因此,35 质数。
思考3:整数89是否为质数?如果让计算机判断89是否为质数,按照上述算法需要设计多少个步骤?
思考4:用2~88逐一去除89求余数,需要87个步骤,这些步骤基本是重复操作,我们可以按下面的思路改进这个算法,减少算法的步骤。
(1)用i表示2~88中的任意一个整数,并从2开始取数;
(2)用i除89,得到余数r. 若r=0,则89不是质数;若r≠0,将i用i+1替代,再执行同样的操作;
(3)这个操作一直进行到i取88为止.
你能按照这个思路,设计一个“判断89是否为质数”的算法步骤吗?
第一步,令i=2;
第二步,用 除89,得到余数r;
第三步,若r=0,则89 质数,结束算法;若r≠0,将i用i+1替代;
第四步,判断“i>88”是否成立?若是,则89 质数,结束算法;否则,返回第二步.
思考5:一般地,判断一个大于2的整数是否为质数的算法步骤如何设计?
第一步,给定一个大于2的整数n;
第二步,
第三步,
第四步,
第五步,
理论迁移
例 设函数f(x)的图象是一条连续不断的曲线,写出用“二分法”求方程 的一个近似解的算法。
第一步,取函数,给定精确度d.
第二步,确定区间[a,b],满足 .
第三步,
第四步,若,则含零点的区间为 ,否则,含零点的区间为 . 将新得到的含零点的区间仍记为[a,b];
第五步,
目标检测
下面的结论正确的是 ( )
一个程序的算法步骤是可逆的
一个算法可以无止境地运算下去的
完成一件事情的算法有且只有一种
设计算法要本着简单方便的原则
下面对算法描述正确的一项是 ( )
A.算法只能用自然语言来描述
B.算法只能用图形方式来表示
C.同一问题可以有不同的算法
D.同一问题的算法不同,结果必然不同
3、下面哪个不是算法的特征( )
A.抽象性 B.精确性
C.有穷性 D.唯一性
4、算法的有穷性是指 ( )
A.算法必须包含输出
B.算法中每个操作步骤都是可执行的
C.算法的步骤必须有限
D.以上说法均不正确
5、早上从起床到出门需要洗脸刷牙(5min)、刷水壶(2min)、烧水(8min)、泡面(3min)、吃饭(10min)、听广播(8min)几个步骤,从下列选项中选最好的一种算法 ( )
A.S1洗脸刷牙、S2刷水壶 、S3烧水、S4泡面、S5吃饭、S6听广播
B.S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播
C. S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、
S4吃饭同时听广播
D.S1吃饭同时听广播、S2泡面;S3烧水同时洗脸刷牙;S4刷水壶
6、看下面的四段话,其中不是解决问题的算法是
( )
A.从济南到北京旅游,先坐火车,再坐飞机抵达
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程有两个实根
D.求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15
7、已知直角三角形两直角边长为,,求斜边长的一个算法分下列三步:
①计算;②输入直角三角形两直角边
长,的值;
③输出斜边长的值,其中正确的顺序是 ( )
A.①②③ B.②③①
C.①③② D.②①③
8、若在区间内单调,且,则在区间内 ( )
A.至多有一个根
B.至少有一个根
C.恰好有一个根
D.不确定
9、写出求1+2+3+4+5+6+…+100的一个算法.可运用公式1+2+3+…+=直接计算.
第一步______①_______;
第二步_______②________;
第三步 输出计算的结果.
10、写出1×2×3×4×5×6的一个算法.
纠错矫正
总结反思
※自我评价( )
A、课前自主学习认真,学案完成很好;
你真棒,继续坚持。
B、课前自主学习一般,学案完成良好;
下次争取做的更好。
C、课前自主学习较差,学案空白较多;
注意学习方法,提高学习效率。
1. 1.1 算法的概念
【教学目标】
1.了解算法的含义,体会算法的思想。
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 人带一只狼过河.
例2 给出求解方程组的一个算法.
解析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组.
解:用消元法解这个方程组,步骤是:
第一步:方程①不动,将方程②中的系数除以方程①中的系数,得到乘数;
第二步:方程②减去乘以方程①,消去方程②中的项,得到
;
第三步:将上面的方程组自下而上回代求解,得到,.
所以原方程组的解为.
点评:通过例2再次明确算法特点:有限性和确定性
变式训练2:写出求过两点M(-2,-1)、N(2,3)的直线与坐标轴围成面积的一个算法。
解:算法:第一步:取x1=-2,y1=-1,x2=2,y2=3;
第二步:计算;
第三步:在第二步结果中令x=0得到y的值m,得直线与y轴交点(0,m);
第四步:在第二步结果中令y=0得到x的值n,得直线与x轴交点(n,0);
第五步:计算S=;
第六步:输出运算结果
例3 用二分法设计一个求解方程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之间的任意取值均为满足条件的近似根;若否,则返回第二
点评:渗透循环的思想,为后面教学做铺垫。
变式训练3 给出求1+2+3+4+5的一个算法.
解: 算法1 按照逐一相加的程序进行.
第一步:计算1+2,得到3;
第二步:将第一步中的运算结果3与3相加,得到6;
第三步:将第二步中的运算结果6与4相加,得到10;
第四步:将第三步中的运算结果10与5相加,得到15.
算法2 运用公式直接计算.
第一步:取=5;
第二步:计算;
第三步:输出运算结果.
算法3 用循环方法求和.
第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:如果,则返回第三步,否则输出.
点评:一个问题的算法可能不唯一.
4.回顾小结
1.算法的概念:对一类问题的机械的、统一的求解方法.算法是由基本运算及规定的运算顺序所构成的完整的解题步骤,或者是按照要求设计好的有限的计算序列,并且这样的步骤或序列能解决一类问题.
2.算法的重要特征:
(1)有限性:一个算法在执行有限步后必须结束;
(2)确定性:算法的每一个步骤和次序必须是确定的;
(3)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件.所谓0个输入是指算法本身定出了初始条件.
(4)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果.没有输出的
算法是毫无意义的.
5.课后作业
写出求的一个算法
解:第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:使;
第六步:如果,则返回第三步,否则输出.
1.1.1. 算法的概念
课前预习学案
一、预习目标:了解算法的含义,体会算法的思想。
二、预习内容:
1.算法的概念及其特点
2.判断一个数为质数的算法设计
三、提出疑惑:如何快速准确的写出一个问题的算法?
课内探究学案
一、学习目标:
1.了解算法的含义,体会算法的思想;
2.能够用自然语言叙述算法;
3.知道算法应满足的要求。
二、学习重点:算法的含义、判断一个数为质数的算法设计。
学习难点:把自然语言转化为算法语言。
三、学习过程:
(一)、自主学习:
1.算法的概念
2.算法的重要特征:
(二)、例题分析:
例1. 任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判定
变式训练1:一个人带三只狼和三只羚羊过河,只有一条船,同船可以容纳一个人和两只动物.没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.请设计过河的算法。
例2 给出求解方程组的一个算法.
变式训练2:写出求过两点M(-2,-1)、N(2,3)的直线与坐标轴围成面积的一个算法。
例3 用二分法设计一个求解方程x2–2=0的近似根的算法。
变式训练3 给出求1+2+3+4+5的一个算法
(三)、回顾小结:
(1)算法的概念
(2)算法的重要特征
(四)、当堂检测:
写出求的一个算法
解:第一步:使,;
第二步:使;
第三步:使;
第四步:使;
第五步:使;
第六步:如果,则返回第三步,否则输出.
课后练习与提高:
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=
D.S=1+2+3+4+…+100
4.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99。求它的总分和平均分的一个算法为:
第一步:取A=89,B=99;
第二步:
第三步:
第四步:输出计算结果。
5.写出解方程2x+3=0的算法。
第一步:
第二步:
第三步:
6. 给出一个判断点P是否在直线y=x-1上的一个算法。
学业分层测评(一) 算法的概念
(建议用时:45分钟)
[学业达标]
一、选择题
1.下列四种自然语言叙述中,能称作算法的是( )
A.在家里一般是妈妈做饭
B.做米饭需要刷锅、淘米、添水、加热这些步骤
C.在野外做饭叫野炊
D.做饭必须要有米
【解析】 算法是做一件事情或解决一类问题的程序或步骤,故选B.
【答案】 B
2.下列问题中,不可以设计一个算法求解的是( )
A.二分法求方程x2-3=0的近似解
B.解方程组
C.求半径为3的圆的面积
D.判断函数y=x2在R上的单调性
【解析】 A、B、C选项中的问题都可以设计算法解决,D选项中的问题由于x在R上取值无穷尽,所以不能设计一个算法求解.
【答案】 D
3.(2016·东营高一检测)一个算法步骤如下:
S1,S取值0,i取值1;
S2,如果i≤10,则执行S3,否则执行S6;
S3,计算S+i并将结果代替S;
S4,用i+2的值代替i;
S5,转去执行S2;
S6,输出S.
运行以上步骤后输出的结果S=( )
A.16 B.25
C.36 D.以上均不对
【解析】 由以上计算可知S=1+3+5+7+9=25.
【答案】 B
4.有如下算法:
第一步,输入不小于2的正整数n.
第二步,判断n是否为2.若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到n-1检验能不能整除n,若不能整除,则n满足条件.
则上述算法满足条件的n是( )
A.质数 B.奇数
C.偶数 D.约数
【解析】 根据质数、奇数、偶数、约数的定义可知,满足条件的n是质数.
【答案】 A
5.下列各式中T的值不能用算法求解的是( )
A.T=12+22+32+42+…+1002
B.T=++++…+
C.T=1+2+3+4+5+…
D.T=1-2+3-4+5-6+…+99-100
【解析】 根据算法的有限性知C不能用算法求解.
【答案】 C
二、填空题
6.求过P(a1,b1),Q(a2,b2)两点的直线斜率有如下的算法,请将算法补充完整:
第一步,令x1=a1,y1=b1,x2=a2,y2=b2.
第二步,若x1=x2,则输出斜率不存在,结束算法;否则,________.
第三步,输出结果k.
【答案】 k=
7.给出下列算法:
第一步,输入x的值.
第二步,当x>4时,计算y=x+2;否则执行下一步.
第三步,计算y=.
第四步,输出y.
当输入x=0时,输出y=________.
【解析】 因为0<4,执行第三步,所以y==2.
【答案】 2
8.如下算法:
第一步,输入x的值.
第二步,若x≥0成立,则y=x;否则执行下一步.
第三步,计算y=x2.
第四步,输出y的值.
若输入x=-2,则输出y=________.
【解析】 输入x=-2后,x=-2≥0不成立,则计算y=x2=(-2)2=4,则输出y=4.
【答案】 4
三、解答题
9.已知某梯形的底边长AB=a,CD=b,高为h,写出一个求这个梯形面积S的算法.
【解】 算法如下:
第一步,输入梯形的底边长a和b,以及高h.
第二步,计算a+b的值.
第三步,计算(a+b)×h的值.
第四步,计算S=的值.
第五步,输出结果S.
10.设计一个解方程x2-2x-3=0的算法.
【解】 算法如下:
第一步,移项,得x2-2x=3. ①
第二步,①式两边加1,并配方得(x-1)2=4. ②
第三步,②式两边开方,得x-1=±2. ③
第四步,解③得x=3或x=-1.
第五步,输出结果x=3或x=-1.
[能力提升]
1.小明中午放学回家自己煮面条吃,有下面几道工序:①洗锅盛水2分钟;②洗菜6分钟;③准备面条及佐料2分钟;④用锅把水烧开10分钟;⑤煮面条3分钟.以上各道工序,除了④之外,一次只能进行一道工序.小明要将面条煮好,最少要用的分钟数为( )
A.13 B.14
C.15 D.23
【解析】 ①洗锅盛水2分钟,②用锅把水烧开10分钟(同时②洗菜6分钟,③准备面条及佐料2分钟),⑤煮面条3分钟,共为15分钟.
【答案】 C
2.已知一个算法如下:
第一步,令m=a.
第二步,如果b<m,则m=b.
第三步,如果c<m,则m=c.
第四步,输出m.
如果a=3,b=6,c=2,则执行这个算法的结果是________.
【解析】 这个算法是求a,b,c三个数中的最小值,故这个算法的结果是2.
【答案】 2
3.鸡兔同笼问题:鸡和兔各若干只,数腿共100条,数头共30只,试设计一个算法,求鸡和兔各有多少只. 【导学号:28750002】
【解】 第一步,设有x只鸡,y只兔,列方程组
第二步,②÷2-①,得y=20.
第三步,把y=20代入①,得x=10.
第四步,得到方程组的解
第五步,输出结果,鸡10只,兔20只.
4.一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?
【解】 法一 算法如下:
第一步,任取2枚银元分别放在天平的两边,若天平左、右不平衡,则轻的一枚就是假银元,若天平平衡,则进行第二步.
第二步,取下右边的银元放在一边,然后把剩下的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.
法二 算法如下:
第一步,把9枚银元平均分成3组,每组3枚.
第二步,先将其中两组放在天平的两边,若天平不平衡,则假银元就在轻的那一组;否则假银元在未称量的那一组.
第三步,取出含假银元的那一组,从中任取2枚银元放在天平左、右两边称量,若天平不平衡,则假银元在轻的那一边;若天平平衡,则未称量的那一枚是假银元.
第一章 算法初步
1.1.1 算法的概念
课时目标 通过分析解决具体问题的过程与步骤,体会算法的思想,了解算法的含义,能用自然语言描述解决具体问题的算法.
1.算法的概念
12世纪的
算法
指的是用阿拉伯数字进行算术运算的过程
数学中的
算法
通常是指按照一定规则解决某一类问题的明确和有限的步骤
现代算法
通常可以编成计算机程序,让计算机执行并解决问题
2.算法与计算机
计算机解决任何问题都要依赖于算法,只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.
一、选择题
1.下面四种叙述能称为算法的是( )
A.在家里一般是妈妈做饭
B.做米饭需要刷锅、淘米、添水、加热这些步骤
C.在野外做饭叫野炊
D.做饭必须要有米
答案 B
解析 算法是解决一类问题的程序或步骤,A、C、D均不符合.
2.下列对算法的理解不正确的是( )
A.算法有一个共同特点就是对一类问题都有效(而不是个别问题)
B.算法要求是一步步执行,每一步都能得到唯一的结果
C.算法一般是机械的,有时要进行大量重复计算,它的优点是一种通法
D.任何问题都可以用算法来解决
答案 D
3.下列关于算法的描述正确的是( )
A.算法与求解一个问题的方法相同
B.算法只能解决一个问题,不能重复使用
C.算法过程要一步一步执行,每步执行的操作必须确切
D.有的算法执行完后,可能无结果
答案 C
解析 算法与求解一个问题的方法既有区别又有联系,故A不对;算法能重复使用,故B不对;每个算法执行后必须有结果,故D不对;由算法的有序性和确定性可知C正确.
4.计算下列各式中S的值,能设计算法求解的是( )
①S=+++…+
②S=+++…++…
③S=+++…+ (n≥1且n∈N*)
A.①② B.①③ C.②③ D.①②③
答案 B
解析 因为算法的步骤是有限的,所以②不能设计算法求解.
5.关于一元二次方程x2-5x+6=0的求根问题,下列说法正确的是( )
A.只能设计一种算法
B.可以设计两种算法
C.不能设计算法
D.不能根据解题过程设计算法
答案 B
解析 算法具有不唯一性,对于一个问题,我们可以设计不同的算法.
6.对于算法:第一步,输入n.
第二步,判断n是否等于2,若n=2,则n满足条件;若n>2,则执行第三步.
第三步,依次从2到(n-1)检验能不能整除n,若不能整除n,则执行第四步;若能整除n,则执行第一步.
第四步,输出n.
满足条件的n是( )
A.质数 B.奇数 C.偶数 D.约数
答案 A
解析 此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.
二、填空题
7.已知直角三角形两条直角边长分别为a,b.写出求斜边长c的算法如下:
第一步,输入两直角边长a,b的值.
第二步,计算c=的值.
第三步,________________.
将算法补充完整,横线处应填____________.
答案 输出斜边长c的值
8.下面给出了解决问题的算法:
第一步:输入x.
第二步:若x≤1,则y=2x-1,否则y=x2+3.
第三步:输出y.
(1)这个算法解决的问题是________;
(2)当输入的x值为________时,输入值与输出值相等.
答案 (1)求分段函数y=的函数值 (2)1
9.求1×3×5×7×9×11的值的一个算法是:
第一步,求1×3得到结果3;
第二步,将第一步所得结果3乘5,得到结果15;
第三步,____________________;
第四步,再将105乘9得到945;
第五步,再将945乘11,得到10 395,即为最后结果.
答案 将第二步所得的结果15乘7,得结果105
三、解答题
10.已知某梯形的底边长AB=a,CD=b,高为h,写出一个求这个梯形面积S的算法.
解 第一步,输入梯形的底边长a和b,以及高h.
第二步,计算a+b的值.
第三步,计算(a+b)×h的值.
第四步,计算S=的值.
第五步,输出结果S.
11.函数y=,写出给定自变量x,求函数值的算法.
解 算法如下:第一步,输入x.
第二步,若x>0,则令y=-x+1后执行第五步,否则执行第三步.
第三步,若x=0,则令y=0后执行第五步,否则执行第四步.
第四步,令y=x+1;
第五步,输出y的值.
能力提升
12.某铁路部门规定甲、乙两地之间旅客托运行李的费用为:
c=
其中ω(单位:kg)为行李的质量,如何设计计算托运费用c(单位:元)的算法.
解 第一步,输入行李的质量ω.
第二步,如果ω≤50,则令c=0.53×ω,否则执行第三步.
第三步,c=50×0.53+(ω-50)×0.85.
第四步,输出托运费c.
13.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:
(1)有三根杆子A,B,C,B杆上有三个碟子(大小不等,自上到下,由小到大),如图.
(2)每次移动一个碟子,小的只能叠在大的上面.
(3)把所有碟子从A杆移到C杆上.
试设计一个算法,完成上述游戏.
解 第一步,将A杆最上面碟子移到C杆.
第二步,将A杆最上面碟子移到B杆.
第三步,将C杆上的碟子移到B杆.
第四步,将A杆上的碟子移到C杆.
第五步,将B杆最上面碟子移到B杆.
第六步,将B杆上的碟子移到C杆.
第七步,将A杆上的碟子移到C杆.
1.算法的特点
(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.
(2)确定性:算法中的每一步应该是确定的并且能有效地执行且能得到确定的结果,而不应当是模棱两可的.
(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.
(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.
(5)普遍性:很多具体的问题,都可以设计合理的算法去解决.
2.算法与数学问题解法的区别与联系
(1)联系
算法与解法是一般与特殊的关系,也是抽象与具体的关系.
(2)区别
算法是解决某一类问题所需要的程序和步骤的统称,也可理解为数学中的“通法通解”;而解法是解决某一个具体问题的过程和步骤,是具体的解题过程.