第一章 算法初步 教案

合集下载

高中数学《算法初步》教案新人教A版必修

高中数学《算法初步》教案新人教A版必修

高中数学《算法初步》教案新人教A版必修章节一:算法概念及程序框图1. 教学目标:a. 理解算法的概念,体会算法在数学及日常生活中的应用。

b. 熟悉程序框图的基本组成部分,能够运用程序框图描述简单的算法。

2. 教学内容:a. 算法的定义及特性。

b. 程序框图的组成部分:顺序结构、条件结构、循环结构。

3. 教学重点与难点:a. 算法的概念理解。

b. 程序框图的绘制及应用。

4. 教学方法:a. 案例分析法:通过具体案例让学生理解算法概念。

b. 实践操作法:学生动手绘制程序框图,加深对算法理解。

5. 教学过程:a. 引入:通过日常生活中的算法案例,引导学生思考算法的概念。

b. 讲解:详细讲解算法的定义、特点及程序框图的组成部分。

c. 实践:学生动手绘制程序框图,教师巡回指导。

d. 总结:强调算法在实际问题中的应用价值。

章节二:顺序结构算法1. 教学目标:b. 能够运用顺序结构算法解决实际问题。

2. 教学内容:a. 顺序结构的定义及特点。

b. 顺序结构算法在实际问题中的应用。

3. 教学重点与难点:a. 顺序结构算法的理解。

b. 顺序结构算法在实际问题中的应用。

4. 教学方法:a. 案例分析法:通过具体案例让学生理解顺序结构算法。

b. 实践操作法:学生动手编写顺序结构算法,解决问题。

5. 教学过程:a. 引入:通过日常生活中的顺序结构算法案例,引导学生思考顺序结构的特点。

b. 讲解:详细讲解顺序结构的定义、特点及应用。

c. 实践:学生动手编写顺序结构算法,解决问题,教师巡回指导。

d. 总结:强调顺序结构算法在实际问题中的应用价值。

章节三:条件结构算法1. 教学目标:a. 理解条件结构的算法特点。

b. 能够运用条件结构算法解决实际问题。

2. 教学内容:b. 条件结构算法在实际问题中的应用。

3. 教学重点与难点:a. 条件结构算法的理解。

b. 条件结构算法在实际问题中的应用。

4. 教学方法:a. 案例分析法:通过具体案例让学生理解条件结构算法。

高中数学苏教版第一章算法初步 教学设计第1章算法初步算法案例3

高中数学苏教版第一章算法初步 教学设计第1章算法初步算法案例3

算法案例(3)教学目标:1.了解这种方法是求方程近似解的一般方法,能利用计算器求精确到0.01的实数解.2.理解二分法求方程近似解的算法,进一步理解函数与方程的关系.3. 能根据算法语句与程序框图的知识设计完整的二分法求方程近似解的流程图并写出其伪代码.4.培养学生利用计算工具的能力.教学重点:1.利用二分法求给定精确度的方法近似解.2.能写出二分法求方程近似解的流程图和伪代码.教学难点:1.利用二分法求方程的近似解.2.二分法求方程近似解的流程图和伪代码.教学方法:1.通过模仿二分法求方程近似解,体会古人计算构思的巧妙.2.通过二分法求方程近似解的方法与步骤,了解数学计算转换为计算机计算的途径,从而探究计算计算法与数学算法的区别,体会计算机对数学学习的辅助作用.教学过程:一、问题情境在前面一节课中,我们已经学习了一些简单的算法,如不定方程的解、欧几里得辗转相除法求两个正整数的最大公约数等问题,对算法已经有了较为深刻的了解,下面,我们还将通过一个具体的算法案例,继续体会算法的思想.这就是我们本节课所要研究的问题—二分法求方程近似解.二、学生活动写出用区间二分法求解方程310x x --=在区间[1,1.5]内的一个近似解(误差不超过0.001)的一个算法.(1)算法设计思想:如图,如果估计出方程()0f x =在某区间[,]a b 内有一个根*x ,就能用二分法搜索求得符合误差限制c 的近似解.(2)算法步骤可以表示为:1S 取[,]a b 的中点20b a x +=,将区间一分为二;2S 若0()0f x =,则0x 就是方程的根,否则判断根*x 在0x 的左侧还是右侧;若0()()0f a f x >,则*0(,)x x b ∈,以0x 代替a ;若0()()0f a f x <,则*0(,)x a x ∈,以0x 代替b ;3S 若||a b c -<,计算终止,此时*0x x ≈,否则转1S .三、建构教学伪代码1:R ea d a ,b ,c02abx +←While ||a b c -≥ And 30010x x --≠If 3(1)a a --⨯300(1)x x --<0 Then0b x ←Else0a x ←End If02a bx +←End WhilePrint 0x伪代码2:Read ,,a b c 结束 开始0()2a b x +← 3()1f a a a ←--3000()1f x x x ←--If 0()0f x = ThenGoTo 120If 0()()0f a f x < Then0b x ←Else0a x ←End IfIf ||a b c -≥ ThenGoTo 20Print 0x二分搜索的过程是一个多次重复的过程,故可以用循环结构来处理(代码1),课本解法是采用GoT o 语句实现的(代码2).四、要点归纳与方法小结本节课学习了以下内容:1.二分法的算法和用伪代码表示该算法;2.GoT o 语句的使用;3.解决实际问题的过程:分析-画流程图-写伪代码.。

高中数学 第1章 算法初步 1.1 算法的含义教案 苏教版必修3

高中数学 第1章 算法初步 1.1 算法的含义教案 苏教版必修3

