最新人教版高中数学必修3第一章“算法的基本思想”教案
高中数学人教版必修3教案1-1-1算法的概念1
教学重点
算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
教学难点
把自然语言转化为算法语言。
教学方法
写出的算法,必须能解决一类问题(如:判断一个整数n(n>1)是否为质数;求任意一个方程的近似解;……),并且能够重复使用.
举例生活中的算法:菜谱是做菜肴的算法;洗衣机的使用说明书是操作洗衣机的算法;歌谱是一首歌曲的算法;渡河题.
③练习:写出解方程组 的算法.
活动三:合作学习,探究新知学(18分钟)
典例剖析:
2.教学几个典型的算法:
1出示例1:任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数做出判断.
提问:什么叫质数?如何判断一个数是否质数?→写出算法.
教学过程:
批注
活动一:创设情景,揭示课题(5分钟)
我们古代的计算工具?近代计算手段?(算筹与算盘→计算器与计算机,见章头图)2.提问:①小学四则运算的规则?(先乘除,后加减)②初中解二元一次方程组的方法?(消元法)③高中二分法求方程近似解的步骤?(给定精度ε,二分法求方程根近似值步骤如下:A.确定区间 ,验证 ,给定精度ε;B.求区间 的中点 ;C.计算 :若 ,则 就是函数的零点;若 ,则令 (此时零点 );若 ,则令 (此时零点 );D.判断是否达到精度ε;即若 ,则得到零点零点值a(或b);否则重复步骤2~4.
课题:1.1.1算法的概念(一)第个教案
课型:新授课年月日
教
学
目
标
(1)了解算法的含义,体会算法的思想。(2)能够用自然语言叙述算法。(3)掌握正确的算法应满足的要求。
人教版高中数学必修三 第一章 算法初步算法案例—辗转相除法-教学设计
算法案例—辗转相除法-教学设计一、教材分析选自苏教版普通高中课程标准实验教科书必修3第一章第4节。
1、地位作用:与传统教学内容相比,《算法初步》为新增内容,算法是计算机科学的重要基础,从日常生活的电子邮件发送到繁忙的交通管理,从与人们生产、生活息息相关的天气预报到没有硝烟的战争模拟等等都离不开计算机算法。
算法思想已经渗透到社会的方方面面,算法思想也逐渐成为每个现代人应具有的数学素养。
在以前的学习中,虽然没有出现算法这个名词,但实际上在数学教学中已经渗透了大量的算法思想,如四则运算的过程,求解方程的步骤,以及将要学习的数列求和等等,完成这些工作都需要一系列程序化的步骤,这就是算法思想。
本节内容是探究古代算法案例――辗转相除法,巩固算法三种描述性语言(自然语言、流程图和伪代码),提高学生分析和解决问题的能力。
2、教学目标:(1)知识目标:①理解辗转相除法原理;②能用自然语言、流程图和伪代码表达辗转相除法;③能应用迭代算法思想。
(2)能力目标:①培养学生把具体问题抽象转化为算法语言的能力;②培养学生自主探索和合作学习的能力。
(3)情感目标:①使学生进一步了解从具体到抽象,抽象到具体的辨证思想方法,对学生进行辨证唯物主义教育;②创设和谐融洽的教学氛围和阶梯形问题,使学生在活动中获得成功感,从而培养学生热爱数学、积极学习数学、应用数学的热情。
3、教学重点与难点:(1)教学重点:①理解辗转相除法原理;②能用自然语言、流程图和伪代码表达辗转相除法。
(2)教学难点:①理解和区分两种循环结构表达辗转相除法;②能应用迭代算法思想。
二、教法学法1、教法:以问题为载体,有引导的对话,让学生经历知识的形成过程和发展过程,从而突出教学重点,并采用多媒体教学,增加课堂容量,有利于学生活动的充分展开。
2、学法:以观察、讨论、思考、分析、动手操作、自主探索、合作学习多种形式相结合,引导学生多角度、多层面认识事物,突破教学难点。
三、教学过程设计:1、情景设置――感知辗转相除法(发给每位学生一张长为22cm ,宽为6cm 的纸条)【问1】这张长方形的纸,先拿短边往长边上折,得到一个正方形,从长方形上裁掉这个正方形后继续将短边往长边上折,一直到最后剩下来的是正方形为止,最后得到的边长是几的正方形?【师生互动解答】22=6×3+4;6 = 4×1+2;4 = 2×2+0 => 最后正方形的边长为2cm 。
最新人教版高中数学必修3第一章算法案例
1.3算法案例一、本节知识结构二、教学重点与难点重点:通过3个典型的算法案例,使学生通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程,以及将程序框图转化为程序语句的过程,帮助学生进一步体会算法的基本思想,以及算法在解决问题的过程中所体现的特点.难点:理解算法案例的内容以及具体算法的关键步骤.三、编写意图与教学建议教科书选择了3个有典型性的、又有一定难度的算法案例,这些案例的教学都不要求画完整的程序框图以及编写完整的算法程序,也不要求学生记忆它们的具体步骤,教学中要注意把握这种要求,适当控制教学难度.辗转相除法是西方古代数学中的一个典型算法,更相减损术和秦九韶算法都是我国古代数学中的著名算法,而排序法和进位制算法则是计算机科学中普遍使用的算法.与前面介绍的算法相比,这3个算法较为复杂,其中蕴涵的算法思想更为深刻,也更能体现算法的重要性和有效性.教学中,要注意抓住这3个算法的关键步骤,引导学生理解其中的“算理”.教师可以通过讲解、画程序框图、举简单例子说明、让学生自己归纳等多种手段,帮助学生克服理解上的困难.1.“辗转相除法与更相减损术”的设计意图与教学建议.“辗转相除法”是欧几里得《原本》中记录的一个算法:“设有不相等的二数,若依次从大数中不断地减去小数,若余数总是量不尽它前面一个数,直到最后的余数为一个单位,则该二数互质.”这个算法的关键步骤是做带余除法1111r q n m +=(0≤1r <1n )由上式可以看出,1m 、1n 和1n 、1r 有相同的公约数,因此也有相同的最大公约数,可表示为gcd(1m ,1n )=gcd(1n ,1r )(gcd 是greatest common divisor 的简写).当1r =0时,gcd(1m ,1n )=1n .当1r >0,令12n m =,12r n =,继续做带余除法:2222r q n m +=(0≤2r <2n ),3333r q n m +=(0≤3r <3n ),……由于1r >2r >3r >…因此r 在有限次地减小之后,总可以达到0.设0=k r ,则有k k k q n m =.故gcd(1m ,1n )=gcd(2m ,2n )=gcd(3m ,3n )=…= gcd(k m ,k n )=k n .以上是辗转相除法的“算理”.教师可以在求两个具体数(如8 251与6 105)的最大公约数的过程中,讲述上面的“算理”,突出递归的作用.教师可以多举几个例子,通过具体例子来说“理”,以利于学生更好地把握“算理”,而不要把上述抽象的式子和符号直接地呈现给学生.教科书在这部分安排了一个“思考”栏目:“你能把辗转相除法编成一个计算机程序吗?”教学时可以先引导学生思考:“辗转相除法中的关键步骤是哪种逻辑结构?”然后,帮助学生认识在这一算法中,带余除法是一个反复执行、直到余数等于0停止的步骤,这实际上是一个循环结构.教科书还画出了这个循环结构的程序框图(图1),以帮助学生进一步地、直观地理解这一步骤.有了上面的准备,就可以让学生自己写出辗转相除法的程序了.教科书在这部分还介绍了中国古代算法中的“更相减损术”,与辗转相除法形成对比.尽管这两种算法分别来源于东西方古代数学名著,但二者的算理却是相似的,有异曲同工之妙.主要区别在于辗转相除法进行的是除法运算,即辗转相除;而更相减损术进行的是减法运算,即辗转相减,但实质都是一个不断的递归过程.教科书如此设计的意图是想让学生在比较两种算法的过程中,使学生对递归思想能有一个初步的认识.例1的教学中,教师可以先让学生自己按照更相减损术的步骤,逐步求出98与63的最大公约数.然后,再引导学生思考在第一步98-63=35中,98与63和63与35有相同的约数,因此也有相同的最大公约数,可表示为gcd(98,63)=gcd(63,35).由于63≠35,继续做减法.由于每一步中得到的减数及差都是正数,且它们的值在逐渐减小,所以经过有限步后,总会出现减数与差相等的情况.在本例中,我们可以得到gcd(98,63)=gcd(63,35)=gcd(35,28)=gcd(28,7)=gcd(21,7)=gcd(14,7)=gcd(7,7),所以98和63的最大公约数等于7.讲解完本例后,可以让学生做35页的练习第1题.2.“秦九韶算法”的设计意图与教学建议.秦九韶算法是求一元多项式的值的一种方法.在初中,学生已经学习了多项式的有关知识,那里是把多项式看作代数表达式.因此在本段内容的教学之前,应当先向学生说明,这里是用函数的观点考察多项式,因此,求自变量取某个实数时的函数值问题,即求多项式的值就是一个常规问题.实际上,在解决数学问题和实际问题中,常需要求多项式的值.教科书在正式介绍秦九韶算法之前,先让学生自己求一元多项式,1)(2345+++++=x x x x x x f 当x=5时的值,学生可能会想到很多算法.教科书对两种算法的运算效率进行了比较与分析,这样做的目的是为了使学生了解,解决同一个问题的算法可能有很多种,但算法有“好”“坏”之分,其判断标准之一是运算的效率.这里通过统计乘法和加法的运算次数来衡量算法的好坏,并为下面说明秦九韶算法的有效性做铺垫.但是关于计算的复杂性问题,在教学中不宜过多涉及.教科书也只是从“讲故事”的角度说明了某些算法计算机是无法执行的,以提高学生学习的兴趣.接着,教科书引入了秦九韶算法,这个算法的特点在于把求一个n 次多项式的值转化为求n 个一次多项式的值,即把求0111...)(a x a x a x a x f n n n n ++++=--的值转化为求递推公式⎩⎨⎧=+==--).,....,2,1(,10n k a x v v a v k n k kn 中n v 的值.通过这种转化,把运算的次数由至多2)1(n n +次乘法运算和n 次加法运算,减少为至多n 次乘法运算和n 次加法运算,大大提高了运算效率.教师可以使用几个具体的例子,即对具体多项式的分解、转化求值来讲解秦九韶算法,然后再归纳出教科书上用一般形式给出的算法.这时还可以提醒学生,用递推公式表示的步骤都可以用循环结构来实现.下面介绍一种表示秦九韶算法的直观方法.例如计算当5=x 时,多项式64562)(234-+--=x x x x x f 的值.由于 64562)(234-+--=x x x x x f,6)4)5)62(((6)4562(223-+--=-+--=x x x x x x x x 根据秦九韶算法,我们有,465262=-⨯=-x,1555454=-⨯=-x,794515415=+⨯=+x3896579679=-⨯=-x .列成表表示为教科书在这部分的最后,还画出了程序框图帮助学生进一步熟悉算法步骤.教师可以在总结这部分内容时,要求学生自己画出求4=n 或5的一元多项式的秦九韶算法的程序框图.教学中,可以结合《九章算术》、秦九韶的生平和他的著作《数书九章》,向学生介绍中国古代数学的特点、成就和对世界数学发展的贡献.例如,尽管秦九韶算法是距今700多年前提出的,但现在仍然是多项式求值的比较先进的算法;秦九韶是享誉世界的数学家,美国当代数学史家萨顿(G .Sarton)说,秦九韶是“他那个民族、他那个时代、并且确实也是所有时代最伟大的数学家之一”.3.“进位制”的设计意图与教学建议.由于在不同的进位制转换中存在有趣的算法,而且进位制本身及其转换属于计算机的基础知识,有助于了解计算机的工作原理,因此教科书选择了“进位制”作为第4个算法案例,同时还介绍了进位制数的表示方法等相关知识.在内容编排上,教科书首先介绍了进位制的定义和进位制数的形式表示.一个点进制数可以表示成一般形式:)(011.....k n n a a a a -(0<k a n <,0≤1-n a ,…,1a ,0a <k ),对于这种表示的理解学生可能有一定的困难,教学中应当让学生明确两个要点,一是第1个数字n a 不能等于0,二是每一个数字n a ,1-n a ,…,0a 都必须小于k .除了十进制数和二进制数,常见的还有16进制数,由于其中需要表示超过10的数字,规定字母A ~E 对应10~16,例如C7A16HEX =12×164+7×163+10×162+1×161+6×160=817 686.教科书设计了一个思考栏目,要求学生把一般形式①写成各位上数字与k 的幂的乘积之和的形式.教师可以让学生先把十进制数、二进制数等表示成各位上数字与志的幂的乘积之和的形式,再对一般的形式进行操作就不难了,即有)(011.....k n n a a a a -=+⨯+⨯--111010n n n n a a …0011010⨯+⨯+a a关于进位制之间的转换,教科书以十进制和二进制之问的转换为例进行讲解,并推广到十进制和其他进制之间的转换.这样做的原因是,计算机是以二进制形式来存储和计算数据的,而一般我们输入给计算机的数据是十进制数,因此计算机必须将十进制数转换为二进制数,而把运算结果由二进制数转换为十进制数输出.非十进制数转换为十进制数比较简单,只要计算②式中等号右边的值,就得到了相应的十进制数.描述为算法步骤是:第一步,从左到右依次取k 进制数)(011.....k n n a a a a -各位上的数字,乘以相应k 的幂,k 的幂从n 开始取值,每次递减l ,递减到0,即n n k a ⨯,11--⨯n n k a ,…,11k a ⨯,00k a ⨯;第二步,把所得到的乘积加起来,所得的结果就是相应的十进制数. 在教科书提供的一个把k 进制数口(共有n 位)转化成十进制数b 的程序中,就使用了这个算法.其中的语句“a :a \10”“t=a MOD 10”用于取出走进制数各位上的数字.把十进制数转换为二进制数可用教科书上提供的“除2取余法”,教师可以展示算法过程,让学生来总结算法步骤.“除k 取余法”是把十进制数转换为k 进制数的算法,如例6把十进制数转换为五进制数.另外,教师还可以引导学生思考,怎样在非十进制之间实现转换,一个自然的想法是利用十进制作桥梁.这里提供一种二进制与16进制之间互化的方法,这也是实际使用的方法之一.下表是16进制数与二进制数的对照表,利用这个表,就可以逐段进行转换了.例如,C7A16(16)=1100 0111 1010 0001 0110(2).4.阅读与思考“割圆术”的教学建议.教科书设计本阅读材料的意图是:(1)“割圆术”这个算法本身很有趣,操作性强,“算理”明确,借助图形来讲解易懂易学;(2)“割圆术”是由中国古代的数学家刘徽提出的,是当时计算圆周率的比较先进的算法,至今仍具有一定的应用价值;(3)“割圆术”能被翻译成计算机程序上机运行,这体现了中国古代数学的算法特征;(4)围绕着圆周率的计算这个问题有很多有趣的故事,例如可以讲述从古至今许多数学家孜孜不倦地计算圆周率的故事,还可以介绍一些经典而有趣的算法,等等,这些都会对学生有一定的吸引力.教科书首先介绍了“割圆术”的算法步骤,这个算法的关键思想是用内接正多边形和外切正多边形“内外夹逼”圆,则圆的面积值在二者的面积值中间,而圆的半径是“1”,因此圆的面积值即为圆周率的值.接着,教科书选取了“割圆术”的一部分,即用内接正多边形逼近圆周率,经分析整理后,确定了其中的递归关系,并写出了相应的计算机程序.这个程序输入的是用于逼近圆的内接正多边形的边数k n 6=(*N k ∈,且k ≥2),输出的是内接正多边形的边数和它的面积(即圆周率的近似值).学生在学习本材料时可能遇到的困难是理解“割圆术”中的“内外夹逼”的思想和递推关系,教师可在这两个环节加以指导.。
最新人教版高中数学必修3第一章《算法的三种基本逻辑结构和框图表示》示范教案
示范教案整体设计教学分析教材分别列举实例介绍了三种基本逻辑结构.值得注意的是教学中要先让学生自己体会实例,采取循序渐进方式学习,毕竟学生接受起来还是需要一个过程的.三维目标1.了解三种基本逻辑结构,提高识图和用图的能力.2.能够画出简单的程序框图,提高学生分析问题和解决问题的能力.重点难点教学重点:了解三种基本逻辑结构和画程序框图.教学难点:循环结构的理解和应用.课时安排2课时教学过程第1课时导入新课思路1(情境导入).我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的.鸟们喊道:你有翅膀是我们一伙的.蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习三种基本逻辑结构中的顺序结构和条件分支结构.思路2(直接导入).我们写出的算法或画出的程序框图,一定要使大家一步步地看得清楚、明白,容易阅读.不然,写的算法乱无头绪,就很难让人阅读和理解.这就要求算法或程序框图有一个良好的结构.通过对各种各样的算法和框图进行分析和研究,证明只须用顺序结构、条件分支结构和循环结构就可表示任何一个算法.用这三种基本结构表述的算法和画出的框图,整齐美观,容易阅读和理解.下面我们分别介绍这三种基本逻辑结构,本节课先学前两种.推进新课新知探究提出问题(1)阅读本节教材,什么是顺序结构?(2)画顺序结构的框图.(3)阅读教材,什么是条件分支结构?(4)画条件分支结构的框图.讨论结果:(1)顺序结构描述的是最简单的算法结构,语句与语句之间,框与框之间按从上到下的顺序进行,不能越步骤执行.(2)顺序结构对应的框图,如下图所示.(3)一些简单的算法可以用顺序结构来表示,但是这种结构无法描述要求进行逻辑判断,并根据判断结果进行不同处理的情况.因此,需要另一种逻辑结构来处理这类问题.这种结构叫做条件分支结构.它是依据指定条件选择执行不同指令的控制结构,又称为条件结构.(4)条件分支结构的框图如下图所示.执行过程如下:若条件成立,则执行A框;若不成立,则执行B框.应用示例思路1例1已知点P0(x0,y0)和直线l:Ax+By+C=0,求点P0到直线l的距离d.分析:利用点到直线距离公式写出算术步骤,再画出程序框图.只需顺序结构即可.解:(1)用数学语言来描述算法:S1输入点的坐标x0,y0,输入直线方程的系数A,B,C;S2计算z1=Ax0+By0+C;S3计算z2=A2+B2;S4计算d=|z1|z2;S5输出d.(2)用框图来描述算法,如下图所示.点评:解决此类问题要借助于其他方面知识.本题的解决过程中用到了点到直线的距离公式,弄清公式的结构特点,分步计算.的含义是什么?的含义是什么?的含义是什么?该程序框图解决的是怎样的一个问题?=-2.当x取5时输出的结果赋给变量x.的含义:该处理框在执行①的前提下,即当分析:该方程的根的个数由Δ=b 2-4ac 的符号来确定,则需用条件分支结构. 解:(1)用数学语言来描述算法: S1 计算Δ=b 2-4ac ;S2 如果Δ<0,则原方程无实数解; 否则(Δ≥0),x 1=-b +b 2-4ac 2a ,x 2=-b -b 2-4ac 2a;S3 输出解x 1,x 2或无实数解信息.(2)用程序框图来描述算法,如下图所示.点评:分类讨论思想是高中数学学习的重要思想方法,在画程序框图时,遇到需要分类讨论的问题时要用到条件分支结构.3设火车托运重量为P(kg)行李时,每千米的费用(单位:元)标准为Y =⎩⎪⎨⎪⎧ 0.3 P ,0.3×30+0.5(P -30),当P ≤30 kg 时当P>30 kg 时画出行李托运费用的程序框图.分析:由于对P 的大小需要进行分类讨论,则使用条件分支结构画出它的程序框图. 解:先输入托运的重量P 和里程D ,再分别用各自条件下的计算式子来进行计算处理,然后将结果与托运路程D 相乘,最后输出托运行李的费用M.程序框图如下:点评:对于分段函数的求值问题,往往需要先对输入的x 的值进行判断,根据其取值范围确定解析式,所以一般需要用条件分支结构进行算法设计.思路2例 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图.(已知三角形三边边长分别为a ,b ,c ,则三角形的面积为S =p (p -a )(p -b )(p -c ),其中p =a +b +c2.这个公式被称为海伦—秦九韶公式)分析:只需先算出p 的值,再将它代入公式,最后输出结果.因此只用顺序结构应能表达出算法.解:算法步骤如下:S1 输入三角形三条边的边长a ,b ,c ;S2 计算p =a +b +c2;S3 计算S =p (p -a )(p -b )(p -c ); S4 输出S. 程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.,∴a2=11,即a2的值为0 (x=0), x+由于函数是一个分段函数,所以输入x的值后应根据解析式代入求出其函数值,故应用条件分支结构.知能训练1.如下给出的是计算12+14+16+…+110的值的一个程序框图,其中处理框内应填入的是______.答案:S =S +1102.设计算法求过两点P 1(3,5),P 2(-1,2)的直线斜率,并画出程序框图. 解:算法步骤如下:S1 x 1=3,y 1=5,x 2=-1,y 2=2; S2 K =y 2-y 1x 2-x 1;S3 输出K.该算法表示的程序框图如下图所示:3.设计算法,求ax +b =0的解,并画出程序框图.分析:对于方程ax +b =0来讲,应该分情况讨论方程的解.我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下: (1)当a ≠0时,方程有唯一的实数解是-ba;(2)当a =0,b =0时,全体实数都是方程的解; (3)当a =0,b ≠0时,方程无解.联想数学中的分类讨论的处理方式,可得如下算法步骤. 解:算法步骤:S1 判断a ≠0是否成立.若成立,输出解为-ba;S2 判断a =0,b =0是否同时成立.若成立,输出解集为R ; S3 判断a =0,b ≠0是否同时成立.若成立,输出方程无解. 程序框图如下图所示:拓展提升有一城市,市区为半径为15 km 的圆形区域,近郊区为距中心15~25 km 的范围内的环形地带,距中心25 km 以外的为远郊区,如下图所示.市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点的坐标为(x ,y),求该点的地价,并画出程序框图.分析:由该点坐标(x ,y),求其与市中心的距离r =x 2+y 2,确定是市区、近郊区,还是远郊区,进而确定地价p.由题意知,p =⎩⎪⎨⎪⎧100,0<r ≤15,60,15<r ≤25,20,r>25.解:程序框图如下:课堂小结1.理解顺序结构和条件分支结构的特点.2.能用条件分支结构解决常见的算法问题. 作业本节练习B 3、4.设计感想本节选用的例题难度适中,有的经典实用,有的新颖独特,每个例题都是很好的素材.条件分支结构是逻辑结构的核心,是培养学生逻辑推理的好素材,本节设计符合新课标精神,难度设计略高于教材.备课资料备选习题1.设计算法,尺规作图,确定线段AB 的一个5等分点,并画出程序框图.分析:确定线段AB 的一个5等分点,可在线段AB 上确定一点M ,使得AM =15AB.同学们都熟悉解决这个问题的方法:第一,从A 点出发作一条与原直线不重合的射线;第二,任取射线上一点C ,并在射线上作线段AD ,使AD =5AC ;第三,连接DB ,并过C 点作BD 的平行线交AB 于M ,M 就是要找的一个5等分点. 这个过程需要一步一步来实现. 解:算法如下:S1 如下图,从已知线段的左端点A 出发,作一条射线AP ;S2 在射线上任取一点C ,得线段AC ; S3 在射线上作线段CE =AC ; S4 在射线上作线段EF =AC ; S5 在射线上作线段FG =AC ;S6 在射线上作线段GD =AC ,那么线段AD =5AC ; S7 连接DB ;S8 过C 作BD 的平行线,交线段AB 于M ,这样点M 就是线段AB 的一个5等分点. 程序框图如下:2.“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f =⎩⎪⎨⎪⎧0.53ω,ω≤50,50×0.53+(ω-50)×0.85,ω>50. 其中f(单位:元)为托运费,ω为托运物品的重量(单位:千克). 试画出计算费用f 的程序框图.分析:这是一个实际问题,根据数学模型可知,求费用f 的计算公式随物品重量ω的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件分支结构的运用. 其中,物品的重量通过输入的方式给出.解:程序框图如下:第2课时循环结构导入新课思路1(情境导入).我们都想生活在一个优美的环境中,希望看到的是碧水蓝天,大家知道工厂的污水是怎样处理的吗?污水进入处理装置后进行第一次处理,如果达不到排放标准,则需要再进入处理装置进行处理,直到达到排放标准.污水处理装置是一个循环系统,对于处理需要反复操作的事情有很大的优势.我们数学中有很多问题需要反复操作,今天我们学习能够反复操作的逻辑结构——循环结构.思路2(直接导入).前面我们学习了顺序结构,顺序结构像一条没有分支的河流,奔流到海不复回;还学习了条件分支结构,条件分支结构像有分支的河流最后归入大海.事实上,很多水系是循环往复的,今天我们学习循环往复的逻辑结构——循环结构.推进新课新知探究提出问题(1)在科学计算中,会遇到许多有规律的重复运算.例如:人口预测.已经知道现有的人口总数是P,人口的年增长率是R,预测第T年后人口总数将是多少?设计算法,写出算法步骤.(2)当T=10时,乘(1+R)的运算重复多少次?(3)阅读本节教材,如何设计程序框图求T年后人口总数?(4)画出循环结构的程序框图.讨论结果:(1)算法步骤:①第一年后的人口总数是P+P×R=P(1+R);②第二年后的人口总数是P(1+R)+P(1+R)×R=P(1+R)2;……以此类推,得第T年后的人口总数是P(1+R)T.(2)如果要计算第10年后的人口总数,乘(1+R)的运算要重复10次.(3)如果一个计算过程,要重复一系列的计算步骤若干次,每次重复的计算步骤完全相同,则这种算法过程称为循环过程.循环过程非常适合计算机处理,因为计算机的运算速度非常快,执行成千上万次的重复计算,只不过是一瞬间的事,且能保证每次的结果都正确.由此引出算法的第三种结构:根据指定条件决定是否重复执行一条或多条指令的控制结构称为循环结构.通过以上的分析,预测人口的算法中包含循环结构,它可用下图中的程序框图来描述.画出这张框图的关键,是要理解“计算增量I=P×R”,“P=P+I”及“t=t+1”这三个处理框的工作.每重复(循环)一次,I,P,t三个变量都发生变化,这三步要重复计算T次.它是如何工作的,大家一定要清楚.在计算增量这个处理框中,第一次算出的是第一年的人口增量,第二年人口计算的基数发生了变化,它已不是初始值P,它应是P +I,因此在下一个处理框中,用P+I代替P,这时输出的应是P+I,可输出框中仍写的是P,这可能使你有点糊涂,但只要你想到P是一个变化着的量也就容易理解了.开始是初始值,每年后都用新的人口值替代上一年的人口值,再送回“计算增量”的处理框,计算新的一年的人口增量.你不妨把“P=P+I”这个处理框看成一个储存数据的单元,新的数据进入就把旧的数据“赶走”.增长时间变量t的变化类似,每循环一次增长1,用它来对循环次数进行计数.(4)循环结构的程序框图如下图所示:其执行方式是:首先判断条件P是否满足,当条件P不满足时,结束循环;当条件P 满足时,执行步骤A,再判断条件P是否满足,…,依次执行下去.应用示例思路1已知n个正整数排成一行如下:a1,a2,a3,…,a n-1,a n.其中下脚码表示n个数的排列位置.这一行数满足条件:a1=1,a2=1,a n=a n-2+a n-1.(n≥3,n∈N)画出计算第n项的程序框图.分析:表达式a n=a n-2+a n-1的意义是表示在这个数序列中的第n个数,可由它前面的两个数计算出来,如果给出这个数序列的第一和第二个数,则这个数序列的所有项都可计算出来.即由a1=1,a2=1,可求出a3=a1+a2=1+1=2,a4=a2+a3=1+2=3,a5=a3+a4=2+3=5,……a k=a k-2+a k-1.(*)解:由(*)式,我们可看到,a k,a k-2,a k-1都是k的函数,数值随k而变,(*)式中的计算要反复进行,因此在框图中要引入三个变量,分别用C,A,B表示a k,a k-2,a k-1.框图中首先要输入正整数n(n≥3)及给A与B分别输入值1,1,然后循环计算.它的程序框图如下图所示.点评:在这张框图中,除引入变量A,B,C外,又引入了一个变量“k”,在进行循环操作前,用这个变量控制是否达到给定的正整数n.该程序框图的运行过程是:思路2执行如下图所示的程序框图,若p=0.8,则输出的n=________.解析:该程序框图的运行过程是:p=0.8;n=1;S=0;S=0<p=0.8,是;S=0+121=0.5;n=1+1=2;S=0.5<p=0.8,是;S=0.5+122=0.75;n=2+1=3;S=0.75<p=0.8,是;S=0.75+123=0.875;n=3+1=4;S=0.875<p=0.8,否;输出n=4.答案:4按流程线依次执行,观察每次循环后结果s发生的变化.99项相加,该算法是求11×知能训练1.由相应的程序框图(如下图),补充完整一个计算1+2+3+…+100的值的算法.S1设i的值为________;S2设sum的值为________;S3如果i≤100执行第________步,否则,转去执行第________步;S4计算sum+i并将结果代替______;S5计算________并将结果代替i;S6转去执行第________步;S7输出________的值.分析:程序框图各图框的内容(语言和符号)要与算法步骤相对应,在程序框图中算法执行的顺序应按箭头方向进行.解:S1设i的值为1;S2设sum的值为0;S3如果i≤100,执行第四步,否则,转去执行第7步;S4计算sum+i并将结果代替sum;S5计算i+1并将结果代替i;S6转去执行第3步;S7输出sum的值.2.设计程序框图,求1+3+5+7+…+131的值.分析:由于需加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的数(每相邻两数相差2),那么可考虑在循环过程中,设一个变量i,用i=i+2来实现这些有规律的数,设一个累加器sum,用来实现数的累加,在执行时,每循环一次,就产生一个需加的数,然后加到累加器sum中.解:算法如下:S1赋初值i=1,sum=0;S2sum=sum+i,i=i+2;S3如果i≤131,则反复执行第2步,否则,执行下一步;S4输出sum.程序框图如下图.拓展提升高中某班一共有40名学生,设计算法程序框图,统计班级数学成绩良好(分数>80)和优秀(分数>90)的人数.分析:用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,然后对s的值进行判断.设两个计数器m,n,如果s>90,则m=m+1,如果80<s≤90,则n=n+1.设计数器i,用来控制40个成绩的输入,注意循环条件的确定.解:程序框图如下:课堂小结1.循环结构的特点及功能.2.能用循环结构画出求和等实际问题的程序框图.作业本节练习A 2、3.设计感想本节的引入抓住了本节的特点,利用计算机进行循环往复运算,解决累加、累乘等问题.循环结构是逻辑结构中的难点,它一定包含一个条件分支结构,它能解决很多有趣的问题.本节选用了大量精彩的例题,对我们系统掌握程序框图有很大的帮助.备课资料备选习题1.设计一个用有理数幂逼近无理指数幂52的算法,画出算法的程序框图.解:算法步骤:S1给定精确度d,令i=1;S2取出2的到小数点后第i位的不足近似值,记为a;取出2的到小数点后第i位的过剩近似值,记为b;S3计算m=5b-5a;S4若m≥d,则将i的值增加1,返回第二步;否则,执行下一步;S5得到52的近似值为5a.程序框图如下:分析:如果采用逐步计算的方法,利用顺序结构来实现,则非常麻烦,由于前后的运算需重复多次相同的运算,所以应采用循环结构,可用循环结构来实现其中的规律.观察原式中的变化的部分及不变项,找出总体的规律是4+1x,要实现这个规律,需设初值x =4.解:程序框图如下:。
最新人教版高中数学必修3第一章《算法的概念》示范教案1
示范教案整体设计教学分析算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能解决一类问题.为了让学生更好地理解这一概念,教科书用两个例题(例1和例2)来说明算法的实质,并通过例3让学生体验算法的威力,以便加深对算法作用的理解.值得注意的是:教学中尽量借助于信息技术来显现算法的作用.三维目标1.了解算法的概念,体会算法的思想,培养学生的归纳能力.2.经历、操作算法的具体步骤,表述每一步执行的算法含义,经过有限步会得出结果.3.体会算法的作用,激发学生学习数学的兴趣.重点难点教学重点:算法的含义及应用.教学难点:写出解决一类问题的算法.课时安排1课时教学过程导入新课思路1(情境导入).一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃羚羊.该人如何将动物转移过河?请同学们写出解决问题的步骤,解决这一问题将要用到我们今天学习的内容——算法.思路2(情境导入).大家都看过赵本山与宋丹丹演的小品吧,宋丹丹说了一个笑话,把大象装进冰箱总共分几步?答案:分三步,第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.上述步骤构成了把大象装进冰箱的算法,今天我们开始学习算法的概念.思路3(直接导入).算法不仅是数学及其应用的重要组成部分,也是计算机科学的重要基础.在现代社会里,计算机已成为人们日常生活和工作中不可缺少的工具.听音乐、看电影、玩游戏、打字、画卡通画、处理数据,计算机是怎样工作的呢?要想弄清楚这个问题,算法的学习是一个开始.推进新课新知探究提出问题(1)解二元一次方程组有几种方法?(2)解方程组⎩⎪⎨⎪⎧ x -2y =-1,①2x +y =1,② 用加减消元法写出步骤.(3)解方程组⎩⎪⎨⎪⎧x -2y =-1,①2x +y =1,② 用代入消元法写出步骤.(4)请写出解一般二元一次方程组的步骤.(5)根据上述实例谈谈你对算法的理解.(6)请同学们总结算法的特征.(7)请思考我们学习算法的意义.讨论结果:(1)代入消元法和加减消元法.(2)回顾二元一次方程组⎩⎪⎨⎪⎧x -2y =-1,①2x +y =1②的求解过程,我们可以归纳出以下步骤: 第一步,①+②×2,得5x =1.③第二步,解③,得x =15. 第三步,②-①×2,得5y =3.④第四步,解④,得y =35. 第五步,得到方程组的解为⎩⎨⎧ x =15,y =35.(3)用代入消元法解二元一次方程组⎩⎪⎨⎪⎧x -2y =-1,①2x +y =1,②我们可以归纳出以下步骤: 第一步,由①,得x =2y -1.③第二步,把③代入②,得2(2y -1)+y =1.④第三步,解④,得y =35.⑤ 第四步,把⑤代入③,得x =2×35-1=15. 第五步,得到方程组的解为⎩⎨⎧ x =15,y =35.(4)对于一般的二元一次方程组⎩⎪⎨⎪⎧ a 1x +b 1y =c 1,a 2x +b 2y =c 2, ①②其中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 =b 2c 1-b 1c 2a 1b 2-a 2b 1. 第三步,②×a 1-①×a 2,得(a 1b 2-a 2b 1)y =a 1c 2-a 2c 1.④第四步,解④,得y =a 1c 2-a 2c 1a 1b 2-a 2b 1. 第五步,得到方程组的解为⎩⎪⎨⎪⎧ x =b 2c 1-b 1c 2a 1b 2-a 2b 1,y =a 1c 2-a 2c 1a 1b 2-a 2b 1.(5)算法的定义:广义的算法是指完成某项工作的方法和步骤,那么我们可以说洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等.在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.(6)算法的特征:①确定性:算法的每一步都应当做到准确无误、“不重不漏”.“不重”是指不是可有可无的,甚至无用的步骤,“不漏” 是指缺少哪一步都无法完成任务.②逻辑性:算法从开始的“第一步”直到“最后一步”之间做到环环相扣,分工明确,“前一步”是“后一步”的前提, “后一步”是“前一步”的继续.③有穷性:算法要有明确的开始和结束,当到达终止步骤时所要解决的问题必须有明确的结果,也就是说必须在有限步内完成任务,不能无限制地持续进行.(7)在解决某些问题时,需要设计出一系列可操作或可计算的步骤来解决问题,这些步骤称为解决这些问题的算法.也就是说,算法实际上就是解决问题的一种程序性方法.算法一般是机械的,有时需进行大量重复的计算,它的优点是一种通法,只要按部就班地去做,总能得到结果.因此算法是计算机科学的重要基础.应用示例思路1例1“一群小兔一群鸡,两群合到一群里,要数腿共48,要数脑袋整17,多少小兔多少鸡?”分析:设未知数,列方程解决;也可用算术方法直接求解.解:算术方法:如果没有小兔,那么小鸡应为17只,总的腿数应为2×17=34条.但现在有48条腿,造成腿的数目不够是由于假定小兔的数目为0,每有一只小兔便会增加2条腿,故应该有48-17×22=7 只小兔,相应的,小鸡则应有10只.求解鸡兔同笼问题的上述方法简单直观,却包含着深刻的算法思想.代数方法:设有x 只小鸡,y 只小兔,则有(Ⅰ)⎩⎪⎨⎪⎧x +y =172x +4y =48 将方程组(Ⅰ)中的第一个方程的两边同乘以-2加到第二个方程中去,得到(Ⅱ)⎩⎪⎨⎪⎧x +y =17(4-2)y =48-17×2 解方程组(Ⅱ)中的第二个方程,得y =48-17×24-2=7, 将y 代入第一个方程,得 x =17-y =17-7=10.即有10只小鸡,有7只小兔.点评:上述两种算法,都可以用来求解“鸡兔同笼”这类问题.只要给出“总头数”和“总腿数”,就可以算出鸡和兔的数量.从本题的算法可以知道,求解某个问题的算法不一定是唯一的.我们现在学习的算法不同于求解一个具体问题的方法,它有如下的要求:(1)写出的算法,必须能解决一类问题(例如解任意一个二元一次方程组),并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果.例2写出一个求有限整数序列中的最大值的算法.分析:这个例子对你理解算法会有很好的帮助.你可能会觉得,求一个整数序列的最大值是很简单的事,事实上也并不简单.如果从10个、8个整数中找出最大值,你一眼就能看出结果.如果从100个整数中找出最大值,你花点时间也能够找出,如果你要从一个 1 000 000 人的年龄序列表中找出年龄最大的一个,要是没有算法那可就是一件困难的事了.如果在你的计算机内已有了100万人口的年龄登记表,用计算软件转瞬间就可找出最大值.计算机能快速找出是靠软件(程序)支持,编写程序要依赖算法.如何对这个问题写出一个算法呢?解:为了便于理解,算法步骤用自然语言叙述:S1 先假定序列中的第一个整数为“最大值”.S2 将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数.S3 如果序列中还有其他整数,重复S2.S4 在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值.点评:如果让你去找,你可能不会这样做,可能认为,这样太机械、太枯燥.不要忘了,我们写的是算法.算法要求“按部就班地做”,每做一步都有唯一的结果,又要求写出的算法对任意整数序列都适用,并且在有限步之后,总能得出结果.所以上面写的,符合算法要求.例3应用Scilab 计算指令解方程组:⎩⎪⎨⎪⎧3x -2y =14x +y =-2 解:用Scilab 程序:打开Scilab 程序,在界面上按下图中的格式输入两个未知数的系数和常数项:得到这个方程组的解是x =2,y =-4.点评:不论给出的是多少个未知数的线性方程组,只要按上面的格式,在Scilab 界面上输入给定的数据,瞬间就会输出解答.在计算机上能够求解方程组,是由于计算机安装有计算软件,而软件的核心是算法,只要有了解决问题的算法,不管借助的工具是纸笔、计算器,还是计算机,都能按照算法步骤求得相同的结果.例1(1)设计一个算法,判断7是否为质数.(2)设计一个算法,判断35是否为质数.分析:(1)根据质数的定义,可以这样判断:依次用2~6除7,如果它们中有一个能整除7,则7不是质数,否则7是质数.解:(1)算法如下:S1用2除7,得到余数1.因为余数不为0,所以2不能整除7;S2用3除7,得到余数1.因为余数不为0,所以3不能整除7;S3用4除7,得到余数3.因为余数不为0,所以4不能整除7;S4用5除7,得到余数2.因为余数不为0,所以5不能整除7;S5用6除7,得到余数1.因为余数不为0,所以6不能整除7.因此,7是质数.(2)类似地,可写出“判断35是否为质数”的算法:S1用2除35,得到余数1.因为余数不为0,所以2不能整除35;S2用3除35,得到余数2.因为余数不为0,所以3不能整除35;S3用4除35,得到余数3.因为余数不为0,所以4不能整除35;S4用5除35,得到余数0.因为余数为0,所以5能整除35.因此,35不是质数.点评:上述算法有很大的局限性,用上述算法判断35是否为质数还可以,如果判断1 997是否为质数就麻烦了,因此,我们需要寻找普适性的算法步骤.例2写出用“二分法”求方程x-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]内的数可以作为方程的近似解.解:S1令f(x)=x2-2,给定精度d;S2确定区间[a,b],满足f(a)·f(b)<0;S3取区间中点m=a+b 2;S4若f(a)·f(m)<0,则含零点的区间为[a,m];否则,含零点的区间为[m,b].将新得到的含零点的区间仍记为[a,b];S5判断[a,b]的长度是否小于d或f(m)是否等于0.若是,则m是方程的近似解;否则,返回第三步.点评:算法一般是机械的,有时需要进行大量的重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”.数学机械化的最大优点是它可以借助计算机来完成,实际上处理任何问题都需要算法.如:中国象棋有中国象棋的棋谱、走法、胜负的评判准则;而国际象棋有国际象棋的棋谱、走法、胜负的评判准则;再比如申请出国有一系列的先后手续,购买物品也有相关的手续……知能训练1.设计算法判断一元二次方程ax2+bx+c=0是否有实数根.解:算法步骤如下:S1输入一元二次方程的系数:a,b,c;S2计算Δ=b2-4ac的值;S3判断Δ≥0是否成立.若Δ≥0成立,输出“方程有实根”;否则输出“方程无实根”,结束算法.2.喝一杯茶需要这样几个步骤:洗刷水壶、烧水、洗刷茶具、沏茶.问:如何安排这几个步骤?并给出两种算法,再加以比较.分析:本例主要为加深对算法概念的理解,可结合生活常识对问题进行分析,然后解决问题.解:算法一:S1洗刷水壶;S2烧水;S3洗刷茶具;S4沏茶.算法二:S1洗刷水壶;S2 烧水,烧水的过程当中洗刷茶具;S3 沏茶.3.一个人带着三只狼和三只羚羊过河,只有一条船,同船可容纳一个人和两只动物,没有人在的时候,如果狼的数量不少于羚羊的数量狼就会吃掉羚羊.该人如何将动物全部安全转移过河?请设计算法.分析:任何动物同船不用考虑动物的争斗但需考虑承载的数量,还应考虑到两岸的动物都得保证狼的数量要小于羚羊的数量,故在算法的构造过程中尽可能保证船里面有狼,这样才能使得两岸的羚羊数量占到优势.解:算法步骤:S1 人带两只狼过河,并自己返回;S2 人带一只狼过河,自己返回;S3 人带两只羚羊过河,并带两只狼返回;S4 人带一只羊过河,自己返回;S5 人带两只狼过河.拓展提升中国网通规定:拨打市内电话时,如果不超过3分钟,则收取话费0.22元;如果通话时间超过3分钟,则超出部分按每分钟0.1元收取通话费,不足一分钟按一分钟计算.设通话时间为t(分钟),通话费用y(元),设计算法,计算通话的费用.分析:数学模型实际上为y 关于t 的分段函数.关系式如下:y =⎩⎪⎨⎪⎧ 0.22,0<t ≤3,0.22+0.1(t -3),t>3,t ∈Z ,0.22+0.1([t -3]+1),t>3,t Z .其中[t -3]表示取不大于t -3的整数部分.解:算法步骤如下:S1 输入通话时间t ;S2 如果t ≤3,那么y =0.22,否则判断t ∈Z 是否成立,若成立执行y =0.2+0.1×(t -3),否则执行y =0.2+0.1×([t -3]+1);S3 输出通话费用y.课堂小结1.正确理解算法这一概念.2.结合例题掌握算法的特点,能够写出常见问题的算法.作业本节练习A 1、2、3.设计感想本节的引入精彩独特,让学生在感兴趣的故事里进入本节的学习.算法是本章的重点也是本章的基础,是一个较难理解的概念.为了让学生正确理解这一概念,本节设置了大量学生熟悉的事例,让学生仔细体会反复训练.本节的事例有古老的经典算法,有几何算法等,因此这是一节很好的课例.备课资料备选习题1.设计一个算法,求840与1 764的最大公因数.分析:我们已经学习了对自然数进行素因数分解的方法,下面的算法就是在此基础上设计的.解答这个问题需要按以下思路进行.首先,对两个数分别进行素因数分解:840=23×3×5×7, 1 764=22×32×72.其次,确定两数的公共素因数:2,3,7.接着,确定公共素因数的指数:对于公共素因数2,22是1 764的因数,23是840的因数,因此22是这两个数的公因数,这样就确定了公共素因数2的指数为2.同样,可以确定出公因数3和7的指数均为1.这样,就确定了840与1 764的最大公因数为22×3×7=84.解:算法步骤如下:S1先将840进行素因数分解:840=23×3×5×7;S2然后将1 764进行素因数分解:1 764=22×32×72;S3确定它们的公共素因数:2,3,7;S4确定公共素因数的指数:公共素因数2,3,7的指数分别为2,1,1;S5最大公因数为22×31×71=84.2.在给定素数表的条件下,设计算法,将936分解成素因数的乘积.分析:1.查表判断936是否是素数:(1)如果936是素数,则分解结束;(2)如果936不是素数,则进行第2步.2.确定936的最小素因数:2(936=2×468).3.查表判断468是否是素数:(1)如果468是素数,则分解结束;(2)如果468不是素数,则重复上述步骤,确定468的最小素因数.重复进行上述步骤,直到找出936的所有素因数.解:算法步骤如下:S1判断936是否为素数:否;S2确定936的最小素因数:2(936=2×468);S3判断468是否为素数:否;S4确定468的最小素因数:2(936=2×2×234);S5判断234是否为素数:否;S6确定234的最小素因数:2(936=2×2×2×117);S7判断117是否为素数:否;S8确定117的最小素因数:3(936=2×2×2×3×39);S9判断39是否为素数:否;S10确定39的最小素因数:3(936=2×2×2×3×3×13);S11判断13是否为素数:13是素数,所以分解结束.分解结果是936=2×2×2×3×3×13.3.一位商人有9枚银元,其中有1枚略轻的是假银元.你能用天平(不用砝码)将假银元找出来吗?分析:最容易想到的解决这个问题的一种方法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元比较,就能找出假银元.解:按照下列步骤,就能将假银元找出来:S1任取2枚银元分别放在天平的两边.如果天平左右不平衡,则轻的一边就是假银元;如果天平平衡,则进行第2步;S2取下右边的银元,放在一边,然后把剩余的7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一枚就是假银元.图1这种算法最少要称1次,最多要称7次.是不是还有更好的办法,使得称量次数少一些?我们可以采用下面的方法:S1把银元分成3组,每组3枚;S2先将两组分别放在天平的两边.如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称的第3组里;S3取出含假银元的那一组,从中任取两枚银元放在天平的两边.如果左右不平衡,则轻的那一边就是假银元;如果天平两边平衡,则未称的那一枚就是假银元.图2。
人教版高中必修3第一章算法初步教学设计 (2)
人教版高中必修3第一章算法初步教学设计一、教学目标1.1 知识目标•掌握算法的基本概念和算法设计的流程;•能够正确理解和应用算法中的常用术语和符号;•学习并实现常见的算法,如冒泡排序、选择排序等。
1.2 能力目标•培养学生分析问题、解决问题的能力;•培养学生运用算法设计解决实际问题的能力;•培养学生的团队合作精神,提高学生的学习兴趣和学习效果。
二、教学内容2.1 什么是算法?•算法的定义;•算法与计算的关系;•算法的特点。
2.2 算法设计的流程•算法设计的步骤;•算法设计时需要考虑的问题。
2.3 常见算法•冒泡排序;•选择排序;•插入排序;•快速排序。
三、教学过程3.1 任务型学习1.让学生自己搜索和学习算法的定义,掌握算法的基本概念;2.将学生分为小组,分别针对冒泡排序、选择排序、插入排序、快速排序这四个常见算法进行深入学习;3.鼓励学生在小组内交流讨论,互相帮助,通过任务型学习的方式掌握每一种算法的实现过程和应用场景。
3.2 理论讲解1.讲解算法设计的流程,强调算法设计的基本思想;2.结合具体算法进行详细介绍;3.帮助学生掌握常用术语和符号的意义和用法。
3.3 多媒体展示1.利用计算机多媒体技术对算法的基本概念、算法设计的流程和常见算法进行展示;2.通过多媒体展示帮助学生理解算法中的关键点和难点。
3.4 实践操作1.让学生利用所学知识,对一些简单的排序问题进行解决;2.鼓励学生在实践中发现问题和总结经验;3.引导学生在实践中培养合作精神,培养团队意识。
四、教学评价4.1 测试评价1.设计一份测试题,测评学生对算法设计的基本概念、设计思想、常见算法等方面的掌握情况;2.给出具体的分值和评分标准。
4.2 成果展示1.让学生利用所学知识,针对一些复杂实际问题进行算法设计和实现;2.要求学生用合适的方式进行成果展示和说明;3.通过成果展示,评价学生团队合作精神和算法设计能力。
五、教学反思通过本次教学,学生基本掌握了算法的定义、算法设计的基本流程和常见算法的实现方法。
高一数学(人教版必修3):第一章算法初步教学设计
高一数学第一章算法初步教学设计(名师精选试题+详细解答过程,值得下载)重点列表:重点名称重要指数重点1 算法的概念★★★重点2 顺序结构★★★★重点3 分支结构★★★★重点详解:1.算法的概念及特点(1)算法的概念在数学中,算法通常是指按照一定______解决某一类问题的________和________的步骤.(2)算法的特点之一是具有______性,即算法中的每一步都应该是确定的,并能有效的执行,且得到确定的结果,而不应是模棱两可的;其二是具有______性,即算法步骤明确,前一步是后一步的前提,只有执行完前一步才能进行后一步,并且每一步都准确无误才能解决问题;其三是具有______性,即一个算法应该在有限步操作后停止,而不能是无限的;另外,算法还具有不唯一性和普遍性,即对某一个问题的解决不一定是唯一的,可以有不同的解法,一个好的算法应解决的是一类问题而不是一两个问题.2.程序框图(1)程序框图的概念程序框图又称流程图,是一种用、及来表示算法的图形.(2)构成程序框图的图形符号、名称及其功能图形符号名称功能①表示一个算法的起始和结束②表示一个算法输入和输出的信息③赋值、计算④判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”⑤连接程序框○⑥连接程序框图的两部分3.算法的基本逻辑结构(1)顺序结构顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按__________的顺序进行的.它是由若干个__________的步骤组成的,它是任何一个算法都离不开的基本结构.顺序结构可用程序框图表示为如图所示的形式:(2)条件结构在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.常见的条件结构可以用程序框图表示为如图所示的两种形式:程序语句1.输入(INPUT)语句输入语句的一般格式:.要求:(1)输入语句要求输入的值是具体的常量;(2)提示内容提示用户输入的是什么信息,必须加双引号,“提示内容”原原本本地在计算机屏幕上显示,提示内容与变量之间要用分号隔开;(3)一个输入语句可以给多个变量赋值,中间用“,”分隔.2.输出(PRINT)语句输出语句的一般格式:.功能:实现算法输出信息(表达式).要求:(1)表达式是指算法和程序要求输出的信息;(2)提示内容提示用户要输出的是什么信息,提示内容必须加双引号,提示内容要用分号和表达式分开;(3)如同输入语句一样,输出语句可以一次完成输出多个表达式的功能,不同的表达式之间可用“,”分隔.3.赋值语句赋值语句的一般格式:.赋值语句中的“=”叫做赋值号,它和数学中的等号不完全一样.作用:赋值语句的作用是将表达式所代表的值赋给变量.要求:(1)赋值语句左边只能是变量,而不是表达式,右边表达式可以是一个常量、变量或含变量的运算式.如:2=x是错误的;(2)赋值号的左右两边不能对换.赋值语句是将赋值号右边的表达式的值赋给赋值号左边的变量.如“A=B”、“B=A”的含义和运行结果是不同的,如x=5是对的,5=x是错的,A+B=C 是错的,C=A+B是对的;(3)不能利用赋值语句进行代数式的演算(如化简、因式分解、解方程等).4.条件语句语句(1)“IF—THEN”格式:____________________.语句时,首先对IF后的条件进行判断,如果(IF)条件符合,说明:当计算机执行“IF—THEN”那么(THEN)执行语句体,否则执行END IF之后的语句.(2)“IF—THEN—ELSE”语句格式:____________________.说明:当计算机执行“IF—THEN—ELSE”语句时,首先对IF后的条件进行判断,如果(IF)条件符合,那么(THEN)执行语句体1,否则(ELSE)执行语句体 2.【答案】1.(1)规则明确有限(2)确定有序有穷2.(1)程序框流程线文字说明(2)①终端框(起止框)②输入、输出框③处理框(执行框)④判断框⑤流程线⑥连接点3.(1)从上到下依次执行程序语句1.INPUT“提示内容”;变量2.PRINT“提示内容”;表达式3.变量=表达式4.(1)IF条件THEN语句体END IF(2)IF条件THEN语句体 1ELSE语句体 2END IF重点1:算法的概念【要点解读】算法是指按照一定规则解决某一类问题的明确和有限的步骤.【考向1】算法的概念【例题】下列语句是算法的个数为()①从济南到巴黎:先从济南坐火车到北京,再坐飞机到巴黎;②统筹法中“烧水泡茶”的故事;③测量某棵树的高度,判断其是否为大树;④已知三角形的两边及夹角,利用三角形的面积公式求出该三角形的面积.A.1B.2C.3D.4【评析】算法过程要做到一步一步地执行,每一步执行的操作必须确切,不能含糊不清,且在有限步后必须得到问题的结果.【考向2】经典算法【例题】“韩信点兵”问题.韩信是汉高祖刘邦手下的大将,为了保守军事机密,他在点兵时采用下述方法:先令士兵从1~3报数,结果最后一个士兵报2;再令士兵从1~5报数,结果最后一个士兵报3;又令士兵从1~7报数,结果最后一个士兵报 4.这样,韩信很快就知道了自己部队士兵的总人数.请设计一个算法,求出士兵至少有多少人.解:在本题中,士兵从1~3报数,最后一个士兵报2,说明士兵的总人数是除以3余2,其他两种情况依此类推.(算法一)步骤如下:第一步:先确定最小的满足除以7余4的数是4;第二步:依次加7就得到所有满足除以7余4的数:4,11,18,25,32,39,46,53,60,…;第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:18;第四步:依次加上35,得18,53,88,…;第五步:在第四步得到的一列数中,找到最小的满足除以3余2的正整数:53,这就是我们要求的数.(算法二)步骤如下:第一步:先确定最小的满足除以3余2的数是2;第二步:依次加3就得到所有满足除以3余2的数:2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47,50,53,56,…;第三步:在第二步所得的一列数中确定最小的满足除以5余3的正整数:8;第四步:然后依次加15就得8,23,38,53,…,不难看出,这些数既满足除以3余2,又满足除以5余3;第五步:在第四步所得的一列数中找到满足除以7余4的最小数是53,这就是我们要求的数.【评析】给出一个问题,设计算法时要注意:(1)认真分析问题,研究解决此问题的一般方法;(2)将解决问题的过程分解成若干步骤;(3)用简练的语言将各步骤表示出来;(4)把解题过程条理清楚地表达出来,就得到一个明确的算法.对于同一问题,可以设计不同的算法,其最终的结果是一样的,但解决问题的繁简程度不同,我们要寻找最优算法.重点2:顺序结构【要点解读】(1)程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.(2)程序框图通常由程序框和流程线组成.(3)基本的程序框有终端框(起止框)、输入、输出框、处理框(执行框)、判断框.输入语句、输出语句、赋值语句的格式与功能语句一般格式功能输入语句INPUT“提示内容”;变量输入信息输出语句PRINT“提示内容”;表达式输出常量、变量的值和系统信息赋值语句变量=表达式将表达式的值赋给变量【考向1】顺序结构程序框图【例题】已知点P(x0,y0)和直线l:Ax+By+C=0,求点P(x0,y0)到直线l的距离d,写出其算法并画出流程图.解:算法如下:第一步:输入x0,y0及直线方程的系数A,B,C.第二步:计算z1=Ax0+By0+C.第三步:计算z2=A2+B2.第四步:计算d=||z1 z2.第五步:输出 d. 流程图如图所示:【评析】顺序结构是一种最简单、最基本的结构,可严格按照传统的解题思路写出算法步骤,画出程序框图.注意语句与语句之间,框与框之间是按从上到下的顺序进行的.【考向2】顺序结构语句【例题】请写出下面运算输出的结果.(1)a=5b=3c=(a+b)/2d=c*cPRINT“d=”;d(2)a=1b=2c=a+bb=a+c-bPRINT“a=,b=,c=”;a,b,c(3)a=10b=20c=30a=bb=cc=aPRINT“a=,b=,c=”;a,b,c是将a,b之和的一半赋值给变量c,语句“d=c*c”是将c的平方赋值解:(1)语句“c=(a+b)/2”给d,最后输出d的值.故输出结果为d=16.(2)语句“c=a+b”是将a,b之和赋值给c,语句“b=a+c-b”是将a+c-b的值赋值给了 b.故输出结果为a=1,b=2,c=3.(3)经过语句“a=b”后a,b,c的值是20,20,30,经过语句“b=c”后a,b,c的值是20,30,30,经过语句“c=a”后a,b,c的值是20,30,20.故输出结果为a=20,b=30,c=20. 【评析】①将一个变量的值赋给另一个变量,前一个变量的值保持不变;②可先后给一个变量赋多个不同的值,但变量的取值总是最后被赋予的值.重点3:分支结构【要点解读】条件语句(1)算法中的条件结构与条件语句相对应.(2)条件语句的格式及框图①IF-THEN格式②IF-THEN-ELSE格式【考向1】分支机构程序框图【例题】某铁路客运部门规定甲、乙两地之间旅客托运行李的费用c(单位:元)与行李的重量w(单位:kg)之间的关系为c=0.53w,w≤50,50×0.53+(w-50)×0.85,w>50.写出计算费用c的算法并画出程序框图.解:算法如下:第一步:输入行李的重量w;第二步:如果w≤50,那么c=0.53w,否则c=50×0.53+(w-50)×0.85;第三步:输出托运费 c.程序框图如图所示:【评析】条件结构的运用与数学的分类讨论有关.设计算法时,哪一步要分类讨论,哪一步就需要用条件结构.【考向2】条件语句【例题】设计算法,求关于x的方程ax+b=0的解.解:程序框图如图所示.根据框图可写出程序语言:INPUT a,bIF a〈〉0 THENPRINT “x=”;-b/aElSEIF b=0 THENPRINT “解集为R”ELSEPRINT “此方程无解”END IFEND IFEND【评析】对于三段或三段以上的分段函数求函数值的问题,通常需用条件语句的嵌套结构.本例是条件语句内套条件语句,即用了两个条件语句,必须有两个END IF,请读者指出前后END IF分别结束的条件语句.难点列表:。
人教版高中必修3第一章算法初步教学设计
9.穷举法
10.分治法
11.贪心法
12.动态规划法
13.回溯法
2.3 算法的描述
14.伪代码
15.流程图
2.4 排序算法
16.直接插入排序
17.希尔排序
18.直接选择排序
19.堆排序
20.冒泡排序
21.快速排序
三、教学重难点
22.算法的基本特性和分类。
23.算法设计的基本思想和方法,及其在实际问题中的应用。
20min
算法的基本概念
讲授
定义算法,介绍算法的特性、分类及应用。
30min
算法的设计基本思想与方法
讲授、案例分析
分别介绍穷举法、分治法、贪心法、动态规划法、回溯法,结合实例分析。
20min
算法的描述
讲授、技能演练
介绍伪代码和流程图描述算法的方法,让学生自行练习。
40min
排序算法
讲授、案例分析
分别介绍直接插入排序、希尔排序、直接选择排序、堆排序、冒泡排序、快速排序,结合实例分析。
10min
课堂小结
讲授
确认本节课ห้องสมุดไป่ตู้教学目标是否达到,回答学生提问。
6.2 教学评价
在教学过程中通过课堂讨论和技能演练等教学手段,了解学生在学习过程中的理解和掌握情况,及时发现问题并进行调整。针对教学目标制定评价表,根据学生的表现进行评价。
七、教学反思
本节课通过讲授、案例分析、技能演练等多种教学手段,较好地实现了教学目标。在后续教学过程中,需要进一步引导学生熟练掌握算法的设计方法,有效实现问题求解。同时,需要注重计算机语言和实现细节的教学,以便学生能够更好地应用所学算法。
高中数学必修3第一章第二节《基本算法语句》全套教案
1.2.1输入语句、输出语句和赋值语句1、知识与技能(1)正确理解输入语句、输出语句、赋值语句的结构.(2)会写一些简单的程序.(3)掌握赋值语句中的“=”的作用.2、过程与方法实例使学生充分地感知、体验应用计算机解决数学问题的方法;通过模仿,操作,探索的过程,体会算法的基本思想,在此基础上由算法语句表示算法,从而细致的刻画算法,进一步体会算法的基本思想。
3、情感态度价值观本节内容的学习,帮助学生利用计算机软件实现算法,活跃思维,提高学生的数学素养.使他们认识到计算机与人们生活密切相关,增强计算机应用意识,让学生体会成功的喜悦。
【教学重点难点】重点:正确理解输入语句、输出语句、赋值语句的作用.难点:准确写出输入语句、输出语句、赋值语句.【学前准备】:多媒体,预习例题计算机、ppt、3个杯子、两瓶饮料。
2430x+第三步:输出y的值。
直接ppt展示算法步骤和程序按照程序框图中流程线的方向,依次将程序框图中的内容用英文翻译出来(板书英,然后展示数学符号与程序符号的的计算机验证:第一次有start程序错误(为什么有start程序是错误的?)教师:若有start程序将会自动运行,将不受人为控制,所以若有会显示语法错误,因为计算机输出的结果都会显示在屏幕上或者说是打印到屏幕上,所以程序语言中没有使用output表示输出而是使用打印的95)32(⨯-=x y 三步:输出y 的值.程序框图: 程序:教师:能否再编写一个不同的程序?2:给一个变量重复赋值.(请学生回答,教师用计算机检验是否正确)注:题目3的程序给变量A 赋了两次值,A 的初值为10;第二次赋值后,初值被“覆盖”,A 的值变为25,因此输出值为25.变式:在横线上,补充程序,要求最后A 的输出值是30.赋值语句的一个典型用法:给一个变量重复赋值。
变式答案不唯一,如A=A+5或A=30都可以。
让学生深刻意识到,先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值。
最新人教版高中数学必修3第一章算法的基本思想
算法的基本思想一、教学目标1.通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义.2.让学生体会到同一个问题可能存在多种算法,这些算法之间有优劣之分.3.体会算法学习的必要性.4.通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献,增强民族自豪感.二、设计思路与教学建议算法作为高中教科书内容正式提出来是首次,但是算法本身大家并不陌生.同学们学习过的方程求解、不等式的求解、作图方法、因式分解、素因数分解、求最大公因数等等本质上都是算法.但是,什么是算法,算法的基本思想是什么,算法有哪些特点,为什么要学习算法都是在以前的学习中没有解决的问题.这节课我们将通过同学们学习过的或者熟悉的问题来说明这些.首先从一个学生熟悉的电视节目入手,让学生从主持人和参与者的对话中把握参与者猜测的基本思路,实际上就是确定准确价格的算法的算理.在分析出算理后,归纳概括出逐步判断的步骤,即算法.值得注意的是,我们对算法的叙述并不是严格的、一步到位的,而是采用学生熟悉的语言、熟悉的叙述方式,目的是让学生把握算法的基本思想――程序化思想.在归纳概括中培养学生的逻辑思维能力.在例2中,介绍了素因数分解的算法.例3就是在其基础上介绍求两个数的最大公因数的算法,前者是后者的基础,对自然数进行素因数分解,成为求两个数的最大公因数算法的平台.平台的思想在算法中是很重要的,也是数学中思考问题的一个重要思想,要仔细体会.例4是中国古代数学中的算法案例,让学生通过学习这个算法,了解中国古代数学对世界数学发展的贡献,增强民族自豪感.此外,让学生意识到同一个问题存在多种算法,这些算法之间有优劣之分.教师在教学中不要拘泥于教科书,可以穿插练习,让学生有机会模仿例题.先描述解决一个具体问题的步骤,然后通过归纳概括,总结出具有一般意义的算法.三、备用课程资源电子计算机的出现是人类计算史上的一个重大突破,因为它区别于以往任何计算工具,如算盘、计算尺、计算器等.利用计算机解决问题和利用其他工具解决问题不同,计算过程中的置数、运算、记录中间结果以及最后输出结果等等都是由计算机自动完成的.只是,我们要先将计算规则和处理的顺序交给它,这种规则和处理的顺序我们通常称作算法.算法是程序的核心,没有算法,程序就成了无源之水,无本之木.我国著名的计算机科学家李国杰曾经说过这样的话:“事实上,电脑发展到今天,能有如此广泛而神奇的应用,除了半导体集成电路芯片制造工艺提高之外,主要靠软件,而软件的核心是算法(不是编程技巧).从国际上来说,无论是制造芯片的EDA软件、多媒体应用的信息压缩技术还是‘深蓝’电脑下棋赢了卡斯帕罗夫,都是靠巧妙的算法.在海湾战争中,多国部队庞大的机器、物资流动和人员调配中算法起了关键作用,它可以和芯片平分秋色.从国内看,北大方正‘华光系统’的核心是王选在20世纪70年代中期创立的算法.近年来方正开发的彩排系统,关键也在算法.算法设计是人类智慧的结晶,计算机科学中的知识创新,主要就是算法的创新,研制一种新的算法其意义不亚于建造一种新机型.”【算法参考案例】问题1用斜二测画法画出正方形的内切圆.信息技术支持:数学软件或图形计算器.算法原理:斜二测画法的规则,加深理解.算法步骤:1.在圆上任取一点P.2.作点P在直线AD上的投影O.3.以O为中心,将点P顺时针旋转45°到P′.4.再取OP′的中点P″.5.选中点P,P″做轨迹,所得的图形就是正方形内切圆的直观图.问题2设计算法解决下面的问题:已知点P 的坐标为(x0,y0),直线l 的方程为Ax+By+C=0(A≠0),求点P 到直线l 的距离d.算法步骤:1.求出直线l 的斜率k .(1) 当B≠0时, k =-A/B;(2) 当B=0时, k 不存在.2.求出与l 垂直的直线的斜率k′.k′=B/A.3.求出过点P 且与直线l 垂直的直线l′的方程.当k′=B/A 时, 直线l′的方程为y-y0=B/A(x-x0).4.求出直线l 与直线l′的交点P′的坐标.下面利用图形计算器解方程组,由此可以得到点P′的坐标为 ⎪⎭⎫ ⎝⎛+--+-+-2200222020,])([B A BC ABx y A B A x B C By A5.把点P′的横坐标和纵坐标分别赋值给变量x1,b1.6.借助图形计算器用两点间距离公式计算由此可知点P 到直线l 距离为.2200B A C By Ax d +++= 【练习1】 P881.(1)分别将324,440,556进行素因数分解:324=2^2×3^4,440=2^3×5×11,556=2^2×139.(2)确定三个数的公共素因数:2.(3)确定公共素因数的指数:2.(4)最大公因数为:2^2=4.2.(1) 首先将1 365和2 400进行素因数分解:1 356=2^2×3×113,2 400=2^5×3×5^2.(2) 确定最大公倍数的素因数:2,3,5,113??(3) 确定素因数的指数分别为:5,1,2,1.(4) 最小公倍数为:2^5×3×5^2×113=271 200??【练习2】 P911.(1) 首先确定最小的除以9余4的正整数:4.(2) 依次加9得到所有除以9余4的正整数:4,13,22,31,40,49,58,67,…(3) 在上列数中确定最小的除以7余3的数:31.(4) 依次加上63得到31,94,157,220,283,346,…(5) 在上列数中最小的除以5余2的数为157,则157即为所求.2.不妨设8 kg 的大油瓶为A ,5 kg 和3 kg 的油瓶分别为B ,C??(1) 从A 往C 倒3 kg,将C 装满,此时A 中剩下5 kg 油.(2) 将C瓶中的3 kg油倒进B瓶.(3) 再从A往C倒3 kg油.(4) 从C往B倒2 kg,即将B瓶装满.(5) 将B中油全部倒入A.(6) 将C中油全部倒入B.(7) 从A往C倒油,将C瓶装满,此时A中油为4 kg.(8) 将C中油全部倒入B,则B中油也为4 kg??【练习3】 P931.略.2.求函数值y=log23,实际上等价于求方程2^x-3=0的近似解?笨梢杂枚?分法,确定其有解区间为[1,2],然后用二分法??【习题2―1】 P94A组1.设计算法,找出3个数中的最大数.(1) 输入三个数x,y,z.(2) 比较x和y,将二者中的较大数记作b.(3) 将b和z比较,得二者中的较大数记作c,则c为3个数中的较大数??2~4. 略.5.(1) 首先将方程变形为y=1/2(22-5x).(2) 因为要求方程的正整数解,所以由y>0,得x≤4?毕旅婢?x的4种情形进行判断:① x=1,y=17/2,不是正整数解;② x=2,y=6,为方程的一组解;③ x=3,y=72,不是正整数解;④ x=4,y=1,为方程的正整数解??(3) 方程的正整数解有两组:x=2,y=6;x=4,y=1.6. 略.7. (1)输入日期d;(2) t:=31×6+30×4+42+d;(3) s:=t除以7的余数;(4) s即为该天的星期数?薄?B组1.算法如下:(1) 因为5y≤30,所以y≤6,所以y可能为0,1,2,3,4,5,6??(2) 就y的7种情形讨论:① y=0,问题变为求4x+2z=30,5x+4z=21的非负整数解;② y=1,问题变为求4x+2z=25,5x+4z=23的非负整数解;……按照上述步骤讨论完y的所有情形,就得到方程组的所有非负整数解??2. 略.3. 刘徽割圆术的算法(1) S1:=圆内接正三角形的面积;(2) n:=4;(3) S2:=圆内接正n边形面积;(4) 若|S2-S1|足够小,输出S2,退出;(5) n:=n+1;S1:=S2;(6) 转向(3)。
高中数学 第一章 算法初步教案 新人教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、算法概念算法:在数学中,算法通常是指按照一定规则解决某一个或一类问题的明确和有限的步骤。
人教版高中必修3第一章算法初步课程设计
人教版高中必修3第一章算法初步课程设计课程目标本课程旨在帮助学生了解算法的基本概念和常用算法的实现方式,以及培养学生的编程思维能力和解决问题的能力。
教学内容1.算法的基本概念2.常用排序算法:冒泡排序、选择排序、插入排序、快速排序3.常用查找算法:顺序查找、二分查找4.算法的复杂度分析教学重点和难点教学重点•算法的基本概念和特点•常用排序算法和查找算法的原理和实现方式教学难点•快速排序的原理和实现方式•算法的复杂度分析教学方法本课程采用“理论讲授+案例分析+编程实践”的教学方法,具体如下:1.理论讲授:教师通过讲解PPT、示意图等形式,介绍算法的基本概念、常用算法的原理和实现方式。
2.案例分析:教师通过具体的案例,让学生在实践中理解算法的应用和优化。
3.编程实践:教师通过提供一些编程练习题,让学生进行算法实现和分析。
并在课堂上展示部分学生的优秀代码。
课程安排本课程共计4个课时,具体安排如下:1.第1课时:算法的基本概念。
介绍算法的定义、特点、效率和正确性等基本概念。
2.第2-3课时:排序算法。
介绍冒泡排序、选择排序、插入排序、快速排序的实现方式和时间复杂度分析。
3.第4课时:查找算法和复杂度分析。
介绍顺序查找、二分查找的实现方式和时间复杂度分析,以及算法的复杂度分析方法。
课程评价本课程考核方式为闭卷笔试和编程实践,笔试占60%,编程实践占40%。
针对学生的不同水平,编程实践的难度分为初级和高级两个难度级别,学生可以自主选择挑战。
同时,教师也将根据学生的课堂表现和编程作业进度,对学生进行平时成绩评价。
总结本课程以算法初步为主要内容,重点介绍了排序算法和查找算法,并通过编程实践提高学生的编程能力和解决问题的能力。
希望学生能通过本课程的学习,了解算法的概念和特点,掌握常用算法的实现方式,培养良好的编程思维和解决问题的能力,为后续专业学习打下基础。
最新人教版高中数学必修3第一章“算法的概念”教案3
1.1.1算法的概念1、了解算法的含义,体会算法的思想,2、掌握正确的算法应满足的要求。
重点:算法的含义、解二元一次方程组和判断一个数为质数的算法设计。
算法不一定要有运算结果,问题答案可以由计算机解决.设计一个解决某类问题的算法的核心内容是设计算法的步骤,它没有一个固定的模式,但有以下几个基本要求: (1)符合运算规则,计算机能操作; (2)每个步骤都有一个明确的计算任务; (3)对重复操作步骤作返回处理; (4)步骤个数尽可能少;知识探究(一):算法的概念 思考1:在初中,对于解二元一次方程组你学过哪些方法? 思考2:用加减消元法解二元一次方程组 ⎩⎨⎧=+-=-1212y x y x 的具体步骤是什么? 第一步,①+②×2,得 5x=1 . ③ 第二步, 第三步, 第四步,第五步, 思考3:参照上述思路,一般地,解方程组 ⎩⎨⎧=+=+222111c y b x a c y b x a ()01221≠-b a b a的基本步骤是什么? 第一步, 第二步, 第三步, 第四步,第五步,思考4:根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“算法”。
我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组.那么解二元一次方程组的算法包括哪些内容?思考5:一般地,算法是由按照一定规则解决某一类问题的基本步骤组成的。
你认为:(1)这些步骤的个数是有限的还是无限的?(2)每个步骤是否有明确的计算任务?思考6:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之和”设计了如下操作步骤:第一步,检验6=3+3,第二步,检验8=3+5,第三步,检验10=5+5,……利用计算机无穷地进行下去!请问:这是一个算法吗?思考7:根据上述分析,你能归纳出算法的概念吗?知识探究(二):算法的步骤设计思考1:如果让计算机判断7是否为质数,如何设计算法步骤?第一步,用2除7,得到余数1,所以2不能整除7.第二步,第三步,第四步,第五步,因此,7 质数。
高中数学必修三算法教案
高中数学必修三算法教案
教学目标:
1. 了解算法的基本概念和作用;
2. 掌握常见的算法思想和方法;
3. 能够运用不同算法解决实际问题。
教学重点:
1. 算法的基本概念和特征;
2. 常见的排序算法和查找算法;
3. 算法的应用与实际问题解决。
教学难点:
1. 掌握算法的具体实现方法;
2. 理解算法的时间复杂度和空间复杂度。
教学准备:
1. 教师准备PPT课件和相关教学资料;
2. 学生准备笔记本等学习工具。
教学过程:
1. 引入:讲解算法的概念和作用,引导学生思考算法在生活中的应用场景。
2. 授课:依次介绍常见的排序算法和查找算法,如冒泡排序、快速排序、二分查找等,并讲解其原理和实现方法。
3. 练习:组织学生进行相关算法的练习,加深对算法的理解和掌握。
4. 应用:引导学生运用所学算法解决实际问题,并讨论解决过程中的思考和优化方法。
5. 总结:总结本节课的重点和难点,强调算法的实际应用和重要性。
教学反思:
1. 教学内容是否贴近学生生活和实际需求;
2. 学生对算法的理解和掌握程度,是否需要加强巩固;
3. 教学方法是否有效,如何提高教学效果。
最新人教版高中数学必修三电子课本名师优秀教案
人教版高中数学必修三电子课本篇一:人教版高一数学必修三课本教材word版第一章算法初步第一章算法初步第一节算法与程序框图 1.1.1 算法概念:实际上,算法对我们来说并不陌生(回顾二元一次方程组我们可以归纳出以下步骤: 第一步,???×2,第三步,?,?×2,得得?x?2y??1??2x?y?1? ?的求解过程,5x?1?第二步,解?,第四步,解?,得得x?y?115 355y?3 ??x?????y???1535第五步,得到方程组的解为思考,能写出求解一般的二元一次方程组的步骤吗, 对于一般的二元一次方程组?a1x?b1y?c1??a2x?b2y?c2? ?其中a1b2?a2b1?0,可以写出类似的求解步骤:得第一步,?×b2,?×b1,第二步,解?第三步,?×a1,?×a2 第四步,解?(a1b2?a2b1)x?b2c1?b1c2 ?得x?b2c1?b1c2a1b2?a2b1得(a1b2?a2b1)y?a1c2?a2c1 ?y?2a1c2?a2c1a1b2?a2b1得第五步,得到方程组的解为得??x????y???b2c1?b1c2a1b2?a2b1a1c2?a2c1a1b2?a2b1上述步骤构成了解二元一次方程组的一个算法,我们可以进一步根据这一算法编制计算机程序,让计算机来解二元一次方程组。
算法? (algorithm)一词出现于12 世纪,指的是用阿拉伯数字进行算术运算的过程。
在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。
现在,算法通常可以编成计算机程序,让计算机执行并解决问题( 例1 (1)设计一个算法,判断7 是否为质数(2)设计一个算法,判断35 是否为质数只能被1和自身整除的大于1的正是叫质数算法分析:(1)根据质数的定义,可以这样判断:依次用 26 除7 ,如果它们中有一个能整除7,则7 不是质数。
高中数学必修三第一章算法初步全章教案
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算法的概念学案(含解析)新人教版必修3
1.1 算法与程序框图1.1.1算法的概念内容标准学科素养1。
通过回顾解二元一次方程组的方法,了解算法的思想。
2。
了解算法的含义和特征。
3.会用自然语言表述简单的算法。
提升数学运算发展逻辑推理应用数学抽象授课提示:对应学生用书第1页[基础认识]知识点一算法的概念预习教材P2-3,思考并完成以下问题一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.(1)试问他们怎样渡过河去?提示:第一步,两个小孩同船过河去;第二步,一个小孩划船回来;第三步,一个大人划船过河去;第四步,对岸的小孩划船回来;第五步,两个小孩同船渡过河去.(2)设计的过河方法有什么特点?提示:由于船小,不能同时坐三个人,这样就需要遵循这一规则,然后按照一定的步骤一步一步的把三人运到河对岸.知识梳理在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.知识点二算法与计算机知识梳理计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干个明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.思考:与一般的解决问题的过程相比,算法最重要的特征是什么?提示:最重要的特征是步骤的有序性、明确性和有限性.[自我检测]下列叙述不能称为算法的是()A.从北京到上海先乘汽车到飞机场,再乘飞机到上海B.解方程4x+1=0的过程是先移项再把x的系数化成1C.利用公式S=πr2计算半径为2的圆的面积得π×22D.解方程x2-2x+1=0解析:A、B两选项给出了解决问题的方法和步骤,是算法.C项,利用公式计算也属于算法.D项,只提出问题没有给出解决的方法,不是算法.答案:D授课提示:对应学生用书第2页探究一算法的概念[例1]下列关于算法的说法,正确的个数为()①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.A.1B.2C.3 D.4[解析]由于算法具有有限性、确定性、输出性等特点,因而②③④正确,而解决某类问题的算法不一定唯一,从而①错.[答案] C方法技巧1。
人教版高中必修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.在完成练习题后,对学生提交的答案进行点评和改进。
结束语本教学设计注重启发学生思考能力,通过案例演示和举例分析的方式,激发学生对算法和计算机的兴趣,提高对算法的理解和能力。
高中数学必修三:2.1算法的基本思想1+教案
算法的基本思想1、教学目标(1)了解算法的含义,体会算法的思想;(2)能够用自然语言叙述算法;(3)掌握正确的算法应满足的要求;(4)会写出解线性方程(组)的算法;会写出一个求有限整数序列中的最大值的算法2、教学重点算法的含义、解二元一次方程组和判断一个数为质数的算法设计.3、教学难点把自然语言转化为算法语言4、教学过程一、复习引入章头图体现了中国古代数学与现代计算机科学的联系,它们的基础都是“算法”.算法作为一个名词,在中学教科书中并没有出现过,我们在基础教育阶段还没有接触算法概念.但是我们却从小学就开始接触算法,熟悉许多问题的算法。
如,做四则运算要先乘除后加减,从里往外脱括弧,竖式笔算等都是算法,至于乘法口诀、珠算口诀更是算法的具体体现.广义地说,算法就是做某一件事的步骤或程序.菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法,歌谱是一首歌曲的算法.在数学中,主要研究计算机能实现的算法,即按照某种机械程序步骤一定可以得到结果的解决问题的程序.古代的计算工具:算筹与算盘.20世纪最伟大的发明:计算机,计算机是强大的实现各种算法的工具.二、新课讲授(一)算法概念在数学上,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题是程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成.说明:1.“算法”没有一个精确化的定义,教科书只对它作了描述性的说明.2..算法的特点:(1)有限性:一个算法的步骤序列是有限的,必须在有限操作之后停止,不能是无限的.(2)确定性:算法中的每一步应该是确定的并且能有效地执行且得到确定的结果,而不应当是模棱两可.(3)顺序性与正确性:算法从初始步骤开始,分为若干明确的步骤,每一个步骤只能有一个确定的后继步骤,前一步是后一步的前提,只有执行完前一步才能进行下一步,并且每一步都准确无误,才能完成问题.(4)不唯一性:求解某一个问题的解法不一定是唯一的,对于一个问题可以有不同的算法.(5)普遍性:很多具体的问题,都可以设计合理的算法去解决,如心算、计算器计算都要经过有限、事先设计好的步骤加以解决.(二)例题讲解例1:解二元一次方程组: ⎩⎨⎧=+-=-②y x ①y x 1212 分析:解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,下面用加减消元法写出它的求解过程.解:第一步:② - ①×2,得: 5y=3; ③第二步:解③得 53=y ; 第三步:将53=y 代入①,得 51=x . 学生探究:对于一般的二元一次方程组来说,上述步骤应该怎样进一步完善?老师评析:本题的算法是由加减消元法求解的,这个算法也适合一般的二元一次方程组的解法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章算法初步
§1 算法的基本思想
一、教学目标:
1.知识与技能
(1)通过对解决具体问题过程与步骤的分析,体会算法的思想,了解算法的含义;
(2)能够用语言叙述算法;
(3)会写出将自然数分解成素因数乘积的算法;
(4)会写出求两个自然数的最大公因数的算法和两个自然数的最小公倍数的算法。
2.过程与方法
通过对物品价格的猜测,体会猜测者的基本思路,得到一个一般步骤,而这个步骤就是一个算法。
结合具体问题,模仿算法步骤,写出将自然数分解成素因数乘积的算法和求两个自然数的最大公因数的算法,从而体会算法的基本思想,了解算法的含义。
3.情感态度与价值观
通过本节的学习,使学生对算法的思想有一个初步的认识,体会算法的基本思想——程序化思想,在归纳概括中培养学生的逻辑思维能力,从而进一步体会算法与现实世界的密切关系。
二、教学重点与难点:
重点:体会算法的思想,了解算法的含义;
难点:能够用语言来叙述算法。
三、学法与教学用具:
学法:学生通过对具体问题的感受,主动思考,互相交流,共同讨论,总结概括,从而更好地完成本节课的教学目标。
教学用具:某件物品、电脑、多媒体
四、教学设想:
1.创设情景
客串中央电视台的《幸运52》,让学生快速猜测出某件物品的价格。
2.探索研究
请同学们从老师和参与者的对话中感受参与者猜测的思路,试着叙述出参与者的思路。
如果你是参与者,你会如何又快又准地猜出价格?用我们学过的一种思想,又将如何叙述?
实际上,我们可以把这种思想概括如下:(在给定区间为(a,b)的前提下)
1.报出首次价格T1;
2.根据老师的回答确定价格区间:
(1)若报价T1小于商品价格P,则商品的价格所在区间为(T1,b);
(2)若报价T1大于商品价格P,则商品的价格所在区间为(a,T1);
(3)若报价等于商品价格P,则游戏结束。
3.如果游戏没有结束,则报出上面确定的价格区间的中点T2,这个确定的价格区间就是新一轮报价的给定区间了。
按照这种方法,继续判断,直到游戏结束。
然而上述的这一系列的步骤就是解决实际问题的一个算法。
相信同学们对这个过程都有了一个初步的认识,但是还不够清晰,下面我们来看一个具体的实例。
3.例题分析
例题:在给定素数表的条件下,设计算法,将936分解成素因数的乘积。
(4000以内的素数表见附录1)
让学生叙述解题的过程,了解一个初步的步骤,再根据这个解题的过程和学生共同完成这个算法的步骤,实质上就是用短除法将自然数分解成素因数。
解算法步骤如下:
1.判断936是否为素数:否。
2.确定936的最小素因数:2。
936=2×468。
短除法
3.判断468是否为素数:否。
4.确定468的最小素因数:2。
936=2×2×234。
5.判断234是否为素数:否。
6.确定234的最小素因数:2。
936=2×2×2×117。
7.判断117是否为素数:否。
8.确定117的最小素因数:3。
936=2×2×2×3×39。
9.判断39是否为素数:否。
10.确定39的最小素因数:3。
936=2×2×2×3×3×13。
11.判断13是否为素数:13是素数,所以分解结束。
分解结果是:
936=2×2×2×3×3×13
通过这个实例的分析,相信同学们对这个算法有了更进一步的认识,下面请同学们根据例题的分析、解答过程完成下面一题。
4.巩固深化
设计一个算法,求840与1764的最大公因数。
(要求学生独立完成,让学生演板,根据反馈的信息更正错误。
)
通过解题,不难发现在这个算法的设计中,对自然数进行素因数分解是基础,是解决这个问题的“平台”;同样的,求两个自然数的最大公因数的算法,也可以成为解决其他问题的“平台”。
“平台”的思想在算法设计中是一个最基本的思想,也是数学中思考问题的一个重要思想。
5.总结概括
通过前面的几个问题的分析研究,请同学们用自己的语言叙述一下什么是算法?解决这些问题的算法都有一些什么样的共同点?算法的基本思想是什么?在我们的日常生活中有那些事情用到了算法?
算法是解决某类问题的一系列步骤或程序,只要按照这些步骤执行,都能使问题得到解决。
算法的基本思想——程序化思想
6.布置作业
课本88页
练习1 1. 2.。