第5章 函数与模块

合集下载

中职数学基础模块上册人民教育出版社第五章三角函数教案集DOC

中职数学基础模块上册人民教育出版社第五章三角函数教案集DOC

5.1.1 角的概念的推广【教学目标】1.理解正角、负角、终边相同的角、第几象限的角等概念,掌握角的加减运算.2.通过观察实例,使学生认识角的概念推广的可能性和必要性,树立运动变化的观点,并由此深刻理解任意角的概念.3.通过教学,使学生进一步体会数形结合的思想.【教学重点】理解任意角(正角、负角、零角)、终边相同的角、第几象限的角的概念,掌握终边相同的角的表示方法和判定方法.【教学难点】任意角和终边相同的角的概念.【教学方法】本节采用教师引导下的讨论法,结合多媒体课件,带领学生发现旧概念的不足之处,进而探索新的概念.讲课过程中,紧扣“旋转”两个字,让学生在动手画图的过程中深刻理解任意角的概念.【教学过程】环节教学内容师生互动设计意图复习导入1.复习初中学习过的角的定义.2.提出新问题:运动员掷链球时,旋转方向可以是逆时针也可以是顺时针,旋转量也不止一个平角,那如何来度量角的大小呢?师:初中学过的角的定义是什么?生:在平面内,角可以看作一条射线绕着它的端点旋转而成的图形.师:如图:∠AOB=∠BOA=120 ,初中时的角不考虑旋转方向,只考虑旋转的绝对量而且角的范围在0~360°.复习旧知,使学生发现旧知识的局限性,激发学习新知识的兴趣.新课1.任意角的概念.(1)射线的旋转方向:逆时针方向——正角;顺时针方向——负角;没有旋转——零角.画图时,常用带箭头的弧来表示旋转的方向和旋转的绝对量.旋转生成的角,又常称为转角.例如,∠AOB=120°,∠BOA=-120°.教师画图说明正角,负角,零角,以及角的始边、终边.教师小结:由旋转方向的不同定义正负角,由旋转量的不同得到任意范围内的角.AOB114新课(2)射线的旋转量:当射线绕端点旋转时,旋转量可以超过一个周角,形成任意大小的角.角的度数表示旋转量的大小.例如450°,-630°.2.角的加减运算.90°-30°=90°+(-30°)=60°.各角和的旋转量等于各角旋转量的和.3.终边相同的角.所有与α终边相同的角构成的集合可记为S={x |x =α+k·360°,k∈Z}.例1(1)写出与下列各角终边相同的角的集合.(1) 45°;(2) 135°;(3) 240°;(4) 330°.解略.4.第几象限的角.在直角坐标系中讨论角时,通常使角的顶点和坐标原点重合,角的始边与1.教师画图,学生说角的度数.2.学生练习:画出下列各角:(1)0,360°,720°,1 080°,-360°,-720°;(2)90°,450°,-270°,-630°.学生练习:求和并作图表示:30°+45°,60°-180°.师:观察我们刚画过的角,(1)0,360°,720°,1080°,-360°,-720°;(2)90°,450°,-270°,-630°.思考:始边、终边相同的两个角的度数有什么关系?学生讨论后回答:终边相同的两个角的度数相差360°的整数倍.师:与30°始边、终边都相同的角有哪些?有多少个?它们能不能统一用一个集合来表示?得出结论.例1(1)由学生口答,教师给出规范的书写格式.学生通过自己练习画图,深刻体会“旋转”两个字的含义,加深对任意角的概念的理解.学生自己动手画图求和,加深对旋转变化的理解.将例1分解为两个小题,边讲边练,小步子,低台阶,学生容易消化吸收.120°AOB-120°BAo60°90°C30°115新课x轴的正半轴重合.这样角的大小和方向可确定终边在坐标系中的位置.这样放置的角,我们说它在坐标系中处于标准位置.处于标准位置的角的终边落在第几象限,就把这个角叫做第几象限的角.如果角的终边落在坐标轴上,就认为这个角不属于任何象限.例1(2)指出下列各角分别是第几象限的角.(1) 45°;(2) 135°;(3) 240°;(4) 330°.例2写出终边在y轴上的角的集合.解终边在y轴正半轴上的一个角为90°,终边在y轴负半轴上的一个角为-90°,因此,终边在y轴正半轴和负半轴上的角的集合分别是S1={α|α=90°+k·360°,k∈Z}S2={α |α =-90°+k·360°,k∈Z}所以终边在y轴上的角的集合为S1∪S2={α|α=90°+k ·360°,k∈Z}∪{α|α=-90°+k·360°,k∈Z}={α |α=90°+k ·180°,k∈Z}.模仿练习:写出终边在x轴上的角的集合.例3在0~360°之间,找出与下列各角终边相同的角,并分别判定各是第几象限的角?(1)-120°;(2)640°;(3)-950°.例4写出第一象限的角的集合.解在0~360°之间,第一象限的角的取值范围是0°<α<90°,所以第一象限角的集合是{α|k ·360°<α<90°+k ·360°,k∈Z}.例1(2)学生口答.讲解例2时,教师结合教材图示的平面直角坐标系,带领学生分析题意.师:角的终边落在y轴上包含哪两种情况?生:终边落在y轴正半轴上或者落在y轴负半轴上.师:90°的角终边落在y轴的正半轴上吗?与它终边相同的角的集合是什么?-90°的角终边落在y轴的负半轴上吗?与它终边相同的角的集合是什么?这两个集合的并集怎么求?例3引导学生画图解决,或者用计算器解答.教师结合平面直角坐标系讲解例4.学生分组练习:(1)写出第二象限角的集合;(2)写出第三象限角的集合;(3)写出第四象限角的集合.可增加判断题:使学生准确区分0~90°的角,锐角,小于90°的角,第一象限角.例2难度较大,教师应详细讲解两个集合如何求并集.本模仿练习意在渗透B组练习的解题思路.116小结1.任意角的概念.2.角的加减运算.3.终边相同的角的集合.4.象限角的概念.教师带领学生回顾本节课的知识脉络图.本节课概念众多,通过梳理脉络,帮助学生巩固知识.作业教材P127,练习A组第3、4题;练习B组第1、3题.巩固拓展.5.1.2弧度制【教学目标】1. 理解弧度制的概念以及弧长公式,掌握角度制与弧度制的换算.2. 理解角的弧度数与实数之间的一一对应关系.3. 通过教学,使学生体会等价转化与辩证统一的思想.【教学重点】理解弧度制的概念,掌握弧度制与角度制的换算.【教学难点】理解弧度制的概念.【教学方法】本节课采用类比教学法,在复习角度制的基础上引入弧度制,深入探究它们之间的换算方法,使学生认识它们之间相互联系、辩证统一的关系.通过弧度制与角度制的比较,使学生认识到弧度制的优越性,逐步适应用弧度制度量角.【教学过程】环节教学内容师生互动设计意图复习导入复习初中学过的角度制.师:初中学过角度制,1度角是怎么定义的?生:把一圆周360等分,则其中一份所对的圆心角是1度角.且1°=60′,1′=60″.师:在数学和其他科学中我们还经常用到另一种度量角的单位制——弧度制.复习角度制.117新课新课1. 弧度制的度量单位——1弧度的角.(1) 弧长与半径的比值lr等于一个常数,只与α的大小有关,与半径长无关.(2)定义:等于半径长的圆弧所对的圆心角叫做1弧度的角;弧度记作rad.2.角度制与弧度制的换算公式.周角=360°=2πrr=2πrad,即360°=2πrad.平角=180°=π rad,即180°=πrad.1°=π180rad≈0.017 45 rad,1 rad=(180π)︒≈57.30°=57︒18'.由此得到n°与αrad的换算公式:α=n π180或者n°=α·(180π)°特殊角的弧度数与角度数的互化,见教材P130对应值表.例1把67︒30'化成弧度.解67︒30'=(1352)︒,67︒30'=π180rad×1352=3π8rad.教师引导学生考察圆心角、弧长和半径之间的关系:如图,两个大小不同的同心圆中圆心角为α,设α= n°,则l=n2 πr360,l' =n2 πr'360,由此,lr=l'r'=n2 π360.所以,对于任何一个圆心角α,所对弧长与半径的比值是一个仅与角α的大小有关的常数.这就启示我们可以用圆的半径作单位去度量弧,从而得到一种新的度量角的制度——弧度制.师举例:若所对的弧长l=2r,那么圆心角的弧度数就是2 rad;若所对的弧长l=3r,那么圆心角的弧度数是多少?生:3rad.若所对的弧长就是l,那么圆心角的弧度数是多少?生:lr rad.师:圆的周长所对的圆心角是多少弧度?生:圆的周长l=2πr,周角=360°=2 πrr=2πrad,即360°=2πrad.师:180°等于多少弧度?90°呢?60°,45°,30°呢?得到特殊角的角度数与弧度数的换算.利用教材P130的对应值表或者数轴来记忆特殊角的弧度数.例1和例2可由学生自己完成,教师只指导书写格式.相应的练习题的练习方式:(1)教师说出特殊角的角通过说明同心圆中弧长与半径的比值是一个仅与圆心角α的大小有关的常数,引入1弧度的概念.由定义出发,让学生在教师的问题引导下自己探究得出角度制与弧度制之间的换算公式和弧长公式.帮助学生熟记特殊角的弧度数.l' lO r' rα118新课练习1 教材P131,练习A组第2题.例2把3 π5rad化成度.解3π5rad =(180π)︒×3π5=108°.练习2 教材P131,练习A组第3、4题.例3使用函数型计算器,把下列度数化为弧度数或把弧度数化为度数(精确到小数点后4位数):(1)67°,168°,-86°;(2)1.2 rad,5.2 rad.解略.由于角有正负,我们规定:正角的弧度数为正数,负角的弧度数为负数,零角的弧度数为0.这种用“弧度”做单位来度量角的制度叫做弧度制.无论是用角度制还是弧度制,都能在角的集合与实数集R之间建立一一对应的关系.3.弧长公式.由弧度的定义,我们知道弧长l与半径r的比值等于所对圆心角α的弧度数(正值),即α=lr,得到l=α·r.这是弧度制下的弧长计算公式.例4如图,⌒AB所对的圆心角为60°,半径为5 cm,求⌒AB的长l (精确到0.1 cm).B度,学生说弧度;(2)教师说出特殊角的弧度数,学生说角度数.熟练角的弧度数与角度数的互化.在例4中,可加上求扇形的面积一问,为课后B组第4题作准备.60︒OA119120解 因为 60°=π3, 所以 l = αr =π3×5≈5.2.即⌒AB 的长约为5.2 cm.小 结本节知识点:(1)弧度制的定义;(2)角度制与弧度制的换算公式;(3)弧长公式. 让学生根据板书自己总结本节主要内容.归纳整理知识点,明确弧度制的意义.作 业必做题:教材P 131,练习A 组第6题,练习B 组第1、2、3题;选做题:教材P 132,练习B 组第4题.5.2.1 任意角三角函数的定义【教学目标】1. 理解并掌握任意角三角函数的定义;熟记其在各象限的符号;掌握三角函数线的定义及画法. 2.通过教学,使学生进一步体会数形结合的思想. 【教学重点】任意角三角函数的定义. 【教学难点】 单位圆及三角函数线. 【教学方法】本节课主要采用启发引导与讲练结合的教学方法.在复习锐角三角函数定义的基础上,定义了任意角的三角函数,讲练结合,使学生牢固掌握.然后引导学生根据三角函数定义和象限内的点坐标符号导出三角函数在各象限的符号,接着把正弦值、余弦值、正切值转化为单位圆中的有向线段表示,使数与形密切结合起来,以加强学生对三角函数定义的理解. 【教学过程】 环节教学内容师生互动设计意图导入复习锐角三角函数定义.师:初中时我们学过锐角三角函数,当时是怎样定义的?以旧引新.新课新1.任意角的三角函数定义.已知α是任意角,P(x,y),P'(x',y')是角α的终边与两个半径不同的同心圆的交点.(r=x2+y2,r'=x'2+y'2)如图所示:当角α不变时,对于角α的终边上任意一点P(x,y),不论点P 在角α的终边上的位置如何,三个比值xr,yr,yx始终等于定值.因此定义:角α的余弦cos α=xr;角α的正弦sin α=yr;角α的正切tan α=yx.依照上述定义,对于每一个确定的角α,都分别有唯一确定的余弦值、正弦值、正切值与之对应,所以这三个对应关系都是以角α为自变量的函数,分别叫做角α的余弦函数、正弦函数和正切函数.2.三角函数求值.根据三角函数定义,可得计算三角函数值的步骤:问题1:当我们把锐角的概念推广为转角后,我们如何定义任意角的三角函数呢?如左图所示,由相似三角形对应边成比例得,|x|r=|x'|r',|y|r=|y'|r',|y|x=|y'|x' .由于点P,P' 在同一象限内,所以它们的坐标符号相同,因此,xr=x'r',yr=y'r',yx=y'x',所以三个比值xr,yr,yx只依赖于α的大小,与点P 在α终边上的位置无关.教师引领学生识记三角函数定义.依据函数定义说明角α与三角函数值的对应关系.说明三角函数定义的理论根据.yPrr′yy′O x′x xP'’121课新S1 画角:在直角坐标系中,作转角等于α;S2 找点:在角α的终边上任找一点P,使|OP|=1,并量出该点的纵坐标和横坐标;S3 求值:根据相应三角函数的定义,求该角的三角函数值.例1 已知角α终边上一点P(2,-3),求角α的三个三角函数值.解已知点P(2,-3),则r=|OP|=22+(-3)2=13 ,由三角函数的定义,得sin α=yr=-313=-31313;cos α=xr=213=13132;tan α=yx=-32;练习1 教材P138,练习A组第1、4、5题.例2 试确定三角函数在各象限的符号.解由三角函数的定义可知,sin α=yr,角α终边上点的纵坐标y 的正、负与角α的正弦值同号;cos α=xr,角α终边上点的横坐标x 的正、负与角α的余弦值同号;由tan α=yx,则当x 与y 同号时,正切值为正,当x 与y 异号时,正切值为负.三角函数在各象限的符号如下图所示:练习:在直角坐标系中,画出半径为1的圆,求出30°,38°,128°等角的正弦、余弦和正切的值.在例1中强调:(1)P为角α的终边上任意一点;(2)求三角函数值时用到的三个量x,y,r以及三者的关系;教师可通过教材P138 练习A组第1题中的练习让学生自己总结出三角函数在各象限的符号.根据三角函数的定义,及各象限内点的坐标的符号得出三角函数在各象限的符号,教师总结口诀,帮助学生记忆:Ⅰ全正,Ⅱ正弦,Ⅲ正切,Ⅳ余弦.通过学生自己动手测量,加深学生对三角函数定义的理解,并为学习单位圆做铺垫.强调这几点为练习B组第1、2、3做铺垫.通过练习1,熟练已知角的终边上一点求三角函数值的步骤.由练习中的具体题目到例2的理论分析,由特殊到一般加深学生对三角函数符号的理解.O xy++--sinαO xy+-+-cosαO xy+--+tanα122课新课练习2 确定下列各三角函数值的符号:(1)sin(-π4);(2)cos 130︒;(3)tan4π3.例3 使用函数型计算器,计算下列三角函数值:(1)sin67.5︒,cos372︒,tan (-86︒);(2) sin1.2,cos3π4,tan5π6.解略.3. 单位圆与三角函数线.如图,以原点为圆心,半径为1的圆称作单位圆.设角α的终边与单位圆的交点为P(x,y),过点P作PM垂直于x轴,则sin α=y,cos α=x,即P(cos α,sin α).cos α=x=OM;sin α=y=MP.于是我们把规定了方向的线段OM,MP分别称作角α的余弦线、正弦线.练习3(1)在直角坐标系的单位圆中,分别画出π3和-2 π3的正弦线、余弦线.设单位圆在点A的切线与角α的终边或其反向延长线相交于点T ( T ') ,则tan α=yx=ATOA=AT ( AT'),所以AT ( AT')称作角α的正切线.练习3 (2)在直角坐标系的单位练习2也可以用计算器直接求出三角函数值,然后确定符号.师:在任意角三角函数的定义中,当角α的终边上一点P(x,y)的坐标满足r=x2+y2=1时,三角函数的正弦、余弦会变成什么样呢?看着图示,结合三角函数定义讲解正弦线、余弦线、正切线的由来.学生自己动手,熟悉正弦线,余弦线的画法.学生自己动手,熟悉当角α在不同象限时正切线的画法.学生理解正切线难度较大,教师要详细讲解各个象限内的角的正切线的做法.O M xαA(1,0)1 P(cos α,sin α)y123圆中,分别画出π3和-2 π3的正切线.小结回忆本节课所学知识点:(1)任意角三角函数的定义(代数表示).(2)任意角三角函数值的求法(两种方法).(3)任意角三角函数值的符号(记住口诀).(4)任意角三角函数的几何表示(三角函数线).让学生叙述本节所学知识点以及典型例题及解题步骤.梳理知识脉络.作业教材P 138,练习A 组,练习B 组.本节教材内容颇多,教师可根据当堂内容布置相应作业.5.2.2 同角三角函数的基本关系式【教学目标】1. 理解并掌握同角三角函数的基本关系式,会运用公式求值,化简,证明.2. 通过教学,培养学生用方程(组)解决问题的方法,培养学生分析问题,解决问题的能力.3. 通过学习,揭示事物间普遍联系的辨证唯物主义思想.【教学重点】同角三角函数的基本关系式的推导及应用(求值、化简、恒等式证明).【教学难点】同角三角函数的基本关系式在解题中的灵活运用.【教学方法】本节主要采用讲练结合的方法.在教学过程中,要注意引导学生理解每个公式,懂得公式的来龙去脉,并能灵活运用.课堂中,充分发挥学生的主体作用,让学生自主探究问题并解决问题,使学生熟练用方程(组)解决问题的方法.【教学过程】124125O cos α xP (cos α,sin α)y sin α1教学 环节 教学内容师生互动 设计意图 复习 导 入复习三角函数定义、单位圆和三角函数线、勾股定理.教师提出问题,学生回答.推出sin 2α+cos 2α=1sin αcos α=tan α 这两个基本关系式.新 课在单位圆中,由三角函数的定义和勾股定理,可得同角三角函数的基本关系式: sin 2 α+cos 2α=1; sin αcos α =tan α .师讲解:1.sin 2α,cos 2α 的读法、写法.2.让学生验证30°,45°,60°的正弦,余弦,正切值满足两个关系式. 3.“同角”的概念与角的表达形式无关,如:sin 2 β+cos 2 β=1. 4.同角的意义:一是“角相同”; 二是“任意一个角”.初步认识和记忆两个关系式,理解“同角”的含义.应用 举当我们知道一个角的某一三角函数值时,利用这两个关系式和三角函数定义,就可求出这个角的另外几个三角函数值.此外,还可用它们化简三角函数式和证明三角恒等式.同角三角函数的基本关系式应用之一: 求值.例1 已知sin α=45 ,且 α 是第二象限的角,求 α 的余弦和正切值. 解 由 sin 2α+cos 2α=1,得 cos α=±1-sin 2α . 因为α 是第二象限角,cos α<0, 所以 cos α=-1-(45)2 =-35 , tan α=sin αcos α =45 - 35 =-43 .例2 已知 tan α=- 5 ,且 α 是第二象 限角,求α 的正弦和余弦值. 解 由题意得 sin 2 α+cos 2 α=1, ①例1鼓励学生自己解决,教师只在开方时点拨符号问题. 练习:教材 P141,练习A 组第1(2)(3)题. 小结步骤:已知正弦(或余弦)−−−−→−根据平方关系求余弦(或正弦)−−−−→−根据商数关系求正切. 例2可在教师的引导下解决,带领学生详细解方程组.练习:教材P141,练习A 组第1(4)题.多练几个类似例题的题目,使学生熟练两个基本关系式的应用和用方程求值的方法.例应用举sin αcos α=- 5 .②由②,得sinα=- 5 cos α,代入①式得6 cos2α=1,cos2α=16.因为α是第二象限角,所以cos α=-66,代入③式得sin α=- 5 cos α=- 5 ×(-66)=306.同角三角函数的基本关系式应用之二:化简.例3化简:sin θ-cos θtan θ-1.解原式=sinθ-cos θsin θcos θ-1=sinθ-cos θsin θ-cos θcos θ=cosθ.同角三角函数的基本关系式应用之三:证明.例4 求证:(1)sin4 α-cos4 α=2 sin2α-1;(2)tan2 α-sin2α=tan2αsin2α;(3)cos x1-sin x=1+sin xcos x.证明:(1)原式左边=(sin2α+cos2α)(sin2α-cos2α)=sin2α-cos2α=sin2α-(1-sin2α)=2 sin2α-1=右边.因此sin4 α-cos4 α=2 sin2 α-1.(2)原式右边=tan2 α (1-cos2 α)=tan2 α-tan2 αcos2 α小结步骤:知正切−−−→−解方程组求余弦(或正弦).师:求值题目总结1.注意同角三角函数的基本关系式的变形应用.2.已知sin α,cos α,tanα中的任意一个,可以用方程(组)求出其余的两个.教师小结化简方法:把切函数化为弦函数.练习:教材P142,练习A组第2题,练习B组第1题.教师提示:证明恒等式一般从繁到简,从高次到低次.从左向右,或从右向左,或从两头向中间来证明.可让学生自己先独立探索证明思路,再小组讨论.教师在证明思路和解题格式上给予指导.由学生完成证明,展示不同证法,分析优劣.灵活应用公式,加快运算速度.为下面运用公式化简和证明做好知识铺垫.通过讨论探究,使学生进一步熟练公式的各种变形.培养学生的发散思维,提高综合运用知识分析问题、解决问题的能力.126例=tan2 α-sin2αcos2αcos2 α=tan2 α-sin2 α=左边.因此tan2 α-sin2 α=tan2 αsin2 α.(3)证法1:因为cos x1-sin x-1+sin xcos x=cos2x-(1-sin x)2(1-sin x)cos x=cos2x-cos2x(1-sin x)cos x=0.所以cos x1-sin x=1+sin xcos x.证法2:因为左边=cos x1-sin x·cos xcos x=cos2 x(1-sin x)cos x;右边=1+sin xcos x·1-sin x1-sin x=cos2 x(1-sin x) cos x.所以左边=右边.即原等式成立.对(3)作分析:思路1:用作差法,不管分母,只需将分子转化为零.思路2:利用公分母将原式的左边和右边转化为同一种形式的结果.练习:教材P142,练习A组第3题,练习B组第2题.小结1. 同角三角函数的基本关系式sin2α+cos2α=1,sin αcos α=tan α.2. 求值、化简和证明题目的思路与注意事项.师生共同总结.作业必做题:写出同角三角函数的基本关系式,并写出其变形公式.选做题:教材P142,练习B组第3题.教材课后练习A组已融在新课中.5.2.3诱导公式【教学目标】1. 理解并掌握诱导公式,会求任意角的三角函数值与证明简单的三角恒等式;1272. 了解对称变换思想在数学问题中的应用;3. 通过教学,使学生进一步体会数形结合的思想.【教学重点】利用诱导公式进行三角函数式的求值、化简.【教学难点】诱导公式(一)、(二)、(三)的推导.【教学方法】本节课主要采用启发诱导与讲练结合的教学方法,引导学生借助单位圆和三角函数线,充分利用对称的性质,揭示诱导公式与同角公式之间的联系,然后讲练结合,使学生牢固掌握其应用.【教学过程】环节教学内容师生互动设计意图复习导入1. 复习三角函数的定义、单位圆与三角函数线.2. 复习对称点的知识.1. 教师运用多媒体展示三角函数的定义、单位圆与三角函数线,提问相关问题,学生回答.2. 师:已知任意角α的终边与单位圆相交于点P(x,y),请分别写出点P 关于x 轴,y轴,原点对称的点的坐标.共同回顾,为新课做准备.新课1.角α与α+k·2π(k∈Z)的三角函数间的关系.直角坐标系中,α与α+k·2π (k∈Z)的终边相同,由三角函数的定义,它们的三角函数值相等.公式(一):sin(α+k·2π) =sin α;cos(α+k·2π) =cos α(k∈Z);tan(α+k·2π) =tan α.例1求下列各三角函数的值:(1) sin13 π2;(2) cos19 π3;(3) tan 405︒.解(1)sin13 π2=sin(π2+6 π)=sinπ2=1;(2) cos19 π3=cos(π3+6 π)=cosπ3=12;师生共同探讨得出公式(一)的结构特征:等号两边是同名函数,且符号都为正.例1由学生试着完成.教师在例1结束后小结公式(一)的作用:把任意角的三角函数转化为0~360º之间角的三角函数.练习:教材P146,练习A组第1(1)(2)题,第2(1)(2)题,第3(1)(2)题.体会诱导公式(一)的作用.熟练应用公式(一)求值.128129αxP (x ,y )M O-αP ' (x ,-y )图5-17y新 课(3) tan 405︒=tan (45︒+360︒)=tan 45︒=1.2. 角α 和角-α 的三角函数间的关系. 如图5-17,设单位圆与角α和角-α的终边的交点分别是点P 和点P´.容易看出,点 P 与点 P´ 关于 x 轴对称.已知P (cos α,sin α)和 P '(cos(-α),sin(-α)). 于是,得到公式(二):sin (-α)=-sin α;cos (-α)= cos α;tan (-α)=-tan α.例2 求下列各三角函数的值: (1) sin (-π6 ); (2) cos(-π4 );(3) tan(-π3 ); (4) sin(-7π3 ).解 (1) sin (-π6 )=-sin π6 =-12 ;(2) cos(-π4 )= cos π4 = 22;(3) tan(-π3 )=-tan π3 =- 3 ;(4) sin(-7π3 )=-sin 7π3=-sin(π3 +2π )=-sin π3 =- 32.3.角α 与α ±π的三角函数间的关系. 如图5-18,角 α 与 α ±π 的终边与单位圆分别相交于点 P 与点P´,容易看观察图5-17,教师引导学生回答,点 P´ 与点 P 的位置关系怎样?它们的坐标之间有什么关系?推出诱导公式(二).学生独立完成,并交流解题心得.例2结束后教师小结诱导公式(二)的作用:把任意负角的三角函数转化为正角三角函数. 练习:教材P146,练习A 组第1(3)(4)题,第2(3)(4)题,第3(3)(4)题.教师引导学生观察图5-18,熟练应用公式(二)求值.教师用语言叙述公式,更利于学新课出,点P 与点P´关于原点对称,它们的坐标互为相反数P( x,y),P´(-x,-y),所以得到公式(三)sin (α±π) =-sin α;cos (α±π) =-cos α;tan (α±π ) =tan α.4.角α与π-α的三角函数间的关系.如图5-19,角α与π-α和单位圆分别交于点P与点P´,由P´与点P关于y轴对称,可以得到α与π-α之间的三角函数关系:sin(π-α)=sin α;cos(π-α)=-cos α.即互为补角的两个角正弦值相等,余弦值互为相反数.例如:sin5π6=sinπ6=12;cos3π4=-cosπ4=-22.例3求下列各三角函数的值:并回答,点P´与点P 的位置关系怎样?它们的坐标之间有什么关系?推出诱导公式(三).生理解掌握公式特征.利用例3,熟练运用公式(三)求三角函数值.PP´xyOαπ-α图5-19P(x,y)xyOαα+πP'(-x,-y)α-π图5-18130新课(1) sin4π3;(2) cos(-8π3);(3) tan(-10π3);(4) sin 930︒.解略.例4求下列各三角函数的值:(1) sin(-55π6);(2) cos11π4;(3) tan(-14π3);(4) sin870︒.解(1)sin(-55π6)=-sin(π6+9π)=-(-sinπ6)=12;(2)cos11π4=cos(-π4+3π)=cos(π-π4)=-cosπ4=-22;(3)tan(-14π3)=tan(π3-5π)=tanπ3= 3 ;(4)sin870︒=sin(-30︒+5×180︒)=sin(180︒-30︒)=sin30︒=12.例5化简:sin(2π-α)tan(α +π)tan(-α-π)cos(π-α)tan(3π-α)解sin(2π-α) tan(α +π) tan(-α-π)cos(π-α) tan(3π-α)=sin(-α) tanα tan(-α)-cosα tan(-α)=-sinα tanα-cosα=tan2α.学生独立完成,并交流解题心得.教师在例3结束后小结诱导公式(三)的作用:把任意负角的三角函数转化为正角的三角函数.教师总结解题步骤:先用诱导公式(二)把负角的三角函数化为正角的三角函数,然后再用诱导公式(三)把它们化为锐角的三角函数来求.进一步强化学生运用公式的灵活性.解题关键是找出题中各角与锐角的关系,转化为求锐角的三角函数值.教师对例5小结:化简时,综合应用诱导公式(一)、(二)、(三),适当地改变角的结构,使之符合诱导公式中角的形式,是解决问题的关键.利用例4,学会综合运用诱导公式求任意角的三角函数值.利用例5,学会综合运用各组诱导公式化简较复杂的三角代数式.131小结求任意角的三角函数值的步骤:师生共同总结、交流.让学生养成自己归纳、总结的习惯,重视数学思想方法的应用.作业必做题:教材P146,练习B组.5.3.1 正弦函数的图象和性质【教学目标】1. 理解并掌握正弦函数的图象和性质,会用“五点法”画出正弦函数的简图;2. 通过教学,使学生进一步掌握数形结合研究函数的方法.【教学重点】正弦函数的图象和性质.【教学难点】用正弦线画正弦曲线,正弦函数的周期性.【教学方法】本节课主要采用观察分析与讲练结合的教学方法.教师借助较先进的教学手段,启发引导学生利用单位圆中的正弦线,较精确地画出正弦曲线,然后通过观察图象,得到简单的五点作图法;通过练习,使学生熟练五点作图法.通过设置问题引导学生观察、分析正弦线的变化情况,从诱导公式与函数图象两方面来总结归纳正弦函数的性质;通过例题,进一步渗透数形结合研究函数的方法.【教学过程】环节教学内容师生互动设计意图复习复习单位圆与正弦线.教师要求学生在直角坐标系中作出单位圆,并分组分别作出π6,π3,π2的正弦线,小组交流.复习正弦线,顺利引出下面的几何法作图.这节课,将利用正弦线来做出正弦函数y=sin x,x R的图象.1. 正弦函数的图象.任意负角的三角函数任意正角的三角函数0到2π内的三角函数锐角三角函数公式(一)公式(二)公式(三)132。

第5章 函数的设计和使用

第5章 函数的设计和使用

5.3 参数类型
在Python中,函数参数有很多种:可以为普通参数、默认
值参数、关键参数、可变长度参数等等。
Python在定义函数时不需要指定形参的类型,完全由调用
者传递的实参类型以及Python解释器的理解和推断来决定, 类似于重载和泛型。
Python函数定义时也不需要指定函数的类型,这将由函数
5.3.3 可变长度参数
*parameter的用法
>>> def demo(**p): for item in p.items(): print(item) >>> demo(x=1,y=2,z=3) ('y', 2) ('x', 1) ('z', 3)
5.3.3 可变长度参数
几种不同类型的参数可以混合使用,但是不建议这样做
#为列表增加元素
5.2 形参与实参
也就是说,如果传递给函数的是可变序列,并且在函数内
部使用下标或可变序列自身的方法增加、删除元素或修改 元素时,修改后的结果是可以反映到函数之外的,实参也 得到相应的修改。
>>> def modify(d): #修改字典元素值或为字典增加元素 d['age'] = 38 >>> a = {'name':'Dong', 'age':37, 'sex':'Male'} >>> a {'age': 37, 'name': 'Dong', 'sex': 'Male'} >>> modify(a) >>> a {'age': 38, 'name': 'Dong', 'sex': 'Male'}

C语言 函数

C语言 函数

1. 函数声明的一般形式:
类型说明符 函数名([类型1 形参1,类型2 形参2,…]);
▪ 编译系统只检查函数类型、函数名、形参 类型和形参个数,不检查形参名。
➢ 因此,函数声明可省略形参名:
类型说明符 函数名([类型1,类型2…]);
➢ 以下两个函数声明语句 等价:
int min(float x,float y); int min(float,float);
}
}
5.2.4 函数原型
▪ 当被调函数位于主调函#in数clud后e 面<st时dio,.h>需要在 主调函数中对被调函数v{ oid进m行ain声() 明。
int min(float x,float y); int m; float a,b; scanf("%f,%f",&a,&b); m=min(a,b); printf("Min is %d\n",m); } int min(float x,float y) { return x<y?x:y; }
与函数的类型不一致,{前者将被自动转换为后
者的类型。
int m; float a,b;
scanf("%f,%f",&a,&b);
m=min(a,b);
printf("Min is %d\n",m);
}
3.函数调用的一般形式 函数名(实参表列);
A.说明: (1)如调用无参函数,()也不能省略。 (2)如实参表列含多个实参,参数间用逗号
第5章 函数
▪ 函数是C程序的基本组成单位。
▪ 使用函数能够实现模块化程序设计:
➢ 程序设计时往往把一个大的问题分解成若干小 的且易解决的问题

