2020版高中数学新人教B版必修3第一章算法初步1.1.1算法的概念学案(含解析)

文档属性

名称 2020版高中数学新人教B版必修3第一章算法初步1.1.1算法的概念学案(含解析)
格式 zip
文件大小 140.1KB
资源类型 教案
版本资源 人教新课标B版
科目 数学
更新时间 2019-06-03 16:57:40

图片预览

文档简介

1.1.1 算法的概念
学习目标 1.了解算法的含义.2.了解算法的思想.3.会用自然语言描述一些具体问题的算法.
知识点一 算法的概念
思考1 有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换过来,试用自然语言表述你的操作办法.
答案 先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.
思考2 某笑话有这样一个问题:把大象装进冰箱总共分几步?答案是分三步.第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.这是一个算法吗?
答案 是.
梳理 算法概念
12世纪的算法
是指用阿拉伯数字进行算术运算的过程
数学中的算法
通常是指按照一定规则解决某一类问题的明确和有限的步骤
现代算法
通常可以编成计算机程序,让计算机执行并解决问题
知识点二 算法的特征
思考 算法与一般意义上具体问题的解法的区别与联系是什么?
答案 (1)它们之间是一般与特殊的关系,也是抽象与具体的关系.
(2)要设计出解决一类问题的算法,可以借助于此类问题中的某一个问题的解决过程和思路进行设计,而此类问题中的任何一个具体问题都可以利用这类问题的一般算法来解决.
梳理 算法的五个特征
(1)有限性:一个算法的步骤是有限的,它应在有限步操作之后停止.
(2)确定性:算法中的每一步应该是确定的,并且能有效地执行且得到确定的结果,而不是模棱两可的.
(3)逻辑性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,只有完成前一步,才能进行下一步,而且每一步都是正确无误的,从而组成具有很强逻辑性的步骤序列.
(4)普遍性:一个确定的算法,应该能够解决一类问题.
(5)不唯一性:求解某一个问题的算法不一定只有唯一的一个,也可以有不同的算法.
特别提醒:判断一个问题是不是算法,关键是明确算法的含义及算法的特征.
知识点三 算法的设计
思考 自然语言是唯一描述算法的语言吗?
答案 不是.描述算法可以有不同的方式,常用的有自然语言、框图(流程图)、程序设计语言等.
梳理 (1)设计算法的目的
设计算法的目的实际上是寻求一类问题的解决方法,它可以通过计算机来完成.设计算法的关键是把过程分解成若干个明确的步骤,然后用计算机能够接受的“语言”准确地描述出来,从而达到让计算机执行的目的.
(2)设计算法的要求
①写出的算法必须能解决一类问题.
②要使算法尽量简单、步骤尽量少.
③要保证算法步骤有效,且计算机能够执行.
1.算法是解决一个问题的方法.( × )
2.一个算法可以产生不确定的结果.( × )
3.算法的步骤必须是明确的、有限的.( √ )
题型一 算法概念的理解
例1 下列关于算法的说法,正确的个数有(  )
①求解某一类问题的算法是唯一的;
②算法必须在有限步操作之后停止;
③算法的每一步操作必须是明确的,不能有歧义或模糊;
④算法执行后一定产生确定的结果.
A.1B.2C.3D.4
答案 C
解析 由于算法具有有限性、确定性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.
反思与感悟 算法实际上是解决问题的一种程序性方法,它通常用来解决某一个或某一类问题,在用算法解决问题时,体现了特殊与一般的数学思想.
跟踪训练1 下列描述不能看作算法的是(  )
A.做米饭需要刷锅,淘米,添水,加热这些步骤
B.洗衣机的使用说明书
C.解方程2x2+x-1=0
D.利用公式S=πr2,计算半径为4的圆的面积,就是计算π×42
答案 C
解析 A,B,D都描述了解决问题的过程,可以看作算法,而C只描述了一个事实,没说明怎么解决问题,不是算法.
题型二 算法的阅读理解
例2 下面算法要解决的问题是_______________________________________________.
S1 输入三个数,并分别用a,b,c表示.
S2 比较a与b的大小,如果aS3 比较a与c的大小,如果aS4 比较b与c的大小,如果bS5 输出a,b,c.
答案 输入三个数a,b,c,并按从大到小的顺序输出
解析 第一步是给a,b,c赋值.
第二步运行后a>b.
第三步运行后a>c.
第四步运行后b>c,所以a>b>c.
第五步运行后,显示a,b,c的值,且从大到小排列.
反思与感悟 一个算法的作用往往并不显而易见,这需要我们结合具体数值去执行一下才知道.
跟踪训练2 下面给出了一个问题的算法:
S1 输入a.
S2 若a≥4,则执行第三步,否则执行第四步.
S3 输出2a-1.
S4 输出a2-2a+3.
这个算法解决的问题是________________________________________________________.
答案 求函数f(x)=当x=a时的函数值f(a)
题型三 算法的设计与应用

