【配套K12】江苏省宿迁市高中数学 第一章 算法初步 第1课时 算法的含义导学案(无答案)苏教版必修3
- 格式:doc
- 大小:37.50 KB
- 文档页数:4
1.1 算法的含义预习课本P5~6,思考并完成以下问题1.算法的含义是什么?2.算法有哪些特征?[新知初探]1.算法的概念对一类问题的机械的、统一的求解方法称为算法.2.算法的特征(1)算法是指用一系列运算规则能在有限步骤内求解某类问题,其中的每条规则必须是明确定义的、可行的.(2)算法从初始步骤开始,每一个步骤只能有一个确定的后继步骤,从而组成一个步骤序列,序列的终止表示问题得到解答或指出问题没有解答.[小试身手]1.下列说法中不是算法的是________.①解方程2x+7=0的过程是移项再把x的系数化为1.②从南京到北京先乘汽车到飞机场,再乘飞机到北京.③解方程:x2-2x-3=0.④利用公式S=πr2计算半径为3的圆的面积为π×32.答案:③2.下列关于算法的说法:①求解某一类问题的算法是唯一的;②算法必须在有限步操作之后停止;③算法的每一步操作必须是明确的,不能有歧义或模糊;④算法执行后一定产生确定的结果.其中正确的有________.解析:由算法的特征知②③④正确,①错误.答案:②③④[典例] 下列语句表达中是算法的有________. ①方程x 2-1=0有两个实根.②求1+2+3+4的值,先计算1+2=3,再由3+3=6,6+4=10得最终结果是10. ③12x >2x +4. ④求M (1,2)与N (-3,-5)两点连线的方程,可先求MN 的斜率,再利用点斜式方程求得.[解析] 算法是解决问题的步骤与过程,②④都表达了一种算法. [答案] ②④(1)针对这个类型的问题,正确理解算法的概念及其特点是解决此类问题的关键. (2)注意算法的特征:有限性、确定性、可行性. [活学活用]1.下列有关算法的说法中正确的是________. ①算法是解决问题的方法和步骤; ②算法中的运算次数是有限的;③算法中的每一步操作都是可执行的,都能得到正确的结果. 解析:根据算法的特征可知①②③都正确. 答案:①②③2.计算下列各式中的S 值,能设计算法求解的是________. ①S =1+2+3+…+100. ②S =1+2+3+…+100+…. ③S =1+2+3+…+n (n ≥1且n ∈N).解析:算法的设计要求步骤是可行的,并且在有限步之内能完成任务.故①③可设计算法求解.答案:①③[典例] (1)试写出解方程x 2-2x -3=0的一个算法;(2)已知直角坐标系中的两点A (-2,3),B (1,-3)写出求直线AB 方程的一个算法. [解] (1)算法一:第一步 计算方程判别式的值并判断它的符号,Δ=(-2)2-4×(-3)=16>0; 第二步 将a =1,b =-2,c =-3代入求根公式x =-b ±b 2-4ac2a,得x 1=-1,x 2算法的概念算法的设计=3.算法二:第一步移项,得x2-2x=3;①第二步①式两边同时加上1并配方,得(x-1)2=4;②第三步②式两边开平方,得x-1=±2;③第四步解③得x1=-1,x2=3.(2)算法一:第一步求出直线AB的斜率,k=-3-31--2=-2;第二步选定点A(-2,3),用点斜式写出直线AB的方程:y-3=-2(x+2);第三步将第二步所得结果化简,得方程2x+y+1=0.算法二:第一步设直线AB的方程为y=kx+b;第二步将A(-2,3),B(1,-3)代入第一步所设方程,得3=-2k+b,-3=k+b;第三步解第二步所得方程构成的方程组,得k=-2,b=-1;第四步将第三步所得结果代入第一步所设方程,得y=-2x-1;第五步将第四步所得结果整理,得方程2x+y+1=0.算法三:第一步将A(-2,3),B(1,-3)代入两点式方程,得y-3-3-3=x+21+2;第二步将第一步所得结果化简得方程2x+y+1=0.(1)在设计算法时,首先要考虑是否有公式可以利用,若有应围绕公式设计算法.(2)在算法中,顺序是十分重要的.(3)算法具有不唯一性,设计算法时要选用步骤少、条理清晰,具有通用性的算法.1.已知一个学生的语文成绩为89分,数学成绩为96分,外语成绩为99分.请填入适当文字,使下列步骤成为求他的总分和平均成绩的一个算法:第一步取A=89,B=96,C=99;第二步__________________________________________;第三步__________________________________________.第四步输出结果.答案:计算A+B+C计算13(A+B+C)2.写出求两底半径分别为1和4,高也为4的圆台的侧面积、表面积及体积的算法.解:算法步骤如下:第一步 取r 1=1,r 2=4,h =4; 第二步 计算l =r 2-r 12+h 2;第三步 计算S 1=πr 21,S 2=πr 22,S 侧=π(r 1+r 2)l ; 第四步 计算S 表=S 1+S 2+S 侧; 第五步 计算V =13(S 1+S 1S 2+S 2)h .[层级一 学业水平达标]1.有关算法的描述有下列几种说法: ①对一类问题都有效; ②对个别问题有效;③可以一步一步地进行,每一步都有唯一的结果; ④是一种通法,只要按部就班地做,总能得到结果. 其中描述正确的为________.解析:算法通常是指可以用计算机来解决的某一类问题的程序或步骤,所以①正确,②错误.由于算法必须是明确的,有效的,而且在有限步内完成,故③④正确.答案:①③④2.某人坐飞机去外地办一件急事,下面是他自己从家里出发到坐在机舱内的主要算法,请补充完整.第一步,乘车去飞机场售票处;第二步,____________________________; 第三步,凭票登机对号入座. 答案:在售票处购买飞机票3.已知算法:第一步,输入n .第二步,判断n 是否是2,若n =2,则n 满足条件;若n >2,则执行第三步.第三步,依次检验从2到n -1的整数能不能整除n ,若不能整除n ,满足条件.该算法的功能是________.解析:因为2是质数,且大于2的任何数,只要它不能被2,3,…,n -1整除,则n 一定为质数.故上述步骤是判断n 是否为质数的算法.答案:判断所给的数是否为质数4.写出求长、宽、高分别为3,2,4的长方体表面积的算法:第一步 取a =3,b =2,c =4;第二步 ____________________________________________________; 第三步 输出结果S . 答案:计算S =2ab +2bc +2ac5.已知函数y =⎩⎪⎨⎪⎧-x 2-1x ≤-1,x 3x >-1,试设计一个算法输入x 的值,求对应的函数值.解:算法如下: 第一步 输入x 的值;第二步 当x ≤-1时,计算y =-x 2-1,否则执行第三步; 第三步 计算y =x 3; 第四步 输出y .[层级二 应试能力达标]1.已知球的表面积为16π,求球的体积的一个算法如下: 第一步 取S =16π;第二步 _____________________________________________________; 第三步 _____________________________________________________. 将其补充完整. 答案:计算R =S4π(由于S =4πR 2) 计算V =43πR 3 2.下面是求2×4×6×8×10的一个算法,请将它补充完整. 第一步 计算2×4得8;第二步 将第一步中的运算结果8与6相乘得48;第三步 _________________________________________________________; 第四步 _________________________________________________________. 答案:将第二步中的运算结果48与8相乘得384 将第三步中的运算结果384与10相乘得3 8403.求二次函数y =ax 2+bx +c (a ≠0)的最值的一个算法如下,请将其补充完整: (1)计算m =4ac -b24a.(2)________________________________________________________________. (3)________________________________________________________________. 解析:m 是最大值还是最小值由a 的正负确定,依据二次函数求最值的方法,确定第二、三步的内容.答案:如果a >0,则得到y min =m ,否则执行第三步 得到y max =m4.有蓝和黑两种墨水瓶,但是现在却错把蓝墨水装在黑墨水瓶中,黑墨水装在了蓝墨水瓶中,要求将其互换,下面是将其互换的一个算法,请将其补充完整.第一步 准备一个干净的空瓶;第二步 将黑墨水瓶中的蓝墨水倒入空瓶中,并将黑墨水瓶洗干净; 第三步 _______________________________________________________; 第四步 _______________________________________________________.答案:将蓝墨水瓶中的黑墨水倒入黑墨水瓶中,并将蓝墨水瓶洗干净 将蓝墨水倒入蓝墨水瓶中5.如下算法: 第一步 输入x 的值;第二步 若x ≥0成立,则y =2x,否则执行第三步; 第三步 y =log 2(-x ); 第四步 输出y 的值.若输出结果y 的值为4,则输入的x 的值为________. 解析:算法执行的功能是给定x ,求分段函数y =⎩⎪⎨⎪⎧2x,x ≥0,log 2-x ,x <0对应的函数值.由y =4知2x=4或log 2(-x )=4.∴x =2或-16. 答案:2或-166.已知数字序列:2,5,7,8,15,32,18,12,52,8.写出从该序列搜索18的一个算法. 第一步 输入实数a .第二步 __________________________________________________________. 第三步 输出a =18.解析:从序列数字中搜索18,必须依次输入各数字才可以找到. 答案:若a =18,则执行第三步,否则返回第一步 7.给出下列算法: 第一步 输入x 的值.第二步 当x >4时,计算y =x +2;否则执行下一步. 第三步 计算y =4-x . 第四步 输出y .当输入x =10时,输出y =__________.解析:∵x =10>4,∴计算y =x +2=12. 答案:128.下面给出一个问题的算法: 第一步 输入x ;第二步 若x ≥4,则执行第三步,否则执行第四步; 第三步 输出2x -1; 第四步 输出x 2-2x +3.(1)这个算法解决的问题是______________________________________________. (2)当输入x 值为________时输出的值最小? 解析:(1)这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值问题.(2)当x ≥4时,f (x )=2x -1≥7,当x <4时,f (x )=x 2-2x +3=(x -1)2+2≥2. ∴当x =1时,f (x )min =2.即当输入x 的值为1时,输出的值最小.答案:(1)求函数f (x )=⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值 (2)19.写出求a ,b ,c 中最小值的算法. 解:算法如下:第一步 比较a ,b 的大小,当a >b 时,令“最小值”为b ;否则,令“最小值”为a ; 第二步 比较第一步中的“最小值”与c 的大小,当“最小值”大于c 时,令“最小值”为c ;否则,“最小值”不变;第三步 “最小值”就是a ,b ,c 中的最小值,输出“最小值”.10.已知直线l 1:3x -y +12=0和l 2:3x +2y -6=0,求l 1,l 2,y 轴围成的三角形的面积.写出解决本题的一个算法.解:算法如下:第一步 解方程组⎩⎪⎨⎪⎧3x -y +12=0,3x +2y -6=0得l 1,l 2的交点P (-2,6);第二步 在方程3x -y +12=0中令x =0得y =12,从而得到A (0,12);第三步 在方程3x +2y -6=0中令x =0得y =3, 得到B (0,3);第四步 求出△ABP 底边AB 的长AB =12-3=9; 第五步 求出△ABP 的底边AB 上的高h =2; 第六步 代入三角形的面积公式计算S =12AB ·h ;第七步 输出结果.。
1.1 算法含义名师导航三点剖析一、算法含义在日常生活中做任何一件事情,都是按照一定规那么,一步一步进展,比方在工厂中生产一部机器,先把零件按一道道工序进展加工,然后,再把各种零件按一定法那么组装成一部完整机器,它们工艺流程就是算法;在农村中种庄稼有耕地、播种、育苗、施肥、中耕、收割等各个环节,这些栽培技术也是算法.总之,在任何这些数值计算或非数值计算过程中所采取方法与步骤,都称之为算法.一般而言,对一类问题机械、统一求解方法称为算法.注意:1.这种描述不是算法严格定义,但是反映了算法根本思想.算法根本思想就是程序化思想.“算法〞通常是指可以用计算机来解决某一类问题程序或步骤,这些程序或步骤必须是明确与有效,而且能够在有限步之内完成.“计算〞问题才有算法.广义地说,为解决一个问题而采取方法,就称为算法.例如,我们要发一封电子邮件,一般需要经历以下几个步骤:第一步,翻开电子邮箱;第二步,点击“写邮件〞;第三步,输入发送地址;第四步,输入主题;第五步,输入信件内容;第六步,点击“发送邮件〞.这些步骤从广义上来讲也可以称作是发一封电子邮件算法.4.计算机解决任何问题都要依赖于算法.只有将解决问题过程分解为假设干个明确步骤,即算法,并用计算机能够承受“语言〞准确地描述出来,计算机才能够解决问题.——钢琴来说明这个道理.钢琴对于人特定命令〔按键或按键组合〕会发出特定、固定声音,并且这种根本对应关系是有限.正是由于掌握了这种固定对应关系,钢琴家才能够以此为根底进展创作,如果没有这种固定对应关系,钢琴家也就无法驾驭钢琴,更谈不上弹奏出优美旋律了.计算机也是一样,它对于特定命令〔根本命令或由根本命令组合而成复杂命令〕,能作出固定反响〔例如对于命令2+3,计算机反响就是计算出这个算式值为5〕,像这种计算机能承受并执行根本命令或由根本命令所组合而成复杂命令就是计算机能够承受“语言〞,也正是依靠这种“语言〞,我们才能与计算机进展“交流〞并且让计算机为我们所用,按照我们意图去解决问题.二、算法特性一般来讲,一个算法应具有以下五个重要特性:1.有穷性:一个算法必须总是〔对任何合法输入值〕在执行有穷步之后完毕,且每一步都可在有穷时间内完成.算法具有有穷性是为了让算法不能无休止地执行下去,以致达不到解决问题目.数学中无穷级数,在实际计算时只能取有限项,即计算无穷级数过程只能是有穷.因此,一个无穷级数表示只能是一个计算公式,而根据精度要求确定计算过程才是有穷算法.2.确定性:算法中每一条指令必须有确切含义,读者理解时不会产生歧义.也就是说,算法步骤中不能含有模糊不清、容易让人误解表达.确定性是要保证算法在执行过程中,不能因不同人喜好、理解不同及其他人为因素而“走样〞.事实上,在程序设计中,一个算法必须确定到这样一个程度,即使一台计算机也能遵循这个指示正确执行.从这个角度我们可以看到算法步骤一个特点就是:清晰、准确而又机械、刻板、缺乏创造性〔但从算法步骤执行上讲也不需要有创造性,能严格执行就可以了〕.3.可行性:算法可行性包括两个方面:一是算法中每一个步骤必须是能实现.例如,在算法中,不允许出现分母为零情况;在实数范围内不能求一个负数平方根等.二是算法执行结果能到达预期目.通常,针对实际问题设计算法,人们总是希望能得到满意结果.当然可行性对于不同人及不同时代具有不同含义.仅就计算工具上来讲,古代最好计算工具大概就是算盘了,而现代超级计算机无论是在计算速度还是在可计算问题范围上都远在其上.古代很多不能完成计算在现代都变成了可能.4.输入:算法一定要根据输入初始数据或给定初值才能正确执行它每一步骤.需要注意是,算法输入数据与输出数据都应该是离散〔分散、不连续、可逐个计算数据〕符号〔或称字母,其中也包括数字〕,例如不能输入一条连续曲线.〔连续曲线上点是连续,无法对所有点所对应数据逐个进展计算〕这是因为算法一般都是靠计算机来执行,而数字电子计算机是一个离散构造,它只能处理离散或离散化了数量关系.因此,无论计算机科学本身,还是与计算机科学及其应用密切相关现代科学研究领域,都面临着如何对离散构造建立相应数学模型,又如何将已用连续数量关系建立起来数学模型离散化,从而可由计算机加以处理.5.输出:算法一定能得到问题解,有一个或多个输出,到达求解问题目.这些输出是同输入有着某些特定关系量.没有输出结果算法是没有意义.此外,还要求算法应具有通用性:即算法应适用于某一类问题中所有个体,而不是只能用来解决一个具体问题.例如一个能解所有二元一次方程组算法就比一个只能解某一个特定二元一次方程组算法更具有通用性.三、算法描述描述算法可以有不同方式,常用有自然语言、框图〔流程图〕、程序设计语言、伪代码等.1.自然语言:就是人们日常使用语言.用自然语言描述算法优点是通俗易懂,当算法中操作步骤都是顺序执行时比拟容易理解.缺点是如果算法中包含判断与转向等较复杂过程时,就会显得不够清晰、直观了,并且表达会较烦琐与冗长,并且容易出现歧义.2.流程图:是用一组几何图形表示各种类型操作,在图形上用简明扼要文字与符号表示具体操作,并用带有箭头流线表示操作先后次序.用框图描述算法,具有直观、构造清晰、条理清楚、通俗易懂、便于检查修改及交流等优点.3.程序设计语言:“算法是计算机科学根底〞,计算机完成任何一项任务都需要算法.但是,用自然语言或程序框图描述算法计算机是无法“理解〞,我们还需要将算法用计算机能够理解语言表达出来,通常这称为程序设计,所用语言称为程序设计语言〔programming language〕.程序设计语言由一些有特定含义程序语句构成,与算法程序框图三种根本构造相对应,任何程序设计语言都包含输入输出语句、赋值语句、条件语句与循环语句.不同程序设计语言有不同语句形式与语法规那么,但根本构造是一样.正是由于这样原因,在研究算法时候,有时并不很关心算法语句是否用是某种准确程序语言,而采用根本构造一样更为简便易懂语言形式,有人称之为伪代码.问题探究问题1:算法概念与我们生活中所遇到许多概念有类似地方.如菜谱,就是指导人们如何做菜.那么,菜谱概念与算法概念终究有哪些一样点与不同点呢?探究:我们知道,算法有五个重要特征,即有穷性、确定性、可行性、有输入、有输出.于是我们想到可以根据算法特性对菜谱逐一进展比照来探究这个问题.首先,容易想到,菜谱总是符合有穷性要求〔厨师肯定不会花无限多时间来做一盘菜吧?〕.其次,可行性也是菜谱所具有〔做菜步骤必须是厨师力所能及〕.输入就是作菜原料〔如鸡蛋、西红柿、糖、盐等〕,输出就是做好菜了〔如鸡蛋炒西红柿等〕.但是对于确定性,菜谱就不是那么令人满意了.例如,步骤“加少许盐〞,“盐〞也许已经是明确定义了;那么“少许〞该是多少呢,算法要求每一步都是准确,按照这个标准,“少许〞这样模糊词句是不被允许,当然我们可以将这个步骤改为如“加2.2 g盐〞“轻轻地颠簸直到混合物发脆为止〞、“在小长柄锅里加热料酒〞等等指示,对于训练有素厨师来说,说明已经是足够了,但是一个算法必须确定到这样一个程度:即使一台计算机也能遵循这个指示.因此从严格意义上来讲,菜谱并不能称为算法.“好〞没有严格定义.一个好算法都应该满足哪些标准?探究:算法就其本质来讲,就是一种解决问题方法,只不过更具有程序化罢了.我们可以根据自己经历,思考一个好解决问题方法应该具有哪些特点,然后看这些特点在算法上都应该有什么样表达,就可以答复这个问题了.正如所有好解决问题方法必须是正确一样,一个好算法首先必须是正确.正确性对不同事情有着不同含义.对于算法来讲,正确性包含如下几个层次:〔1〕算法不能含有语法错误,否那么算法不能正常执行;〔2〕算法对于几组输入数据,能够得出满足规格说明要求结果;〔3〕算法对于精心选择典型、苛刻而带有刁难性几组输入数据,能够得出满足规格说明要求结果;〔4〕算法对于一切合法输入数据,都能产生满足规格说明要求结果.其次,我们容易想到一个好解决问题方法,应该是思路清晰、让人容易理解,这样就可以让更多人掌握我们方法.同理,我们写出算法要具有可读性,格式要工整、标准,思想要清晰、准确,以便与其他人更好地交流、合作.世事无常,在我们解决问题过程中,往往不可防止地会有意外情况发生,这要求我们解决问题方法要对这些意外情况制定相应对策,防止不必要损失.同理,我们算法要具有强健性,它含义就是要求算法能够在出现异常或突发事件时能正常运行,不至于因为操作环节中错误而造成灾难性后果.此外,我们做事还要考虑这件事需要花费时间与占用空间.一般来讲,花费时间与占用空间少方法会更好.同样,算法也有高效率与低存储量需求.效率指是算法执行时间.对于解决同一问题多个算法,执行时间短算法效率高.存储量需求是指算法执行过程中所需要最大存储空间.如果所占空间量依赖于特定输入,那么除特别指明外,均按最坏情况来分析.精题精讲例1.给出求1+3+5+7+9+11+13一个算法.思路解析分析一:此题主要是考察理解概念程度.由于此题是一个连续相加问题,那么写算法时,只需按照逐一相加程序进展.分析二:由于1+3+5+…+(2n-1)=n2,所以可以运用公式1+3+5+…+(2n-1)=n2直接计算,只需将n=7代入公式即可.答案:解法一:按照逐一相加程序进展:第一步计算1+3,得到4;第二步 将第一步中运算结果4与5相加,得到9; 第三步 将第二步中运算结果9与7相加,得到16; 第四步 将第三步中运算结果16与9相加,得到25; 第五步 将第四步中运算结果25与11相加,得到36; 第六步 将第五步中运算结果36与13相加,得到49. 解法二:运用公式1+3+5+…+(2n-1)=n 2计算:第一步 取n =7;第二步 计算n 2;第三步 输出运算结果.绿色通道对算法灵活、准确应用与自然语言表达问题,要注意:算法方法不同,解决问题繁简程度也不同.我们研究算法,就是要找出解决问题最好算法.例2.给出求解方程ax 2+bx+c=0(a ≠0,b 2-4ac>0)一个算法. 思路解析解一元二次方程一般利用求根公式来求解,即,当方程左边二次多项式可分解因式时,我们也可用分解因式方法来解一元二次方程. 答案:算法如下:第一步 写出方程中a 、b 、c 值;第二步 计算b 2-4ac 值;第三步 计算值;第四步 输出方程根为aac b b x a ac b b x 24242221-+-=---=或.一个算法,就是一个有穷规那么集合,它为某个特定类型问题提供了解决问题运算序列.其中每条规那么必须是明确定义、可行.序列终止表示问题得到解答或指出问题没有解答.例3.一个人带三只狼与三只羚羊过河,只有一条船,同船可以容一个人与两只动物.没有人在时候,如果狼数量不少于羚羊数量,狼就会吃掉羚羊.〔1〕设计一个平安渡河算法;〔2〕思考每一步算法所遵循一样原那么是什么思路解析在人运送动物过河过程中,人离开岸边时必须保证每个岸边羚羊数目要大于狼数目,依据此原那么可以选取平安渡河方法.答案:〔1〕算法是:S1 人带两只狼过河;S2 人自己返回;S3 人带两只羚羊过河;S4 人带一只狼返回;S5 人带一只羚羊过河;S6 人自己返回;S7人带两只狼过河.〔2〕在人运送动物过河过程中,人离开岸边时必须保证每个岸边羚羊数目要大于狼数目.这是一个实际问题,生活中解决任何问题都需要算法,我们要在处理实际问题过程中理解算法含义,体会算法设计思想方法.。
1.1 算法的含义学习目标 1.了解算法的特征;2.初步建立算法的概念;3.会用自然语言表述简单的算法.知识点一算法的概念思考1 有一碗酱油,一碗醋和一个空碗.现要把两碗盛的物品交换过来,试用自然语言表述你的操作办法.思考2 某笑话有这样一个问题:把大象装进冰箱总共分几步?答案是分三步.第一步:把冰箱门打开;第二步:把大象装进去;第三步:把冰箱门关上.这是一个算法吗?梳理算法概念:知识点二算法的特征思考1 设想一下电脑程序需要计算无限多步,会怎么样?梳理算法特征:有穷性、可行性、顺序性、不唯一性、普遍性.思考2 求解某一个问题的算法是不是唯一的?思考3 任何问题都可以设计算法解决吗?梳理算法的设计要求:(1)写出的算法,必须能解决一类问题,并且能够重复使用.(2)要使算法尽量简单、通俗易懂.(3)要保证算法正确,且计算机能够执行.类型一算法的特征例1 一个大人和两个小孩一起渡河,渡口只有一条小船,每次只能渡1个大人或两个小孩,他们三人都会划船,但都不会游泳.试问他们怎样渡过河去?请写出一个渡河方案.反思与感悟算法的特点:(1)有穷性:一个算法应包括有限的操作步骤,能在执行有穷的操作步骤之后结束.(2)确定性:算法的计算规则及相应的计算步骤必须是确定的.(3)可行性:算法中的每一个步骤都是可以在有限的时间内完成的基本操作,并能得到确定的结果.跟踪训练1 某人带着一只狼和一只羊及一捆青菜过河,只有一条船,船仅可载重此人和狼、羊及青菜中的一种,没有人在的时候,狼会吃羊,羊会吃青菜.请设计安全过河的算法.类型二算法的阅读理解例2 下面算法要解决的问题是______________________________________________.第一步输入三个数,并分别用a、b、c表示.第二步比较a与b的大小,如果a<b,则交换a与b的值.第三步比较a与c的大小,如果a<c,则交换a与c的值.第四步比较b与c的大小,如果b<c,则交换b与c的值.第五步输出a、b、c.反思与感悟一个算法的作用往往并不显然,这需要我们结合具体数值去执行一下才知道.跟踪训练2 下面给出了一个问题的算法:第一步输入a.第二步若a≥4,则执行第三步,否则执行第四步.第三步输出2a-1.第四步输出a2-2a+3.这个算法解决的问题是____________________________________________________.类型三算法的步骤设计例3 设计一个算法,判断7是否为质数.反思与感悟设计一个具体问题的算法,通常按以下步骤:(1)认真分析问题,找出解决此题的一般数学方法.(2)借助有关变量或参数对算法加以表述.(3)将解决问题的过程划分为若干步骤.(4)用简练的语言将这个步骤表示出来.跟踪训练3 设计一个算法,判断35是否为质数.1.下列不是算法的是________.(填序号)①解方程2x-6=0的过程是移项和系数化为1;②从济南到温哥华要先乘火车到北京,再转乘飞机;③解方程2x2+x-1=0;④利用公式S=πr2计算半径为3的圆的面积.2.下列对算法的理解正确的是________.(填序号)①算法有一个共同特点就是对一类问题都有效(而不是个别问题);②算法要求是一步步执行,每一步都能得到唯一的结果;③算法一般是机械的,有时要进行大量重复计算,它的优点是一种通法;④任何问题都可以用算法来解决.3.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求他的总分和平均成绩的一个算法为:第一步取A=89,B=96,C=99;第二步____________________;第三步____________________;第四步输出计算的结果.4.已知算法:第一步,输入n.第二步,判断n是不是2,若n=2,则n满足条件;若n>2,则执行第三步.第三步,依次检验从2到n-1的整数能不能整除n,若不能整除n,满足条件.该算法的功能是____________________.1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性.2.算法设计的要求:(1)写出的算法必须能够解决一类问题(如判断一个整数是否为质数,求任意一个方程的近似解等),并且能够重复使用.(2)要使算法尽量简单,步骤尽量少.(3)要保证算法正确,且算法步骤能够一步一步执行,每步执行的操作必须确切,不能含混不清,而且在有限步后能得到结果.答案精析问题导学知识点一思考1 先把醋倒入空碗,再把酱油倒入原来盛醋的碗,最后把倒入空碗中的醋倒入原来盛酱油的碗,就完成了交换.思考2 是.梳理算术运算机械统一计算机程序知识点二思考1 若有无限步,必将陷入死循环,解决不了问题.故算法必须在有限步内解决问题.思考2 解决一个问题的算法可以有多个,只是有优劣之分,结构简单,步骤少,速度快的算法就是好算法.思考3 不可以,只有能按照一定规则解决的、明确的、有限的操作步骤的问题才可以设计算法,其他的问题一般是不可以的.题型探究例1 解第一步两个小孩同船过河去.第二步一个小孩划船回来.第三步一个大人划船过河去.第四步对岸的小孩划船回来.第五步两个小孩同船渡过河去.跟踪训练1 解第一步人带羊过河.第二步人自己返回.第三步人带青菜过河.第四步人带羊返回.第五步人带狼过河.第六步人自己返回.第七步人带羊过河.例2 输入三个数a,b,c,并按从大到小的顺序输出解析第一步是给a、b、c赋值.第二步运行后a>b.第三步运行后a>c.第四步运行后b>c,所以a>b>c.第五步运行后,显示a、b、c的值,且从大到小排列.跟踪训练2 求函数f (x )=⎩⎪⎨⎪⎧ 2x -1, x ≥4,x 2-2x +3, x <4当x =a 时的函数值f (a )例3 解 第一步 用2除7,得到余数1,所以2不能整除7.第二步 用3除7,得到余数1,所以3不能整除7.第三步 用4除7,得到余数3,所以4不能整除7.第四步 用5除7,得到余数2,所以5不能整除7.第五步 用6除7,得到余数1,所以6不能整除7.因此,7是质数.跟踪训练3 解 第一步 用2除35,得到余数1,所以2不能整除35.第二步 用3除35,得到余数2,所以3不能整除35.第三步 用4除35,得到余数3,所以4不能整除35.第四步 用5除35,得到余数0,所以5能整除35.因此,35不是质数.当堂训练1.③解析 ③不是算法,没有给出解这个方程的步骤.2.①②③解析 由于算法要求必须在有限步骤内求解某类问题,所以并不是任何问题都可以用算法解决.例如求1+12+13+14+ (1)+…,故④不正确. 3.计算x =A +B +C 计算y =x 3解析 求三个数的平均数必须是先计算三个数的总和,再被3除.4.判断所给的数是否为质数解析 因为2是质数,且大于2的任何数,只要它不能被2,3,…,n -1,整除,则n 一定为质数.故上述步骤是判断n 是否为质数的算法.。
第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课时算法的含义【学习目标】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+2+3+4+5+6+7的一个算法.例2. 给出求解方程组⎩⎨⎧2x +y =5 ①4x +5y =13 ②的一个算法.例3. 已知直角坐标系中的两点A (-1,0),B (3,2),写出求直线AB 的方程的一个算法.【学以致用】1.课本P36页第1题.2.下列有关“算法”的说法不正确的是……………………………………( )A.算法是解决问题的方法和步骤B.算法的每一个步骤和次序应当是确定的C.算法在执行有限个步骤后必须结束D.算法是能够在计算机上运行的程序语言3.看下面的四段话,其中不是解决问题的算法的是( )A.从济南到北京旅游,先坐火车,再坐飞机抵达B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1C.方程x 2-1=0有两个实根D.求1+2+3+4+5的值,先计算1+2=3,再求3+3=6,6+4=10,10+5=15,最终结果为154.买一只杯子需2元,现要写出计算买n 只杯子所需要的钱数的一个算法,则这个算法中必须要用到的一个表达式为 .5.设计一个算法,计算输入实数的绝对值.第1课时 算法的含义【基础训练】1. 看下面的四段话,其中不是解决问题的算法是________.(填序号)(1)从济南到北京旅游,先坐火车,再坐飞机抵达;(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;(3)方程x 2-1=0有两个实根;(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.2. 已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步:(1)计算c =a 2+b 2;(2)输入直角三角形两直角边长a ,b 的值;(3)输出斜边长c 的值.其中正确的顺序是________.(填序号)3. 下列关于算法的描述正确的是________.(填序号)①算法与求解一个问题的方法相同;②算法只能解决一个问题,不能重复使用;③算法过程要一步一步执行,每步执行的操作必须确切;④有的算法执行完后,可能无结果.4. 计算下列各式中S 的值,能设计算法求解的是________.(填序号)①S =12+14+18+…+12100; ②S =12+14+18+…+12100+…; ③S =12+14+18+…+12n (n ≥1且n ∈N *). 5. 关于一元二次方程x 2-5x +6=0的求根问题,下列说法正确的是________.(填序号)①只能设计一种算法;②可以设计至少两种算法;③不能设计算法;④不能根据解题过程设计算法.6. 已知直角三角形两条直角边长分别为a ,b (a >b ).写出求两直角边所对的最大角θ的余弦值的算法如下:第一步:输入两直角边长a ,b 的值.第二步:计算c =a 2+b 2的值.第三步:________________.第四步:输出cos θ.将算法补充完整,横线处应填____________.7. 已知某梯形的底边长AB =a ,CD =b ,高为h ,写出一个求这个梯形面积S 的算法.8. 函数y =⎩⎪⎨⎪⎧ -x +1 (x >0)0 (x =0)x +1 (x <0),写出给定自变量x ,求函数值的算法. 【思考应用】9. 已知数字序列:2,5,7,8,15,32,18,12,52,8.写出从该序列搜索18的一个算法.第一步,输入实数a .第二步,_________________________________________________________.第三步,输出a =18.10.下面给出了解决问题的算法:第一步:输入x .第二步:若x ≤1,则y =2x -1,否则y =x 2+3.第三步:输出y .(1)这个算法解决的问题是________;(2)当输入的x 值为________时,输入值与输出值相等.11.下列所给问题中:①二分法解方程x 2-3=0;②解方程组⎩⎪⎨⎪⎧ x +y +5=0x -y +3=0;③求半径为3的圆的面积;④判断y =x 2在R 上的单调性.其中可以设计一个算法求解的是________(填上你认为正确的两个序号).12.设计一个可以输入圆柱的底面半径r 和高h ,再计算出圆柱的体积和表面积的算法.【拓展提升】13.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:(1)有三根杆子A ,B ,C ,A 杆上有三个碟子(大小不等,自上到下,由小到大),如图.(2)每次移动一个碟子,小的只能叠在大的上面.(3)把所有碟子从A 杆移到C 杆上.试设计一个算法,完成上述游戏.。
1.4算法案例(1)【新知导读】1.什么叫中国剩余定理?它的算法思想可以解决什么代数问题?2.)b ,a (Mod ),x (Int 分别代表什么意思?【范例点睛】古今中外,许多人致力于圆周率的研究与计算。
我国东汉的数学家刘徽利用“割圆术”计算圆的面积及圆周率π。
“割圆术”被称为千古绝技,它的原理是用圆内接正多边形的面积去逼近圆的面积。
具体计算如下:在单位圆内作正六边形,其面积记为A 1,边长为a 1,在此基础上作圆内接12边形,面积记为A 2,边长为a 2,……,一直做下去,记该圆的内接正1n 26-⨯边形面积为n A ,边长为n a 。
由于所考虑的是单位圆,计算出的n A 的值即是圆周率π的一个近似值,且n 越大,n A 与圆周率π越接近。
你能否设计一个算法,计算圆周率的近似值?思路点拨: :画图可知2n1n a 42a --=+,1n 2n n a 23A --⋅=,1a 1=,可得算法步骤如下:BeginRead na←1For I from 2 to nA←a 232I ⋅⨯- a←sqrt ]]4a 1[sqrt 22[2-⨯- Print I,A,aEnd forEnd【课外链接】1. 已知钱数x (不足10元),要把它用于1元、5角、1角、1分的硬币表示,若要用尽量少的硬币个数表示x ,设计一个算法,各硬币的个数.思路点拨:要用尽量少的硬币表示钱数,也就是要尽可能地用大面值的硬币.以1元钱的个数就是x 的整数部分,记为a ,则5角钱的个数就是(x -a )/0.5的整数部分,记为b ;1角钱的个数就是(x -a ×1-b ×0.5)的整数部分,记为c ;1分钱的个数就是(x -a ×1-b ×0.5-c ×0.1)的整数部分.【随堂演练】1.下列各数中,被3,5,9除都余2的正整数是( )A.17B.47C.29D.112.m 是一正整数,对两个正整数b a ,,若b a -是m 的倍数,则称模m 同余,用符号)M o dm (b a ≡表示.则)27Mod (5a ≡中,a 的取值可能为 ( )A.11B.22C.27D.323.有一堆火柴棒,三根三根的数,最后余下两根;五根无根的数,最后余下三根;七根七根的数,最后余下两根。
1.1算法的含义互动互动讲堂劝导指引1. 算法的含义算法是达成某项工作的一系列步骤. 现代意义上的“算法”往常是指能够用计算机来解决的某一类问题的程序或步骤, 这些程序或步骤一定是明确和有效的, 并且能够在有限步之内达成 .疑难疏引(1)算法就是计算机解题的过程. 在这个过程中 , 不论是形成解题思路仍是编写程序, 都是在实行某种算法, 前者是推理实现的算法, 后者是操作实现的算法.(2)关于某一个问题 , 找到认识决它的某种算法是指派用一系列运算规则能在有限步骤内求解某类问题 , 此中的每条规则一定是明确立义的、可行的 , 不可以含糊其辞 , 含糊其词 . 我们过去学习的很多公式都是算法, 加、减、乘、除运算法例以及多项式的运算也是算法.(3)求解某个问题的算法不必定是独一的 , 即算法的不独一性 . 算法要求“循规蹈矩地做”,每做一步都是有独一的结果 .(4)算法与一般意义上详细问题的解法既有联系, 又有差别 , 它们之间是一般和特别的关系,也是抽象与详细的关系. 算法的获取要借助一般意义上详细问题的求解方法, 而任何一个具体问题都能够利用这种问题的一般算法来解决.(5)算法一方面拥有详细化、程序化、机械性的特色, 同时又有高度的抽象性、归纳性、精确性 , 所以算法在解决问题的过程中更拥有条理性、逻辑性的特色.(6)描绘算法能够有不一样的形式 , 比如 , 能够用自然语句和数学语言加以表达, 也能够用框图(流程图)、程序设计语言和伪代码给出精准的说明 . 2.算法的特征一般来讲 , 一个算法应拥有以下五个重要特征:(1)确立性:算法的每一步一定是切实定义的, 且无二义性 , 算法只有独一的一条履行路径 ,关于同样的输入只好得出同样的输出.(2)有穷性:一个算法一定在履行有穷次运算后结束. 在所规定的时间和空间内, 若不可以获得正确结果 , 其算法也是不可以被采用的 .(3)可行性:算法中的每一个步骤一定能用实现算法的工具——可履行指令精准表达, 并在有限步骤内达成 , 不然这种算法也是不会被采用的 .(4)输入:算法必定要依据输入的初始数据或给定的初值才能正确履行它的每一步骤.(5)输出:算法必定能获取问题的解 , 有一个或多个结果输出 , 达到求解问题的目的 , 没有输出结果的算法是没存心义的 .别的 , 还要求算法应拥有通用性:算法应合用于某一类问题中的全部个体 , 而不是只好用来解决一个详细问题 . 比如一个能解全部二元一次方程组的算法就比一个只好解某一个特定的二元一次方程组的算法更拥有通用性.3. 给出一个详细问题 , 设计算法时应注意(1)仔细剖析问题 , 找出解决此问题的一般数学方法.(2)借助相关的变量或参数对算法加以表述.(3)将解决问题的过程区分为若干步骤.(4)用精练的语言将各个步骤表示出来.事例 1 写出对随意 3 个整数 a,b,c求最大值的算法.【研究】一般地 , 可设第一个为最大值 , 而后和第二个比较 , 再拿出此中的较大值与第三个比较,向来进行下去 , 直到最后一个数 , 这样可获取答案 .【解】算法用数学句描绘以下:第一步:令max=a;第二步:比max与 b 的大小 , 若 b> max, 令 max=b;第三步:比max与 c 的大小 , 若 c> max, 令 max=c;第四步: max 就是 a,b,c中的最大.律解 , 先找出解的数学方法, 而后循规蹈矩地做, 每一步都有独一果,有限步以后能得出.事例 2 若将事例 1 中的“最大”改成“最小”, 又怎样解答?【研究】算法步以下:第一步:假设 a 三个数中的最小数;第二步:将 b 与 a 比 , 假如 b< a, 令 a=b, 否 a 不;第三步:将 c 与 a 比 , 假如 c< a, 令 a=c, 否 a 不;第四步: a 就是 a,b,c中的最小数.事例 3 有有限个正整数, 一个求些有限个正整数中最大数的算法.【研究】算法步用自然言表达以下:第一步:先假设些正整数中的第一个数“最大”;第二步:将些整数中下一个数与“最大”比, 假如它大于此“最大”, 就假定“最大”是个整数;第三步:假如有其余正整数, 重复第二步;第四步:向来到没有可比的数止, 获取的假设的“最大”就是有限个正整数中的最大 .事例 4 出求 1+3+5+7+9+11+13 的一个算法 .【研究】本主假如考理解观点的程度. 因为本是一个相加的, 写算法 , 只需依照逐个相加的程序行;因为1+3+5+⋯ +(2n-1)=n 2, 所以也能够运用公式1+3+5+⋯+(2n-1)=n 2直接算 , 只需将 n=7 代入公式即可.解法一:依照逐个相加的程序行:第一步:算1+3, 获取 4;第二步:将第一步中的运算果4与 5相加,获取 9;第三步:将第二步中的运算果9与 7相加,获取 16;第四步:将第三步中的运算果16与 9 相加,获取 25;第五步:将第四步中的运算果25与 11相加,获取 36;第六步:将第五步中的运算果36与 13相加,获取 49.解法二:运用公式1+3+5+⋯ +(2n-1)=n 2算 :第一步:取n=7;2第二步:算n ;第三步:出运算果.律算法的灵巧、正确用和自然言表达 , 要注意:算法的方法不一样的繁程度也不一样 . 我研究算法 , 就是要找出解决最好的算法 .事例 5 一个人三只狼和三只羚羊河 , 只有一条船 , 同船能够容一个人和两只物人在的候 , 假如狼的数目许多于羚羊的数目 , 狼就会吃掉羚羊 .(1)一个安全渡河的算法;(2)思虑每一步算法所依照的同样原是什么?【研究】在人运送物河的程中, 人走开岸必保每个岸的羚羊数目要大于狼的数目 , 依照此原能够取安全的渡河法., 解决. 没有【解】( 1)算法:第一步:人带两只狼过河;第二步:人自己返回;第三步:人带一只狼过河;第四步:人自己返回;第五步:人带两只羚羊过河;第六步:人带两只狼返回;第七步:人带一只羚羊过河;第八步:人自己返回;第九步:人带两只狼过河.(2)在人运送动物过河的过程中 , 人走开岸边时一定保证每个岸边的羚羊数目要大于狼的数目.规律总结这是一个实质问题 , 生活中解决任何问题都需要算法 , 我们要在办理实质问题的过程中理解算法的含义 , 领会算法设计的思想方法 .活学巧用1. 下边四种表达能称为算法的是()A.在家里一般是妈妈做饭B.做米饭需要刷锅、淘米、添水、加热这些步骤C.在野外做饭叫野炊D.做饭一定要有米分析:算法是由基本运算及规定的运算次序所组成的完好的解题步骤, 或当作按要求设计好的有限确实切的计算序列, 并且这样的步骤或序列能够解决一类问题.A 、C、D 都不可以称为算法。
1.1 算法的含义1.2013年全运会在沈阳举行,运动员A 报名参赛100米短跑并通过预赛、半决赛、决赛最后获得了银牌.问题1:请简要写出该运动员参赛并获银牌的过程. 提示:报名参赛→预赛→半决赛→决赛. 问题2:上述参赛过程有何特征? 提示:参赛过程是明确的.问题3:假若你家住南京,想去沈阳观看A 的决赛,你如何设计你的旅程?提示:首先预约定票,然后选择合适的交通工具到沈阳,按时到场,检票入场,进入比赛场地,观看比赛.2.给出方程组⎩⎪⎨⎪⎧x +y =2, ①x -y =1, ②问题1:利用代入法求解此方程组. 提示:由①得y =2-x ,③把③代入②得x -(2-x )=1, 即x =32.④把④代入③得y =12.得到方程组的解⎩⎪⎨⎪⎧x =32,y =12.问题2:利用消元法求解此方程组. 提示:①+②得x =32.③将③代入①得y =12,得方程组的解⎩⎪⎨⎪⎧x =32,y =12.问题3:从问题1、2可以看出,解决一类问题的方法唯一吗? 提示:不唯一.1.算法的概念对一类问题的机械的、统一的求解方法称为算法. 2.算法的特征(1)算法是指用一系列运算规则能在有限步骤内求解某类问题,其中的每条规则必须是明确定义的、可行的.(2)算法从初始步骤开始,每一个步骤只能有一个确定的后继步骤,从而组成一个步骤序列,序列的终止表示问题得到解答或指出问题没有解答.1.算法的基本思想就是探求解决问题的一般性方法,并将解决问题的步骤用具体化、程序化的语言加以表述.2.算法是机械的,有时要进行大量重复计算,只要按部就班地去做,总能算出结果,通常把算法过程称为“数学机械化”,其最大优点是可以让计算机来完成.3.求解某一个问题的算法不一定只有唯一的一个,可能有不同的算法.[例1] 下列关于算法的说法: ①求解某一类问题的算法是唯一的 ②算法必须在有限步操作后停止③算法的每一步操作必须是明确的,不能存在歧义 ④算法执行后一定能产生确定的结果 其中,不正确的有________.[思路点拨] 利用算法特征对各个表述逐一判断,然后解答.[精解详析] 由算法的不唯一性,知①不正确; 由算法的有穷性,知②正确; 由算法的确定性,知③和④正确. [答案] ① [一点通]1.针对这个类型的问题,正确理解算法的概念及其特点是解决此类问题的关键. 2.注意算法的特征:有限性、确定性、可行性.1.下列语句表达中是算法的有________.①从济南到巴黎可以先乘火车到北京,再坐飞机抵达 ②利用公式S =12ah 计算底为1,高为2的三角形的面积③12x >2x +4 ④求M (1,2)与N (-3,-5)两点连线的方程,可先求MN 的斜率,再利用点斜式方程求得解析:算法是解决问题的步骤与过程,这个问题并不仅仅限于数学问题.①②④都表达了一种算法.答案:①②④2.计算下列各式中的S 值,能设计算法求解的是________. ①S =1+2+3+…+100 ②S =1+2+3+…+100+… ③S =1+2+3+…+n (n ≥1且n ∈N)解析:算法的设计要求步骤是可行的,并且在有限步之内能完成任务.故①、③可设计算法求解.答案:①③[例2] 已知直线l 1:3x -y +12=0和l 2:3x +2y -6=0,求l 1,l 2,y 轴围成的三角形的面积.写出解决本题的一个算法.[思路点拨] 先求出l 1,l 2的交点坐标,再求l 1,l 2与y 轴的交点的纵坐标,即得到三角形的底;最后求三角形的高,根据面积公式求面积.[精解详析] 第一步 解方程组⎩⎪⎨⎪⎧3x -y +12=0,3x +2y -6=0得l 1,l 2的交点P (-2,6);第二步 在方程3x -y +12=0中令x =0得y =12,从而得到A (0,12); 第三步 在方程3x +2y -6=0中令x =0得y =3,得到B (0,3); 第四步 求出△ABP 底边AB 的长|AB |=12-3=9; 第五步 求出△ABP 的底边AB 上的高h =2; 第六步 代入三角形的面积公式计算S =12|AB |·h ;第七步 输出结果. [一点通]设计一个具体问题的算法,通常按以下步骤: (1)认真分析问题,找出解决此题的一般数学方法; (2)借助有关变量或参数对算法加以表述; (3)将解决问题的过程划分为若干步骤; (4)用简练的语言将这个步骤表示出来.3.写出求两底半径分别为1和4,高也为4的圆台的侧面积、表面积及体积的算法.解:算法步骤如下:第一步 取r 1=1,r 2=4,h =4; 第二步 计算l =r 2-r 12+h 2;第三步 计算S 1=πr 21,S 2=πr 22;S 侧=π(r 1+r 2)l ; 第四步 计算S 表=S 1+S 2+S 侧; 第五步 计算V =13(S 1+S 1S 2+S 2)h .4.已知球的表面积为16π,求球的体积.写出解决该问题的两个算法. 解:算法1: 第一步 S =16π; 第二步 计算R =S4π(由于S =4πR 2);第三步 计算V =43πR 3;第四步 输出运算结果V . 算法2:第一步 S =16π; 第二步 计算V =43π(S4π)3;第三步 输出运算结果V .[例3] (12分)某居民区的物业部门每月向居民收取卫生费,计算方法是:3人或3人以下的住房,每月收取5元;超过3人的住户,每超出1人加收1.2元.设计一个算法,根据输入的人数,计算应收取的卫生费.[精解详析] 设某户有x 人,根据题意,应收取的卫生费y 是x 的分段函数,即y =⎩⎪⎨⎪⎧5, x ≤3,1.2x +1.4,x >3. (4分)算法如下:第一步 输入人数x ;(6分)第二步 如果x ≤3,则y =5, 如果x >3,则y =1.2x +1.4; (10分)第三步 输出应收卫生费y .(12分)[一点通]对于此类算法设计应用问题,应当首先建立过程模型,根据模型,完成算法.注意每步设计时要用简炼的语言表述.5.如下算法: 第一步 输入x 的值;第二步 若x ≥0成立,则y =2x,否则执行第三步; 第三步 y =log 2(-x ); 第四步 输出y 的值.若输出结果y 的值为4,则输入的x 的值为________. 解析:算法执行的功能是给定x ,求分段函数y =⎩⎪⎨⎪⎧2x,x ≥0,log 2-x ,x <0对应的函数值.由y =4知2x=4或log 2(-x )=4. ∴x =2或-16. 答案:2或-166.已知直角三角形的两条直角边分别为a ,b ,设计一个求该三角形周长的算法. 解:算法如下:第一步 计算斜边c =a 2+b 2; 第二步 计算周长l =a +b +c ;第三步 输出l .1.算法的特点:有限性、确定性、逻辑性、不唯一性、普遍性. 2.在具体设计算法时,要明确以下要求:(1)算法设计是一类问题的一般解法的抽象与概括,它要借助一般问题的解决方法,又要包含这类问题的所有可能情形.设计算法时往往要把问题的解法划分为若干个可执行的步骤,有些步骤是重复执行的,但最终却必须在有限个步骤之内完成.(2)借助有关的变量或参数对算法加以表述. (3)要使算法尽量简单,步骤尽量少.课下能力提升(一)一、填空题1.写出解方程2x +3=0的一个算法过程.第一步__________________________________________________________________; 第二步__________________________________________________________________. 答案:第一步 将常数项3移到方程右边得2x =-3; 第二步 在方程两边同时除以2,得x =-32.2.已知一个学生的语文成绩为89,数学成绩为96,外语成绩为99.求他的总分和平均分的一个算法为:第一步 令A =89,B =96,C =99; 第二步 计算总分S =________; 第三步 计算平均分M =________; 第四步 输出S 和M .解析:总分S 为三个成绩数之和, 平均数M =A +B +C 3=S3. 答案:A +B +C S33.给出下列算法:第一步 输入x 的值;第二步 当x >4时,计算y =x +2;否则执行下一步; 第三步 计算y =4-x ; 第四步 输出y .当输入x =0时,输出y =__________. 解析:由于x =0>4不成立,故y =4-x =2. 答案:24.已知点P 0(x 0,y 0)和直线l :Ax +By +C =0,求点到直线距离的一个算法有如下几步: ①输入点的坐标x 0,y 0; ②计算z 1=Ax 0+By 0+C ; ③计算z 2=A 2+B 2;④输入直线方程的系数A ,B 和常数C ; ⑤计算d =|z 1|z 2;⑥输出d 的值.其正确的顺序为________. 解析:利用点到直线的距离公式:d =|Ax 0+By 0+C |A 2+B 2.答案:①④②③⑤⑥5.已知数字序列:2,5,7,8,15,32,18,12,52,8.写出从该序列搜索18的一个算法. 第一步 输入实数a .第二步 __________________________________________________________________. 第三步 输出a =18.解析:从序列数字中搜索18,必须依次输入各数字才可以找到. 答案:若a =18,则执行第三步,否则返回第一步 二、解答题6.写出求a ,b ,c 中最小值的算法. 解:算法如下:第一步 比较a ,b 的大小,当a >b 时,令“最小值”为b ;否则,令“最小值”为a ; 第二步 比较第一步中的“最小值”与c 的大小,当“最小值”大于c 时,令“最小值”为c ;否则,“最小值”不变;第三步 “最小值”就是a ,b ,c 中的最小值,输出“最小值”. 7.某铁路部门规定甲、乙两地之间旅客托运行李的费用为c =⎩⎪⎨⎪⎧0.53ω, ω≤50,50×0.53+ω-, ω>50.其中ω(单位:kg)为行李的重量,如何设计计算费用c (单位:元)的算法. 解:算法步骤如下:第一步 输入行李的重量ω;第二步 如果ω≤50,那么c =0.53ω;如果ω>50,那么c =50×0.53+(ω-50)×0.85; 第三步 输出运费c .8.下面给出一个问题的算法: 第一步 输入a ;第二步 若a ≥4,则执行第三步,否则执行第四步; 第三步 输出2a -1; 第四步 输出a 2-2a +3.问题:(1)这个算法解决的是什么问题? (2)当输入a 等于多少时,输出的值最小? 解:(1)这个算法解决的问题是求分段函数f (x )=⎩⎪⎨⎪⎧2x -1,x ≥4,x 2-2x +3,x <4的函数值问题.(2)当x ≥4时,f (x )=2x -1≥7,当x <4时,f (x )=x 2-2x +3=(x -1)2+2≥2. ∴当x =1时,f (x )min =2.即当输入a 的值为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+2+3+4+5+6+7的一个算法.
例2. 给出求解方程组⎩⎨⎧2x +y =5 ①4x +5y =13 ②
的一个算法.
例3. 已知直角坐标系中的两点A (-1,0),B (3,2),写出求直线AB 的方程的一个算法.
【学以致用】
1.课本P36页第1题.
2.下列有关“算法”的说法不正确的是……………………………………( )
A.算法是解决问题的方法和步骤
B.算法的每一个步骤和次序应当是确定的
C.算法在执行有限个步骤后必须结束
D.算法是能够在计算机上运行的程序语言
3.看下面的四段话,其中不是解决问题的算法的是( )
A.从济南到北京旅游,先坐火车,再坐飞机抵达
B.解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1
C.方程x 2
-1=0有两个实根
D.求1+2+3+4+5的值,先计算1+2=3,再求3+3=6,6+4=10,10+5=15,最终结果为15
4.买一只杯子需2元,现要写出计算买n 只杯子所需要的钱数的一个算法,则这个算法中必须要用到的一个表达式为 .
5.设计一个算法,计算输入实数的绝对值.
第1课时 算法的含义
【基础训练】
1. 看下面的四段话,其中不是解决问题的算法是________.(填序号)
(1)从济南到北京旅游,先坐火车,再坐飞机抵达;
(2)解一元一次方程的步骤是去分母、去括号、移项、合并同类项、系数化为1;
(3)方程x 2
-1=0有两个实根;
(4)求1+2+3+4+5的值,先计算1+2=3,再计算3+3=6,6+4=10,10+5=15,最终结果为15.
2. 已知直角三角形两直角边长为a ,b ,求斜边长c 的一个算法分下列三步:
(1)计算c =a 2+b 2;
(2)输入直角三角形两直角边长a ,b 的值;
(3)输出斜边长c 的值.
其中正确的顺序是________.(填序号)
3. 下列关于算法的描述正确的是________.(填序号)
①算法与求解一个问题的方法相同;
②算法只能解决一个问题,不能重复使用;
③算法过程要一步一步执行,每步执行的操作必须确切;
④有的算法执行完后,可能无结果.
4. 计算下列各式中S 的值,能设计算法求解的是________.(填序号)
①S =12+14+18+…+12100; ②S =12+14+18+…+12100+…; ③S =12+14+18+…+12n (n ≥1且n ∈N *). 5. 关于一元二次方程x 2-5x +6=0的求根问题,下列说法正确的是________.(填序号)
①只能设计一种算法;
②可以设计至少两种算法;
③不能设计算法;
④不能根据解题过程设计算法.
6. 已知直角三角形两条直角边长分别为a ,b (a >b ).写出求两直角边所对的最大角θ的
余弦值的算法如下:
第一步:输入两直角边长a ,b 的值.
第二步:计算c =a 2+b 2的值.
第三步:________________.
第四步:输出cos θ.
将算法补充完整,横线处应填____________.
7. 已知某梯形的底边长AB =a ,CD =b ,高为h ,写出一个求这个梯形面积S 的算法.
8. 函数y =⎩⎪⎨⎪⎧ -x +1 (x >0)0 (x =0)
x +1 (x <0)
,写出给定自变量x ,求函数值的算法. 【思考应用】
9. 已知数字序列:2,5,7,8,15,32,18,12,52,8.写出从该序列搜索18的一个算法.
第一步,输入实数a .
第二步,_________________________________________________________.
第三步,输出a =18.
10.下面给出了解决问题的算法:
第一步:输入x .
第二步:若x ≤1,则y =2x -1,否则y =x 2+3.
第三步:输出y .
(1)这个算法解决的问题是________;
(2)当输入的x 值为________时,输入值与输出值相等.
11.下列所给问题中:①二分法解方程x 2
-3=0;②解方程组⎩⎪⎨⎪⎧ x +y +5=0x -y +3=0;③求半径为3的圆的面积;④判断y =x 2在R 上的单调性.其中可以设计一个算法求解的是
________(填上你认为正确的两个序号).
12.设计一个可以输入圆柱的底面半径r 和高h ,再计算出圆柱的体积和表面积的算法.
【拓展提升】
13.从古印度的汉诺塔传说中演变了一个汉诺塔游戏:
(1)有三根杆子A ,B ,C ,A 杆上有三个碟子(大小不等,自上到下,由小到大),如图.
(2)每次移动一个碟子,小的只能叠在大的上面.
(3)把所有碟子从A 杆移到C 杆上.
试设计一个算法,完成上述游戏.。