Python语言程序设计基础(第2版)第五章答案

Python语言程序设计基础(第2版)第五章答案

第5章函数和代码复用5.1 函数的基本使用[5.1]: A[5.2]: D[5.3]: 错误。

[5.4]: 合法,因为Python语言是解释执行,即只要在真正调用函数之前定义函数,都可以进行合法调用。

5.2 函数的参数传递[5.5]: 在函数定义时,直接为可选参数指定默认值。

可选参数必须定义在非可选参数后面,可选参数可以有多个。

[5.6]: 在函数定义时,可变参数通过在参数前增加星号(*)实现。

可变数量参数只能在参数列表最后,即它只能有一个。

[5.7]: 返回值是元组类型。

[5.8]: 位置传递:支持可变数量参数,但容易忘记实参的含义;名称传递:不易忘记实参的含义,但不支持可变数量参数。

[5.9]: 如果函数里没有创建同名变量,则可以直接使用,不需global声明。

5.3 模块3:datetime库的使用[5.10]:print( "现在是{0:%Y}年{0:%m}月{0:%d}日{0:%I}:{0:%M}".format(datetime.now()))[5.11]: 答案不限。

举一个例子,输出美式日期格式:print("{0:%I}:{0:%M} {0:%b} {0:%d} {0:%Y}".format(datetime.now()))[5.12]: datetime对象可以直接做加减运算,所以可以用这样的方式给程序计时:1 2 Start = datetime.now() ... # 要计时的代码4 5 6 End = datetime.now() Cost = End – Start Print(Cost)5.4 实例7:七段数码管绘制[5.13]: 相当于C语言中的三目运算符。

