第一章 算法初步 教案
高中数学《算法初步》教案新人教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
算法案例(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.有利于培养学生的思维能力算法一方面具有具体化、程序化、机械化的特点,同时又有抽象性、概括性和精确性.对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败,算法是思维的条理化、逻辑化,算法所体现出来的逻辑化特点被有些学者看成是逻辑学继形式逻辑和数理逻辑之后发展的第三个阶段.因此,培养逻辑思维能力,不仅可以通过几何论证、代数运算等手段来进行,还可以通过算法设计的学习来达到.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教学目的:总结算法解题的一般思路,即算法分析(提炼问题的数学本质)一一画出程序框图一一按框图编写伪代码;通过本章学习增强解题的规范性.教学重点:在准确理解算法的基础上,掌握流程图的画法及判断;掌握伪代码的编写.教学过程:例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
第一章算法初步§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全套教案第一章算法初步一、课标要求:1、本章的课标要求包括算法的含义、程序框图、基本算法语句,通过阅读中国古代教学中的算法案例,体会中国古代数学世界数学发展的贡献。
2、算法就是解决问题的步骤,算法也是数学及其应用的重要组成部分,是计算机科学的基础,利用计算机解决问需要算法,在日常生活中做任何事情也都有算法,当然我们更关心的是计算机的算法,计算机可以解决多类信息处理问题,但人们必须事先用计算机熟悉的语言,也就是计算能够理解的语言(即程序设计语言)来详细描述解决问题的步骤,即首先设计程序,对稍复杂一些的问题,直接写出解决该问题的程序是困难的,因此,我们要首先研究解决问题的算法,再把算法转化为程序,所以算法设计是使用计算机解决具体问题的一个极为重要的环节。
3、通过对解决具体问题的过程与步骤的分析(如二元一次方程组的求解等问题),体会算法的思想,了解算法的含义。
理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构。
理解并掌握几种基本的算法语句——输入语句、输出语句、赋值语句、条件语句、循环语句。
进一步体会算法的基本思想。
4、本章的重点是体会算法的思想,了解算法的含义,通过模仿、操作、探索,经过通过设计程序框图解决问题的过程。
点是在具体问题的解决过程中,理解三种基本逻辑结构,经历将具体问题的程序框图转化为程序语句的过程,理解几种基本的算法语句。
二、编写意图与特色:算法是数学及其应用的重要组成部分,是计算科学的重要基础。
随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
需要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。
在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。
高中数学 第一章 算法初步教案 新人教A版必修3
第一章算法初步1.1算法与程序框图第一课时算法的概念教学目标1.通过实例体会算法思想,了解算法的含义与主要特点;2.能按步骤用自然语言写出简单问题的算法过程;3.培养学生逻辑思维能力与表达能力.教学重点将问题的解决过程用自然语言表示为算法过程.教学难点用自然语言描述算法.教学过程一.序言算法不仅是数学及其应用的重要组成部分,也是计算机理论和技术的核心.在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机几乎渗透到了人们生活的所有领域.那么,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.同时,算法有利于发展有条理的思考与表达的能力,提高逻辑思维能力.在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程、求解方程的步骤等等,完成这些工作都需要一系列程序化的步骤,这就是算法的思想.二、数学运用 1.算法描述举例例1.给出求1+2+3+4+5的一个算法. 解: 算法1 按照逐一相加的程序进行. 第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6; 第三步:将第二步中的运算结果6与4相加,得到10; 第四步:将第三步中的运算结果10与5相加,得到15.算法2 运用公式123n ++++=2)1(+n n 直接计算.第一步:取=5;第二步:计算()21+n n ;第三步:输出运算结果.说明:一个问题的算法可能不唯一 例2.给出求解方程组274511x y x y +=⎧⎨+=⎩的一个算法.分析:解线性方程组的常用方法是加减消元法和代入消元法,这两种方法没有本质的差别,为了适用于解一般的线性方程组,以便于在计算机上实现,我们用高斯消元法(即先将方程组化为一个三角形方程组,在通过回代过程求出方程组的解)解线性方程组.解:用消元法解这个方程组,步骤是:第一步:方程①不动,将方程②中的系数除以方程①中的系数,得到乘数422m ==;第二步:方程②减去乘以方程①,消去方程②中的项,得到2733x y y +=⎧⎨=-⎩; 第三步:将上面的方程组自下而上回代求解,得到1y =-,4x =.所以原方程组的解为41x y =⎧⎨=-⎩2、算法概念算法:在数学中,算法通常是指按照一定规则解决某一个或一类问题的明确和有限的步骤。
算法初步教案
算法初步教案教案标题:算法初步教案教学目标:1. 了解算法的基本概念和作用;2. 掌握常见的算法思想和解题方法;3. 能够使用算法解决简单的问题。
教学内容:1. 算法的定义和基本概念;2. 常见的算法思想和解题方法,如贪心算法、动态规划、回溯算法等;3. 算法的应用实例。
教学步骤:一、导入新知1. 利用一个生动的例子引入算法的概念,如比较两个数的大小;2. 引导学生思考解决这个问题的方法,引出算法的概念。
二、讲解算法的基本概念和作用1. 介绍算法的定义和基本特征,如输入、输出、确定性和有限性;2. 解释算法在现实生活中的应用,如搜索引擎的排序算法、导航系统的路径规划算法等。
三、介绍常见的算法思想和解题方法1. 贪心算法:a. 解释贪心算法的基本思想和应用场景;b. 通过一个简单的例子演示贪心算法的求解过程。
2. 动态规划:a. 介绍动态规划的基本思想和应用场景;b. 通过一个经典的背包问题演示动态规划的求解过程。
3. 回溯算法:a. 解释回溯算法的基本思想和应用场景;b. 通过一个八皇后问题演示回溯算法的求解过程。
四、应用实例展示1. 选取一个简单的实际问题,如找零钱问题;2. 分析问题的特点,选择合适的算法思想和解题方法;3. 演示如何使用算法解决问题,并解释求解过程。
五、练习与巩固1. 提供一些算法练习题,让学生运用所学知识解决问题;2. 强调算法的思维方式和解题思路,鼓励学生动手实践。
六、总结与拓展1. 对本节课学习内容进行总结,强调算法的重要性和应用价值;2. 提供一些拓展资源,鼓励学生深入学习和应用算法。
教学评估:1. 课堂练习题的完成情况;2. 学生对算法思想和解题方法的理解程度;3. 学生对算法应用实例的分析和解决能力。
教学延伸:1. 鼓励学生参加编程竞赛,提高算法解题能力;2. 引导学生深入研究更复杂的算法思想和应用领域;3. 推荐相关的学习资源和参考书籍,拓宽学生的算法知识面。
2019-2020年高中数学必修三:第一章 算法初步第三、四课时 秦九韶算法与排序 教案
2019-2020年高中数学必修三:第一章 算法初步第三、四课时 秦九韶算法与排序 教案(1)教学目标(a )知识与技能1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
(b )过程与方法模仿秦九韶计算方法,体会古人计算构思的巧妙。
能根据排序法中的直接插入排序法与冒泡排序法的步骤,了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
(c )情态与价值通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
通过对排序法的学习,领会数学计算与计算机计算的区别,充分认识信息技术对数学的促进。
(2)教学重难点重点:1.秦九韶算法的特点2.两种排序法的排序步骤及计算机程序设计难点:1.秦九韶算法的先进性理解2.排序法的计算机程序设计(3)教学设想(一)创设情景,揭示课题我们已经学过了多项式的计算,下面我们计算一下多项式1)(2345+++++=x x x x x x f 当5=x 时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为:1)))1(1(1()(2+++++=x x x x x x f 再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
显然少了6次乘法运算。
这种算法就叫秦九韶算法。
(二)研探新知1.秦九韶计算多项式的方法1210123120132211012211)))((())(()()(a a x a x a x a a x a x a x a x a a x a x a x a x a a x a x a x a x a x f n n n n n n n n n n n n n n n n n n n +++++==+++++=+++++=+++++=--------------例1 已知一个5次多项式为8.07.16.25.325)(2345-+-++=x x x x x x f用秦九韶算法求这个多项式当5=x 时的值。
高中数学 第一章 算法初步 教案新 新人教A版必修3
算法教学内容:一、基本要求内容与要求1.算法初步(约12课时)(1)算法的含义、程序框图①通过对解决具体问题过程与步骤的分析(如二元一次方程组求解等问题),体会算法的思想,了解算法的含义。
②通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。
在具体问题的解决过程中(如三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。
(2)基本算法语句③经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句--输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想。
(3)④通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。
何谓经历?了解——经历——理解——掌握——运用——灵活运用说明与建议1.算法是高中数学课程中新内容,其思想是非常重要的,但并不神秘。
例如,运用消元法解二元一次方程组、求最大公因数等的过程就是算法。
本模块中的算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法,在条件允许的学校,使其能在计算机上实现。
为了有条理地、清晰地表达算法,往往需要将解决问题的过程整理成程序框图;为了能在计算机上实现,还需要将自然语言或程序框图翻译成计算机语言。
本模块的主要目的是使学生体会算法的思想,提高逻辑思维能力。
不要将此部分内容简单处理成程序语言的学习和程序设计。
2.算法教学必须通过实例进行,使学生在解决具体问题的过程中学习一些基本逻辑结构和语句。
有条件的学校,应鼓励学生尽可能上机尝试。
3.算法除作为本模块的内容之外,其思想方法应渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题。
不同的程序语言有不同的语言形式。
教材A版中使用的是类语言。
B版使用的是scilab 语言。
算法是数学及其应用的重要组成部分,是计算科学的重要基础。
随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。
江苏省徐州市高中数学第一章算法初步复习教案苏教版必修3
第一章算法初步教学目标1、理解流程图的三种基本逻辑结构,能用三种基本结构设计简单的算法流程图。
2、会用伪代码表述四种基本算法语句教学重难点理解流程图的三种基本逻辑结构,能用三种基本结构设计简单的算法流程图教学参考教材、教参、学案授课方法启发引导、讲练结合教学辅助手段多媒体专用教室教学过程设计教学二次备课【典型例题】例1、 用条件语句表示:输入x 的值,通过(]()[)⎪⎩⎪⎨⎧+∞∈-∈+-∞-∈--=-,2,22,2,22,,421x x x x x y x 计算y 的值,并画出流程图。
例2、(1)下列程序执行后输出的结果是 。
(2) 下面是一个算法的伪代码 如果输入的x 的值是20, n←2 则输出的y 的值是 s←0 While s 〈17s←s+n n←n+1EndWhilePrint n教学过程设计教 学 二次备课Read x If x ≤5 Theny ←10xElse例3、下列流程图表示的数学解析式是什么?【巩固练习】 1、看右面的伪代码,最终输出的结果是( )A 。
1+2+3+…+100B 。
12+22+32+…+1002C.1+3+5+…+99D 。
12+32+52+…+9922、如果在右面程序中运行后输出的结果为132,那么在程序While 后面的“条件”应为3、读下面程序,输出结果是5、右面程序运行结果是 .6、右面算法实现的功能是 四、小结:4、下面程序运行结果是。
是12-←x y113-←x y 是否1<x 输出y开始 x y ← 输入x结束10<x否S ←0For I From 1 To 100 Step 2S ←S+I 2End ForS WhileEnd i i iS S While i S Print 1 12 1-←⨯←←←,x ←1 y ←2 z ←3x ←y y ←zz ←xPrint x, y,zS ←0 I ←10While I ≥1 S ←S+Ij ←1 S ←0 While s ≤10 S ←S+j S ←1 I ←1 While S ≤2005 i ←i+2者:本文由我和我的同事在百忙中收集整编出来,本文稿在发布之前我们对内容进行仔细校对,但是难免会有不尽如人意之处,如有疏漏之处请指正,希望本文能为您解开疑惑,引发思考。
高中数学必修三第一章算法初步全章教案
1.1算法的定义教学目标:1.通过实例体会算法的思想,了解算法的含义;2.能按照步骤用自然语言写出简单问题的算法过程;3.了解算法的主要特点.教学重点:算法的概念.教学难点:算法的理解及设计.教学过程:一、问题情境情境1:现代科学技术的发展,给我们的日常生活带来了很大的变化,和远方的朋友相联系,很少再有人去写纸质的信了,代之以打电话或上网发电子邮件等,我们在座的各位同学可能都有收发电子邮件的经历,有哪位同学能把发电子邮件的方法和步骤说一下?情境2:大家可能都看过中央电视台李咏曾经主持的“猜价格,赢商品”的节目,竞猜者如果在规定的时间内猜出某种商品的价格,就可赢得该商品.现有一商品,价格在0~8000元之间,如果让你去猜,你如何在较短的时间内猜中价格?二、学生活动1.第一步:上网打开电子邮箱;第二步:点击“写邮件”;第三步:输入发送地址;第四步:输入主题;第五步:输入信件内容;第六步:点击“发送邮件”.2.第一步:报“4000元”;第二步:若主持人说“高”了(说明价格在0~4000之间),就报“2000”,否则(价格在4000~8000之间)报“6000”;第三步:重复第二步的报数方法,直到得到正确的结果.3.小结:从以上两例可以看出,我们都是在按一定的程序进行了一系列机械的操作来完成一事件,其中就蕴含了算法的思想.三、建构数学1.算法的概念.对于一项任务,按照事先设计好的步骤,一步一步地执行,并在有限步内完成任务,则这些步骤称为完成该任务的一个算法.2.算法的特征.(1)确定性:即求解的过程是事先确定的,有确定的步骤.在执行算法的过程中,我们只是机械地一步一步地照着做.(2)可行性:即算法执行过程中的每一步都是能够做到的.(3)有穷性:即算法在有穷步骤之后结束,这包含着算法运行的时间是有限的,运行时(在计算机中需要的存储)空间也是有限的.不满足有穷性的算法是没有实际意义的.(4)通用性:一般来说,算法应有某种通用性,可以解决某一类问题.(5)有输出特征:算法执行之后应有结果,应完成给定的任务.四、数学运用1.例题.例1给出求1+2+3+4+5+6+7的一个算法.解析:本例主要是培养学生理解概念的程度,了解解决数学问题都需要算法.算法一:按照逐一相加的程序进行.第一步计算1+2,得到3;第二步将第一步中的运算结果3与3相加,得到6;第三步将第二步中的运算结果6与4相加,得到10;第四步将第三步中的运算结果10与5相加,得到15;第五步 将第四步中的运算结果15与6相加,得到21; 第六步 将第五步中的运算结果21与7相加,得到28. 算法二:可以运用公式1+2+3+…+n =n (n +1)2直接计算. 第一步 取n =7; 第二步 计算n (n +1)2 ;第三步 输出运算结果.例2给出求解方程组⎩⎪⎨⎪⎧2x +y =5 ①4x +5y =13 ② 的一个算法.解析:消元法,步骤:第一步 方程①不动,将方程②中的x 的系数除以方程①中x 的系数,得到乘数m =42 =2;第二步 方程②减去m 乘以方程①,消去方程②中的x项,得到⎩⎪⎨⎪⎧2x +y =53y =3第三步 将上面的方程组自下而上回代求解,得到y =1,x =2,所以原方程组的解为⎩⎪⎨⎪⎧x =2y =1,这种消元回代的算法适用于一般线性方程组的求解.点评:一个算法,就是一个有穷规则的集合,它为某个特定类型问题提供了解决问题的运算序列.其中的每条规则必须是明确定义的、可行的.序列的终止表示问题得到解答或指出问题没有解答.2.练习.课本P36页第1题. 五、要点归纳与方法小结 本节课学习了以下内容: 算法的概念和算法的特征.1.2流程图教学目标:1.理解流程图的概念;2.能识别和理解简单框图的功能.教学过程:一、建构教学 1.流程图的概念:流程图是用一些图框和流程线来表示算法程序结构的一种图形程序.它直观、清晰,便于检查和修改.其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序.2.规范流程图的表示: ①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画,流程线要规范; ③除判断框外,大多数框图符号只有一个进入点和一个退出点. ④在图形符号内描述的语言要非常简练、清楚. 二、数学运用 例1 已知1()21xf x =+,写出求(4)(3)(2)(4)f f f f -+-+-++的一个算法,并画出流程图.解 1S 0S ←;2S 4I ←-;3S 1()21I f I ←+; 4S ()S S f I ←+;5S 1I I ←+; 6S 若4I ≤,转3S ,否则输出S . 例2 高一某班一共有50名学生,设 计一个算法,统计班上数学成绩良好(分数大于80且小于90)和优秀(分数大或等于90)的学生人数,并画出流程图. 解:算法如下:1S 1n ←,0a ←,0b ←;2S 输入成绩r ;3S 若89r >,则1a a ←+,转5S ; 4S 若80r >,则1b b ←+; 5S 1n n ←+;6S 若50n ≤,转2S ,否则,输出a 和b ;1.2.1顺序结构教学目标:1. 理解流程图的概念以及顺序结构.2. 能识别和理解简单的框图的功能.3. 能运用顺序结构设计流程图以解决简单的问题.N50n >输出a ,b Y1b b ←+1a a ←+1n ←,0a ← ,0b ←输入成绩r89r > 80r >Y1n n ←+ NY结束开始教学方法:1. 通过模仿、操作、探索,经历设计流程图表达求解问题的过程,加深对流程图的感知.2. 在具体问题的解决过程中,掌握基本的流程图的画法和顺序结构.教学过程:一、问题情境1.情境:回答下面的问题:(1)123100++++=;(2)123n++++=;2.问题:已知1232006n++++>,求n的最小值,试设计算法.二、学生活动学生讨论,教师引导学生进行表达.解1S取1n=;2S计算2)1(+nn;3S若(1)20062n n+>,则输出n;否则,使1n n=+,转2S.上述算法可以用框图直观地描述出来:教师边讲解边画出第7页图1-2-1,这样的框图我们称之为流程图.三、建构数学2.构成流程图的图形符号及其作用(课本第7页),结合图形讲解.3.规范流程图的表示: ①使用标准的框图符号;②框图一般按从上到下、从左到右的方向画,流程线要规范; ③除判断框外,大多数框图符号只有一个进入点和一个退出点. ④在图形符号内描述的语言要非常简练、清楚.4.从流程图121--可以看出,该算法步骤中,有些是按顺序执行,有些需要选择执行,而另外一些需要循环执行.事实上,算法都可以由顺序结构、选择结构、循环结构这三块“积木”通过组合和嵌套表达出来.5.顺序结构的概念:依次进行多个处理的结构称为顺序结构. 四、数学运用 1.顺序结构举例例1 写出作ABC ∆的外接圆的一个算法. 解 1S 作AB 的垂直平分线1l ;2S 作BC 的垂直平分线2l ;3S 以1l 与2l 的交点M 为圆心,MA 为半径作圆,圆M 即为ABC ∆的外接圆.说明 1.以上过程通过依次执行1S 到3S 这三个步骤,完成了作外接圆这一 问题,这种依次进行多个处理的结构就是顺序结构.2.上述算法的流程图如下图1所示,它是一个顺序结构.作BC 的垂直平分线2l 作AB 的垂直平分线1l以1l 与2l 的交点M 为圆心,MA 为半径作圆p x ← x y ← y p ← ↓↓ ↓↓图1 图2例2 已知两个单元分别存放了变量x 和y 的值,试交换这两个变量值. 说明 1.在计算机中,每个变量都分配了一个存储单元,它们都有各自的地址.2.为了表达方便,我们用符号“p x ←”表示“把x 赋给p ”. 解 为了达到交换的目的,需要一个单元存放中间变量p . 算法是:1S p x ←; {先将x 的值赋给变量p ,这时存放变量x 的单元可作它用} 2S x y ←; {再将y 的值赋给x ,这时存放变量y 的单元可作它用} 3S y p ←. {最后将p 的值赋给y ,两个变量x 和y 的值便完成了交换} 说明:上述算法的流程图如上图2所示,它是一个顺序结构.例3 半径为r 的圆的面积计算公式为2πS r =,当10r =时,写出计算圆面 积的算法,画出流程图. 解 算法如下:1S 10r ←; 2S 2πS r ←;3S 输出S .说明:上述算法的流程图如右图所示,它是一个顺序结构. 2.练习:课本第9页练习第1,2题. 五、要点归纳与方法小结 本节课学习了以下内容: 1.流程图的概念:流程图是用一些图框和流程线来表示算法程序结构的一种图形程序.它直观、清晰,便于检查和修改.2.画流程图的步骤:首先用自然语言描述解决问题的一个算法,再把自然语言转化为流程图;3.顺序结构的概念:依次进行多个处理的结构称为顺序结构.1.2.2选择结构教学目标:1.理解流程图的选择结构这种基本逻辑结构.2.能识别和理解简单的框图的功能.3. 能运用三种基本逻辑结构设计流程图以解决简单的问题.教学方法:1. 通过模仿、操作、探索,经历设计流程图表达求解问题的过程,加深对流程图的感知.2. 在具体问题的解决过程中,掌握基本的流程图的画法和流程图的三种基本逻辑结构.教学过程:一、问题情境1.情境:某铁路客运部门规定甲、乙两地之间旅客托运行李的费用为0.53,50,500.53(50)0.85,50,c ωωωω⨯≤⎧=⎨⨯+-⨯>⎩其中ω(单位:kg )为行李的重量.试给出计算费用c (单位:元)的一个算法,并画出流程图. 二、学生活动学生讨论,教师引导学生进行表达. 解 算法为:1S 输入行李的重量ω;2S 如果50ω≤,那么0.53c ω←⨯,否则500.53(50)0.85c ω←⨯+-⨯;3S 输出行李的重量ω和运费c .上述算法可以用流程图表示为: 教师边讲解边画出第10页图1-2-6. 在上述计费过程中,第二步进行了判断. 三、建构数学 1.选择结构的概念:先根据条件作出判断,再决定执行哪一种 操作的结构称为选择结构.如图:虚线框内是一个选择结构,它包含一个判断框,当条件p 成立(或称条件p 为“真”)时执行A ,否则执行B .2.说明:(1)有些问题需要按给定的条件进行分析、比较和判断,并按判 断的不同情况进行不同的操作,这类问题的实现就要用到选择结构的设计;(2)选择结构也称为分支结构或选取结构,它要先根据指定的条件进行判断,再由判断的结果决定执行两条分支路径中的某一条;(3)在上图的选择结构中,只能执行A 和B 之一,不可能既执行A ,又执 行B ,但A 或B 两个框中可以有一个是空的,即不执行任何操作;(4)流程图图框的形状要规范,判断框必须画成菱形,它有一个进入点和 两个退出点.3.思考:教材第7页图121--所示的算法中,哪一步进行了判断?四、数学运用分析 由于一元二次方程未必总有实数根,因此,求解时,要先计算判别式△24b ac =-,然后比较△与0的大小,再决定能否用求根公式求解.所以,在算法中应含有选择结构.思考:如果要输出根的详细信息(区分是两个相等的实数根还是不等的实数根),如何修改上述算法和流程图?例2 解 1S 输入任意实数x ;2S 若0≥x ,则y x ←;否则y x ←-; 3S 输出y . 算法流程图如右.2.练习:课本第11页练习第1,2,3题. 五、要点归纳与方法小结 本节课学习了以下内容:1.选择结构的概念:先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构.2.理解选择结构的逻辑以及框图的规范画法,选择结构主要用在判断、分类或分情况的问题解决中.1.2.3循环结构教学目标:1. 理解流程图的循环结构这种基本逻辑结构.2. 能识别和理解简单的框图的功能.3. 能运用三种基本逻辑结构设计流程图以解决简单的问题.N0x ≥y x ←输入x输出yY y x ←-教学方法:1. 通过模仿、操作、探索,经历设计流程图表达求解问题的过程,加深对流程图的感知.2. 在具体问题的解决过程中,掌握基本的流程图的画法和流程图的三种基本逻辑结构.教学过程:一、问题情境1.情境:北京获得了2008年第29届奥运会的主办权.你知道在申奥的最后阶段,国际奥委会是如何通过投票决定主办权归属的吗?对遴选出的5个申办城市进行表决的操作程序是:首先进行第一轮投票,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权;如果所有申办城市得票数都不超过总票数的一半,则将得票数最少的城市淘汰,然后重复上述过程,直到选出一个申办城市为止.2.问题:怎样用算法结构表述上面的操作过程?二、学生活动学生讨论,教师引导学生进行算法表达,然后画出流程图.解:算法为:1S投票;S统计票数,如果有一个城市得票超过总票数的一半,那么该城市就获得举办权,2转3S;S,否则淘汰得票数最少的城市,转1S宣布主办城市.3上述算法可以用流程图表示为:教师边讲解边画出第12页图129--.三、建构数学1.循环结构的概念:需要重复执行同一操作的结构称为循环结构.如图:虚线框内是一个循环结构,先执行A框,再判断给定的条件p是否为假;若p为假,则再执行A,再判断给定的条件p是否为假……,如此反复,直到p为真,该循环过程结束.四、数学运用1.循环结构举例.例1 (教材第13页例4)写出求12345⨯⨯⨯⨯值的一个算法,并画出流程图.解:算法1:逐一相加(见教材第13页);算法2:1S1T←; {使1T=}S22I←; {使2I=}3S T T I←⨯; {求T I⨯,乘积结果仍放在变量T中}4S 1I I ←+; {使I 的值增加1} 5S 如果5I ≤,转3S ,否则输出T .说明:1.算法2中各种符号的意义; 2.算法2不仅形式简练, 而且具有通用性、灵活性.其中3S ,4S ,5S 组成一个循环,在实现算法时要反复多次执行3S ,4S ,5S 步骤,直到执行5S 时,经过判断,乘数I 已超过规定的数为止.算法流程图如右.练习1:写出求1357911⨯⨯⨯⨯⨯值的一个算法,并画出流程图. 例2 设计一个计算10个数平均数的算法,并画出流程图.分析:由于需要依次输入10个数,并计算它们的和,因此,需要用一个循环结 构,并用一个变量存放数的累加和.在求出10个数的总和后,再除以10,就得 到10个数的平均数.解:1S 0S ←; {使0S =}2S 1I ←; {使1I =} 3S 输入G ; {输入一个数}4S S S G ←+; {求S G +,其和仍放在变量S 中} 5S 1I I ←+; {使I 的值增加1} 6S 如果10I ≤,转3S , {如果10I >,退出循环} 7S 10S A ←; {将平均数10S存放到A 中} 8S 输出A . {输出平均数}说明:1.本题中的第一步将0赋值于S ,是为这些数的和 建立存放空间;2.在循环结构中都有一个计数变量(本题中的I )和累加变量(本题中的S ),计数变量用于记录循环次数(本题实质是为了记录输入的数的个数),累加变量用于输出结果.计数变量与累加变量一般是同步进行的,累加一次,计数一次. 算法流程图如右.2.练习:课本第15页练习第1,2 题. 练习1 答案:1S 2S ←;2S 4I ←;N100I >2S ←4I ←S S I ←+ 2I I ←+3S S S I ←+;4S 2I I ←+; 5S 如果100I ≤,转3S , 否则输出S .练习2答案:将50个学生中成绩不低于80分的学生的学号和成绩打印出来.五、要点归纳与方法小结 本节课学习了以下内容:1.循环结构的概念:需要重复执行同一操作的结构称为循环结构.它主要 用在反复做某项工作的问题中.2.用循环结构画流程图:确定算法中反复执行的部分,确定循环的转向位 置和终止条件.3.选择结构与循环结构的区别与联系:区别:选择结构通过判断执行分支,只是执行一次;循环结构通过条件判断可以反复执行;联系:循环结构是通过选择结构来实现的,循环结构中一定包含选择结构. 4.在循环结构中都有一个计数变量(本题中的I )和累加变量(本题中的S 计数变量用于记录循环次数(本题实质是为了记录输入的数的个数),累加变量用于输出结果.计数变量与累加变量一般是同步进行的,累加一次,计数一次.1.3.1-1.3.2赋值语句的输入、输出语句教学目标:1.通过实例,使学生理解三种基本的算法语句(输入语句、输出语句和赋值语句)的表示方法、结构和用法.2.能初步应用这种基本的算法语句表示算法,编写类BASIC 程序. 3.进一步体会算法的基本思想,学会有条理地、清晰地表达解决问题的步骤,提高逻辑思维能力.教学方法:例4 通过实例,发展对解决具体问题的过程与步骤进行分析的能力. 例5 通过模仿、操作、探索,经历设计算法、设计框图、编写程序以解决具体问题的过程,发展应用算法的能力.例6 在解决具体问题的过程中学习三种基本语句,感受算法的重要意义.教学过程:一、问题情境问题1 已知我班某学生上学期期末考试语文、数学和英语学科成绩分别为80,100,89,试设计适当的算法求出这名学生三科的平均分.二、学生活动1.学生讨论,教师引导学生写出算法并画出流程图. 流程图:2.怎样将以上算法转换成计算机能理解的语言呢? 下面我们将通过伪代码学习基本的算法语句. 三、建构教学 1.伪代码:伪代码是介于自然语言和计算机语言之间的文字和符号,是表达算法的简单而实用的好方法.为了今后能学好计算机语言,我们在伪代码中将使用一种计算算法:S1 a ←80 S2 b ←100 S3 c ←89S4 A ←(a +b +c )/3 S5 输出Aa ←80b ←100c ←89 A ←(a +b +c )/3 输出A 结束开始机语言“BASIC 语言”的关键词.2.赋值语句:赋值语句是将表达式所代表的值赋给变量的语句.例如:“x y ←”表示将y 的值赋给x ,其中x 是一个变量,y 是一个与x 同类型的变量或表达式.说明:①赋值语句中的赋值号“←”的左右两边不能对换,它将赋值号右边的表达式的值赋给赋值号左边的变量;②赋值语句左边只能是变量名字,而不是表达式,右边表达式可以是一个数据、常量或表达式;③对于一个变量可以多次赋值. 3.输入、输出语句:输入、输出语句分别用“Input ”(或者“Read ”)和“Print ”来描述数据的输入和输出.(1)输入语句与赋值语句的区别在于:赋值语句可以将一个代数表达式的值赋于一个变量,而输入语句由于要求输入的值只能是具体的常数,不能是函数、变量或表达式,因此输入语句只能将读入的具体数据赋给变量.(2)输出语句的主要作用是:①输出常量、变量的值和系统信息;②输出数值计算的结果.例如:可以将问题1中的算法改进为求任意三门功课的平均值的算法. 流程图:说明:输入语句“Read a ,b ”表示输入的数据依次送给a ,b ;“Print A ”表示输出运算结果A .四、数学运用伪代码:Read a ,b ,c A ←(a +b +c )/3 Print AA ←(a +b +c )/3 结束开始 输出A 输入a ,b ,c1.例题.例1 写出求23x =时多项式3273511x x x +-+的值的算法. 算法1322373511x p x x ←←+-+算法223((73)5)11x p x x x ←←+-+说明 ①以上两种算法,算法1要做6次乘法,算法2只要做3次乘法,由 此可见,算法的好坏会影响运算速度;②算法2称为“秦九韶算法”,其算法特点是:通过一次式的反复计算,逐 步得出高次多项式的值;对于一个n 次多项式,只要做n 次乘法和n 次加法.例2 “鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的题目:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”请你先列出解决这个问题的方程组,并设计一个解二元一次方程组的通用算法,并画出流程图,写出伪代码.解 设有x 只鸡,y 只兔子,则352494x y x y +=⎧⎨+=⎩.设二元一次方程组为1111221222,(0),a x b y c a b a b a x b y c +=⎧-≠⎨+=⎩用消元法解得2112122112211221b c b c x a b a b a c a c y a b a b -⎧=⎪-⎪⎨-⎪=⎪-⎩,因此,只要输入相应的未知数的系数和常数项,就能计算出方程组的解,即可输出,x y 的值.开始2.练习:课本第18页练习1题.五、要点归纳与方法小结本节课学习了以下内容:赋值语句、输入语句、输出语句的结构和作用.1.3.3条件语句教学目标:1. 通过实例正确理解条件语句的概念、表示方法、结构和用法.了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用.通过具体的实例,理解掌握条件语句的格式及功能.2. 能初步用条件语句设计算法、表达解决具体问题的过程(即编写程序).3. 进一步体会算法的基本思想,学会有条理地、清晰地表达解决问题的步骤,提高逻辑思维能力.教学方法:例7通过实例,发展对解决具体问题的过程与步骤进行分析的能力.例8通过模仿、操作、探索,经历设计算法、设计框图、编写程序以解决具体问题的过程,发展应用算法的能力.例9 在解决具体问题的过程中学习条件语句,感受算法的重要意义.教学过程:一、问题情境问题1 某居民区的物业管理部门每月按以下方法收取卫生费:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元.试设计算法,根据输入的人数计算应收取的卫生费?二、学生活动 1. 学生思考后得出:若用c (单位:元)表示应收取的费用,n 表示住户的人口数,则5, 035 1.2(3), 3n c n n <≤⎧=⎨+->⎩. 具体算法步骤如下: S1 输入n ;S2 若3n ≤,则5c ←,否则5 1.2(3)c n ←+-; S3 输出c .流程图如右图所示.从流程图可以看出这是一个选择结构, 我们可以用条件语句来实现该过程.三、建构教学 1.条件语句:条件语句的一般形式为:If -then -Else (如图1所示),对应的程序框图为图2.If 条件A then语句1 Else语句2 End If(图1)否是 满足条件?语句1语句2 (图2)“条件A ”表示判断的条件,“语句1”表示满足条件A 时执行的操作内容;“语句2”表示不满足条件A 时执行的操作内容;End If 表示条件语句的结束.计算机在执行时,首先对If 后的条件进行判断,如果符合条件A ,则执行Then 后面的语句1;若不符合条件A ,则执行Else 后面的语句2.问题1中的选择过程用条件语句可以表示为: Read nPrint c我们把步骤“5c ←” 称为“Then ”分支,步骤 “5 1.2(3)cn ←+-”称为“Else ”分支.为了醒目和便于阅读这些分支一般缩进书写.四、数学运用 1.例题:例1 写出输入两个数a 和b ,将较大的数打印出来的算法,写出伪代码,并画出流程图. 解算法: S1 输入a ,b ;S2 若a >b ,则输出a ,否则输出b例2 儿童乘坐火车时,若身高不超过1.2m ,则无需购票;若身高超过1.2 m 但不超过1.5m ,可买半票;若超过1.5m ,应买全票.试设计一个购票的算法,写出伪代码,并画出流程图. 解 算法步骤为: S1 测量儿童身高h ;S2 如果h≤1.2,那么免费乘车;否则,如果h≤1.5,那么购买半票乘车;否则,购买全票乘车.伪代码:流程图:Read hIf h≤1.2 ThenPrint 免费乘车ElseIf h≤1.5 ThenPrint 半票乘车ElsePrint 全票乘车End IfEnd If说明:从本例可以看出,条件语句“If-then-Else”可以嵌套.说明:本题中的条件语句是“行If语句”,前面的是“块If语句”.例3已知函数1,00,01,0xy xx>⎧⎪==⎨⎪-<⎩,试写出计算y值的一个算法.解可以用条件语句表示这类分段函数的算法:Read x 流程图:If x>0 Theny←1Else If x=0 Theny←0Elsey←1End IfPrint y2.练习.补充:用算法语句表示:输入一个数x,如果x不为0,则输出1x,否则,重新输入.解:10 Read x20 If x=0 Then Goto 1030 Else40 Print 1/x50 End If60 End五、要点归纳与方法小结本节课学习了以下内容:条件语句的步骤、结构及功能.1.3.4循环语句(1)教学目标:1. 掌握循环语句的简单应用,初步掌握循环语句的嵌套.2. 初步掌握用循环语句处理一些求和、求乘积问题的技能.3. 了解用条件语句实现循环的方法,初步能在程序语句中识别出表现为条件语句的循环.教学方法:例10 通过编写程序,上机调试的过程,学习掌握循环语句,发展编写能力.例11 通过具体实例,发展设计算法,编写程序来解决问题的能力.教学过程:一、问题情境问题 设计计算135799⨯⨯⨯⨯⨯的一个算法,并画出流程图.二、学生活动 解决问题的算法是:对于以上算法过程,我们可以用循环语句来实现. 三、建构教学循环语句:循环语句一般有种:“For 循环”、“While 循环”和“Do 循环”(由于该种循环变化较多,教材中暂不介绍).(1)“For 循环”是在循环次数已知时使用的循环, 其一般形式为:例如:问题1中算法可用“For 循环”语句表示为:S1 S ←1S2 I ←3 S3 S ←S ×I S4 I ←I+2S5 若I ≤99,则返回S3 S6 输出S流程图:结束 开始For I from “初值”to “终值”step “步长”… End forPrint S End说明:①上面“For ”和“End For ”之间缩进的步骤称为循环体;②如果省略“Step 2”,默认的“步长”为1,即循环时,I 的值每次增加1(步长也可以为负,例如,以上“For 循环”第1行可写成:For I From 99 To 1 Step -2);③“For 循环”是直到型循环结构,即先执行后判断. (2)“While 循环”的一般形式为:其中A 为判断执行循环的条件.例如:问题1中的算法可“While 循环”语句表示为: 1S ← 3I ← Print S End 说明:四、数学运用1.例题:While A …End while For I From 1 To 99 Step 2 S S I ←⨯ End ForWhile I ≤99 S S I ←⨯ 2I I =+ End While。
第一章 算法初步全章教案
第一章 算法初步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是方程的近似解;否则,返回第三步.于是,开区间(1.414 062 5,1.417 968 75)中的实数都是当精确度为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等分点. 点评:用算法解决几何问题能很好地训练学生的思维能力,并能帮助我们得到解决几何问题的一般方法,可谓一举多得,应多加训练. 知能训练设计算法判断一元二次方程ax 2+bx+c=0是否有实数根. 解:算法步骤如下:第一步,输入一元二次方程的系数:a ,b ,c.第二步,计算Δ=b 2-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.0Z t T T Z t t t t 其中[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.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.1.1.2 程序框图与算法的基本逻辑结构整体设计教学分析用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.三维目标1.熟悉各种程序框及流程线的功能和作用.2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.3.通过比较体会程序框图的直观性、准确性.重点难点数学重点:程序框图的画法.数学难点:程序框图的画法.课时安排4课时教学过程第1课时程序框图及顺序结构导入新课思路1(情境导入)我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.思路2(直接导入)用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图.推进新课新知探究提出问题(1)什么是程序框图?(2)说出终端框(起止框)的图形符号与功能.(3)说出输入、输出框的图形符号与功能.(4)说出处理框(执行框)的图形符号与功能.(5)说出判断框的图形符号与功能.(6)说出流程线的图形符号与功能.(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.(6)流程线:表示程序的流向.(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.图形符号(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.三种逻辑结构可以用如下程序框图表示:顺序结构条件结构循环结构应用示例例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.解:程序框图如下:点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法. 变式训练观察下面的程序框图,指出该算法解决的问题.解:这是一个累加求和问题,共99项相加,该算法是求100991431321211⨯++⨯+⨯+⨯ 的值.例2 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c ,则三角形的面积为S=))()((c p b p a p p ---),其中p=2cb a ++.这个公式被称为海伦—秦九韶公式)算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法. 算法步骤如下:第一步,输入三角形三条边的边长a,b,c. 第二步,计算p=2cb a ++. 第三步,计算S=))()((c p b p a p p ---.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.变式训练下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.解:根据题意221aa=7,∵a1=3,∴a2=11.即a2的值为11.例3 写出通过尺轨作图确定线段AB的一个5等分点的程序框图.解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n 等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用. 知能训练有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格.解:用P 表示钢琴的价格,不难看出如下算法步骤:2005年P=10 000×(1+3%)=10 300;2006年P=10 300×(1+3%)=10 609;2007年P=10 609×(1+3%)=10 927.27;2008年P=10 927.27×(1+3%)=11 255.09; 年份2004 2005 2006 2007 2008 钢琴的价格10 000 10 300 10 609 10 927.27 11 255.09点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图.拓展提升如下给出的是计算201614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.答案:i>10.课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.作业习题1.1A 1.设计感想首先,本节的引入新颖独特,旅游图的故事阐明了学习程序框图的意义.通过丰富有趣的事例让学生了解了什么是程序框图,进而激发学生学习程序框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.第2课时条件结构导入新课思路1(情境导入)我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构.思路2(直接导入)前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构.推进新课新知探究提出问题(1)举例说明什么是分类讨论思想?(2)什么是条件结构?(3)试用程序框图表示条件结构.(4)指出条件结构的两种形式的区别.讨论结果:(1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.(3)用程序框图表示条件结构如下.条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.图1 图2注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.应用示例例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.算法分析:我们知道,若判别式Δ=b 2-4ac>0,则原方程有两个不相等的实数根x 1=a b 2∆+-,x 2=ab 2∆--; 若Δ=0,则原方程有两个相等的实数根x 1=x 2=ab 2-; 若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x 1和x 2之前,先计算p=ab 2-,q=a 2∆. 解决这一问题的算法步骤如下:第一步,输入3个系数a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则计算p=ab 2-,q=a 2∆;否则,输出“方程没有实数根”,结束算法.第四步,判断Δ=0是否成立.若是,则输出x 1=x 2=p ;否则,计算x 1=p+q ,x 2=p-q ,并输出x 1,x 2.程序框图如下:例3 设计算法判断一元二次方程ax 2+bx+c=0是否有实数根,并画出相应的程序框图. 解:算法步骤如下:第一步,输入3个系数:a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.相应的程序框图如右:点评:根据一元二次方程的意义,需要计算判别式Δ=b 2-4ac 的值.再分成两种情况处理:(1)当Δ≥0时,一元二次方程有实数根;(2)当Δ<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构.例4 (1)设计算法,求ax+b=0的解,并画出流程图.解:对于方程ax+b=0来讲,应该分情况讨论方程的解.我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下: (1)当a≠0时,方程有唯一的实数解是ab -; (2)当a=0,b=0时,全体实数都是方程的解;(3)当a=0,b≠0时,方程无解.联想数学中的分类讨论的处理方式,可得如下算法步骤:第一步,判断a≠0是否成立.若成立,输出结果“解为ab -”. 第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R ”.第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下:点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. 知能训练。
人教版高中必修3(B版)第一章算法初步教学设计
人教版高中必修3(B版)第一章算法初步教学设计教学背景本设计是为人教版高中必修3(B版)第一章——算法初步编写的,旨在让学生在学习计算机基本概念的同时,掌握算法的概念、基本算法及计算复杂度分析。
教学目标•了解算法的概念及其在计算机上的应用;•掌握算法的一些基本的思想方法和算法模板;•能够分析算法的时间、空间复杂度。
教学内容知识点1.算法基本概念2.时间、空间复杂度分析3.基本算法——贪心、分治和动态规划教学方式本课程主要采用授课法和案例演示法相结合的方式进行教学。
教学步骤第一步:算法基本概念1.讲解算法的定义、特性、应用等内容。
2.通过一些简单的例子,让学生理解什么是算法。
第二步:时间、空间复杂度分析1.介绍时间复杂度和空间复杂度的概念及分析方法。
2.通过一些实例演示,让学生能够对算法的复杂度进行分析。
第三步:基本算法——贪心1.介绍贪心算法的思想。
2.通过一些案例,让学生了解贪心算法的应用场景。
3.给学生一些练习题,巩固对贪心算法思路的掌握。
第四步:基本算法——分治1.介绍分治算法的思想。
2.通过一些案例,让学生了解分治算法的应用场景。
3.给学生一些练习题,巩固对分治算法思路的掌握。
第五步:基本算法——动态规划1.介绍动态规划算法的思想。
2.通过一些案例,让学生了解动态规划算法的应用场景。
3.给学生一些练习题,巩固对动态规划算法思路的掌握。
第六步:课堂小结1.小结本节课所学内容。
2.引导学生思考如何对不同场景下的问题选择合适的算法,扩展学生的算法思维。
教学评估1.每个章节结束后进行小测试,测试学生掌握的知识点。
2.每个章节最后留出时间给学生提问和互动交流。
3.在完成练习题后,对学生提交的答案进行点评和改进。
结束语本教学设计注重启发学生思考能力,通过案例演示和举例分析的方式,激发学生对算法和计算机的兴趣,提高对算法的理解和能力。
第一章《算法初步》教案(新人教B版必修3)
§1.1.1 算法的概念(两个课时)教学目标: (1)了解算法的含义,体会算法的思想。
(2)能够用自然语言叙述算法。
(3)掌握正确的算法应满足的要求。
(4)会写出解线性方程(组)的算法。
(5)会写出一个求有限整数序列中的最大值的算法。
教学重点: 算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
.教学难点: 把自然语言转化为算法语言。
.学法:1、写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用。
2、要使算法尽量简单、步骤尽量少。
3、要保证算法正确,且计算机能够执行,如:让计算机计算1×2×3×4×5是可以做到的,但让计算机去执行“倒一杯水”“替我理发”等则是做不到的。
教学过程一、章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”。
算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念。
但是我们却从小学就开始接触算法,熟悉许多问题的算法。
如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现。
广义地说,算法就是做某一件事的步骤或程序。
菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法。
在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序。
(古代的计算工具:算筹与算盘. 20世纪最伟大的发明:计算机,计算机是强大的实现各种算法的工具。
)例1:解二元一次方程组: ⎩⎨⎧=+-=-②y x ①y x 1212 分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程.解:第一步:② - ①×2,得: 5y=3; ③第二步:解③得 53=y ; 第三步:将53=y 代入①,得 51=x . 学生探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?老师评析:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.。