例3 有一个底面半径为3,母线为5的圆锥,写出求该圆锥体积的算法.
解 如图,先给r,l赋值,计算h,再根据圆锥体积公式V=πr2h计算V,然后输出结果.
S1 令r=3,l=5.
S2 计算h=.
S3 计算V=πr2h.
S4 输出运算结果.
反思与感悟 利用公式解决问题时,必须先求出公式中的各个量,在设计算法时,应优先考虑未知量的求法.
跟踪训练3 已知一个等边三角形的周长为a,求这个三角形的面积.设计一个算法解决这个问题.
解 S1 输入a的值.
S2 计算l=的值.
S3 计算S=×l2的值.
S4 输出S的值.

例4 已知函数f(x)=设计一个算法求函数的任一函数值.
解 S1 输入x=a.
S2 若a≥2,则执行第三步;若a<2,则执行第四步.
S3 输出f(a)=a2-a+1.
S4 输出f(a)=a+1.
反思与感悟 首先结合函数的表达式的特征,然后选择恰当的算法语言进行描述.
跟踪训练4 已知函数f(x)=|x-2|+1, 设计一个算法求函数的任一函数值.
解 S1 输入x=a.
S2 若a<2,则执行第三步,否则执行第四步.
S3 输出f(a)=3-a.
S4 输出f(a)=a-1.

例5 所谓正整数p为素数是指:p的所有约数只有1和p.例如,35不是素数,因为35的约数除了1,35外,还有5与7;29是素数,因为29的约数只有1和29.试设计一个能够判断一个任意正整数n(n>1)是否为素数的算法.
解 算法如下:
S1 给出任意一个正整数n(n>1).
S2 若n=2,则输出“2是素数”,判断结束.
S3 令m=1.
S4 m=m+1.
S5 如果m≥n,则输出“n是素数”,判断结束.
S6 判断m能否整除n,
①如果能整除,则输出“n不是素数”,判断结束;
②如果不能整除,则转第四步.
反思与感悟 设计一个具体问题的算法,通常按以下步骤:
(1)认真分析问题,找出解决该问题的一般数学方法.
(2)借助有关变量或参数对算法加以表述.
(3)将解决问题的过程划分为若干步骤.
(4)用简练的语言将这个步骤表示出来.
跟踪训练5 判断一个大于2的整数是否为质数的算法步骤如何设计?
解 S1 给定大于2的整数n.
S2 令i=2.
S3 用n除以i,得到余数r.
S4 判断“r=0”是否成立.若成立,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.
S5 判断“i>(n-1)”是否成立.若成立,则n是质数,结束算法;否则,返回第三步.