[5.14]: 隐藏画笔的turtle形状。

[5.15]: 对应相应的年月日文字输出。

5.5 代码复用和模块化设计[5.16]: 错误,因为”使用函数“是“模块化设计“的必要条件。

C语言程序设计 第05章 函数

C语言程序设计 第05章 函数
❖ 函数体:一对花括号里面的内容(包括声明部分和语句 部分)又被称为函数体,当函数体为空的时候,该函数 也被叫做空函数,就是说它什么也不做。
8
计算机与信息工程学院
Page 8
C语言程序设计 第 5 章 函数
例1 计算两个整数的平均数的函数。 /* 函数功能:就算平均数 函数入口参数:整型x,存储第一个运算数
7
计算机与信息工程学院
Page 7
C语言程序设计 第 5 章 函数
❖参数:一般用于一个函数把数据传递给另一个函数(调用 者和被调用者之间),实现函数之间的通信。定义函数的 时候,函数的参数是形式参数,是对一件具体事件可能需 要数据的假设。
❖ 返回值: 即函数带回来的值。而返回值的类型是在定义函数 的时指定的,即用“返回值类型”指定函数的类型。 ❖ 1、如果类型标识符为void则表示不需要带回函数值; ❖ 2、如果没有类型标识,则为默认返回值类型,视编译 器的不同而不同。
单向传递,只由实参传给形参,而不能由形参传回 来给实参。 f) 在内存中,实参单元与形参单元是不同的单元。
13
计算机与信息工程学院
Page 13
C语言程序设计 第 5 章 函数
例2 调用函数时的数据(参数)传递。
#include <stdio.h> void main() {
int max(int x, int y); int a, b, c; scanf("%d, %d",&a, &b); c=max(a, b); printf("max is %d", c); }
计算机与信息工程学院
Page 4
C语言程序设计 第 5 章 函数
5.2.1 函数的分类

第5章 函数

第5章 函数

oop技术:封装性、继承性、多态性。
多态性 :一个名字,多个人口”,或称“同一接口, 多种方法 。
例5.6 重载绝对值函数
int abs(int x)
{ { { return x>0?x:-x;} return x>0?x:-x;} return x>0?x:-x;} double abs(double x) 1ong abs(1ong x) void main()
形参带值后,即可进行相应的数据处理
如果有结果值,通过return语句带回到主函数
5.2 函数的调用


函数要先定义,后调用。
调用函数时要考虑到函数本身的参数;

调用标准库函数时,要包含相应的头文件 输入/输出函数 iostream.h 字符串函数 string.h 常用数学函数 math.h 调用自定义函数时,要定义相应的实参,并给 这些实参赋值。
main()
{ int a = 1,b = 2; cout << "Before exchange:a= " << a << ",b= " << b << endl;
swap(a,b);
cout << "After exchange:a= " << a << ",b= " << b << endl; }
例5.8 定义一个求两数最大值的模板函数。
template <class T> T Max(T a, T b) { return a>b?a:b; }
void main()

第5章 函数

第5章 函数

5.3函数的调用
在一个源程序中,如果调用的是标准函数, 则需在调用之前用#include命令将对应的头文 件包含进来;如果调用的是用户自定义函数, 则需将被调用的函数放在主调函数之前,否 则就需要在主调函数的声明部分加入被调用 函数的原型声明。
5.3.1 函数的声明
1. 函数声明的一般形式有两种: (1)函数类型 函数名(参数类型1, 参数类型 2, ……); (2) 函数类型 函数名(参数类型1 参数名1, 参 数类型2 参数名2, ……); 两种形式是的等价的。如: float add(float,float); 等效于: float add(float x,float y);
3. 从主调函数和被调函数之间数据传送的角度看,又 可分为: (1) 无参函数 函数定义、函数说明及函数调用中均不带参数。主 调函数和被调函数之间不进行参数传送。如上述程 序中的pline()函数、word()函数只是输出字符。 (2) 有参函数(带参函数) 在函数定义和函数说明时都带有的参数,称为形式 参数(简称为形参)。函数调用时所给出的参数, 称为实际参数(简称为实参)。进行函数调用时, 主调函数将把实参的值传送给形参,供被调函数使 用。
运行结果如图所示。
5.3.4 函数的嵌套调用

一个函数内不能定义另一个函数。但在函数调用时,可以嵌 套调用,即在调用一个函数的过程中,又调用另一个函数。
【例5.7】用调用函数求s=(12)!+(22)!+(32)!的 值,并在主函数中输出结果。 本题可编写两个函数,一个是用来计算平方 值的函数f1,另一个是用来计算阶乘值的函 数f2。主调函数先调f1计算出平方值,再在f1 中以平方值为实参调用 f2,计算其阶乘值, 然后返回f1,再返回主调函数,在循环过程 中计算累加和。

C语言程序设计-第5章--函数

C语言程序设计-第5章--函数

实参可以是常量、变量或表达式,但要求 它们必须要有确定的值,在调用时将实参 的值赋给形参。另外,实参和形参的类型 应相同或兼容。
— 31 —
5.2 函数的参数传递和返回值
➢ 5.2.2 函数的返回值
一般情况下,主调函数调用完被调函数后,都希望能够得到一 个确定的值,这就是函数的返回值。在C语言中,函数返回值 是通过return语句来实现的。return语句的一般形式有3种:
/*函数声明*/
/*调用逆序函数,将a的逆序值赋给b*/ /*调用逆序函数,将b的逆序值赋给c */
— 23 —
5.2 函数的参数传递和返回值
➢ 5.2.1 函数的形参与实参
{
int y=0,sign=1;
/*定义sign表示x的符号,定义变量y代表逆序数据*/
if(x<0)
/*当x小于0时取符号及取反*/
— 18 —
5.1 函数的定义和调用
➢ 5.1.2 函数的调用
另外,按函数在语句中的作用来分,可以有以下3种函数调用方式:
函数表达式
函数语句
函数作为实参
函数作为表达式中的一项出 现,以函数返回值参与表达 式的运算。
函数调用的一般形式加上分 号即构成函数语句。
函数作为另一个函数调用的 实际参数出现,即把该函数 的返回值作为实参进行传送。
#include<stdio.h> int main() {
int x=0,y; y=trans(x); printf("y=%d\n",y); printf("x=%d\n",x); return 0; } trans(int a) { a++; printf("a=%d\n", a); return a; }