第1章算法初步本章概述一、课标要求从数学发展的历史来看,算法并不是一个全新的概念,比如,在西方数学中很早就有了欧几里得算法,而中国古代数学中蕴含着更为丰富的算法内容和思想,割圆术、秦九韶算法等等都是很经典的算法.算法是高中数学课程中的新内容,算法的思想是非常重要的.当今人们把科学计算、实验和理论并列为三大科学研究方法,即人类认识世界的三大手段.算法是科学计算的重要基础,是计算机理论和技术的核心,计算机能有如此广泛而神奇的应用,除了芯片之外,主要是靠软件,而软件的核心是算法.计算机科学中的知识创新,主要就是算法的创新.算法思想已逐渐成为每个现代人应具有的数学素养.算法的一个特点是,人们可以利用较少的数学知识,不一定要去发现公式(或许根本就没有公式),也可以设计出正确的方法去解决问题.掌握算法的思想,能使学生开阔眼界,活跃思想,从中学数学教学的传统的讲授解题思路中解放出来,增加解决问题的途径,增强创新能力,可以改变中学生对数学固有的传统的认识,深化他们对数学意义的理解,增强应用数学的意识.算法在高中阶段有很高的教育价值,算法内容的教育价值主要体现在以下几个方面:1.有利于培养学生的思维能力算法一方面具有具体化、程序化、机械化的特点,同时又有抽象性、概括性和精确性.对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败,算法是思维的条理化、逻辑化,算法所体现出来的逻辑化特点被有些学者看成是逻辑学继形式逻辑和数理逻辑之后发展的第三个阶段.因此,培养逻辑思维能力,不仅可以通过几何论证、代数运算等手段来进行,还可以通过算法设计的学习来达到.2.有利于培养学生理性思维和实践能力算法既重视“算则”,更重视“算理”,对于算法而言,一步一步的程序化步骤,即“算则”固然重要,但这些步骤的依据,即“算理”有着更基本的作用.“算理”是“算则”的基础,“算则”是“算理”的表现.算法思想可以贯穿于整个中学数学内容之中,有很丰富的层次递进的素材,而在算法的具体实现上又可以和信息技术相联系,因而,算法有利于培养学生理性思维和实践能力,是实施探究性学习的良好素材.3.有利于学生理解构造性数学算法是一般意义上解决问题策略的具体化,即有限递归构造和有限非递归构造,这两点也恰恰构成了算法的核心.构造性地解决数学问题不仅是重要的解决数学问题的方法,在数学哲学上也有着重要的意义.构造性数学是一个重要的数学哲学学派,他们只承认构造出来的数学.这种观念有其特定的真理性,当然因为排斥了许多无限推理的数学,也具有局限性.4.算法内容反映了时代的特点,同时也是中国数学课程内容的新特色.二、本章编写意图与教学建议1.在初步感受算法思想的基础上,通过具体实例的分析,体会算法的思想,了解算法的含义;2.体验流程图在解决问题中的作用,理解流程图的三种基本逻辑结构:顺序结构、选择结构和循环结构,能用这三种基本结构设计简单的算法流程图;3.会用伪代码表述四种基本算法语句:输入输出语句、赋值语句、条件语句和循环语句,会用上述基本语句描述简单问题的算法过程;4.通过对算法案例的学习,加深对算法的理解,体会算法的基本思想以及算法的重要性和有效性;5.初步形成“算法思维”,理解构造性数学的意义,发展有条理的思考与表达能力,提高逻辑思维能力,培养学生的理性精神和实践能力;6.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献.与传统教学内容相比,“算法初步”为新增内容.因此,本章的编写突出了以学生熟悉的实例为背景,通过具体问题的分析、归纳,再概括出算法的含义、算法的基本结构和算法的基本语句,旨在提高学生的学习兴趣,降低学习难度.本章设计注意了以下四个方面:1.螺旋上升、渐次递进:问题的算法分析和算法语言的描述是算法的核心,本章在描述算法时,依次采用这种螺旋上升、渐次递进的方式展开,层次清楚,梯度合理,符合学生的认知规律,也便于组织教学.2.整合渗透、前引后连:以学生熟悉的实例作为素材,或引入或铺垫或示例,温故知新,降低学习难度,设置一定的坡度,将学习重点放在算法语言的描述上,避免在问题解决的枝节上浪费时间和精力,在有意识地将学生所学知识加以整合的同时,也注意了为后续内容的学习做必要的渗透和准备.3.“三线”合一、横向贯通:本章是贯穿数学探究、数学建模、数学文化的极好素材,第4节“算法案例”是将这三条主线合一的有效尝试.4.弹性处理、多样选择:本章内容涉及面广,难概其全.为突出主干内容,有些材料作为“拓展”(当型循环流程图),有的作为“链接”(Excel VBA),有的作为“阅读”(二进制·计算机).“算法案例”中提供的Excel VBA程序作为选用内容,可酌情选用.算法的教学包括两个方面:一是在本章中,相对集中地介绍算法的基本思想、基本结构、基本语句等;二是把算法思想渗透在其他相关教学内容之中.前者侧重方法,后者偏重思想,实际教学时应两者兼济.本章由“算法的含义”、“流程图”、“基本算法语句”和“算法案例”四个部分组成,其中“流程图”是本章的基础,也是本章的重点内容,学习“流程图”可以进一步加深对算法思想的理解,提高条理化、逻辑化的水平,同时也为实现算法向伪代码(“基本算法语句”)过渡作好铺垫与准备.正确理解和区分两种循环结构[当型(while型)和直到型(until型)]是本章的教学难点,教材为了降低难度,在“流程图”中只介绍了直到型循环,当型循环作为阅读材料让学生先有所了解,因此在后续内容“1.3.4循环语句”的教学中,要结合实例适时地对当型循环作必要的讲解.“算法案例”中的问题涉及的知识点较多,教师在教学之前可适当补充相关的知识.这部分提供的Excel VBA程序可视情况灵活选用,不必强求.中国古代数学以算法为主要特征,取得了举世公认的伟大成就.现代信息技术的发展使算法焕发了前所未有的生机和活力,算法进入中学数学课程,既反映了时代的要求,也是中国古代数学思想在一个新的层次上的复兴,毫无疑问,也就成为中国数学课程的一个新的特色.我国数学家吴文俊在继承中国传统数学的算法特征的基础上,创造性地发展了机器证明,于2000年获得国家科学最高奖,这是我国传统特色与信息技术创造性结合的典范.随着现代信息技术的飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,算法的基本知识、方法、思想日益融入社会生活的许多方面,已经成为现代人必须具备的一种基本素质.本章内容反映了时代的特点,也是高中数学课程新增加的内容之一.三、教学内容及课时安排建议本章教学时间约13课时:1.1算法的含义1课时1.2流程图4课时1.3基本算法语句4课时1.4算法案例3课时本章复习1课时1.1 算法的含义整体设计教材分析简单地说,算法是完成某项工作的一系列步骤.现代意义上的算法通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的、有效的,而且能够在有限步内完成.一般而言,对一类问题的机械的、统一的求解方法称为算法.这种描述不是算法的严格的定义,但是反映了算法的基本思想,即程序化思想.算法的概念源于数学,比如数学中常用的配方法、换元法、待定系数法等都是解决某一类问题的特定方法,它们的特点是对于某一类特定的问题都有效,都有固定的、机械的步骤,每一步都能得到唯一的结果,只要严格按照步骤进行,就一定可以解决问题,但是不要认为只有数学的问题或者计算的问题才有算法,例如课本上所说要发一封电子邮件,需要六个步骤,这些步骤从广义上说,也可以称为发送电子邮件的一个算法.计算机解决任何问题都要依赖于算法,并用计算机能够接受的语言准确地描述出来,计算机才能够执行并解决问题.描述算法可以用不同的方式,常用的有自然语言、流程图、程序设计语言、伪代码等.算法的概念和我们日常生活中遇到的许多概念有类似的地方,但是也有所不同.譬如菜谱,菜谱总是符合有限性的(做任何一道菜总是在有限步内完成的,所花费的总时间也总是有限的).其次可行性也是菜谱所具有的(做菜的步骤必须是厨师力所能及的).输入就是做菜的原料(如西红柿、鸡蛋、糖、盐、味精、料酒等),输出就是做好了的菜(如西红柿炒鸡蛋).但是对于确定性,菜谱就不那么令人满意了,例如“加少许盐”,“盐”是已经明确了的,但是“少许”该是多少呢?在算法中,“少许”这样模糊的词是不允许的.当然我们可以把这个步骤改为“加3克盐”,这样就符合了算法的要求.在实际问题和算法理论中,找出一个好的算法是一项重要的工作,但是,对于“好”就没有严格的定义.算法就其本质来讲,就是一种解决问题的方法,只不过更具有程序化罢了.一个好的算法首先必须是正确的,不能有语法错误,必须让计算机能够识别,输入数据必须合法;其次,好的算法应该是我们容易想到的,应该思路清晰,这样就可以让更多的人掌握,因此我们编写的算法要具有可读性,格式要工整规范,思路要清晰准确;此外,我们做事还必须考虑效率问题,花费时间和占用空间少的算法会更好.在教学过程中,老师可以通过实例让学生感知算法的特性,引导学生自我体验,最终让学生尝试编写一些简单问题的算法.三维目标1.通过实例、模仿与操作,使学生初步了解算法的含义和特性.2.能说明解决简单问题的算法步骤,对所给问题设计相应的算法,体会算法的思想,达到发展有条理的清晰的思维能力,提高学生的思维品质的目标.重点难点教学重点:算法的概念.教学难点:算法的理解及设计.课时安排1课时教学过程导入新课设计思路一:(情境导入)播放录像(CCTV-2《幸运52》片断)主持人李咏:……规则:30秒内猜出这件商品的价格,价格不超过4 000元……计时开始!(礼仪小姐给现场观众展示价格:1 678元)幸运观众:2 000.主持人:高了!观众:1 000.主持人:低了!观众:1 800.主持人:高了!观众:1 300.主持人:低了!观众:1 400.主持人:低了!观众:1 700.主持人:高了!…………观众:1 670.(剩余时间5秒)主持人:低了!观众:1 671.主持人:低了!观众:1 672.主持人:低了!观众:1 673.(剩余时间3秒,现场观众和学生都高呼:“快!跳过去啊!”)主持人:低了!观众:1 674.(学生替他着急)主持人:低了!观众:1675.(学生:“快!”)主持人:低了!观众:1 676.主持人:时间到!(学生叹息!)他为什么游戏失败?学生:他一元一元往上加,太慢了,应该幅度大一点.如果他每次猜的价钱都是前面最近的一次“高了”的价钱和“低了”的价钱的中点,那么奖品就非他莫属了.可以发现,这位同学所提供的方法是多次重复同一种操作:第一步:报“2 000元”;第二步:若主持人说“高”了(说明价格在0~2 000之间),就报“1 000”,否则(价格在2 000到4 000之间)报“3 000”;第三步:重复第二步的报数方法,直到得到正确的结果.现实生活中有许多类似这样的例子,我们都是在按一定的程序进行了一系列机械的操作来完成一件事.如果你的爷爷也想体验一下现代科学技术,想给多年未见的老朋友发一封电子邮件,但是他不知道怎么发送,现在你打电话教一教你的爷爷,你该如何教?第一步:上网打开电子邮箱;第二步:点击“写邮件”;第三步:输入发送地址;第四步:输入主题;第五步:输入信件内容;第六步: 点击“发送邮件”.你的爷爷只要按照你教的方法,就一定会成功地向老朋友发出问候.发送电子邮件也是按照一定的程序进行了一系列机械的操作来完成的.像上面两个例子,都蕴含了算法的思想,这节课我们就来体验一下算法.设计思路二:(问题导入)做任何一件事情都要预先计划一下,把做这件事情的步骤设计好,然后按照设计好的步骤一步一步地按部就班地解决,不然遇到问题就手忙脚乱,导致事情不能很好地解决.当你从学校回到家里的时候,觉得自己口渴了想喝茶,一看热水瓶是空的,茶具还没有洗干净,现在你准备怎样安排,使得自己能够尽快喝上热茶?现在有这样两个方案:方案一:第一步烧水;第二步水烧开后洗刷茶具;第三步沏茶.方案二:第一步烧水;第二步水烧过程中洗刷茶具;第三步水烧开后沏茶.请问这两个方案哪个更好?很明显,方案二更好,因为这个方案比方案一节省时间,效率更高,能够更快地喝上热茶.对于日常生活中的问题是这样,对于数学问题更加要考虑方法的优劣.同学们一定遇到过很多数学问题,按照不同的方法,解题速度和准确度完全不同,甚至有的方法看似可以解决问题,实际操作的时候却解不下去.我们对一类问题加以总结,得到一个可以按部就班解决问题的一系列步骤,以后按照这个步骤一步一步地操作,就能把这个问题解决.在现代科技的条件下,我们还可以把这个步骤输入计算机,这样计算机就能够自动解决了.其实这样的一系列步骤就是解决这个问题的一个算法.(引入新课,板书课题——算法的含义)推进新课新知探究如果给出直线l 的一般式方程2x+3y -6=0,那么如何求l 与y 轴的交点?第一步 把x=0代入直线2x+3y -6=0,得y=2;第二步 得直线l 与y 轴的交点为P(2,0).这个方法是否具有普遍性?上面的步骤能否推广到一般情形?假如上面的直线变为Ax+By+C=0,要求不变,这该按照什么步骤来解决?第一步 把x=0代入直线Ax+By+C=0,得y=-B C ; 第二步 得直线l 与y 轴的交点为P(-BC ,0). 通过以上例子,我们可以总结得出如下概念:对于一项任务,按照事先设计好的步骤,一步一步地执行,并在有限步内完成任务,则这些步骤称为完成该任务的一个算法.前面我们讨论的猜商品的价格、发送电子邮件、烧水泡茶的例子中,都设计了一个算法,所以算法不一定非得是数学问题,任何一件或者一类任务,都可以有一个算法.如果我们得到了一个问题的一个算法,那么只要按照这个算法,就一定可以一步一步按部就班地解决问题,甚至还可以让计算机代替人来完成这一系列机械的步骤,当然我们还必须使用计算机能够识别的语言先把算法变成程序输入计算机才行.但是尽管计算机不知疲倦,我们还是不能让它无休止地运算下去,还必须让计算机在运行一段时间后停止下来,最终能够完成这项工作,并且我们让计算机操作的每一个步骤都必须能让机器明确要它干什么,还要让机器能够操作,这样计算机才会代替人完成这些重复劳动,否则,计算机也无法工作.因此算法应该具有以下重要特性:1.有限性:一个算法总是在执行有限步之后结束,且每一步都必须在有限的时间内完成.2.确定性:算法中的每一条指令必须有确切的含义,读者或者计算机理解时不会产生歧义,即算法的步骤中不能含有模糊不清、容易让人误解的叙述.3.可行性:算法中的每一个步骤都必须是能够实现的,例如不允许出现分母为零的情形.另外,算法执行的结果是能够达到预期的目的的.一般地,算法还必须要有输入和输出这两个步骤,没有输出结果的算法是没有意义的. 此外,算法还应该具有通用性,即算法应适用于某一类问题中的所有个体,而不是只能用来解决一个特定的具体问题.应用示例思路1例1 给出1+2+3+4+5的一个算法.分析:这里一共就5个数相加,所以可以逐个相加.当然也可以利用等差数列求和公式S n =1+2+3+…+n=2)1( n n 来设计算法. 算法1:第一步 计算1+2,得到3;第二步 将第一步中的运算结果3与第三个数3相加,得到6;第三步 将第二步中的运算结果6与第四个数4相加,得到10;第四步 将第三步中的运算结果10与第五个数5相加,得到15.算法2:运用公式1+2+3+…+n=2)1(+nn直接计算. 第一步取n=5;第二步计算2)1(+nn;第三步输出运算结果.思考上述两种算法各有什么优缺点?算法1的优点容易想到,对于没有接触数列知识的人也可以解决.缺点是如果加数比较多,则运算步骤冗长,花费时间也较多.算法2的优点是算法简单,代入公式可以直接运算,缺点是必须有一定的数学基础.点评:一个问题可以有几个算法,在具体解决问题的时候,应该选择一个比较好的算法.容易想到的、思路清晰的、运算简单的、步骤较少的算法才是一个好的算法,但是有时候不能兼顾,要根据实际情况选择合适的算法.例2 有两个大小相同的杯子,A中装的是水,B中装的是酒精,写出交换A、B两个杯子中液体的一个算法.分析:要交换两个杯子中的液体,必须拿一个空杯子,先把A(或B)腾空,然后才能交换.算法:第一步把A中液体倒入空杯C;第二步把B中液体倒入空杯A;第三步把C中液体倒入空杯B.点评:设置这个例题的目的就是为以后的赋值语句做准备.赋值语句和这个问题类似,为了加深印象,并为以后的知识打下基础,这里可以扩充一点,引进赋值符号“←”:“B←A”的意思就是把A中的值赋给B.我们把上面的算法用简单的符号来表示:第一步C←A;第二步A←B;第三步B←C.注意:赋值语句和上面“倒水”的例子有所不同,“把A中液体倒入空杯C”后,C中就是A中的液体,A中却空了,什么也没有了.但是“C←A”后,C中就是原来A中的值,但A中的值还是存在,没有被清空,所以赋值语句就像计算机操作中的“Ctrl+C”(复制)与“Ctrl+V”(粘贴),例如在Excel中,我们先在单元格A1中输入数值2,再把单元格A1中的值复制,然后粘贴到B1单元格,现在来看看,B1中的值变成了原来A1中的值2,而A1中的值却没有被删除,仍然是2.而“把A中液体倒入空杯C”就类似于计算机操作中的“Ctrl+X”(剪切).(有条件的学校可以在计算机上实际操作,让学生观察,加深学生对赋值语句的理解)思考假如x、y的初值为x=1,y=2,经过下列步骤后,x、y的值分别是什么?第一步z←x;第二步z←y;第三步y←x;第四步x←z.为了清楚地看出x、y、z中的数值变化过程,我们通过下面的表格来说明:操作过程 x y Z初值 1 2第一步 1 2 1第二步 1 2 2第三步 1 1 2第四步 2 1 2所以最终x=2,y=1.本题难道不大,目的是为了让学生对赋值以及赋值语句有一个初步的了解.例3 已知一个学生的语文成绩为89,数学成绩为96,英语成绩为94,写出求他的总分M 和平均分P 的一个算法.分析:总分只要把三个成绩相加即可,平均分就是把总分除以3.算法:第一步 取A=89,B=96,C=94;(也可以写成“输入A 、B 、C”)第二步 M←A+B+C;第三步 P←3M ; 第四步 输出M 、P.点评:本题进一步熟悉赋值语句,并为下一节课的“流程图”做了必要的准备.思路2例1 给出求解方程组的一个算法.解:我们用消元法求解这个方程组,步骤是:第一步:方程①不动,将方程②中x 的系数除以方程①中x 的系数,得到乘数m=24=1; 第二步:方程②减去m 乘以方程①,消去方程②中的x 项,得到2x+y=7,3y=-3;第三步:将上面的方程组自下而上回代求解,得到y=-1,x=4.所以原方程组的解为x=4,y=-1.点评:算法的实质是要对一类问题给出一个通用的解法,这个算法就具有通用性. 例2 写出求出任意三个实数a ,b ,c 中最大的数的一个算法.分析:首先判断a 和b 的大小,把大的数记作M ,继续判断M 和c 的大小,仍然把大的数记作M ,最后输出M 即可.算法:第一步 输入a ,b ,c ;第二步 如果a>b ,则M←a,否则M←b;第三步 如果c>M ,则M←c;第四步 输出M.点评:设置变量M的目的,是为了让学生始终抓住最关键的“最大值”,我们专门用一个“房间”M来存放得到的较大的数,直到把所有的实数都比较完毕,那么这时候M中的数就是我们所要求的最大值了.例3 写出求1×2×3×4×5的值的一个算法.分析:本题可以采用和例1的算法1类似的方法,即逐个相乘.但是由于我们没有连续的正整数相乘的公式,所以没有办法利用公式来写出算法,当然也可以先推导连乘的公式1×2×3×…×n=n!,采用和例1的算法2类似的方法直接代入.注意到在连乘的时候,每次都是把上一次的运算结果乘以依次增大的正整数,由前面研究的赋值语句,我们可以把每一次相乘得到的结果存放在一个专门存放积的“房间”T内,当下一次把新的积再放进这个“房间”内后,原来的T自动被新的T的值所替代,这样每次相乘后“房间”T里面的值永远保持是最新的值.另外,再设置一个“房间”I专门存放依次增大的乘数,第一次取I=2,以后每乘完一次,I的值都增加1,然后把新的值再存放到“房间”I内,直到I的值大于5时才结束运算,否则再返回去,继续把T和I相乘,结果存放到“房间”T内.这个算法实际上就是一次又一次地重复上面的运算,即执行循环操作.算法1:第一步先求1×2,得到2;第二步将第一步得到的结果再乘以3,得到6;第三步将第二步得到的结果6再乘以4,得到24;第四步将第三步得到的结果24再乘以5,得到最后的结果120.算法2:第一步令T=1;第二步令I=2;第三步求T×I,乘积结果仍放在变量T中;第四步使I的值增加1;第五步如果I大于5,则输出T,否则返回执行第三步、第四步及第五步.这样最后得到的T的值就是所要求的结果.这个算法可以用比较简单的语句来叙述:第一步T←1;第二步I←2;第三步T←T×I;第四步I←I+1;第五步如果I大于5,则输出T,否则返回第三步.点评:对于算法1,很容易想到,也容易理解.对于算法2,由于刚刚开始接触算法,可根据学生的具体情况,选择是否介绍.如果学生仍然不能理解,则可以类似例2一样列出表格,依次说明T和I的变化过程:运算过程T I 判断I是否大于5 初值 1 2 否:I←I+1第一次T×I 2 3 否:I←I+1第二次T×I 6 4 否:I←I+1第三次T×I24 5 否:I←I+1第四次T×I 120 6 是:输出T=120 这个算法必须在先行解决了例2后才能给出,否则学生会对T←T×I和I←I+1感到迷惑,容易使学生在学习算法的一开始就遇到麻烦,导致心理压抑,产生厌学情绪.知能训练。

算法初步教案

算法初步教案

算法初步教案一、教学目标1、知识与技能目标了解算法的概念和特征。

掌握用自然语言和流程图描述算法的方法。

能够分析简单问题,设计出有效的算法,并能用流程图表示出来。

2、过程与方法目标通过实际问题的分析和解决,培养学生的逻辑思维能力和问题解决能力。

通过算法的设计和流程图的绘制,提高学生的动手实践能力和创新能力。

3、情感态度与价值观目标让学生体会算法在解决实际问题中的重要作用,激发学生学习算法的兴趣。

培养学生严谨的思维习惯和合作精神。

二、教学重难点1、教学重点算法的概念和特征。

用自然语言和流程图描述算法。

2、教学难点复杂问题的算法设计。

流程图的规范绘制。

三、教学方法讲授法、演示法、实践法、讨论法四、教学过程1、导入(5 分钟)通过一个简单的生活实例,如“如何泡茶”,引导学生思考解决问题的步骤,从而引出算法的概念。

2、算法的概念(10 分钟)给出算法的定义:算法是指解决某一问题的明确和有限的步骤。

举例说明算法在生活和计算机中的应用,如计算数学题、排序数据等。

3、算法的特征(10 分钟)有穷性:一个算法必须在执行有限个步骤之后终止。

确定性:算法的每一步骤都必须有明确的定义,不能有歧义。

可行性:算法的每一步骤都必须是可行的,能够通过有限的操作实现。

输入:一个算法有零个或多个输入。

输出:一个算法有一个或多个输出。

4、用自然语言描述算法(15 分钟)以“求解两个数的最大值”为例,用自然语言详细描述算法的步骤。

让学生练习用自然语言描述一些简单问题的算法,如“判断一个数是否为偶数”。

5、用流程图描述算法(20 分钟)介绍流程图的常用图形符号,如起止框、输入输出框、处理框、判断框、流程线等。

以“求解两个数的最大值”为例,绘制流程图展示算法的流程。

让学生分组合作,选择一个问题,先用自然语言描述算法,再绘制流程图。

6、算法的设计(20 分钟)提出一个较复杂的问题,如“计算一个班级学生的平均成绩”。

引导学生分析问题,确定算法的步骤。

第一章 算法初步全章教案

第一章 算法初步全章教案

第一章 算法初步第一课时 1.1.1 算法的概念教学要求:了解算法的含义,体会算法的思想;能够用自然语言叙述算法;掌握正确的算法应满足的要求;会写出解线性方程(组)的算法、判断一个数为质数的算法、用二分法求方程近似根的算法.教学重点:解二元一次方程组等几个典型的的算法设计.教学难点:算法的含义、把自然语言转化为算法语言.教学过程:一、复习准备:1. 提问:我们古代的计算工具?近代计算手段?(算筹与算盘→计算器与计算机,见章头图)2. 提问:①小学四则运算的规则?(先乘除,后加减) ②初中解二元一次方程组的方法?(消元法) ③高中二分法求方程近似解的步骤? (给定精度ε,二分法求方程根近似值步骤如下:A .确定区间[,]a b ,验证()()0f a f b <,给定精度ε;B. 求区间(,)a b 的中点1x ;C. 计算1()f x : 若1()0f x =,则1x 就是函数的零点; 若1()()0f a f x <,则令1b x =(此时零点01(,)x a x ∈); 若1()()0f x f b <,则令1a x =(此时零点01(,)x x b ∈);D. 判断是否达到精度ε;即若||a b ε-<,则得到零点零点值a (或b );否则重复步骤2~4.二、讲授新课:1. 教学算法的含义:① 出示例:写出解二元一次方程组22(1)24(2)x y x y -=⎧⎨+=⎩的具体步骤. 先具体解方程组,学生说解答,教师写解法 → 针对解答过程分析具体步骤,构成其算法第一步:②-①×2,得5y =0 ③; 第二步:解③得y =0; 第三步:将y =0代入①,得x =2.② 理解算法: 12世纪时,指用阿拉伯数字进行算术运算的过程. 现代意义上的算法是可以用计算机来解决的某一类问题的程序或步骤,程序和步骤必须是明确和有效的,且能在有限步完成. 广义的算法是指做某一件事的步骤或程序. 算法特点:确定性;有限性;顺序性;正确性;普遍性.举例生活中的算法:菜谱是做菜肴的算法;洗衣机的使用说明书是操作洗衣机的算法;歌谱是一首歌曲的算法;渡河问题.③ 练习:写出解方程组()1111221222(1)0(2)a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩的算法.2. 教学几个典型的算法:① 出示例1:任意给定一个大于1的整数n ,试设计一个程序或步骤对n 是否为质数做出判断.提问:什么叫质数?如何判断一个数是否质数? → 写出算法.分析:此算法是用自然语言的形式描述的. 设计算法要求:写出的算法必须能解决一类问题,并且能够重复使用. 要使算法尽量简单、步骤尽量少. 要保证算法正确,且计算机能够执行.② 出示例2:用二分法设计一个求方程230x -=的近似根的算法.提问:二分法的思想及步骤?如何求方程近似解→写出算法.③练习:举例更多的算法例子;→对比一般解决问题的过程,讨论算法的主要特征.3. 小结:算法含义与特征;两类算法问题(数值型、非数值型);算法的自然语言表示.三、巩固练习:1. 写出下列算法:解方程x2-2x-3=0;求1×3×5×7×9×11的值2. 有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题.3. 根据教材P6 的框图表示,使用程序框表示以上算法.4. 作业:教材P4 1、2题.第二课时 1.1.2 程序框图(一)教学要求:掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构. 掌握画程序框图的基本规则,能正确画出程序框图. 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图.教学重点:程序框图的基本概念、基本图形符号和3种基本逻辑结构.教学难点:综合运用框图知识正确地画出程序框图教学过程:一、复习准备:1. 写出算法:给定一个正整数n,判定n是否偶数.2. 用二分法设计一个求方程320x-=的近似根的算法.二、讲授新课:1. 教学程序框图的认识:①讨论:如何形象直观的表示算法?→图形方法.教师给出一个流程图(上面1题),学生说说理解的算法步骤.②定义程序框图:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.③④阅读教材P5的程序框图. →讨论:输入35后,框图的运行流程,讨论:最大的I值.2. 教学算法的基本逻辑结构:①讨论:P5的程序框图,感觉上可以如何大致分块?流程再现出一些什么结构特征?→教师指出:顺序结构、条件结构、循环结构.②试用一般的框图表示三种逻辑结构. (见下图)③出示例3:已知一个三角形的三边分别为4,5,6,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图. (学生用自然语言表示算法→师生共写程序框图→讨论:结构特征)④出示例4:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在.画出这个算法的程序框图. (学生分析算法→写出程序框图→试验结果→讨论结构)⑤出示例5:设计一个计算1+2+3+…+1000的值的算法,并画出程序框图. (学生分析算法→写出程序框图→给出另一种循环结构的框图→对比两种循环结构)3. 小结:程序框图的基本知识;三种基本逻辑结构;画程序框图要注意:流程线的前头;判断框后边的流程线应根据情况标注“是”或“否”;循环结构中要设计合理的计数或累加变量等.三、巩固练习:1.练习:把复习准备题②的算法写成框图. 2. 作业:P12 A组1、2题.第三课时 1.1.2 程序框图(二)教学要求:更进一步理解算法,掌握算法的三个基本逻辑结构. 掌握画程序框图的基本规则,能正确画出程序框图.学会灵活、正确地画程序框图.教学重点:灵活、正确地画程序框图.教学难点:运用程序框图解决实际问题.教学过程:一、复习准备:1.2.顺序结构条件结构循环结构程序框图结构说明按照语句的先后顺序,从上而下依次执行这些语句. 不具备控制流程的作用. 是任何一个算法都离不开的基本结构根据某种条件是否满足来选择程序的走向.当条件满足时,运行“是”的分支,不满足时,运行“否”的分支.从某处开始,按照一定的条件,反复执行某一处理步骤的情况. 用来处理一些反复进行操作的问题二、讲授新课:1. 教学程序框图①出示例1:任意给定3个正实数,判断其是否构成三角形,若构成三角形,则根据海伦公式计算其面积. 画出解答此问题算法的程序框图.(学生试写→共同订正→对比教材P7 例3、4 →试验结果)②设计一个计算2+4+6+…+100的值的算法,并画出程序框图.(学生试写→共同订正→对比教材P9 例5 →另一种循环结构)③循环语句的两种类型:当型和直到型.当型循环语句先对条件判断,根据结果决定是否执行循环体;直到型循环语句先执行一次循环体,再对一些条件进行判断,决定是否继续执行循环体. 两种循环语句的语句结构及框图如右.说明:“循环体”是由语句组成的程序段,能够完成一项工作.注意两种循环语句的区别及循环内部改变循环的条件.④练习:用两种循环结构,写出求100所有正约数的算法程序框图.2. 教学“鸡兔同笼”趣题:①“鸡兔同笼”,我国古代著名数学趣题之一,大约在1500年以前,《孙子算经》中记载了这个有趣的问题,书中描述为:今有雏兔同笼,上有三十五头,下有九十四足,问雏兔各几何?②学生分析其数学解法. (“站立法”,命令所有的兔子都站起来;或用二元一次方程组解答.)③欣赏古代解法:“砍足法”,假如砍去每只鸡、每只兔一半的脚,则“独脚鸡”,“双脚兔”. 则脚的总数47只;与总头数35的差,就是兔子的只数,即47-35=12(只).鸡35-12=23(只).④试用算法的程序框图解答此经典问题. (算法:鸡的头数为x,则兔的头数为35-x,结合循环语句与条件语句,判断鸡兔脚数2x+4(35-x)是否等于94.)三、巩固练习:1. 练习:100个和尚吃100个馒头,大和尚一人吃3个,小和尚3人吃一个,求大、小和尚各多少个?分析其算法,写出程序框图. 2. 作业:教材P12 A组1题.第一课时 1.2.1 输入语句、输出语句和赋值语句教学要求:正确理解输入语句、输出语句、赋值语句的结构. 让学生充分地感知、体验应用计算机解决数学问题的方法;并能初步操作、模仿. 通过实例使学生理解3种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法,能用这三种基本的算法语句表示算法,进一步体会算法的基本思想. 教学重点:会用输入语句、输出语句、赋值语句.教学难点:正确理解输入语句、输出语句、赋值语句的作用.教学过程:一、新课导入:1. 提问:学习了哪些算法的表示形式?(自然语言或程序框图描述)算法中的三种基本的逻辑结构?(顺序结构、条件结构和循环结构)2. 导入:我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的. 因此还需要将算法用计算机能够理解的程序设计语言翻译成计算机程序. 程序设计语言有很多种. 如BASIC,Foxbase,C语言,C++,J++,VB,VC,JB 等.各种程序设计语言中都包含下列基本的算法语句:输入语句、输出语句、赋值语句条件语句和循环语句.今天,我们一起用类BASIC语言学习输入语句、输出语句、赋值语句. 基本上对应于算法中的顺序结构.二、讲授新课:1. 教学三种语句的格式及功能:①出示例1:编写程序,计算一个学生数学、语文、英语三门课的平均成绩.(分析算法→框图表示→教师给出程序,学生试说说对各语句的理解.)①出示例2:用描点法作函数y=x3+3x2-24x+30的图象时,需要求出自变量和函数的一组对应值. 编写程序,分别计算当x=-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值②出示例3:给一个变量重复赋值. (程序见P16)③出示例4:交换两个变量A和B的值,并输出交换前后的值.(教法:先分析算法→画出框图→编写程序→分析各语句→变式→小结:先写算法,再编程)3. 小结:输入、输出和赋值语句的格式;赋值“=”及表达式;编写简单程序解决数学问题.三、巩固练习:1. 练习:教材P16 1、2题 2. 作业:P16 3、4题.第二课时 1.2.2 条件语句教学要求:正确理解条件语句的概念,并掌握其结构. 会应用条件语句编写程序. 教学重点:条件语句的步骤、结构及功能.教学难点:会编写程序中的条件语句.教学过程:一、复习准备:1. 提问:算法的三种逻辑结构?条件结构的框图模式?2. 提问:输入语句、输出语句和赋值语句的格式与功能?3. 一次招生考试中,测试三门课程,如果三门课程的总成绩在200分及以上,则被录取. 请对解决此问题的算法分析,画出程序框图. (变题:…总成绩在200分以下,则不被录取)二、讲授新课:1. 教学条件语句的格式与功能:①分析:复习题③中的两种条件结构的框图模式?②给出复习题③的程序,试读懂程序,说说新的语句的结构及含义.③条件语句的一般有两种:IF—THEN语句;IF—THEN—ELSE语句. 语句格式及框图如下.分析语句执行流程,并说明:①“条件”是由一个关系表达式或逻辑表达式构成,其一般形式为“<表达式><关系运算符><表达式>”,常用的运算符有“>”(大于)、“<”(小于)、“>=”(大于或等于)、“<=”(小于或等于),“<>”(不等于). 关系表达式的结果可取两个值,以“真”或“假”来表示,“真”表示条件满足,“假”则条件不满足. ②“语句”是由程序语言中所有语句构成的程序段,即可以是语句组. ③条件语句可以嵌套,即条件语句的THEN 或ELSE后面还可以跟条件语句,嵌套时注意内外分层,避免逻辑混乱.2. 教学典型例题:②出示例5:编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根.(算法分析→画程序框图→编写程序→给出系数的一组值,分析框图与程序各步结果)注意:解方程之前,先由判别式的符号判断方程根的情况. 函数SQR()的功能及格式.②讨论:例5程序中为何要用到条件语句?条件语句一般用在什么情况下?答:一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套③练习:编写程序,使得任意输入的2个实数从小到大排列.④出示例6:编写程序,使得任意输入的3个实数从小到大排列.(讨论:先用什么语句?→用具体的数值给a、b、c,分析计算机如何排列这些数?→写出程序→画出框图→说说算法→变式:如果是4个实数呢?3. 小结:条件语句的格式与功能及对应框图. 编程的一般步骤:①算法分析:根据提供的问题,利用数学及相关学科的知识,设计出解决问题的算法. ②画程序框图:依据算法分析,画出程序框图. ③写出程序:根据程序框图中的算法步骤,逐步写出相应的程序语句.三、巩固练习: 1. 练习:教材P22 1、2题.2. 试编写程序进行印刷品邮资的计算. (前100g 0.7元,以后每100g 0.4元)3. 作业:P22 3、4题.第三课时 1.2.3 循环语句教学要求:正确理解循环语句的概念,并掌握其结构. 会应用循环语句编写程序. 教学重点:两种循环语句的表示方法、结构和用法,用循环语句表示算法.教学难点:理解循环语句的表示方法、结构和用法,会编写程序中的循环语句. 教学过程:一、复习准备:1. 设计一个计算1+2+3+……+10的算法,并画出程序框图.2. 循环结构有哪两种模式?有何区别?相应框图如何表示?答:当型(while 型)和直到型(until 型). 当型循环语句先对条件判断,根据结果决定是否执行循环体,可能一次也不执行循环体,也称为“前测试型”循环;直到型循环语句先执行一次循环体,再对一些条件进行判断,决定是否继续执行循环体.二、讲授新课:1. 教学两种循环语句的格式与功能:① 给出复习题①的两种循环语句的程序,试读懂程序,说说新的语句的结构及含义.② 两种循环语句的语句结构及框图如下.说明:“循环体”是由语句组成的程序段,能够完成一项工作. 当使用WHIL 语句时,循环内部应当有改变循环的条件,否则会产生无限循环. 学习时注意两种循环语句的区别.③ 讨论:两种循环语句的区别?当型循环先判断后执行,直到型循环先执行后判断,则:在WHILE 语句中,是当条件满足时执行循环体;在UNTIL 语句中,先执行循环体,再当条件不满足时再执行循环体.2. 教学例题:① 出示例:编写程序,计算1+2+3+……+99+100的值.(分析:实现累加的算法 → 分别用两种循环语句编写 → 变题:计算20以内偶数的积.② 给出下列一段程序,试读懂程序,说说各语句的作用,分析程序的功能. (见教材P24)(读,找疑问 → 说各语句 → 分析功能)③ 练习:用描点法作函数y =x 3+3x 2-24x +30的图象时,需要求出自变量和函数的一组对应值. 编写程序,分别计算当x =-5,-4,-3,-2,-1,0,1,2,3,4,5时的函数值. ④ 分析右边所给出程序:当n=10时,结果是多少?程序INPUT “n=”;ni =1 a =0 WHILE i <= n a = a +(i +1)/i i = i+1WENDPRINT “…”;aEND实现功能?3. 小结:① 循环语句的两种不同形式:WHILE 语句和UNTIL 语句(还可补充了For 语句),掌握它们的一般格式.② 在用WHILE 语句和UNTIL 语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法. WHILE 语句中是当条件满足时执行循环体,而UNTIL 语句中是当条件不满足时执行循环体.③ 循环语句主要用来实现算法中的循环结构,在处理一些需要反复执行的运算任务. 如累加求和,累乘求积等问题中常用到.三、巩固练习: 1. 练习:教材P24 1题.2. 编写程序,实现输出1000以内能被3和5整除的所有整数. (算术运算:5 MOD 3 =2)3. 作业:P24 2、3题.第一课时 1.3.1 算法案例---辗转相除法与更相减损术教学要求:理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; 基本能根据算法语句与程序框图的知识设计出辗转相除法与更相减损术完整的程序框图并写出它们的算法程序.教学重点:理解辗转相除法与更相减损术求最大公约数的方法.教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言. 教学过程:一、复习准备:1. 回顾算法的三种表述:自然语言、程序框图(三种逻辑结构)、程序语言(五种基本语句).2. 提问:①小学学过的求两个数最大公约数的方法?(先用两个公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来.)口算出36和64的最大公约数. ②除了用这种方法外还有没有其它方法?6436128=⨯+,36∴和28的最大公约数就是64和36的最大公约数,反复进行这个步骤,直至842=⨯,得出4即是36和64的最大公约数.二、讲授新课:1. 教学辗转相除法:例1:求两个正数1424和801的最大公约数.分析:可以利用除法将大数化小,然后逐步找出两数的最大公约数. (适用于两数较大时)①以上我们求最大公约数的方法就是辗转相除法,也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的. 利用辗转相除法求最大公约数的步骤如下:(1)用较大的数m 除以较小的数n 得到一个商0S 和一个余数0R ;(2)若0R =0,则n 为m ,n 的最大公约数;若0R ≠0,则用除数n 除以余数0R 得到一个商1S 和一个余数1R ;(3)若1R =0,则1R 为m ,n 的最大公约数;若1R ≠0,则用除数0R 除以余数1R 得到一个商2S 和一个余数2R ;……依次计算直至n R =0,此时所得到的1n R -即为所求的最大公约数.②由上述步骤可以看出,辗转相除法中的除法是一个反复执行的步骤,且执行次数由余数是否等于0来决定,所以我们可以把它看成一个循环体,它的程序框图如右图:(师生共析,写出辗转相除法完整的程序框图和程序语言)练习:求两个正数8251和2146的最大公约数. (乘法格式、除法格式)2. 教学更相减损术:我国早期也有求最大公约数问题的算法,就是更相减损术. 在《九章算术》中有更相减损术求最大公约数的步骤:可半者半之,不可半者,副置分母•子之数,以少减多,更相减损,求其等也,以等数约之.翻译为:(1)任意给出两个正数;判断它们是否都是偶数. 若是,用2约简;若不是,执行第二步.(2)以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数. 继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.例2:用更相减损术求91和49的最大公约数.分析:更相减损术是利用减法将大数化小,直到所得数相等时,这个数(等数)就是所求的最大公约数. (反思:辗转相除法与更相减损术是否存在相通的地方) 练习:用更相减损术求72和168的最大公约数.3. 小结:辗转相除法与更相减损术及比较①都是求最大公约数的方法,辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少;②结果上,辗转相除法体现结果是以相除余数为0得到,而更相减损术则以减数与差相等而得到.三、巩固练习:1、练习:教材P35第1题 2、作业:教材P38第1题 第二课时 1.3.2 算法案例---秦九韶算法教学要求:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数、提高计算效率的实质;理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用.教学重点:秦九韶算法的特点及其程序设计.教学难点:秦九韶算法的先进性理解及其程序设计.教学过程:一、复习准备:1. 分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.2. 设计一个求多项式5432()254367f x x x x x x =--+-+当5x =时的值的算法. (学生自己提出一般的解决方案:将5x =代入多项式进行计算即可)提问:上述算法在计算时共用了多少次乘法运算?多少次加法运算?此方案有何优缺点?(上述算法一共做了5+4+3+2+1=15次乘法运算,5次加法运算. 优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)二、讲授新课:1. 教学秦九韶算法:① 提问:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)② 结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.③ 更有效的一种算法是:将多项式变形为:5432()254367f x x x x x x =--+-+=,依次计算2555⨯-=,55421⨯-=,2153108⨯+=,10856534⨯-=,534572677⨯+=故(5)2677f =. ――这种算法就是“秦九韶算法”. (注意变形,强调格式) ④ 练习:用秦九韶算法求多项式432()2351f x x x x x =+-++当4x =时的值. (学生板书→师生共评→教师提问:上述算法共需多少次乘法运算?多少次加法运算?)⑤ 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++的求值问题?改写:11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++. 首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+,,10n n v v x a -=+. ⑥ 结论:秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值,整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n k k n k v a v v x a k n --=⎧⎨=+=⎩.这是一个反复执行的步骤,因此可用循环结构来实现.⑦ 练习:用秦九韶算法求多项式5432()52 3.5 2.6 1.70.8f x x x x x x =++-+-当5x =时的值并画出程序框图.2. 小结:秦九韶算法的特点及其程序设计三、巩固练习:1、练习:教材P35第2题 2、作业:教材P36第2题 第三课时 1.3.3 算法案例---进位制教学要求:了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换;学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律. 教学重点:各种进位制之间的互化.教学难点:除k 取余法的理解以及各进位制之间转换的程序框图及其程序的设计.教学过程:一、复习准备:1. 试用秦九韶算法求多项式52()42f x x x =-+当3x =时的值,分析此过程共需多少次乘法运算?多少次加法运算?2. 提问:生活中我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制,旧式的秤是十六进制的,计算一打数值时是12进制的......那么什么是进位制?不同的进位制之间又有什么联系呢?二、讲授新课:1. 教学进位制的概念:① 进位制是人们为了计数和运算方便而约定的记数系统,“满几进一”就是几进制,几进制的基数就是几. 如:“满十进一”就是十进制,“满二进一”就是二进制. 同一个数可以用不同的进位制来表示,比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的. 表示各种进位制数一般在数字右下脚加注来表示,如上例中:(2)(8)(16)1110017139==② 一般地,任意一个k 进制数都可以表示成不同位上数字与基数的幂的乘积之和的形式,即1110()1...(0,n n n n k n n n n a a a a a k a a a k a k a ka k a k ----<<≤<=⨯+⨯+⨯+⨯.如:把(2)110011化为十进制数,(2)110011=1⨯25+1⨯24+0⨯23+0⨯22+1⨯21+1⨯20=32+16+2+1=51.把八进制数(8)7348化为十进制数,3210(8)7348783848883816=⨯+⨯+⨯+⨯=.2. 教学进位制之间的互化:①例1:把二进制数(2)1001101化为十进制数.(学生板书→教师点评→师生共同总结将非十进制转为十进制数的方法) 分析此过程的算法过程,编写过程的程序语言. 见P34②练习:将(5)2341、(3)121转化成十进制数.③例2、把89化为二进制数.分析:根据进位制的定义,二进制就是“满二进一”,可以用2连续去除89或所得商,然后取余数. (教师板书)上述方法也可以推广为把十进制化为k 进制数的算法,这种算法成为除k 取余法. ④练习:用除k 取余法将89化为四进制数、六进制数.⑤例3、把二进制数(2)11011.101化为十进制数.解:4(211-=⨯. (小数也可利用上述方法化进行不同进位制之间的互化. )变式:化为八进制→方法:进制互化3. 小结:进位制的定义;进位制之间的互化.三、巩固练习:1、练习:教材P35第3题 2、作业:教材P38第3题 第四课时 1.3.4 生活中的算法实例教学要求:通过生活实例进一步了解算法思想.教学重点:生活实例的算法分析.教学难点:算法思想的理解.教学过程:一、复习准备:1. 前面学习了哪几种算法案例?每种算法的作用及操作方法是怎样的?2. 算法思想在我们的生活中无处不在,如何利用我们所学习的知识解决生活中的实际问题?二、讲授新课:1. 霍奇森算法:提问:同学们经常会面对一个共同的问题,就是有时有太多的事情要做. 例如,你可能要面临好几门课的作业的最后期限,你如何合理安排以确保每门课的作业都能如期完成?如果根本不可能全部按期完成,你该怎么办?(霍奇森算法可以。

《第一章算法初步复习》教学案3.doc

《第一章算法初步复习》教学案3.doc

《第一章算法初步复习》教学案3教学目的:总结算法解题的一般思路,即算法分析(提炼问题的数学本质)一一画出程序框图一一按框图编写伪代码;通过本章学习增强解题的规范性.教学重点:在准确理解算法的基础上,掌握流程图的画法及判断;掌握伪代码的编写.教学过程:例1.阅读下列伪代码,并指出当a = 3,b = -5时的计算结果:(1) read a, b (2) read a, b (3) read a, bX_a+b a^-a+by—a_b丁b—a-bG J (巧)/2d-(d+历/2a— {a~b) /2b~ (x-y) /2b— (a~b) /2b-(o+b)/2Print a, b Print a, b Print a, ba= , b a- , b a= , b 例2.写出用二分法求方程x2-x-} = 0在区间[1,1・5]内的一个近似解(误差不超过0.001)的一个算法.说明:此题主要再次强调算法的问题根本上是一个思维的问题以及算法语言的基本规则;如何通过语句的结构形式规范处理及简化问题,从而增强解题的规范性.流程图与伪代码10 Rend a, b, c20 兀()—(a+b)/230 f(d)40 /(xo) ^-XQ-XQ- 150 If /(xo) =0 then Goto 120 60 If f{d)f(xo) <0 then70 b *-%o80 Else90 a ro100 End ifJX0-(a+b)/2&f(a)*-a3-a-1f(x0)—x03-x0-1 /输入abc110 If I a~b | N c then Goto 20120 Print xo以上两例重点理解赋值语句,尤其是在循坏结构中如何根据对变量的理解灵活赋值,从而用简炼的语句表示算法.例3.满足方稈的一组正整数称为勾股数或商高数,设计计算某一范围内的勾股数的算法.For a from 3 to 30For b from a+\ to 40For c from b+1 to 50 If a^-c thenP a, b, cEnd ifEndEndEnd例四.已知钱数X(不足10元),要把它用于1元、5角、1角、1分的硬币表示,若要用尽量少的硬币个数表示X,设计一个算法,求各硬币的个数.分析:要用尽量少的硬币表示钱数,也就是要尽可能地用大面值的硬币.以1元钱的个数就是兀的整数部分,记为贝IJ5角钱的个数就是(兀一d)/0.5的整数部分,记为方;1角钱的个数就是(x-a*\_b*0.5)的整数部分,记为c;1分钱的个数就是{x-a— b *0・5—c*0. 1)的整数部分.解:Read Xa =int(x)b=mt^x-a)/o. 5)c= int^x-a— b *0. 5)/0. 1)d=int^x-a * 1 一b *0. 5—c *0. 1)/0. 01)Print Cl, b , C, d例五.在日常生活中,人们经常要把一些记录屮的数据排序,如招生录取中按照成绩对考生进行排序,汉字拼咅检索中按照字母顺序对汉字进行排序等等.排序就是按照一定的规则,对数据加以排列整理,从而提高查找效率.(1)直接插入排序法:(2)冒泡排序法:现用直接插入排序法对任意输入的/?个数进行从小到人的排序,其伪代码程序如下:BeginRead nFor匸1 to nRead a(i)End ForFor i二2 to nFor J=1 to i~\If a(j) >6/(/) Thena (j) =mEnd ifEnd ForEnd ForFor k=] to nPrint a (k)End ForEnd再用直接冒泡排序法对任意输入的n个数进行从小到大的排序,其伪代码程序如下:10 Begin20 Read n30 For i=\ to n40 Read a (/)60 For j=l to n~\70 w=080 For i=l to n~\90 If a\i) >t/(;+l) Then100 m 二ci (i)110 a(g(d+l)120 a (/+1) =m130 vv二w+1140 end if150 End For160 If w=0 Then Goto 180 170 End For180 For k=\ to n190 Print a鮒200 End For210 End用DO循环语句表示如下:BeginRead nFor z=l to nRead a(i)End ForDovv=OFor i=\ to n~\If a (/) >a (汁1) Thentn=a (/)a ⑺二a(j+l)a (汁1)二加vv=w+lend ifNext iLoop Until w=0For k=] to nEnd ForEnd例三与例五及算经中的“百钱百鸡”问题均对循环语句的应用提出更高要求,在算法理解及流程图的设计上思路一定要清晰.例六.(李白买酒)“无事街上走,提壶去买酒,遇店加一倍,见花喝一斗,三遇店和花, 喝光壶中酒”.设计求酒壶中原有多少酒的一个算法并写出伪代码.S二0For I from 1 to 3S- (S+l)/2End ForPint S例七.一个三位数,如果每一位数字的立方和等于它本身,则称之为“水仙花数”.设计一个算法,找出所有的水仙花数,用伪代码表示.For n from 100 to 999X *-777/(^/100)y Tn/ ((/?-1 OOx) /10)z^~n—100% —10If n= X34- y3+z3thenPint nEnd IfNext nEnd for例八.一辆邮车依次前往城市"1,力2,力3,•••Az/XmG N\m > 2),每到一个城市先卸下前面各城市发往该城市的邮袋1个,然后再装上该城市发往后面各城市的邮袋各1个,设S是邮车从第刀个城市出发时邮车上邮袋的个数,设计一个算法, 对任给两个正数ni> n ,求a”分析:到达笫n个城市时,邮袋个数为前一个城市的邮袋个数减去前面城市发往该市的粒-1个邮袋,再加上发往后面各城市的%-料)个邮袋,可用循环计算/从1至刀时,S的变化.解:伪代码为:Read m, nIf mWn then Print a错误!加必须大于刀”ElseS-0For I from 1 to nS-S+(加- Z)-(Z-l)Next IEncl ForEnd IfPrint S例九.进位制与秦九韶算法1.用程序把k进制数d (共有川位)转换为十进制数b2.把一个十进制数化为灿制数BeginRead a , ki=\Do尸mod (a, k)a{i)=ra- (a-厂)/R匸汁1Loop Until a二0m=F\For j-m to 1 Step一1Print a (/);Next jPhn“(”;k;””End3. ---------------------------------------------------------------- 求川次多项式f (x) = a n x H + a n_{x n~[ H F a x x + a。

