算法的概念教案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法的概念教案
一.内容和内容解析
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常能够编成计算机程序,让计算机执行并解决问题.
算法概念这个节,立足于用自然语言描述解决问题过程中的明确顺序,是实现用程序框图、程序语言的表示方式的基础.
算法的思想方法几乎贯穿整个高中数学课程的所有章节,如解三角形、数学归纳法、数学建模等.本节的内容能为以后学习程序框图、基本算法语句以及选修1-2第四章“框图”内容奠定基础.
算法是连接人和计算机的纽带,是计算机科学的基础,利用计算机解决问题需要算法.首先研究解决问题的算法的自然语言表达,再把算法转化为程序,所以本节课学习用自然语言实行算法设计是使用计算机解决具体问题的一个极为重要的环节.
二.目标和目标解析
本节课通过对具体问题的解决过程与步骤的分析,让学生体会算法的思想,了解算法的含义.具体目标为:
1.要求学生了解算法的含义,体会算法的思想.
2.在分析实例的基础上了解算法的基本特征.
3.能够用自然语言描述一些具体问题的算法.
本节课教学重点通过实例让学生体会算法思想,会用自然语言表达一些具体问题的算法.
三.教学过程设计
(一)问题情境,引出算法概念
问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.
师生活动:教师能够引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法.
第一步,农夫带羊过河.
第二步,农夫独自回来.
第三步,农夫带狼过河.
第四步,农夫带羊回来.
第五步,农夫带蔬菜过河.
第六步,农夫独自回来.
第七步,农夫带羊过河.
当然,也有可能学生提出第二套过河方案.
第一步,农夫带羊过河.
第二步, 农夫独自回来.
第三步,农夫带蔬菜过河.
第四步,农夫带羊回来.
第五步,农夫带狼过河.
第六步,农夫独自回来.
第七步,农夫带羊过河.
在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础上整理出一个解决问题的步骤即可.
(二)解决问题,建立算法概念
问题1:你能写出求解二元一次方程组: 35(1)2494(2)x y x y +=⎧⎨+=⎩
的步骤吗?
师生活动:教师先提出问题,让学生对求解过程一步步表达出来.
解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲. 教师只要和学生共同整理出一个解方程的步骤即可.
教师在学生回答的基础上指出:
1.以上求解的步骤就是解二元一次方程组的算法.
2.本题的算法也适合一般的二元一次方程组的解法.
问题2:写出求方程组()1111221222(1)0(2)a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩的解的步骤.
师生活动:教师在提出问题后,能够让学生来说出其解题步骤.
第一步,21(1)(2)b b ⨯-⨯,得12212112
()(3)a b a b x b c b c -=-. 第二步,解(3),得21121221
b c b c x a b a b -=-. 第三步,12(2)(1)a a ⨯-⨯得12211221
()(4)a b a b y a c a c -=-. 第四步,解(4),得12211221
a c a c y a
b a b -=-. 第五步,得到方程组的解为:2112122112
211221b c b c x a b a b a c a c y a b a b -⎧=⎪-⎪⎨-⎪=⎪-⎩
. 在完成求解一般的二元一次方程组步骤的基础上教师指出:
1.本题的步骤就是求一般的二元一次方程组的解的算法.
2.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.
(三)分析归纳,得到算法概念
问题3:到底什么是算法?如何表达算法的含义?
师生活动:教师在提出问题后,能够先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师实行归纳协助学生建立算法的概念.
教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常能够编成计算机程序,让计算机执行并解决问题.
教师能够通过从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,协助学生进一步领会算法的思想.
例1.写出交换两个大小相同的杯子中的液体 (A 水、B 酒) 的一个算法.
例2.写出求一元二次方程2
0(0)ax bx c a ++=≠根的一个算法.
(四)算法的应用
问题1设计一个算法,判断7是否为质数.
师生活动:教师引导学生回忆质数的概念,提出如下一系列问题协助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计.
1.什么是质数?
2.如何判断一个数是不是质数?
3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、加工过程?
在学生回答这个问题的基础上,教师接着提出问题:
4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法.
5.能否设计一个算法,判断35是不是质数?
6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同?
7.任意给定一个大于2的整数n ,能否设计一个算法对n 是否为质数做出判断? 这时候学生知道要判断一个大于2的整数n 是否为质数,只要根据质数的定义,用比这个整数小的数去除n ,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.
有了前面的基础,这里学生多数可能回答用2~(n-1)去除n ,于是将判断的过程表达出来就形成了解决问题的这样一个算法:
第一步,给定大于2的整数n.
第二步,用2去除n ,得到余数t.若t=0,则2能够整除n, n 不是质数,算法结束;否则,
进入第三步.
第三步,用3去除n ,得到余数t.若t=0,则3能够整除n, n 不是质数,算法结束;否则,
进入第四步.
……
第(n-1)步,用(n-1)去除n ,得到余数t.若t=0,则(n-1)能够整除n, n 不是质数,
算法结束;否则, n 是质数.
教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里
从2~(n-1)都在重复同一件事,像这种情况在设计算法时经常遇到,然后教会学生用递归语言实行表达.