大学《Python程序设计》试题及答案

大学《Python程序设计》试题及答案

大学《Python程序设计》试题及答案大学《Python程序设计》试题及答案一、选择题1、在Python中,以下哪个选项可以正确表示小于等于操作符? A) <=B) <* C) .≤ D) 以上都不是答案:A) <=2、下列哪个模块可用于绘制图形? A) math B) plot C) canvas D) none of the above 答案:C) canvas3、在Python中,如何将字符串转换为整数? A) str() B) int() C) float() D) 以上都不是答案:B) int()4、若要打印出所有的素数,以下哪个循环结构可以实现? A) whileB) for C) do-while D) switch-case 答案:B) for5、以下哪个选项可以用于导入模块? A) import math as m B) include math as m C) #include <math.h> D) #import <math.h> 答案:A) import math as m二、填空题1、Python中的注释符号是_____。

答案:#2、在Python中,所有变量都必须具有_____。

答案:类型(types)3、Python中的逻辑运算符用于执行_____运算。

答案:逻辑(logical)4、以下哪个函数可以用于将字符串转换为浮点数? A) str() B) int() C) float() D) none of the above 答案:C) float()5、以下哪个循环结构可以用于打印出所有的偶数? A) for i in range(0, 10): print(i2) B) for i in range(0, 10): if i % 2 == 0: print(i2) C) for i in range(0, 10): if i % 2 != 0: print(i2) D) none of the above 答案:B) for i in range(0, 10): if i % 2 == 0: print(i2)三、编程题编写一个Python程序,打印出所有的水仙花数(Narcissistic Number)。