(教师用书)高中数学 第一章 算法初步教案 苏教版必修3

(教师用书)高中数学 第一章 算法初步教案 苏教版必修3

第一章算法初步§1.1算法的含义(教师用书独具)●三维目标1.知识与技能:了解算法的含义,体会算法的思想;能够设计解决具体问题的算法;理解算法应满足的要求.2.过程与方法:让学生感悟人们认识事物的一般规律:由具体到抽象,再由抽象到具体,培养学生的观察能力,表达能力和逻辑思维能力.3.情感态度与价值观:对计算机的算法语言有一个基本的了解,明确算法的要求,认识到计算机是人类征服自然的一有力工具,进一步提高探索、认识世界的能力.●重点难点重点:初步理解算法的含义,体会算法思想,能够用自然语言描述算法.难点:用自然语言描述算法.引导学生一起回顾如何解二元一次方程组,并引导他们归纳二元一次方程组的求解步骤,从而让学生经历算法分析的基本过程,培养思维的条理性,引导学生关注更具一般性解法,形成解法向算法过渡的准备,为建立算法概念打下基础而化解难点.引导学生回顾解一般的二元一次方程组的步骤,分析解题过程的结构,写出求一般的二元一次方程组的解的算法,并把它编成程序,让学生输入数据,体验计算机直接给出方程组的解.目的是让学生明白算法是用来解决某一类问题的,从而提高学生对算法的普遍适用性的认识,从而强化重点.(教师用书独具)●教学建议算法这部分的应用性很强,与日常生活联系紧密,虽然是新引入的章节,但很容易激发学生的学习兴趣.建议教师通过多媒体辅助教学,采用“问题探究式”教学法,以多媒体为辅助手段,让学生主动发现问题、分析问题、解决问题,培养学生的探究论证、逻辑思维能力.●教学流程创设问题情境,引出问题:宋丹丹的小品中要把大象关冰箱总共分几步?⇒引导学生结合所提出的问题归纳,分析,总结算法的含义.⇒通过引导学生回答所提问题理解算法的特点及能够解决的问题.⇒通过例1及其变式训练,使学生理解算法的含义及特征.⇒通过例2及其变式训练,使学生能设计算法(直接应用数学公式的算法).⇒通过例3及其变式训练,使学生明确解方程或方程组的算法并掌握其设计的方法和策略.⇒归纳整理,进行课堂小结,整体认识本节课所学知识并分层布置作业.⇒完成当堂双基达标,巩固所学知识并进行反馈矫正.宋丹丹的小品中有一个问题,把大象关进冰箱里需要几步.【提示】总共分三步:第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.对一类问题的机械的、统一的求解方法称为算法.(1)有限性:一个算法的步骤是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行,可以得到确定的结果,而不是模棱两可.(3)不惟一性:求解某一个问题的算法不一定是惟一的,可以有不同的算法,当然这些算法有繁简之分、优劣之别.(4)普遍性:很多具体的问题,都可以设计出合理的算法去解决.下列叙述能称为算法的个数是________.①植树需要运苗、挖坑、栽苗、浇水这些步骤;②顺序进行下列运算:1+1=2,2+1=3,3+1=4,…,99+1=100; ③3x >x +1;④求所有能被3整除的正数,即3,6,9,12…. 【思路探究】 根据算法的特征逐一作出判断.【自主解答】 ①②都是算法;③中没有给出一个确定的逻辑步骤来确定下一步做什么,不符合算法的确定性;④中的步骤是无限的,与算法的有限性矛盾.故应填2.【答案】 21.算法的定义是一个描述性定义,而算法的特征:明确性、有限性、可行性等揭示了算法的内涵,因此对于算法的了解,应从其特征入手.2.算法与普通数学问题的求解步骤是共性与个性的统一,但不能认为算法就是数学问题的求解步骤,它是解决一类问题的求解方法.下列语句中是算法的有________个.①从济南到巴黎,可以先乘火车到北京,再坐飞机抵达; ②利用公式S =12ah ,计算底为1、高为2的三角形的面积;③方程2x 2-x +1=0无实数根;④求M (1,2)与N (-3,-5)两点连线所在直线的方程,可先求直线MN 的斜率,再利用点斜式求得方程.【解析】 算法是解决某类问题而设计的一系列可操作或可计算的步骤,通过这些可有效地解决问题,显然四个语句中,①②④都是算法,③不是算法.【答案】 3设计一个算法,求底面边长为42,侧棱长为5的正四棱锥的体积.【思路探究】 由底边长可求底面积.由底面边长及侧棱长可求出正四棱锥的高,然后代入体积公式即可.【自主解答】S1 取a =42,l =5; S2 计算R =2·a2;S3 计算h =l 2-R 2; S4 计算S =a 2; S5 计算V =13Sh ;S6 输出运算结果.1.设计算法的步骤为:(1)认真分析问题,找出解决此问题的一般数学方法; (2)借助有关的变量或参数对算法加以表述; (3)将解决问题的过程划分为若干步骤;(4)用简练的语言将各个步骤表示出来,即为该具体问题的算法.2.设计算法要做到以下几点:(1)写出的算法必须能解决一类问题,并且能够重复使用;(2)要使算法尽量简单,步骤尽量少;(3)要保证算法正确,且计算机能够执行.(2013·潍坊高一检测)求两底面半径分别为2和4,高为4的圆台的表面积及体积,写出解决该问题的一个算法.【解】S1 取r 1=2,r 2=4,h =4; S2 计算l =r 2-r 12+h 2;S3 计算S =πr 21+πr 22+π(r 1+r 2)·l ; S4 计算V =13π(r 21+r 22+r 1r 2)·h ;S5 输出S 、V .写出解方程x 2-2x -3=0的一个算法.【思路探究】 解一元二次方程可用因式分解法和分式法,根据这两种方法写出算法. 【自主解答】 法一 S1 移项,得x 2-2x =3①; S2 将①两边同时加上1,并配方,得(x -1)2=4②; S3 将②两边开平方得x -1=±2③; S4 解③得x 1=3,x 2=-1.法二 S1 计算判别式Δ=(-2)2-4×1×(-3);S2 将a =1,b =-2,c =-3代入求根公式x =-b ±b 2-4ac 2a ,得x 1=3,x 2=-1.1.对于这类解方程(或方程组)的问题,设计其算法时,一般按照数学上解方程(或方程组)的方法进行设计.2.设计时要注意全面考虑方程(或方程组)的解的情况,即先确定方程(或方程组)是否有解,有解时,还需确定几个解,然后按照求解的步骤设计.写出求方程组⎩⎨⎧3x -2y =14, ①x +y =-2, ②的解的算法.【解】 法一 S1 ②×2+①,得5x =14-4③; S2 解方程③,得x =2④; S3 将④代入②,得2+y =-2⑤; S4 解⑤得y =-4; S5 得到方程组的解为⎩⎪⎨⎪⎧x =2,y =-4.法二 S1 由②式移项可得x =-2-y ③; S2 把③代入①,得y =-4④; S3 把④代入③,得x =2;S4 得到方程组的解为⎩⎪⎨⎪⎧x =2,y =-4.忽视算法的确定性致错给出将1 573分解成奇因数的乘积的形式的一个算法.【错解】 算法步骤如下: S1 判断1 573是否为素数:否;S2 寻找1 573的最小奇因数;不是2,不是3…….【错因分析】 第二步的结果是不确定的,“不是2,不是3……,到底有多少不确定”. 【防范措施】 算法的每一步都要有明确具体的结果,设计算法时要明确每一个步骤,只能有一个确定的后续步骤并且得到确定的结果,不能模棱两可.【正解】 算法步骤如下: S1 判断1 573是否为素数:否;S2 确定1 573的最小奇因数:11,即1 573=11×143; S3 判断143是否为素数:否;S4 确定143的最小奇因数:11,即143=11×13; S5 判断13是否为素数:是; S6 1 573=11×11×13.算法的含义要明确以下两点:1.算法是建立在解法基础上的操作过程,算法不一定有结果,答案可以由计算机解决.2.算法没有固定的模式,但有以下几个要求.(1)符合运算规则,计算机能操作.(2)每一个步骤都有一个明确的计算任务.(3)对重复操作步骤返回处理.(4)步骤个数尽可能少.(5)每个步骤的语言描述要准确,简明.1.给出以下叙述:①过河要走桥或乘船;②老师提出的问题能回答正确;③做米饭需刷锅、淘米、添水、加热等几个步骤;④学习通常需要预习、听讲、质疑、练习、复习巩固等步骤.其中能称为算法的是________.【解析】①②具有不确定性,③④与实际相符,每一步都具有确定性和可执行性,都可称为一个算法.【答案】③④2.在教材中的“猜数”游戏中,主持人告诉竞猜者某商品的价格低于4 000元,而该商品的实际价格为1 500元,则竞猜者用二分搜索法猜数时第一次的报数为________,按照教材中的规则,此人需要________次即可猜中.【解析】每次报数都是取中间值,所以第一次报数应该取0与4 000的中间值2 000,第二次报数0与2 000的中间值1 000,第三次报1 000与2 000的中间值1 500.【答案】 2 000 33.下面给出了一个计算圆的面积的算法:S1 取R=5;S2 计算S=πR2;S3 输出S.则S=________.【解析】S=π×52=25π.【答案】25π4.已知直角三角形两直角边长a,b,设计求斜边长c的一个算法.【解】S1 输入直角三角形的两直角边长a、b的值;S2 计算c=a2+b2;S3 输出斜边长c的值.一、填空题1.看下面的三段话,其中不是解决问题的算法的是________.①解一元二次方程的步骤是去分母,去括号,移项,合并同类项,系数化为1.②方程x2=4有两个实根.③求1+2+3+4的值,先计算1+2=3,再计算3+3=6,最后计算6+4=10,最终结果为10.【解析】结合算法的含义知②不是解决问题的算法.【答案】②2.下列关于算法的描述正确的是________.①算法与求解一个问题的方法相同②算法只能解决一个问题,不能重复使用③算法过程要一步一步执行,每步执行的操作必须确切④设计算法要本着简单可行的原则【解析】根据算法的含义及特点,只有③④正确.【答案】③④3.下列所给问题中,其中不能设计一个算法求解的是________.①二分法解方程x 2-3=0(精确到0.01); ②解方程组⎩⎪⎨⎪⎧x +y +5=0,x -y +3=0;③求半径为2的球的体积; ④证明y =x 2为偶函数.【解析】 根据算法特征知①②③都可以设计算法求解,而④不可以. 【答案】 ④4.用电水壶烧开水的一个算法过程如下: S1 打开电水壶的盖子,加水后盖上盖子; S2 接通电源;S3 在水开后,断开电源. 对于上述算法,有以下几种说法: ①顺序不能改变;②第一步与第二步可以互换; ③第二步是必须具有的步骤;④第三步可以变为“在水开后,倒出开水”. 其中说法正确的是________.【解析】 ①③正确,②④的说法不符合安全用电常识. 【答案】 ①③5.(2013·广州高一检测)完成不等式-2x -5>x +1的算法过程. S1 移项并合并同类项,得________.S2 在不等式的两边同时除以x 的系数,得________. 【解析】 依据解一元一次不等式的步骤进行. 【答案】 -3x >6 x <-26.已知一个学生的语文成绩是89,数学成绩是96,外语成绩是99,求他的总分和平均分的一个算法如下,请补充完整:S1 取A =89,B =96,C =99; S2 计算总分S =________; S3 计算平均分M =________; S4 输出S ,M .【解析】 总分S =89+96+99; 平均分M =89+96+993=S3.【答案】 89+96+99 S37.(2013·西宁高一检测)对于一般的二元一次方程组⎩⎪⎨⎪⎧a 1x +b 1y =c 1,a 2x +b 2y =c 2,设计解此方程组的算法时,第一步为________.【解析】 由于未知数的系数不确定,故该方程组不一定有解,当a 1b 2=a 2b 1时,该方程组无解,故第一步应为验证a 1b 2与a 2b 1是否相等.【答案】 验证a 1b 2=a 2b 1是否成立8.有一堆形状大小相同的珠子,其中只有一粒重量比其他的轻,某同学利用科学的算法,最多两次利用天平找出了这颗最轻的珠子,则这堆珠子最多的粒数是________.【解析】 最多是9粒,第一次是天平每边3粒,若平衡,则所求在剩余的3粒中,在这3粒中选出两粒,再放在天平的两边,若平衡,余下的一颗即为最轻的珠子,若不平衡,则天平高的一边即为最轻的珠子;若第一次天平不平衡,则在轻的一边选出两粒,再放在天平的两边,同样可以得到最轻的珠子.【答案】 9 二、解答题9.写出求一元二次方程ax 2+bx +c =0的根的一个算法. 【解】 算法如下:S1 计算Δ=b 2-4ac ; S2 若Δ<0,则方程无实根;S3 若Δ≥0,则x (1,2)=-b ±b 2-4ac2a.10.已知平面直角坐标系中点A (-2,0),B (3,1),写出求直线AB 的方程的一个算法. 【解】 法一 算法步骤如下. S1 求出直线AB 的斜率k =1-03--=15; S2 选定A (-2,0),用点斜式写出直线AB 的方程y -0=15[x -(-2)];S3 将第二步的运算结果化简,得到方程x -5y +2=0. 法二 算法步骤如下.S1 设直线AB 的方程为y =kx +b ;S2 将A (-2,0),B (3,1)代入第一步设出的方程,得到⎩⎪⎨⎪⎧-2k +b =0,3k +b =1;S3 解第二步所得的方程组,得到k =15,b =25;S4 把第三步得到的结果代入第一步所设的方程,得到y =15x +25;S5 将第四步所得的结果整理,得到方程x -5y +2=0.11.试写出一个判断圆(x -a )2+(y -b )2=r 2和直线Ax +By +C =0位置关系的算法. 【解】 S1 输入圆心的坐标(a ,b ),直线方程的系数A 、B 、C ; S2 计算Z 1=Ax 0+By 0+C ; S3 计算Z 2=A 2+B 2; S4 计算d =|Z 1|Z 2;S5 若d >r ,则相离;若d =r ,则相切,若d <r ,则相交.(教师用书独具)实际问题的算法设计有蓝和黑两个墨水瓶,但现在却错把蓝墨水装在了黑墨水瓶中,黑墨水错装在了蓝墨水瓶中,要求将其互换,请你设计算法解决这一问题.【思路探究】 本题实质上是考查交换两个变量值的算法.要交换两个变量的值,要先寻找第三个变量作为中间变量,再进行交换.【规范解答】 S1 找一个大小与蓝和黑两个墨水瓶相同的空瓶子A ; S2 将蓝墨水倒入空瓶子A 中;S3 将黑墨水倒入原来装蓝墨水的瓶子中; S4 将蓝墨水倒入原来装黑墨水的瓶子中.两个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡一个大人或两个小孩,他们四人都会划船,但都不会游泳,他们如何渡河?请写出你设计的渡河的算法.【解】 S1 两个小孩同船渡过河去; S2 一个小孩划船回来;S3 一个大人独自划船渡过河去;S4 对岸的小孩划船回来;S5 两个小孩再同船渡过河去;S6 一个小孩划船回来;S7 余下的另一个大人独自划船渡过河去;S8 对岸的小孩划船回来;S9 两个小孩再同船渡过河去.§1.2流程图1.2.1 顺序结构(教师用书独具)●三维目标1.知识与技能:掌握顺序结构的特点,设计方法.2.过程与方法:学会用算法分析问题;能够使用顺序结构编写简单的程序解决具体问题.3.情感态度与价值观:体会用结构化方法解决数学问题的便捷性;明确结构化在程序设计中的重要作用;激励尝试使用多种方法解决问题;培养良好的编程习惯和态度.●重点难点重点:各种图框的功能,会用算法图框表示顺序结构.难点:对顺序结构的概念的理解;利用图框表示流程线顺序结构.(教师用书独具)●教学建议从知识结构上来说,学生在本章第一节已经了解了一些算法的基本思想,这是本节课的重要知识基础,从能力上来说,这个阶段的学生已经具有一定的分析问题、解决问题的能力,逻辑思维能力也初步形成,思维比较活跃但缺乏严谨性.因此,在设计教学中不仅要充分调动学生的学习积极性,更要注意培养学生严谨的数学思维和语言组织能力.由于学生首次接触算法图框,根据教学内容、教学目标和学生的认知水平,本节课主要采取问题导入式教学,即“创设情境,提出问题——讨论问题,提出方案——交流方案,解决问题——模拟练习,运用问题——归纳总结,完善认识”,通过对问题的探究过程让学生掌握新知识,同时在解决问题的过程中掌握新知识的应用和解题过程,提高学生独立解题的能力.在老师的引导下,充分发挥学生的主观能动性,从问题入手,通过分析问题、交流方案、解决问题、运用问题的探索过程,让学生全程参与到问题的探索中而突破难点.通过学生对常见的图框及功能的理解和认识,结合典型例题及变式训练,使学生初步掌握顺序结构的流程图的设计而强化了重点.●教学流程创设问题情境,引出问题:如何形象直观的表示算法?⇒引导学生结合前面学习过的算法的含义理解常见的图框及功能,把握流程图的概念.⇒通过引导学生回答所提问题理解顺序结构的特点及能够解决的问题.⇒通过例1及其变式训练,使学生对流程图能够正确的认识和理解.⇒通过例2及其变式训练,使学生掌握较顺序结构流程图的画法.⇒通过例3及其变式训练,使学生明确顺序结构在实际生活中的应用并掌握求解策略.⇒归纳整理,进行课堂小结,整体认识本节课所学知识.⇒完成当堂双基达标,巩固所学知识并进行反馈矫正.1.如何形象直观的表示算法?【提示】图形方法.2.用图形方法表示算法有何优点? 【提示】 简洁、直观.1.流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序.2.常见的图框、流程线及功能顺序结构有何特点?【提示】 任何一个算法都离不开顺序结构,顺序结构是最简单、最基本的结构.依次进行多个处理的结构称为顺序结构.如图1-2-1,虚线框内是一个顺序结构,其中A 和B 两个框是依次执行的.顺序结构是一种最简单、最基本的结构.图1-2-1关于流程图的图形符号的理解正确的是______.(填序号)①流程图是描述算法的图形语言.②输入框可以在起始框后,也可以在判断框后.③判断框是唯一一个具有超过一个出口的图形符号.【思路探究】根据流程图的规则和每个框图所表示的功能逐一判断.【自主解答】①正确,由流程图的定义知.②正确,输入框可以在任何需要输入、输出的地方出现.③正确,判断框是具有多个出口的唯一符号.【答案】①②③正确理解流程图的概念,对构成流程图的各种图形符号的功能要准确把握,具体应用时注意其特点.掌握流程图的画法规则,画流程图的规则如下:(1)使用标准的图形符号;(2)一般按从上到下、从左到右的方向画;(3)除判断框外,大多数流程图的符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;(4)判断框分两大类:一类判断框是“Y”与“N”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非常简练、清楚.下列说法正确的是________.①任何一个流程图都必须有起止框;②流程线表示算法步骤执行的顺序,用来连结图框;③一个自然语言描述的算法只能对应一个流程图;④流程图中的流程线可以箭头不朝下.【解析】一个自然语言描述的算法,可能有多个流程图与之对应.【答案】①②④(2013·连云港高一检测)利用梯形的面积公式计算上底长为2、下底长为4、高为5的梯形的面积,设计解决该问题的一个算法,并画出流程图.【思路探究】 根据梯形的面积公式S =12(a +b )·h ,其中a 为上底长,b 为下底长,h为高,只要令a ←2,b ←4,h ←5,代入公式即可.【自主解答】 算法如下: S1 a ←2,b ←4,h ←5; S2 S ←12(a +b )·h ;S3 输出S . 流程图如下:1.画流程图时,应先根据题意设计算法,再画流程图,一般不直接画流程图. 2.应用顺序结构表示算法的步骤:(1)仔细审题,理清题意,找到解决问题的方法; (2)梳理解题步骤;(3)用数学语言描述算法,明确输入量、计算过程、输出量; (4)用流程图表示算法过程.已知一个三角形的三边长分别为2,3,4.利用海伦公式设计一个算法,求出该三角形的面积,并画出流程图.(海伦公式:已知三角形的三边长分别为a ,b ,c ,则三角形的面积S =pp -a p -bp -c ,其中p =a +b +c2)【解】 先将三角形的各边长赋值,求出三角形周长的一半,然后利用公式求解. 算法如下:S1 a ←2,b ←3,c ←4;S2 p ←a +b +c2;S3 S ←p p -a p -b p -c ;S4 输出S .流程图如图所示.如图1-2-2所示是为解决某个问题而绘制的流程图,仔细分析各图框内的内容及图框之间的关系,回答下面的问题:图1-2-2(1)该流程图解决的是怎样的一个问题?(2)若最终输出的结果y 1=3,y 2=-2,当x 取5时输出的结果5a +b 的值应该是多少? (3)在(2)的前提下,输入的x 值越大,输出的ax +b 是不是越大?为什么? (4)在(2)的前提下,当输入的x 值为多大时,输出结果ax +b 等于0?【思路探究】 先分析流程图的功能,然后根据函数关系式中变量间的关系依次解答,同时还要注意流程图中不同形式的图框的功能.【自主解答】 (1)该流程图解决的是求函数f (x )=ax +b 的函数值的问题. (2)y 1=3,即2a +b =3,y 2=-2, 即-3a +b =-2.由⎩⎪⎨⎪⎧2a +b =3,-3a +b =-2,得⎩⎪⎨⎪⎧a =1,b =1.∴f (x )=x +1.∴当x 取5时,5a +b =f (5)=5+1=6.(3)输入x 值越大,输出的函数值ax +b 越大.因为函数为增函数.(4)令f (x )=x +1=0,得x =-1,因此,当输入x 的值为-1时,输出的函数值为0.1.已知流程图,回答问题,首先应理清流程图的结构,本例中的流程图为——顺序结构.2.已知流程图的函数问题,将框图所表示的算法翻译成自然语言,是由用自然语言表达的算法画出流程图的逆向过程.对这两种语言的互译有助于熟练掌握算法的设计,而将流程图翻译成自然语言相对而言比较陌生,是一个难点.阅读如图1-2-3所示的流程图,回答下面的问题.图1-2-3(1)图框①中x ←4的含义是什么?(2)图框②中y 1←x 3+2x +3的含义是什么?计算y 1(3)图框④中y2←x2-2x的含义是什么?计算y2【解】(1)图框①的功能是初始化变量,令x=4.(2)图框②中y1←x3+2x+3的含义:该图框是在执行①的前提下,即当x=4时,计算x3+2x+3的值,并令y1等于这个值,y1=43+2×4+3=75.(3)图框④中y2←x2-2x的含义:该图框是在执行③的前提下,即当x=-1时,计算x2-2x的值,并令y2等于这个值,y2=(-1)2-2×(-1)=3.混淆构成流程图的符号及作用致误已知x=4,y=2,画出计算W=3x+4y的值的流程图.【错解】流程图如图(1)所示.(1) (2)【错因分析】输出框用平行四边形,而此题的错解中用了矩形框.【防范措施】 1.流程图中特定的符号表示特定的含义,不能乱用.2.熟练掌握流程图中的常见符号的含义及功能,掌握画流程图的技巧和方法.【正解】如图(2)画流程图时所遵循的规则如下:(1)使用标准的图形符号;(2)一般按从上到下、从左到右的方向画;(3)除判断框外,大多数流程图的符号只有一个进入点和一个退出点,判断框是具有超过一个退出点的唯一符号;(4)判断框分两大类,一类判断框是“是”与“否”两分支的判断,而且有且仅有两个结果,另一类是多分支判断,有几种不同的结果;(5)在图形符号内描述的语言要非常简练、清楚.1.下列是流程图的一部分,表示合理的是________.【解析】③是输入、输出框,不合要求,①②均可.【答案】①②2.流程图的图框“”可完成下列中的________.①输入a←10②判断a>10③输出a←10④赋值a←10【解析】图框为矩形框,其功能为计算或赋值,故④正确.【答案】④3.下列流程图1-2-4中输出S的值为________.图1-2-4【解析】该流程图的功能是求半径为r的圆的面积又r=5,∴S=25π.【答案】25π4.已知一个圆柱的底面半径为R,高为h,求出圆柱体积.设计解决该问题的一个算法,并画出相应的流程图.【解】算法如下:S1 输入R、h;S2 V←πR2h;S3 输出V.流程图如图.一、填空题1.下列关于流程线的说法.①流程线表示算法步骤执行的顺序,用来连结图框;②流程线只要是上下方向就表示自上向下执行可以不要箭头;③流程线无论什么方向,总要按箭头的指向执行;④流程线是带有箭头的线,它可以画成折线.其中正确的有________.【答案】①③④2.流程图中表示判断的图框是________.【解析】由各种图框的符号及含义表示可知一般用菱形框表示判断框.【答案】3.图1-2-5(2013·苏州高一检测)如图1-2-5所示,A杯原来装酒,B杯原来装油,C杯原来空杯,则流程图运行结果为(每次操作都全部倒完)A杯为______,B杯为________,C杯为________.【解析】运行结果为先把酒放到空杯C中,此时A杯空着,然后把B中的油放到A杯中,此时B杯空着,最后将C杯中的酒放到B杯中,此时C杯空着,此时A杯中为油,B 杯中为酒,C杯为空杯.【答案】油酒空杯4.如图1-2-6所示的流程图的输出结果P=________.图1-2-6【解析】P=m+5=2+5=7.【答案】75.图1-2-7(2013·宿迁高一检测)给出如图1-2-7所示流程图,若输出结果为12,则①处的图框中应填的是________.【解析】由b=a-3=12知a=15,∴3x-3=15即x=6,∴①中应填x←6.【答案】x←66.下列图1-2-8中的算法功能为________.(a>0,b>0)图1-2-8【解析】 d =a 2+b 2,c =d =a 2+b 2故可根据几何意义填,答案不唯一. 【答案】 求以a ,b 为直角的直角三角形斜边的长度7.图1-2-9(2)是计算图1-2-9(1)的阴影部分面积的一个流程图,则①中应该填________.图(1) 图(2)图1-2-9【解析】 设阴影部分面积为M ,则M =x 2-π·(x 2)2=(1-π4)x 2.【答案】 M ←(1-π4)x 28.图1-2-10如图1-2-10是一个算法的流程图,已知a 1=3,输出的结果为7,则a 2的值为________. 【解析】 由输出的结果为7易知a 1+a 2=14,又a 1=3,∴a 2=11. 【答案】 11。

