课题:§1.1.1算法的概念
教学目标:
知识目标:
⑴使学生理解算法的概念。
⑵掌握简单问题算法的表述。
⑶初步了解高斯消去法的思想.
⑷了解利用scilab求二元一次方程组解的方法。
能力目标:
①逻辑思维能力:通过分析、抽象、程序化高斯消去法的过程,体会算法的思想,发展有条理地清晰地思维的能力,提高学生的算法素养。
②创新
能力:通过分析高斯消去法的过程,发展对具体问题的过程与步骤的分析能力,发展从具体问题中提炼算法思想的能力。
情感目标:
通过体验算法表述的过程,培养学生的创新意
( http: / / www.21cnjy.com )识和逻辑思维能力;通过应用数学软件解决问题,感受算法思想的重要性,感受现代信息技术的威力,提高学生的学习兴趣。
重点与难点
重
点:算法的概念和算法的合理表述。
难
点:算法的合理表述、高斯消去法.。
三、教学方法与手段:
采用“问题探究式”教学法,以多媒体为辅助手段,让学生主动发现问题、分析问题、解决问题,培养学生的探究论证、逻辑思维能力。
教学过程:
教学环节
教学内容
师生互动
设计意图
复习引入
要把大象装入冰箱分几步?第一步
把冰箱打开。第二步
把大象放进冰箱。第三步
把冰箱门关上。指出在家中烧开水的过程分几步?
略如何求一元二次方程的解?解:第一步
计算第二步
如果
如果方程无解第三步
输出方程的根或无解的信息注意:以上三例的求解过程中,老师紧扣算法的定义,带领学生总结。反复强调,使学生体会到以下几点:强调步骤的顺序性,逻辑性,打乱顺序,就不能完成任务。强调步骤的完整性,不可分割。强调步骤的有限性。强调每步的结果的确切性(明确的结果)。强调步骤的通用性,任何人只要按照该步骤执行即可完成任务。
由学生回答,老师书写,分清步骤,步步诱导,为引入算法概念做准备。
用学生熟悉的问题来引入算法的概念,降低新课的入门难度,有利于学生正确理解算法的概念。
2、算法是如何定义?
2、打开课本引领学生共同分析算法的定义。
培养学生体会发现、抽象、总结的能力。
概念深化
1、算法的定义:算法可以理解为有基本运算及规定的运算顺序所
( http: / / www.21cnjy.com )构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。分析句子成分,强调指出:(1)
算法理解为解题步骤;或者看成计算序列。问学生并让学生齐声回答:是什么的样的步骤和计算序列?算法的目的:是什么?解决一类问题。(2)反问我们要解决解决一类问题,我们可以抽象出其解题步骤或计算序列,他们有什么样的要求?
提示学生注意其中的关键词:规定的运算顺序、完整的、解题步骤;设计好的、有限的、确切的、计算序列;解决一类问题。
深化对定义的理解。
教学环节
内容
师生互动
设计意图
例题精选
例1一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少只小兔多少只鸡?算法1:解
:S1
首先计算没有小兔时,小鸡的数为:17只,腿的总数为34条。S2
再确定每多一只小兔、减少一只小鸡增加的腿数2条。
S3
再根据缺的腿的条数确定小兔的数量:
(48-34)/2=7只S4
最后确定小鸡的数量:17-7=10只.算法2:S1
首先设x只小鸡,y只小兔。S2
再列方程组为:
S3
解方程组得:S4
指出小鸡10只,小兔7只。
本题讲解紧扣算法的定义,层层诱导,提示学生如何设计步骤,可以先由学生提出,师生共同总结。最后提示学生,一个问题算法可能不止一个。
深化对算法概念的
理解,使学生体会到算法并不是高渗莫测的东西,实际上是我们从前解题步骤的总结。
例2写出一个求有限整数序列中的最大值的算法。分析:你可能觉得,求一个整数序列的最大值是一个很
( http: / / www.21cnjy.com )简单的事。的确从10个、8个整数中找出最大值,你一眼就可以看得出来。可是要从一百万个年龄序列表中找出年龄最大的一个,要是没有算法,可就是一件很困难的事了。可计算机利用软件瞬间就可以找出最大值,计算机要靠软件(程序)支持,编写程序要依赖算法,因此我们要编写出合理的、高效的算法就非常必要了。
请大家思考:如何写出这个问题的一个算法呢?算法1:S1
先假定序列中的第一个数为"最大值"。S2
将序列的第二个整数值与"最大值"比较,如果第二个整数大于"最大值",这时就假定这个数为"最大值"。S3
将序列的第三个整数值与"最大值"比较,如果第三个整数大于"最大值",这时就假定这个数为"最大值"。S4
将序列的第四个整数值与"最大值"比较,如果第四个整数大于"最大值",这时就假定这个数为"最大值”依此类推Sn
将序列的第n个整数值与"最大值"比较,如果第n个整数大于"最大值",这时就假定这这个数为"最大值"。Sn+1
直到序列中没有可比的数为止,"最大值"就是序列的最大值。
带领学生分析题目,找出算法。让学生观察算法1,思考如何简化算法?
使学生体会到学习算法的意义和必要性。使学生体会顺序结构的简单直观,但有时却很繁琐的特点。促使学生产生改进方法的欲望。
教学环节
内容
师生互动
设计意图
例题精讲
算法2S1
先假定序列中的第一个数为"最大值"。S2
将序列中的下一个整数值与"最大值"比较,如果大于"最大值",这时就假定这个数为"最大值"。S3
如果序列中还有其它整数,重复S2。S4
直到序列中没有可比的数为止,这时假定的"最大值"就是序列的最大值。
让学生体会到算法的特点是:“机械的、呆板的、可以按部就班执行”。
使学生体会到算法优化的意义。指出算法要设计合理,运行要高效。
例2举例:写出一个求整数a、b、c最大值的算法解:S1
max=a。S2
如果b>max,则max=b。S3
如果c>max,则max=c。S4
max就是a、b、c的最大值。
由学生分析写出,老师指导、讲评。可能有些学生不能完全、清晰地理解其全部的过程,老师可以让a、b、c分别取:1、2、33、2、1、3、1、2等数据,让学生体会算法的运行过程。
加深对上述算法的理解。
例3、写出解二元一次方程组的一个算法:解:算法1
:S1
假定a110,①
②,得到:
分析:本例是把实际问题解决抽象成二元一次方程组的求解问题,求解二元一次方程组有两种算法:
教学环节
内容
师生互动
设计意图
例题精讲
原方程组化为:S2
如果,输出方程组无解或有无数组解如果,解(4)得S3
将(5)代入(3),整理得:S4
输出结果x1,x2、方程组无解或有无数组解算法2
:S1计算D=S2
若D=0
输出方程组无解或有无数组解,否则(D)时S3输出结果x1,x2、方程组无解或有无数组解。
⑴首先讲清高斯消去法的思路。⑵把高斯消去法用算法表述出来。⑶提使学生分析解题的关键所在,再用公式法表示出来。
从二元一次方程组的算法知:求解某个问题的算法不是唯一的。
加深对算法的非唯一性的理解。同时还提醒学生算法并非越复杂越好,而恰恰相反,越简洁、高效越好。让学上体会到算法可以不用展现详细的解体过程,只要最后结果就行。
例4见课本P6例3展示本题的解体过程。A=[3,-2;1,1];B=[14;-2];linsolve(A,-B)ans
=!
2.
!!
-
4.
!
老师输入数据,并讲述个数据的来源,强调输入的规范性。
让学生体会计算机解题的便捷性。激发学生的学习兴趣
教学环节
内容
师生互动
设计意图
练习
课本P7练习A
1、2、4题课本P8练习B
4、5题
巩固所学知识
小结(师生共同总结)
1、算法的定义:算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。2、算法的五大特征:⑴逻辑性:
算法应具有正
( http: / / www.21cnjy.com )确性和顺序性。算法从初始步骤开始,分为若干明确的步骤,前一步是后一步的基础,只有执行完前一步才能进行下一步,并且每一步都有确切的含义,组成了具有很强的逻辑性的序列。⑵概括性:
算法必须能解决一类问题,并且能重复使用。⑶有限性:
一个算法必须保证执行有限步后结束⑷非唯一性:求解某个问题的算法不一定是唯一的,对于一个问题可以有不同的算法。⑸普遍性:
许多的问题可以设计合理的算法去解决。如:如用二分法求方程的近似零点,求几何体的体积等等。3、算法的表述形式:⑴用日常语言和数学语言或借助于形式语言(算法语言)各处精确的说明。⑵程序框图(简称框图)。⑶程序语言。
作业
课本P8练习B
1、2题