第5章 Python函数模块

第5章 Python函数模块

参考题库第5章Python函数模块一、填空(1) PythOn标准库math中用来计算平方根的函数是。

(2)查看列表长度的PythOn内置函数是。

(3)PythOn模块文件的扩展名为。

(4)PythOn标准库SyS中,用来退出程序的函数是。

(5)使用内置函数对列表排序sorted([9, 82, 33]),结果为。

(6)Python用来返回序列中最大元素的内置函数是。

(7)Python中定义函数的关键字是。

(8)在函数内部可以通过关键字____ 来定义全局变量。

(9)如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为o(10)Python标准库random中的函数作用是从序列中随机选择1个元素。

二、选择(1)下列关于Python中函数的说法不正确的是( )A. Python中定义函数的关键字是defB.函数内容以冒号起始,并且缩进C.结束函数时如果return语句不带表达式相当于无返回值D.在函数内部可以使用global来定义全局变量(2)执行下列语句后的显示结果是( )»> import math»> print (abs (-5) *math. sqrt (4))A. 10.0B. 10C.-10D. 20(3)下列定义函数的方法,在PythOn中正确的是()。

A.class (al, a2, a3)B.def (al, a2, a3)C.function (al, a2, a3)D.def fun (al, a2, a3)(4)下面程序运行结果是()count=lnum=0 def test():global countfor i in range(3): count+=lnum=8 test() print(count z num)8. 3 10C. 4 10D. 1 0 带有默认值的参数必须出现在参数列表的() B.最右端D.任意位置(6)执行代码X, y, z = sorted ([5, 8, 2])之后,变量y 的值为( )A. 2B. 8C. 5D. 15 (7) 4.查看变量类型的PythOn 内置函数是() A. id () B. map () C. diet O D. type ()(8)下列关于Python 中函数参数的说法不正确的是()A.在调用函数时,可以通过关键参数的形式进行传值B.在调用函数时,必须牢记函数形参顺序才能正确传值。