1.下列关于算法的说法正确的是(  )
A.一个算法的步骤是可逆的
B.描述算法可以有不同的方式
C.算法可以看成是按照要求设计好的、有限的、确切的计算序列,并且这样的步骤或序列只能解决当前问题
D.算法只能用一种方式显示
答案 B
解析 由算法的定义知A,C,D错.
2.计算下列各式中S的值,能设计算法求解的是(  )
①S=+++…+;
②S=+++…++…;
③S=+++…+(n≥1,n∈N+).
A.①② B.①③
C.②③ D.①②③
答案 B
解析 由算法的有限性知②不能设计算法求解,①③都能通过有限步输出确定结果.
3.已知直角三角形两直角边长为a,b,求斜边长c的一个算法分下列三步:
(1)计算c=;
(2)输入直角三角形两直角边长a,b的值;
(3)输出斜边长c的值.
其中正确的顺序是________.
答案 (2)(1)(3)
解析 算法的步骤是有先后顺序的,第一步是输入,最后一步是输出,中间的步骤是赋值、计算.
4.求过P(a1,b1),Q(a2,b2)两点的直线的斜率有如下的算法,请在横线上填出适当步骤.
S1 令x1=a1,y1=b1,x2=a2,y2=b2.
S2 判断“x1=x2”是否成立.若成立,则输出“斜率不存在”;否则,执行第三步.
S3 ________________________________________________________________________.
S4 输出k.
答案 计算斜率k=
解析 由题意可知,“第三步”应根据直线斜率公式计算斜率k的值.
5.写出解二元一次方程组的算法.
解 S1 ①+2×②得7x=1.③
S2 解③得x=.
S3 ②×3-①×2得7y=5.④
S4 解④得y=.
S5 得到方程组的解为
1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性.
2.算法设计的要求:
(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.
(2)要使算法尽量简单,步骤尽量少.
(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.
一、选择题
1.下列可以看成算法的是(  )
A.学习数学时,课前预习,课上认真听讲并记好笔记,课下先复习再做作业,之后做适当的练习题
B.今天餐厅的饭真好吃
C.这道数学题难做
D.方程2x2-x+1=0无实数根
答案 A
解析 A是学习数学的一个步骤,所以是算法.
2.下面是判断一元二次方程ax2+bx+c=0是否有实数根的算法步骤.对该算法步骤排序正确的是(  )
①输入一元二次方程的系数:a,b,c.
②计算Δ=b2-4ac的值.
③判断Δ≥0是否成立.若Δ≥0成立,则输出“方程有实数根”;否则输出“方程无实数根”,结束算法.
A.①②③B.②①③C.③①②D.②③①
答案 A
解析 根据该算法的构成,容易得到答案为A.
3.在用二分法求方程零点的算法中,下列说法正确的是(  )
A.这个算法可以求所有的零点
B.这个算法可以求任何方程的零点
C.这个算法能求所有零点的近似解
D.这个算法可以求变号零点的近似解
答案 D
解析 二分法的理论依据是函数的零点存在性定理.它解决的是求变号零点的问题,并不能求所有零点的近似值.
4.有蓝、黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,现有空墨水瓶若干,解决这一问题最少需要的步骤数为(  )
A.2B.3C.4D.5
答案 B
解析 S1 将蓝墨水装到一个空墨水瓶中;
S2 将黑墨水装到黑墨水瓶中;
S3 将蓝墨水装到蓝墨水瓶中,这样就解决了这个问题,故选B.
5.已知一个算法:
(1)给出三个数x、y、z;
(2)计算M=x+y+z;
(3)计算N=M;
(4)得出每次计算结果.
则上述算法是(  )
A.求和 B.求余数
C.求平均数 D.先求和再求平均数
答案 D
解析 由算法过程可知,M为三数之和,N为这三数的平均数,故选D.
6.下面是对高斯消去法的理解:
①它是解方程组的一种方法;
②它可以用来解多元一次方程组;
③用它来解方程组时,有些方程组的答案可能不准确.
其中正确的是(  )
A.①②B.③C.①③D.②③
答案 A
解析 只有①②符合题意.
7.下列各式中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不能用算法求解.
8.对于算法:
S1 输入n.
S2 判断n是否等于2,若n=2,则n满足条件;若n>2,则执行第三步.
S3 依次从2到(n-1)检验能不能被n整除,若不能被n整除,则执行第四步;若能整除n,则结束算法.
S4 输出n.
满足条件的n是(  )
A.质数B.奇数C.偶数D.约数
答案 A
解析 此题首先要理解质数,只能被1和自身整除的大于1的整数叫质数.2是最小的质数,这个算法通过对2到(n-1)一一验证,看是否有其他约数,来判断其是否为质数.
二、填空题
9.下面是解决一个问题的算法:
S1 输入x.
S2 若x≥6,转到S3;否则转到S4.
S3 输出3x-2.
S4 输出x2-2x+4.
当输入x的值为________时,输出的数值最小,且最小值为________.
答案 1 3
解析 所给算法解决的是求分段函数f(x)=的函数值的问题.当x≥6时,f(x)=3x-2≥3×6-2=16;当x<6时,f(x)=x2-2x+4=(x-1)2+3≥3.所以f(x)min=3,此时x=1,即当输入x的值为1时,输出的数值最小,且最小值是3.
10.一个算法的步骤如下:
S1 令i=0,S=2.
S2 如果i≤15,则执行S3,否则执行S6.
S3 计算S+i并将结果代替S.
S4 用i+2的值代替i.
S5 转去执行S2.
S6 输出S.
运行该算法输出的结果S=________.
答案 58
解析 据题意知,S=2+2+4+6+8+10+12+14=58.
11.下面给出了解决问题的算法:
S1 输入x.
S2 若x≤1,则y=2x-1,否则y=x2+3.
S3 输出y.
当输入的x值为________时,输入值与输出值相等.
答案 1
解析 该算法的作用是求分段函数y=的函数值.解得x=1;无解.
12.给出下列算法:
S1 输入x的值.
S2 当x>4时,计算y=x+2;否则执行下一步.
S3 计算y=.
S4 输出y.
当输入x=0时,输出y=________.
答案 2
解析 0<4,执行第三步,y==2.
三、解答题
13.某商场举办优惠促销活动.若购物金额在800元以上(不含800元),打7折;若购物金额在400元以上(不含400元),800元以下(含800元),打8折;否则,不打折.请为商场收银员设计一个算法,要求输入购物金额x,输出实际交款额y.
解 算法步骤如下:
S1 输入购物金额x(x>0).
S2 判断“x>800”是否成立,若成立,则y=0.7x,转第四步;否则,执行第三步.
S3 判断“400<x≤800”是否成立,若成立,则y=0.8x,转第四步;否则,y=x.
S4 输出y,结束算法.
四、探究与拓展
14.下面是求15和18的最小公倍数的算法,其中不恰当的一步是________.
S1 先将15分解素因数:15=3×5.
S2 然后将18分解素因数:18=32×2.
S3 确定它们的所有素因数:2,3,5.
S4 计算出它们的最小公倍数:2×3×5=30.
答案 第四步
解析 素因数2,3,5的最高指数分别是1,2,1,算出它们的最小公倍数为2×32×5=90.
15.如图所示,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移动到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面.把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是________.
答案 7
解析 直接进行分析,将最小的碟子命名为①,中间的碟子命名为②,最大的碟子命名为③,进行如下移动:①→A,②→C,①→C,③→A,①→B,②→A,①→A,此时按要求全部放好,移动7次.