高中数学 第一章 算法初步教案 (教师用) 新人教A版必修3

高中数学 第一章 算法初步教案 (教师用) 新人教A版必修3

新人教A版数学必修3全套教案第一章算法初步一、课标要求:1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读中国古代教学中的算法案例,体会中国古代数学世界数学发展的贡献。

2、算法就是解决问题的步骤,算法也是数学及其应用的重要组成部分,是计算机科学的基础,利用计算机解决问需要算法,在日常生活中做任何事情也都有算法,当然我们更关心的是计算机的算法,计算机可以解决多类信息处理问题,但人们必须事先用计算机熟悉的语言,也就是计算能够理解的语言(即程序设计语言)来详细描述解决问题的步骤,即首先设计程序,对稍复杂一些的问题,直接写出解决该问题的程序是困难的,因此,我们要首先研究解决问题的算法,再把算法转化为程序,所以算法设计是使用计算机解决具体问题的一个极为重要的环节。

3、通过对解决具体问题的过程与步骤的分析(如二元一次方程组的求解等问题),体会算法的思想,了解算法的含义。

理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构。

理解并掌握几种基本的算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句。

进一步体会算法的基本思想。

4、本章的重点是体会算法的思想,了解算法的含义,通过模仿、操作、探索,经过通过设计程序框图解决问题的过程。