第5章 Python函数-Python程序设计基础案例教程-李辉-清华大学出版社

第5章 Python函数-Python程序设计基础案例教程-李辉-清华大学出版社

4 函数的嵌套调用
函数的定义和调用
在一个函数中调用了另外一个函数,这就是函数嵌套调用。其执行流程为如果函数A中,
调用了另外一个函数B,则执行函数B中的任务后再回到上次函数A执行的位置。
【例】函数的嵌套调用示例。
#计算三个数之和 def sum_num(a, b, c):
return a + b + c
函数名称:要调用的函数名称 必须是己经创建好的。 可选参数:如果需要传递多个 参数值,则各参数值间使用逗 号“,”分隔。如果该函数没 有参数,则直接写()。
3 函数的返回值
函数的定义和调用
“返回值”,就是程序中的函数完成一件事情后,最后给调用者的结果
return [value]
【例】return语句应用示例:定义一个两个数相加的函数
【例】定义一个打印信息的函数
➢ 如果有多个参数,各参数间使用逗号 “,”分隔;函数没有参数时也必须
def printInfo(): '''定义一个函数,能够完成打印信息的功能

'''
print('------------------------------------') print(' 不忘初心,牢记使命 ')
#求三个数平均值 def average_num(a, b, c):
sumResult = sum_num(a, b, c) return sumResult / 3
result = average_num(1, 2, 3) print(result) 运行结果: 2.0
目录
• 函数的定义和调用 • 函数的参数与值传递 • 变量的作用域 • 递归函数和匿名函数 • 高阶函数 • 闭包及其应用 • 装饰器及其应用 • 迭代器及其应用 • 生成器及其应用

