人教版高二数学上册必修3《算法与程序框图》教案
教学目标
(1)了解算法的含义,体会算法思想.
(2)会用自然语言和数学语言描述简单具体问题的算法;
(3)学习有条理地、清晰地表达解决问题的步骤,培养逻辑思维能力与表达能力
教学重难点
重点:算法的含义、解二元一次方程组的算法设计.
难点:把自然语言转化为算法语言.
情境导入
电影《神枪手》中描述的凌靖是一个天生的狙击手,他百发百中,最难打的位置对他来说也是轻而易举,是香港警察狙击手队伍的第一神枪手.作为一名狙击手,要想成功地完成一次狙击任务,一般要按步骤完成以下几步:
第一步:观察、等待目标出现(用望远镜或瞄准镜);
第二步:瞄准目标;
第三步:计算(或估测)风速、距离、空气湿度、空气密度;
第四步:根据第三步的结果修正弹着点;
第五步:开枪;
第六步:迅速转移(或隐蔽).
以上这种完成狙击任务的方法、步骤在数学上我们叫算法.
●课堂探究
预习提升
1.定义:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题.
2.描述方式
自然语言、数学语言、形式语言(算法语言)、框图.
3.算法的要求
(1)写出的算法,必须能解决一类问题,且能重复使用;
(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果.
4.算法的特征
(1)有限性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.
(2)确定性:算法的计算规则及相应的计算步骤必须是唯一确定的.
(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.
(4)顺序性:算法从初始步骤开始,分为若干个明确的步骤,前一步是后一步的前提,后一步是前一步的后续,且除了最后一步外,每一个步骤只有一个确定的后续.
(5)不唯一性:解决同一问题的算法可以是不唯一的.
课堂典例讲练
命题方向1 对算法意义的理解
例1.下列叙述中,
①植树需要运苗、挖坑、栽苗、浇水这些步骤;
②按顺序进行下列运算:1+1=2,2+1=3,3+1=4,…99+1=100;
③从青岛乘动车到济南,再从济南乘飞机到伦敦观看奥运会开幕式;
④3x>x+1;
⑤求所有能被3整除的正数,即3,6,9,12,….
能称为算法的个数为( )
A.2 B.3 C.4 D.5
【解析】根据算法的含义和特征:①②③都是算法;④⑤不是算法.其中④,3x>x+1不是一个明确的步骤,不符合明确性;⑤的步骤是无穷的,与算法的有限性矛盾.
【答案】B
[规律总结]
1.正确理解算法的概念及其特点是解决问题的关键.
2.针对判断语句是否是算法的问题,要看它的步骤是否是明确的和有效的,而且能在有限步骤之内解决这一问题.
【变式训练】 下列对算法的理解不正确的是________
①一个算法应包含有限的步骤,而不能是无限的
②算法可以理解为由基本运算及规定的运算顺序构成的完整的解题步骤
③算法中的每一步都应当有效地执行,并得到确定的结果
④一个问题只能设计出一个算法
【解析】由算法的有限性指包含的步骤是有限的故①正确;
由算法的明确性是指每一步都是确定的故②正确;
由算法的每一步都是确定的,且每一步都应有确定的结果故③正确;
由对于同一个问题可以有不同的算法故④不正确.
【答案】④
命题方向2 解方程(组)的算法
例2.给出求解方程组的一个算法.
[思路分析]解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,再通过回代方程求出方程组的解)解线性方程组.
[规范解答]方法一:算法如下:
第一步,①×(-2)+②,得(-2+5)y=-14+11,
即方程组可化为
第二步,解方程③,可得y=-1, ④
第三步,将④代入①,可得2x-1=7,x=4,
第四步,输出4,-1.
方法二:算法如下:
第一步,由①式可以得到y=7-2x, ⑤
第二步,把y=7-2x代入②,得x=4.
第三步,把x=4代入⑤,得y=-1.
第四步,输出4,-1.
[规律总结]1.本题用了2种方法求解,对于问题的求解过程,我们既要强调对“通法、通解”的理解,又要强调对所学知识的灵活运用.
2.设计算法时,经常遇到解方程(组)的问题,一般是按照数学上解方程(组)的方法进行设计,但应注意全面考虑方程解的情况,即先确定方程(组)是否有解,有解时有几个解,然后根据求解步骤设计算法步骤.
【变式训练】
【解】 算法如下:S1,①+2×②得5x=1;③
S2,解③得x=;
S3,②-①×2得5y=3;④
S4,解④得y=;
命题方向3 筛选问题的算法设计
例3.设计一个算法,对任意3个整数a、b、c,求出其中的最小值.
[思路分析]比较a,b比较m与c―→最小数
[规范解答]算法步骤如下:
1.比较a与b的大小,若a
2.比较m与c的大小,若m
[规律总结]求最小(大)数就是从中筛选出最小(大)的一个,筛选过程中的每一步都是比较两个数的大小,保证了筛选的可行性,这种方法可以推广到从多个不同数中筛选出满足要求的一个.
【变式训练】在下列数字序列中,写出搜索89的算法:
21,3,0,9,15,72,89,91,93.
[解析]1.先找到序列中的第一个数m,m=21;
2.将m与89比较,是否相等,如果相等,则搜索到89;
3.如果m与89不相等,则往下执行;
4.继续将序列中的其他数赋给m,重复第2步,直到搜索到89.
命题方向4 非数值性问题的算法
例4.一个人带三只狼和三只羚羊过河,只有一条船,同船可以容一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量,狼就会吃掉羚羊.
(1)设计安全渡河的算法;
(2)思考每一步算法所遵循的共同原则是什么?
[解析](1)
1.人带两只狼过河;
2.人自己返回;
3.人带一只狼过河;
4.人自己返回;
5.人带两只羚羊过河;
6.人带两只狼返回;
7.人带一只羚羊过河;
8.人自己返回;
9.人带两只狼过河.
(2)在人运送动物过河的过程中,人离开岸边时必须保证每个岸边的羚羊的数目大于狼的数目.
[规律总结]1.对于非数值性的问题,在设计算法时,应当先建立过程模型,也就是找到解决问题的方案,再把它细化为一步连接一步组成的步骤.从而设计出算法.
2.首先应想到先运两只狼,这是唯一的首选步骤,只有这样才可避免狼吃羊,带过一只羊后,必须将狼带回来才行.
【变式训练】两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳,他们如何渡河?请写出你的渡河方案及算法.
[解析]因为一次只能渡过一个大人或两个小孩,而船还要回来渡其他人,所以只能让两个小孩先过河,渡河的方案算法为:
1.两个小孩同船渡过河去;
2.一个小孩划船回来;
3.一个大人独自划船渡过河去;
4.对岸的小孩划船回来;
5.两个小孩再同船渡过河去;
6.一个小孩划船回来;
7.余下的一个大人独自划船渡过河去;
8.对岸的小孩划船回来;
9.两个小孩再同船渡过河去.
课后习题
1.以下对算法的描述正确的个数是()
①对一类问题都有效;
②对个别问题有效;
③计算可以一步步地进行,每一步都有唯一的结果;
④是一种通法,只要按部就班地做,总能得到结果.
A.1个 B.2个 C.3个 D.4个
[答案]C
[解析]①③④正确,均符合算法的概念与要求,②不正确.
2.算法的有限性是指()
A.算法的最后必包含输出
B.算法中每个操作步骤都是可执行的
C.算法的步骤必须有限
D.以上说法均不正确
[答案]C
[解析]由算法的要求可知,应选C.
3.下列语句中是算法的个数是()
①从广州到北京旅游,先坐火车,再坐飞机抵达;
②解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;
③方程x2-1=0有两个实根;
④求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果10.
A.1个 B.2个
C.3个 D.4个
[答案]C
[分析]解答本题可先正确理解算法的概念及其特点,然后逐一验证每个语句是否正确.
[解析]①中说明了从广州到北京的行程安排,完成任务;②中给出了一元一次方程这一类问题的解决方法;④中给出了求1+2+3+4的一个过程,最终得出结果.对于③,并没有说明如何去算,故①②④是算法,③不是算法.
4.设计一个算法求方程5x+2y=22的正整数解,其最后输出的结果应为________.
[答案](2,6),(4,1)
[解析]因为求方程的正整数解,所以应将x从1开始输入,直到方程成立.
x=2时,y==6;
5.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99. 求它的总分和平均成绩的一个算法为:
1.取A=89,B=96,C=99;
2.____①____;
3.____②____;
4.输出D,E.
[解析]求总分需将三个数相加,求平均分,另需让总分除以3即可.
x=4时,y==1.
[答案]①计算总分D=A+B+C ②计算平均成绩E=