点是在具体问题的解决过程中,理解三种基本逻辑结构,经历将具体问题的程序框图转化为程序语句的过程,理解几种基本的算法语句。

二、编写意图与特色:算法是数学及其应用的重要组成部分,是计算科学的重要基础。

随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。

需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。

在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章算法初步本章教材分析算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助.本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情.在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”也是高考考查重点.本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而提高自己数学能力.因此应从三个方面把握本章:(1)知识间的联系;(2)数学思想方法;(3)认知规律.1.1 算法与程序框图1.1.1 算法的概念整体设计教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固.三维目标1.正确理解算法的概念,掌握算法的基本特点.2.通过例题教学,使学生体会设计算法的基本思路.3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排 1课时教学过程导入新课思路1(情境导入)一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法. 思路2(情境导入)大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念. 思路3(直接导入)算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始. 推进新课 新知探究 提出问题(1)解二元一次方程组有几种方法?(2)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用加减消元法解二元一次方程组的步骤.(3)结合教材实例⎩⎨⎧=+-=-)2(,12)1(,12y x y x 总结用代入消元法解二元一次方程组的步骤.(4)请写出解一般二元一次方程组的步骤. (5)根据上述实例谈谈你对算法的理解. (6)请同学们总结算法的特征. (7)请思考我们学习算法的意义. 讨论结果:(1)代入消元法和加减消元法. (2)回顾二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 的求解过程,我们可以归纳出以下步骤:第一步,①+②×2,得5x=1.③第二步,解③,得x=51.第三步,②-①×2,得5y=3.④第四步,解④,得y=53.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x (3)用代入消元法解二元一次方程组⎩⎨⎧=+-=-)2(,12)1(,12y x y x 我们可以归纳出以下步骤:第一步,由①得x=2y -1.③第二步,把③代入②,得2(2y -1)+y=1.④第三步,解④得y=53.⑤第四步,把⑤代入③,得x=2×53-1=51.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧==.53,51y x (4)对于一般的二元一次方程组⎩⎨⎧=+=+)2(,)1(,222111c y b x a c y b x a其中a 1b 2-a 2b 1≠0,可以写出类似的求解步骤: 第一步,①×b 2-②×b 1,得 (a 1b 2-a 2b 1)x=b 2c 1-b 1c 2.③第二步,解③,得x=12212112b a b a c b c b --.第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y=a 1c 2-a 2c 1.④第四步,解④,得y=12211221b a b a c a c a --.第五步,得到方程组的解为⎪⎪⎩⎪⎪⎨⎧--=--=.,1221122112212112b a b a c a c a y b a b a c b c b x(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、不重不漏.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提,“后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算科学的重要基础.应用示例思路1例1 (1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.算法分析:(1)根据质数的定义,可以这样判断:依次用2—6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.算法如下:(1)第一步,用2除7,得到余数1.因为余数不为0,所以2不能整除7.第二步,用3除7,得到余数1.因为余数不为0,所以3不能整除7.第三步,用4除7,得到余数3.因为余数不为0,所以4不能整除7.第四步,用5除7,得到余数2.因为余数不为0,所以5不能整除7.第五步,用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数. (2)类似地,可写出“判断35是否为质数”的算法:第一步,用2除35,得到余数1.因为余数不为0,所以2不能整除35.第二步,用3除35,得到余数2.因为余数不为0,所以3不能整除35.第三步,用4除35,得到余数3.因为余数不为0,所以4不能整除35.第四步,用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤.变式训练请写出判断n(n>2)是否为质数的算法.分析:对于任意的整数n(n>2),若用i表示2—(n-1)中的任意整数,则“判断n是否为质数”的算法包含下面的重复操作:用i除n,得到余数r.判断余数r是否为0,若是,则不是质数;否则,将i的值增加1,再执行同样的操作.这个操作一直要进行到i的值等于(n-1)为止.算法如下:第一步,给定大于2的整数n.第二步,令i=2.第三步,用i除n,得到余数r.第四步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则,将i的值增加1,仍用i表示.第五步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则,返回第三步.例2 写出用“二分法”求方程x2-2=0 (x>0)的近似解的算法.分析:令f(x)=x2-2,则方程x2-2=0 (x>0)的解就是函数f(x)的零点.“二分法”的基本思想是:把函数f(x)的零点所在的区间[a,b](满足f(a)·f(b)<0)“一分为二”,得到[a,m]和[m,b].根据“f(a)·f(m)<0”是否成立,取出零点所在的区间[a,m]或[m,b],仍记为[a,b].对所得的区间[a,b]重复上述步骤,直到包含零点的区间[a,b]“足够小”,则[a,b]内的数可以作为方程的近似解.解:第一步,令f(x)=x2-2,给定精确度d.第二步,确定区间[a,b],满足f(a)·f(b)<0.第三步,取区间中点m=2ba.第四步,若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b].第五步,判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.当d=0.005时,按照以上算法,可以得到下表.的近似解.实际上,上述步骤也是求2的近似值的一个算法.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……思路2例1 一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量就会吃羚羊.该人如何将动物转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:具体算法如下:算法步骤:第一步:人带两只狼过河,并自己返回.第二步:人带一只狼过河,自己返回.第三步:人带两只羚羊过河,并带两只狼返回.第四步:人带一只羊过河,自己返回.第五步:人带两只狼过河.点评:算法是解决某一类问题的精确描述,有些问题使用形式化、程序化的刻画是最恰当的.这就要求我们在写算法时应精练、简练、清晰地表达,要善于分析任何可能出现的情况,体现思维的严密性和完整性.本题型解决问题的算法中某些步骤重复进行多次才能解决,在现实生活中,很多较复杂的情境经常遇到这样的问题,设计算法的时候,如果能够合适地利用某些步骤的重复,不但可以使得问题变得简单,而且可以提高工作效率.例2 喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:第一步,洗刷水壶.第二步,烧水.第三步,洗刷茶具.第四步,沏茶.算法二:第一步,洗刷水壶.第二步,烧水,烧水的过程当中洗刷茶具.第三步,沏茶.点评:解决一个问题可有多个算法,可以选择其中最优的、最简单的、步骤尽量少的算法.上面的两种算法都符合题意,但是算法二运用了统筹方法的原理,因此这个算法要比算法一更科学.例3 写出通过尺轨作图确定线段AB一个5等分点的算法.分析:我们借助于平行线定理,把位置的比例关系变成已知的比例关系,只要按照规则一步一步去做就能完成任务.解:算法分析:第一步,从已知线段的左端点A出发,任意作一条与AB不平行的射线AP.第二步,在射线上任取一个不同于端点A的点C,得到线段AC.第三步,在射线上沿AC的方向截取线段CE=AC.第四步,在射线上沿AC的方向截取线段EF=AC.第五步,在射线上沿AC的方向截取线段FG=AC.第六步,在射线上沿AC的方向截取线段GD=AC,那么线段AD=5AC.第七步,连结DB.第八步,过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点.点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练.知能训练设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:第一步,输入一元二次方程的系数:a,b,c.第二步,计算Δ=b2-4ac的值.第三步,判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.点评:用算法解决问题的特点是:具有很好的程序性,是一种通法.并且具有确定性、逻辑性、有穷性.让我们结合例题仔细体会算法的特点.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),如何设计一个程序,计算通话的费用.解:算法分析:数学模型实际上为:y关于t的分段函数.关系式如下:y=⎪⎩⎪⎨⎧∉>+-+∈>-+≤<).,3(),1]3([1.022.0),,3(),3(1.022.0),30(,22.0ZtTTZtttt其中[t-3]表示取不大于t-3的整数部分.算法步骤如下:第一步,输入通话时间t.第二步,如果t≤3,那么y=0.22;否则判断t∈Z是否成立,若成立执行y=0.2+0.1×(t-3);否则执行y=0.2+0.1×([t-3]+1).第三步,输出通话费用c.课堂小结(1)正确理解算法这一概念.(2)结合例题掌握算法的特点,能够写出常见问题的算法.作业课本本节练习1、2.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.。

相关文档
最新文档