四川大学《c语言程序设计》课件-第5章 函数

四川大学《c语言程序设计》课件-第5章 函数

用void定义参数 ,表示没有参数
void 函数名(void)
{ 声明语句序列 可执行语句序列 return ;
}
return语句后无需 任何表达式
【例】 计算整数n的阶乘n!
/* 函数功能: 用迭代法计算n!
返回值函数类入型口参数:函整数型名变量说n明表示阶乘的形阶参数表,函
函数返回值: 函返数回的n!功的能值
函数定义(Function definition)
返回值 类型
函数名标识符, 说明运算规则
参数表相当于 运算的操作数
类型 函数名(类型 参数1, 类型 参数2, ……)
{ 声明语句序列
可执行语句序列 return 表达式;
}
函数出口
返回运算的结果
函数定义(Function definition)
因变量
函数名
自变量
程序设计中的函数
程序设计中的函数不局限于计算 –计算类,如打印阶乘表的程序…… –判断推理类,如排序、查找……
问题的提出
读多少行的程序能让你不头疼? 假如系统提供的函数printf()由10行代码替换,那么你编过的程 序会成什么样子?
–实际上一个printf()有上千行代码 main()中能放多少行代码? 如果所有代码都在main()中,怎么团队合作? 如果代码都在一个文件中,怎么团队合作?
C程序的存储类别 – auto型(自动变量) – static型(静态变量) – extern型(外部变量) – register型(寄存器变量)
变量的存储类型( Storage Class)
变量的生存期(Lifetime )
The lifetime of a variable is the period of time during which memory is allocated to the variable

C语言程序设计案例教程项目五 使用函数调用各功能模块

C语言程序设计案例教程项目五 使用函数调用各功能模块
void main() { input();
任务
使用函数统计课程分数信息
sum_ave(count,course); output();
}
编译、连接、和运行程序。程序运行后,屏幕显示:
请输入课程的门数:3 请输入学生总人数:10 请输入每个学生的课程成绩:60 70 80 90 100 90 80 70 60 100 60 70 80 70 80 70 60 70 60 80 60 70 70 80 100 80 70
任务
使用函数统计课程分数信息
70 60 90 第1门课程学生成绩的总分是780.000000分 第2门课程学生成绩的总分是720.000000分 第3门课程学生成绩的总分是750.000000分
平均分是78.000000分 平均分是72.000000分 平均分是75.000000分
2)相关知识
要完成上面的任务,小王必须要熟练掌握函数的定义和调用方法,理解变量
其它高级语言的子程序。 C语言不仅提供了极为丰富的库函
数(如Turbo C,MS C 都提供了三百多个库函数),还允许 用户建立自己定义的函数。用户可把自己的算法编成一个个相
对独立的函数模块,然后用调用的方法来使用函数。
5.1 函数应用实例
—5.1.2 函数的基本概念
可以说C程序的全部工作都是由各式各样的函数完成的, 所以也把C语言称为函数式语言。 由于采用了函数模块式的 结构, C语言易于实现结构化程序设计。使程序的层次结构 清晰,便于程序的编写、阅读、调试。
项目五
使用函数调用各功能模块
教学目的:
通过本章的学习,要求能熟练掌握函数的定义和调用
方法,掌握函数的嵌套调用和递归调用,理解变量的作用

第5章函数old

第5章函数old

2
程序设计的艺术
程序设计有两大最高级的艺术 – 算法设计艺术 – 结构设计艺术 函数(function)是结构设计的最基本单位 function) 一个程序应该是轻灵自由的, “一个程序应该是轻灵自由的,它的子过程就 象串在一根线上的珍珠。 象串在一根线上的珍珠。” – Geoffrey James的《编程之道》 James的 编程之道》
例5.1
main() main() { int a = 12; int b = 24; int ave = Average(a, b); printf("Average printf("Average of %d and %d is %d.\n", a, b, ave); %d.\ }2011-1-3 13
例5.7
main() main() { global = 1; printf("Before printf("Before GlobalPlusPlus(), it is %d\n", global); %d\ GlobalPlusPlus(); printf("After printf("After GlobalPlusPlus(), it is %d\n", global); %d\ } /* 函数功能: 全局变量global加 并打印加1 函数功能: 对全局变量global加1,并打印加1之前与之后的值 函数入口参数: 函数入口参数: 无 函数返回值: 函数返回值: 无 */ void GlobalPlusPlus(void) GlobalPlusPlus(void) { printf("Before printf("Before ++, it is %d\n", global); %d\ global++; printf("After printf("After ++, it is %d\n", global); %d\ }

第05章 函数

第05章 函数
17
函 数
高 级 语 言 程 序 设 计 与 应 用 教 程
第11次课结束
函数调用
实 参可 以是常 量 、 变量、 表达式、函数等
函数名( 实参1,实参2,……,实参n ); 注意事项: (1) 实参列表中的实参必须与函数定义时的形参数量 相同、类型相符。 (2) 赋值对应关系: 实参1 -> 形参1 实参2 -> 形参2 …… 实参n -> 形参n (3)实参表求值顺序(即实参赋值给形参的顺序) TC、BC、VC均是自右向左,也就是说最右边的实参最 先赋值给最右边的形参, 最左边的实参最后赋值给最左边 的形参。
第 五 章 返回
void main ( ) { int a; 注意:对函数调用之前,必须要先声明或先 scanf ("%d", &a); while (a < 0) 定义,否则编译错! { showerror( ); scanf ("%d", &a); } 调用showerror printf ("sqrt(a) = %.2f\n", sqrt(a)); 函数 } void showerror( ) //函数的定义,无参数无返回值 { printf("input error!\n"); //函数体,没有声明变量 }
小写字符转换成大写字符
函 数
14
高 级 语 言 程 序 设 计 与 应 用 教 程
函数的调用 函数名( void ); 或 变量 = 函数名( ); 实例 【例5-2】反复计算幂函数,直到接受到一个回车符为止。
第 五 章
函 数
15
高 级 语 言 程 序 设 计 与 应 用 教 程

C语言课件-第5章 函数 湘潭大学上课课件

C语言课件-第5章  函数 湘潭大学上课课件

为什么要用函数
解决的方法:用模块化程序设计的思路
采用‚组装‛的办法简化程序设计的过程 事先编好一批实现各种不同功能的函数 把它们保存在函数库中,需要时直接用
为什么要用函数
解决的方法:用模块化程序设计的思路
函数就是功能 每一个函数用来实现一个特定的功能 函数的名字应反映其代表的功能
b
g h
c
i
为什么要用函数
可以使用库函数
可以使用自己编写的函数 在程序设计中要善于利用函数,可以减少
重复编写程序段的工作量,同时可以方便 地实现模块化的程序设计
C语言中的函数
0个或多个数据被传递
参数
函数体
至多一个数据或结构被返回
C语言中的函数
math.h中提供的函数(库函数)
double sqrt(double x)
//函数定义 int firstDigit (int num) { return (num % 10); }
digit = firstDigit (number); printf("\nLeast significant digit is: %d\n", digit); return 0; } // main
带参数的void函数:void getnum(int a) 有返回值但不带参数的函数:int caculate() 有返回值且带参数的函数:int max(int a,int b)
函数使用(调用)
greeting();
getnum(10); Result=caculate();
a
200 100

x
200 100
void TryToChange(int x) { x = x * 2; }
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20
例 5.7把匿名函数作为参数传递的 使用方法举例
points = [(1,7),(3,4),(5,6)] #调用函数sort按元素第二列进行升序排序 points.sort(key=lambda point: point[1]) print(points) 运行后输出: [(3, 4), (5, 6), (1, 7)]
21
参数传递方式
参数传递方式:实参向形参传递参数的方式。 Python语言只有一种参数传递方式,值拷贝。这种传值方 式是让形参直接拷贝实参的值。从理论上讲,如果实参是一 个变量,形参变量的变化不会影响实参变量。
如果传递的对象是可变对象,在函数中又修改了可变对象, 这些修改将反映到原始对象中。这可以理解为形参拷贝了实 参在内存中的引用。
15
5.1.3 函数的返回值
函数定义时,函数的形参是函数的输入参数,函数的返回 值是函数的输出参数。<函数体>内的return语句是向主调程序 (函数)传递返回值的语句。 它的格式是:
return <表达式1>[,<表达式2>[,...[,<表达式n>]]]
可以向主调程序(函数)传递多个返回值,这要求主调程序 (函数)有多个变量接收这返回的多个值。
10
2. 形参使用默认值
对于形参,还可以使用默认值。如果函数定义中存在带有默认 值的参数,该参数及其所有后续参数都是可选的。如果没有给 函数定义中的所有可选参数赋值,就会引发SyntaxError异常。
def add(x, y=0,z=1) : s=x+y+z return s
ad = add(100)
13
例 5.3定义没有参数的函数
# 例 5.3定义没有参数的函数 def hello():
print("python") for i in range(3):
hello() #函数调用
14
函数调用时要做的工作与步骤:
(1)保存现场。如果是以函数语句形式调用,调用语句的下一 条语句就是现场;如果是以函数表达式或函数参数的形式调用, 因为函数调用返回时的下一步工作是让返回值参与表达式的计 算,就把这一步的工作当成现场。 (2)将实参传递给形参。 (3)程序的执行转向函数。 (4)函数执行完后,恢复现场。函数执行完后,要知道返回, 就是要返回到什么地方继续执行。
5
函数调用通过调用语句实现,调用语句所 在的程序或函数称为调用程序或调用函数。调 用语句需要指定被调用函数的名字和调用该函 数所需要的信息(参数)。
函数名(实参1,实参2,……)
被调函数执行完后,返回调用语句的下一 句,返回时可以反馈结果给调用语句。
6
1. 函数的定义格式
函数的定义格式: def 函数名([参数列表]): ['''文档字符串'''] [函数体] return [返回值列表] 其中,<函数名>是任何有效的Python标识符,<参数表>
三种调用形式: (1)函数语句 (2)函数表达式 (3)函数参数
12
例 5.2求Fibonacci数列的前n项
def fib(n): """Print a Fibonacci series up to n.""" a,b = 1,1 item = 1 while item <= n: print(a, end=' ') a, b = b, a+b item += 1
19
例 5.6匿名函数使用方法举例
s = lambda : "python".upper() #定义无参匿名函数,将字母改成大写 f = lambda x : x * 10 #定义有参匿名函数,将数字扩大10倍 print(s()) #调用无参匿名函数,注意要加一对() print(f(7.5)) #调用有参匿名函数,传入参数
函数可以不返回值,就不必使用return语句,或使用“return None”。
16
例 5.4定义函数计算最大值
def maximum(x, y): if x > y: return x elif x == y: return 'The numbers are equal' else: return y
22
def swap(a,b): a,b = b,a
a,b = 3,5 swap(a,b) print(a,b)
def swap(lst): lst[0],lst[1] = \ lst[1],lst[0]
lst = [3,5] swap(lst) print(lst)
程序运行的结果:3,5
程序运行的结果:5,3
24
例5-10 变量作用域示例。
# 局部变量的作用域 def fun(discount):
# 在函数体中定义局部变量 price = 200 price = price * discount print("fun:price",price) fun(0.8) print("main:price",price)
8
# 例 5.1函数的定义和调用 def say_hello(): #函数示例
'''这是一个示范函数,该函数没有参数''' print('hello world')
# 函数结束 say_hello() # 调用函数
9
5.1.1文档字符串
函数体第一行语句可以是一段由三个引号 开头的文档字符串(Documentation String或docstring),用于说明函数的作 用。一个函数的文档字符串可以通过属性 __doc__访问得到,如果我们定义好上面 的函数,再执行: >>>print(say_hello.__doc__) 则会在屏幕上得到: 这是一个示范函数,该函数没有参数
a,b = input().split(" ") print(maximum(a, b))
17
例 5.5通过函数返回Fibonacci数列 的前n项
def maximum(x, y): if x > y: return x elif x == y: return 'The numbers are equal' else: return y
第5章 函数与模块
1
1 掌握函数的定义和调用方法 2 理解函数中参数的作用 3 理解变量的作用范围 4 了解匿名函数LAMBDA的基本用法 5 理解模块与包的概念及用法 6 掌握PYTHON内置模块的基本使用方 法
2
一个较大的程序,通常需要合理划分程序 中的功能模块。功能模块在程序设计语言中被 称为函数。
25
例 5.11全局变量的作用域
def fun(discount): print("fun:price",price)
price = 100
# 在主程序中定义全局变量
fun(0.8)
print("main:price",price)
26
例 5.12在函数体中的赋值语句 会定义同名局部变量
def fun(discount): price = price * discount print("fun:price",price)
要写好函数,必须清楚函数的组织格式 (即函数如何定义);要用好函数,则必须把 握函数的调用机制。
3
5.1 函数的定义与调用
使用函数有两个目的: (1)分解问题,降低编程难度。 (2)另一方面,代码重用。
把实现某一特定功能的相关语句按某种格式组织在一起 形成一个程序单位,这样的一个程序单位就叫函数(functi on)。函数有时也被称作例程或过程。而给程序单位所起的 名称被称作函数名。
a,b = input().split(" ") print(maximum(a, b))
18
5.1.4 匿名函数
对于只有一条表达式语句的函数,可以用关键 字lambda定义为匿名函数(Anonymous Functions),使得程序简洁,提高可读性。匿名 函数定义形式如下:
lambda [参数列表]:表达式 匿名函数没有函数名,参数可有可无,有参的 匿名函数参数个数任意。但是作为函数体的表 达式限定为仅能包含一条表达式语句,因此只 能表达有限的逻辑。这条表达式执行的结果就 作为函数的值返回。
#say()的执行结果 #say("hello")的执行结果 #say(5)的执行结果 #say("hello",5)的执行结果
31
例 5.9输出两位学生的课程成绩单 及各自的平均成绩
上面, “y=0,z=1 ”给了默认值,调用时,实参可不给值, 直接使用默认值。
如果只对y给默认值,而不给z默认值,将引发异常。
11
5.1.2 函数调用
函数调用的格式: <函数名>(<参数表>)
其中,<函数名>是事先定义函数时定义的函数名。<参数表>此 时应是实际参数表,即实参表,由多个实参组成,实参用“,” 分隔,实参要有确定的值。实参的个数可以少于形参的个数, 这是由于形参有默认值。
是用“,”分隔的参数,参数个可以是0个、1个或多个,参数 用于调用程序在调用函数时向函数传递值。 <函数体>是函数被调用时执行的代码段。至少要有一条语句。
7
5.1 函数的定义与调用
形参:函数定义时(def语句)函数名 后面的圆括号中的参数 。形参只能是 变量。形参只能函数被调用时才分配内 存单元,调用结束时释放所分配的内存 单元。 实参:调用函数时,函数名后面的圆括 号中的参数。实参可以是常量、变量、 表达式,在实施函数调用时,实参必须 有确定的值。
相关文档
最新文档