第一篇:VFP-04-06-变量作用域、自定义函数汇总(定稿)
VFP-04-06变量作用域、自定义函数.doc 8-1 变量作用域、自定义函数
4.5.3 内存变量的作用域
变量的作用域:变量的作范围。程序由模块(主、子程序)组成,模块中有内存变量,内存变量有作用范围。变量的作用域,从定义变量处开始,一直向下。
1.定义全局内存变量
全局变量既可以是单个变量,也可以是数组。分别以下列格式定义。
格式1:Public <内存变量表> 格式2:Public <数组名1>(上界1[,上界2[,...])[,„] 功能:定义全局变量。
①<内存变量表>中既可含普通变量,也可含数组。
②全局变量不会自动释放。只能用release命令显式释放,或退出VFP。③VFP命令窗口中定义的变量,默认为全局变量。④全局数组的每个元素都是全局的。
第116页,例 4.35 主程序中使用子程序中定义的全局变量。*文件名Main.prg set talk off clear clear memory &&清除所有内存变量 I=2 &&默认是私有的 Do ABC ?“主程序中的输出结果:” ?“I=”+str(I,2)+“ J=”+str(J,2)set talk on return *---------------------Procedure ABC public J J=I*8 J=J+5 ?“过程中的输出结果:” ?“I=”+str(I,2)+“ J=”+str(J,2)return 小提示:要检测全局变量,请先clear memory以排除干扰。
2.定义局部内存变量
(1)什么叫局部?
更小的范围就是局部。对于一个模块,更后的部分是局部。对于主程序,子程序是局部。
(2)Private定义局部变量 VFP-04-06变量作用域、自定义函数.doc 8-2 格式1:Private <内存变量表> 格式2:Private <数组名1>(上界1[,上界2[,...])[,„] 功能:定义局部变量。
①未经定义的变量,默认是局部(Private)的。
③无论全局还是局部变量,无初值的,一律自动赋初值.F.。③局部变量作用域的子模块扩展规则
Private变量的作用域,通过调用子模块而扩展到子模块中。
图4-20 Private变量作用域子模块扩展规则
第117页,例 4.36 子程序中的局部变量,在主程序中找不到。R=100 &&默认为Private变量 Do Sub1 &&调用子程序
?P &&主程序中找不到这个变量 Return *-------------------procedure Sub1 P=2*3.14*R &&主程序中的Private变量,子程序中可用 return 3.Private隐藏内存变量的功能
(1)同名变量就近使用规则(原理)
程序中,对于同名的变量,默认使用最近的。因此,①字段变量(因为在当前工作区内)优先于(即隐藏)同名内存变量; 注:什么叫隐藏?就是被遮住,看不见,用不上。
图4-22 字段变量隐藏同名内存变量
例如 use student.dbf use student.dbf VFP-04-06变量作用域、自定义函数.doc 8-3 ?学号 &&结果是字段变量“学号”值,如“960106” 学号=“abcd” &&“=”号赋值,只给内存变量赋值 ?学号 &&结果还是优先使用字段变量
?m.学号 &&特别用“m.”指明内存变量,结果才是“abcd” ②同一模块内,小局部存变量优先于(即隐藏)大局部同名内存变量;
图4-23 Private变量隐藏同模块同名变量
③不同模块中,子模块局部内存变量优先于(即隐藏)主模块同名内存变量。
图4-26 用Private隐隐藏变量
小提示:主程序中的private变量,子程序同样可以用private屏蔽。(3)为什么大范围定义的局部变量,小范围中再定义为全局变量会出错? 因为那样,与Private的隐藏功能相矛盾。
第118页,例 4.37 子程序中的同名局部变量隐藏主程序中同名变量。R=100 &&默认为Private变量 P=10 &&默认为Private变量 Do Sub2 &&调用子程序
?P &&仍是主程序中的值 Return *-------------------procedure Sub2 Private P &&局部变量,主程序中的同名变量被屏蔽 P=2*3.14*R &&主程序中的Private变量,子程序中可用 Return *(5)有没有不通过子程序扩展作用域的变量?
VFP-04-06变量作用域、自定义函数.doc 8-4 有,Local变量,即本地变量。如:Local x,y,z。小提示:采用Local变量,是向C语言靠拢。
4.调用过程时的数据传递
教学提示:VFP的参数传递,过程中默认传址,函数中默认传值。向过程传递数据,有两种方法。
(1)利用Private变量的作用域扩展规则,不传而传
过程中,可以直接使用主程序中的Private变量,不必传。第118页,例 4.38 计算矩形面积。G=8 &&长 K=6 &&宽 mj=0 &&面积 do sub3 ?Mj return *--------------procedure sub3 mj=G*K return(2)在过程第一句用Parameters接收参数
主程序中传出参数格式:Do <过程名> With <实际参数表> 子程序中接收参数格式: Parameters <内存变量表> 说明:
①子程序中,Parameters必须是第一句。Parameters变量是Private变量。②传值:Parameters后的变量与主程序中对应的实际参数无关。
③传引用:Parameters后的变量与主程序中对应的实际参数是同一个变量,名称可能不同而已,同时变化。
④引用隐藏实参规则
子模块中,引用参数隐藏实际参数,是因为引用参数与实际参数是同一个变量,只是在子模块中另取了一个名字(别名)而已。因此,原来的实际参数被隐藏,才不会混乱,包括实际参数是Public变量的情况。
⑤如何决定传值、传地址?由实际参数决定。过程的实际参数默认引用。要传值须实际参数加“()”,或者写成表达式。VFP-04-06变量作用域、自定义函数.doc 8-5
图4-27 传值与传引用
第119页,例 4.39 写程序运行结果。set talk off x=1 y=3 do sub4 with x,(y),5 ?x,y return *----------------Procedure sub4 parameters a,b,c a=a+b+c b=a+b-c return &&答: 9, 3 第120页,例 4.40 利用一个过程计算矩形面积,要求在主程序输出该面积值。set talk off clear input “矩形长:” to L input “矩形宽:” to W S=0 do Area with L,W,S ?“矩形面积:”,S return *--------------Procedure Area Parameters C,K,M M=C*K return
4.5.4 自定义函数 VFP-04-06变量作用域、自定义函数.doc 8-6 1.自定义函数的结构
自定义函数实际上是一个过程,只不过其Return语句后带有表达式,能向主函数返回值。
格式:
Function <函数名> [Parameters <形式参数表>] <语句序列> Return [<表达式>] 说明:
①缺省[<表达式>]返回.T.。
②与过程一样,自定义函数,可以单独以同名程序文件存储,也可以存入过程文件中。
2.自定义函数的调用
小提示:过程中叫实际参数的,函数中叫自变量。格式:[[因变量]=] <函数名>(自变量表)说明:
函数查找规则
调用函数时,先在内部函数中找;找不到再到打开的过程文件中找;再找不到,在当前文件夹中找;再找不到,出错。
①若自定义函数与内部函数同名,将不被找到,用不到。②参数表要与自变量表相对应,包括类型和个数。
③自变量表中,可以是变量,也可以是表达式。自变量默认传值。要传引用,须在自变量前面加“@”,或SET UDFPARMS TO REFERENCE设置默认为传引用。
④函数可以当过程用,调用格式为“do <函数名> with 自变量表”。但要注意,当过程用时,默认传引用,因为过程默认传引用;且放弃返回值。
小提示:自变量默认传值,是向C语言靠拢。小提示:过程默认传引用,函数默认传值。第122页,例 4.41 定义一个函数,将day()日期转成“公元 年 月 日”格式。Y=DA()?Y return *-------------Function DA D=“公元”+LTRIM(STR(YEAR(DATE())))+“年” D=D+LTRIM(STR(MONTH(DATE())))+“月” D=D+LTRIM(STR(DAY(DATE())))+“日” Return D 第122页,例 4.42 用自定义函数计算组合数。VFP-04-06变量作用域、自定义函数.doc 8-7 m!
n!(mn)!y=c(5,3)?y return *-------------------Function FAC &&阶乘factor parameters x f=1 for k=1 to x f=f*k endfor return f *-------------------Function C &&组合数conbination parameters m,n y=int(FAC(m)/(FAC(n)*FAC(m-n)))return y C(m,n)*附加 4.5.5 自定义函数的括号参数格式
“()”在VFP中是间接引用符,有传值之意。
1.自函数的“()式”结构
格式:
Function <函数名>([<参数表>])<语句序列> Return [<表达式>] 说明:这是自定义函数的另一种格式。它只是将Function行和Parameter行合并成一行,其它并无差别;其调用方式也没有区别。
小提示:表单自定义函数不能用括号参数格式,故一般不学、不用。例 自定义函数fun1(x,y,z),分别将其当过程和“()式”函数调用。A=123 B=234 C=“abc” clear do fun1 with A,(B),C &&当过程用,默认传引用,但B传值 ?“A=”,A,“B=”,B,“C=”,C D=fun1(A,@B,@C)&&当函数用,默认传值,但B和C传引用 ?“D=”,D Return *-------------------VFP-04-06变量作用域、自定义函数.doc 8-8 Function fun1(X,Y,Z)x=x+10000 y=y+10000 z=z+“12345” return X+Y
第二篇:vba自定义函数小结
小结:
函数参数前面标记byval,实现的是实参与形参之间的值传递,即形参具有了实参的值或者说建立了一个实参的副本给了形参,这样对形参的操作不会影响实参;
函数参数前面标记byref,实现的是实参与形参之间的引用传递,这样对形参的操作会影响实参,或者说对形参的操作等同于对实参的操作;
在函数内部使用“r=形参”,实现的是把形参的副本给r,在函数中对r操作不会影像形参,如果使用“set r=形参”,那么对r的操作会影响形参,这里实现的效果是r只是形参的一个别名而已,所以对r的操作等同于对形参的操作。
在函数中形参前面不标记byref和byval,默认是引用传递byref,但是这种情况下如果实参是excel中worksheet的range区域,则默认是值传递。
有时调试结果不符合预期,比如值传递,对””r=形参”中的r操作,居然影响形参了,这可能是由于excel一时程序错乱导致,关闭重启就好了。
Public Function tjbcf(rng)
r = rng
'Set r = rng'注意带着set是错误的 k = 0 If UBound(r, 1)> 1 And UBound(r, 2)= 1 Then For i = 1 To UBound(r, 1)f = 0 For j = 1 To i1 If r(1, i)= r(1, j)Then f = 1 Exit For End If Next j If f = 0 And r(1, i)<> “" Then k = k + 1 End If Next i End If
If UBound(r, 1)> 1 And UBound(r, 2)> 1 Then For i = 1 To UBound(r, 1)For j = 1 To UBound(r, 2)If r(i, j)= ”“ Then f = 1 GoTo kk End If f = 0 For m = 1 To i1 If r(i, j)= r(i, n)Then f = 1 GoTo kk End If Next n kk: If f = 0 Then k = k + 1 End If Next j Next i End If
tjbcf = k
End Function
Public Function getnum(str, m)ss = ”“ For i = m To Len(str)If InStr(”0123456789.“, Mid(str, i, 1))<> 0 Then ss = ss & Mid(str, i, 1)Else GoTo kk End If Next i kk: getnum = Val(ss)'注意是val不是value,在sheet中是value函数,在vb中则是val函数 End Function Public Function getnum2(str, m)ss = ”“ f = 0 For i = m To Len(str)If InStr(”0123456789.“, Mid(str, i, 1))<> 0 Then ss = ss & Mid(str, i, 1)Else If f = 1 And ss <> ”“ Then GoTo kk End If f = 1 End If Next i kk: getnum2 = Val(ss)End Function
Public Function NewMmult(a, b)
a1 = a
'把range a的值赋给a1,a是几行几列的range,a1就是 几行几列的数组。注意a1是一个variant数组,即a1中的不同元素可以属性不同,a1中某个元素是字符,另一个可以是整数。
b1 = b
'把range b的值赋给b1 For i = 1 To UBound(a1, 1)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 For j = 1 To UBound(a1, 2)
' UBound(a1, 2)指的是数组a1第2维度的大小,即a1的列数 If a1(i, j)= ”“ Then
'判断a1(i,j)是不是空白,如果是,那就赋0值。a1(i, j)= 0 End If Next j Next i
For i = 1 To UBound(b1, 1)For j = 1 To UBound(b1, 2)If b1(i, j)= ”“ Then b1(i, j)= 0 End If Next j Next i
NewMmult = Application.MMult(a1, b1)
End Function
Public Function sim(str1, str2)
If Len(str2)= 0 Then
sim = 0
GoTo kk
End If
sim = 0
For i = 1 To Len(str2)
If InStr(str1, Mid(str2, i, 1))<> 0 Then
sim = sim + 1
End If
Next i
sim = sim / Len(str2)kk: End Function Public Function sima(ByVal str1, ByVal str2)
If Len(str2)= 0 Then
sima = 0
GoTo kk
End If
sima = 0
l = Len(str2)
For i = 1 To Len(str2)
If InStr(str1, Mid(str2, i, 1))<> 0 Then
sima = sima + 1
str1 = Application.WorksheetFunction.Substitute(str1, Mid(str2, i, 1), ”“, 1)
End If
Next i
sima = sima / l kk: End Function
Public Function mcc(rng, rng1, str1, Optional rng2 = ”“, Optional str2, Optional rng3 = ”“, Optional str3, Optional rng4 = ”“, Optional str4, Optional rng5 = ”“, Optional str5)r = rng r1 = rng1 r2 = rng2 r3 = rng3 r4 = rng4 r5 = rng5 mcc = ”“
If Application.CountA(rng2)= 1 Then For i = 1 To UBound(r, 1)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(i, 1)= str1)Then mcc = r(i, 1)GoTo kk End If Next i End If
If Application.CountA(rng3)= 1 Then For i = 1 To UBound(r, 1)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(i, 1)= str1, r2(i, 1)= str2)Then mcc = r(i, 1)GoTo kk End If Next i End If
If Application.CountA(rng4)= 1 Then For i = 1 To UBound(r, 1)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(i, 1)= str1, r2(i, 1)= str2, r3(i, 1)= str3)Then mcc = r(i, 1)GoTo kk End If Next i End If
If Application.CountA(rng5)= 1 Then For i = 1 To UBound(r, 1)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(i, 1)= str1, r2(i, 1)= str2, r3(i, 1)= str3, r4(i, 1)= str4)Then mcc = r(i, 1)GoTo kk End If Next i End If
For i = 1 To UBound(r, 1)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(i, 1)= str1, r2(i, 1)= str2, r3(i, 1)= str3, r4(i, 1)= str4, r5(i, 1)= str5)Then mcc = r(i, 1)GoTo kk End If Next i
kk: End Function
Public Function mccd(rng, rng1, str1, Optional rng2 = ”“, Optional str2, Optional rng3 = ”“, Optional str3, Optional rng4 = ”“, Optional str4, Optional rng5 = ”“, Optional str5)
r = rng r1 = rng1 r2 = rng2 r3 = rng3 r4 = rng4 r5 = rng5 mccd = ”"
If Application.CountA(rng2)= 1 Then
For i = 1 To UBound(r, 2)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(1, i)= str1)Then
mccd = r(1, i)GoTo kk End If Next i End If
If Application.CountA(rng3)= 1 Then For i = 1 To UBound(r, 2)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(1, i)= str1, r2(1, i)= str2)Then mccd = r(1, i)GoTo kk End If Next i End If
If Application.CountA(rng4)= 1 Then For i = 1 To UBound(r, 2)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(1, i)= str1, r2(1, i)= str2, r3(1, i)= str3)Then mccd = r(1, i)GoTo kk End If Next i End If
If Application.CountA(rng5)= 1 Then For i = 1 To UBound(r, 2)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(1, i)= str1, r2(1, i)= str2, r3(1, i)= str3, r4(1, i)= str4)Then mccd = r(1, i)GoTo kk End If Next i End If
For i = 1 To UBound(r, 2)
' UBound(a1, 1)指的是数组a1第1维度的大小,即a1的行数 If Application.WorksheetFunction.And(r1(1, i)= str1, r2(1, i)= str2, r3(1, i)= str3, r4(1, i)= str4, r5(1, i)= str5)Then mccd = r(1, i)GoTo kk End If Next i
kk: End Function
Public Function nsim(str, rng)'r1 = rng 'r2 = rng 'str1 = str 'str2 = str
v = sima(str, r(1, 1))+ sima(r(1, 1), str2)'str1 = str
‘这里不再需要赋值,因为sima设置的是值传递byval,sima调用实参str和r(1,1)不影响实参。'str2 = str k = 1 For i = 2 To UBound(r, 1)m =(sima(str, r(i, 1))+ sima(r(i, 1), str))'str1 = str 'str2 = str If v < m Then k = i v = m End If Next i nsim = r(k, 1)End Function
第三篇:变量与函数教学反思
《变量与函数》的教学反思
许小平
通过《变量与函数》的教学,本人对概念课的教学设计与教学实践有了更深入的了解.
本设计呈现的课堂结构为:(1)揭示学习目标;(2)引入数学原型;(3)抽象出数学现实,逐步达致数学形式化的概念;(4)巩固概念练习(概念辨析);(5)小结(质疑).
一、如何揭示学习目标
概念课的引入要考虑学生关心的如下问题:这节课学什么概念?为什么要学这样的概
念?数学源于生活而高于生活,数学概念的引入可从生活的需要、数学的需要等方面引入.初中涉及的函数概念的核心是“量与量之间的特殊对应关系”.本课中,本人在导言中提出两个问题:“引例1,《名侦探柯南》中有这样一个情景:柯南根据案发现场的脚印,锁定疑犯的身高.你知道其中的道理吗?”、“引例2.我们班中同学A与职业相扑运动员,谁的饭量大?你能说明理由吗?”学生对上述问题既熟悉又感到意外.问题1涉及两个量的关系,脚印确定,对应的身高有多个取值;问题2涉及多个量的关系.上述问题,不仅仅是引起学生的注意,更重要的是让学生了解客观世界中量与量之间联系的多样性、复杂性,而函数研究的正是量与量之间的各种关系中的“特殊关系”.数学研究有时从最简单、特殊的情况入手,化繁为简.让学生明确,这一节课我们只研究两个量之间的特殊对应关系.“特殊在什
么地方?”学生需带着这样的问题开始这一课的学习.概念的引入应具有“整体观”,不仅要提供符合函数原型的单值对应的实例,还应提供其他的量与量之间关系的实例(如多个量的对应关系、两个量间的“一对多”关系等),使学生在更广泛的背景中经历筛选、提炼出新的数学知识的过程,逐步领悟“化繁为简”的数学研究方法.当然,这里的问题是作为研究“背景”呈现,教学时应作“虚化”处理,以突出主要内容.
二、如何选取合适的数学原型
从数学的“学术形态”看,数学原型所蕴藏的数学素材应与数学概念的内涵相一致;从数学的“教育形态”看,数学原型应真实、简洁、简单.真实指的是基于学生的生活现实、数学现实,它可以是生活中的实例,也可以是学生熟悉的动漫故事、童话故事等.简洁、简单指的是问题的表述应简洁,问题情境的设置要尽可能简单,全体学生对情境中的问题不应存在太大的理解困难,设计的问题情境要能突出将要学习的新知识的本质.本设计采用了三个数学原型的问题:问题1,“票房收入与售出票数问题”(可用解析式表示);问题2,成绩登记表中的一次数学测试的“成绩与学号问题”(表格表示);问题3,“气温变化与时间问题”(图象表示).这三个问题从不同层面、不同角度体现函数的“单值对应关系”,也都是学生生活中的真实问题,问题简单易懂,学生容易基于上述生活实例抽象出新的数学
概念.由于不少学生在理解“弹簧问题”时面临列函数关系式的困难,可能冲淡对函数概念的学习,故本节课没有采用该引例。对于繁难的概念,我们更应注重为学生构建学生所熟悉的、简单的数学现实,化繁为简、化抽象为形象.过难、过繁的背景会成为学生学习抽象新概念的拦路虎.
三、如何引领学生经历数学化、形式化的过程
“数学教学是数学活动的教学”,面对抽象的数学内容,老师会想方设法创设易于学生理解的数学情境.但如何从具体的实例中提炼出数学的素材、形式化为数学知识是教学的关键环节.从具体情境到数学知识的形式化,需要教师为学生搭建合适的“脚手架”,提出能引发学生思考、过渡到数学形式化的问题.本人在学生完成问题情境的几个问题后,提出系列问题“上述几个问题中,分别涉及哪些量的关系?哪些量的变化会引会另一个量的变化?
通过哪一个量可以确定另一个量?”在与学生的交流过程中把重点内容板书,板书注重揭示两个量间的关系,引领学生经历数学概念的形成过程,引导学生认识为什么要引进变量、常量.由问题1~3的共性“单值对应关系”与“脚印与身高”问题中反映的“一对多关系”进行对比抽象出函数的概念,逐步了解如何给数学概念下定义,并理解概念的本质特征.
四、如何引用反例
学生对概念的理解需要经历一个从模糊到清晰的过程,通过正例与反例的对照,才能准确理解概念的内涵.反例引用的时机、反例的量要恰到好处.过早、过多的反例会干扰学生
对概念的准确理解.概念生成的前期提供的各种量的关系中的实例提供的是一个更为广泛的背景,让学生经历从各种关系中抽象出“特殊的单值对应关系”,从而体会产生函数概念的背景.这样的引入有利于避免概念教学中“一个定义,三点注意”的倾向.
在备课时,我想从“气温问题”中的函数图象引导学生发现时间t取定一个值时,所得T的对应值只有一个,学生习惯性地提出问题“温度T取定一个值时,时间t 是否唯一确定?”全体同学从正反两个方面认识“唯一确定”的含义,在这样的基础上再归纳出函数的定义,学生较好地掌握函数中的单值对应关系.而在班上实际上课时,在概念的形成前期,忙中出漏,没有抓住“气温问题”中的函数图象讲解“唯一确定”,特别是没有从反面(温度T=8,时间t=12~14)帮助学生理解“唯一性”,也没有强化“脚印与身高”反映的“一对多关系”,只在涉及“单值对应关系”的实例基础上引出概念,也跳过后面提到的三个反例,学生在后面的概念辨析练习中错漏较多,为纠正学生的理解花了九牛二虎之力.
第四篇:变量与函数教学设计
变量与函数教学设计
淦田镇中学
黄军
教学内容: 湘教版八年级下册第四章第一节“函数和它的表示法”第一小节“变量与函数”。教学目标
1.知识与技能目标:运用丰富的实例,使学生在具体情境中领悟函数概念,了解常量与变量的含义,能分清实例中的常量与变量,了解自变量与函数的意义。
2.过程与方法目标: 引导学生探索实际问题中的数量关系, 经历观察、比较、发现、交流、归纳等过程, 在解决问题的过程中体会数学的应用价值, 并由感性认识逐渐过渡到理性认识。
3.情感、态度与价值观目标: 在常量与变量概念形成的过程中, 培养学生对学习数学的兴趣和积极参与数学活动的热情。学生在解决问题的过程中体会数学的应用价值并感受成功的喜悦, 建立自信心。
教学重点:自变量与函数的概念。教学难点:函数概念的抽象与概括. 教学方法 教师启发引导, 学生合作探究。教学流程安排
活动 1.创设情境(感受变化): 通过播放视频, 让学生感受生活中一些量的变化。
活动 2.交流互动(形成概念):通过三个实例的分析, 让学生初步认识变量常量, 得出变量常量的概念。活动3.巩固练习讲解例题(加深理解):通过练习进一步理解变量与常量概念, 活动 4.小结及升华: 通过对所学内容的回顾, 加深对变量与常量概念的理解,渗透由具体到抽象的数学研究方法。教学过程
一、创设情境,引入新课
师:我给大家带来了一段视频,与大家一起分享(师生一起欣赏多媒体播放的《乌鸦喝水》)师:大家观看后有什么感想
生1;乌鸦真聪明,用投石子的方法。
生2:它发现瓶口太小,水面又太低,扔石块可以提高水位,而且发现扔一块石块不够,需多扔几块.师:在这个片断中哪些是不能改变的,哪些是可以变化的? 学生可能讨论得出: 1.瓶口的大小不可改变,瓶中水的高度是可以改变的;2.投的石块越多,水面就越高.师:这两点就是我们要学习的常量与变量及函数关系.(板书课题:变量与函数)
二、实践体验,探索概念
问题1(首先显示)一个水波纹动画,显示一滴落在平静的水面上观察变化。
圆的面积公式S=πr2,请取r的一些不同的值,算出相应的S的值.(1)r= cm,S= cm2(2)r= cm,S= cm2(3)r= cm,S= cm2(4)r= cm,S= cm2 问:在计算半径不同的圆的面积的过程中,哪些量在改变?哪些量不变? 生1:r,S在改变,π不变.问题2.下图这是北京某日气象站用自动温度记录仪描出的某一天的温度曲线,它反映了该地某一天的气温T(℃)是如何随时间t的变化而变化的,你能从图中得到哪些信息?
(1)这天的8时的气温是 ℃,14时的气温是 ℃,22时的气温是 ℃;
(2)这一天中,最高气温是 ℃,最低气温是 ℃;(3)这一天中,什么时段的气温在逐渐升高?什么时段的气温在逐渐降低?
小结:天气温度随 的变化而变化,即T随 的变化而变化;
问题3票房收入问题: 出示一段音频(邓紫棋泡沫)师:这段音频知道是哪位歌手唱的吗? 生:齐声邓紫棋(同时显示邓紫棋图片)
师,邓紫棋为了回馈歌迷朋友对她的喜爱,决定举行一场歌友会。每张演唱会的售价为100元.(1)若一场售出1500张演唱会,则该场的票房收入是 元;
(2)若一场售出2050张演唱会,则该场的票房收入是 元;
(3)若设一场售出x张演唱会,票房收入为 y元,则y=。
师:当中哪些量是变化的?是如何变化的?
小结:票房收入随售出的演唱会数变化而变化,即 y随 的变化而变化; 1变量与常量概念
通过与同学们的交流讨论,我们清楚地认识到,要想寻求事物变化过程的规律,首先需确定在这个过程中哪些量是变化的,而哪些量又是不变的.在一个变化过程中,我们称数值发生变化的量为变量(variable),那么数值始终不变的量称之为常量(constant).如上述过程中,售出票数x、票房收入y、半径r、面积s时间t,气温T都属于变量;而票价100元,Π„„都是常量.
强调注意:常量与变量必须存在与一个变化过程中。判断一个量是常量还是变量,需这两个方面:①看它是否在一个变化的过程中;②看它在这个变化过程中的取值情况。
2函数的概念
在探索变量间变化规律时,可利用以前学过的一些有关知识公式进行分析寻找,以便尽快找出之间关系,确定关系式.一般地,在一个变化过程中有两个变量x与y,如果对于x每一个值,y都有唯一的值与它对应,那么就说x是自变量,y是因变量,此时也称 y是x的函数。记作y=f(x)
3反复提炼,归纳定义
师:在前面的三个问题中,同一个问题中的两个变量之间有什么联系呢?请同学们交流一下.(回放前面问题1,问题2,问题3)1.第一个例子中,圆的半径是,圆的面积是半径的。
2.第二个例子中,是自变量,是 的函数。
3.第三个例子中,是自变量,是 的函数。
强调:在考虑两个变量间的函数时,还要注意自变量的取值范围.如上述第2个问题中,自变量t的取值范围是0≤t≤24;而第1、3个问题中,自变量x的取值范围分别是x>0,x≥0.三、例题讲解
如图4-2,已知圆柱的高是4cm,底面半径是r(cm),当圆柱的底面半径r由小变大时,圆柱的体积V()是r的函数.(1)用含r 的代数式来表示圆柱的体积V,指出自变量r 的取值范围.(2)当r = 5,10时,V是多少(结果保留π)? 学生分组讨论“交流”说出各自得到的结论,最后师生共同归 纳,得出:
四、巩固应用,内化新知
1指出下列变化过程中,哪个变量随着另一个变量的变化而变化?
(1)一辆汽车以80 km/h 的速度匀速行驶,行驶的路程s(km)与行驶时间t(h);
(2)圆的半径r和圆面积S满足:(3)银行的存款利率P与存期t.2.如图,A港口某天受潮汐的影响,24小时内港 口水深h(m)随时间t(时)的变化而变化.五、小结梳理,归纳升华 1你能出一个生活中有关函数的例子吗?
2函数与我们以前学的数一样吗?它有什么特点?
六、古诗游戏
(显示)古诗中的常量和变量: 回乡偶书 少小离家老大回, 乡音无改鬓毛衰;儿童相见不相识, 笑问客从何处来.师生共同分析:作者年龄在变,容貌在变,但乡音始终未变———表达出作者对家乡怀有深厚的感情.
第五篇:变量与函数教学设计
《变量与函数》教学设计
中峰镇中心学校
王君
【学习目标】
1、认识变量、常量、会用一个变量的代数式表示另一个变量,2、认识变量中的自变量与函数,了解自变量与函数的意义及关系,3、会确定函数解析式和自变量的取值范围。【学习重点】 理解函数的意义 【学习难点】 理解函数的意义 【学习过程】 课前导入
我们都知道用字母可以表示数,现在我们用x、y两个字母来表示任意实数,请一名同学赋予x任意一个值,老师说出一个与之对应的y值,探究x、y之间有什么样的关系。(y=2x)引出课题:变量与函数 出示学习目标 知识探究一:变量与常量
课前导入中我们得到了一个关于x、y的关系式y=2x,在这个关系式中,有哪些量是可以变化的?哪些量是不会变的? 归纳总结:
在一个变化过程中,数值变化的量叫_______,数值始终不变的量叫________。
例:圆的周长公式 C2r ,在这个关系式中,_______是会变化的,叫_______,_______是不变的,叫________。知识探究二:自变量与函数 请同学们独立完成以下内容:
1、小明到商店买练习簿,每本单价2.5元,购买的总数x(本)与总金额y(元)的关系式,可以表示为y=__________;
2、圆的面积S与半径r的关系式S=___________;
3、n边形的内角和S与边数n的关系式S=___________ ;
4、等腰三角形的底角为x度,那么顶角y的度数用含x的式子表示为y=___________.思考:
1、以上四个关系式中,哪些是变量、哪些是常量?每个问题中都有几个变量?
2、同一个问题中的两个变量之间有什么联系?_______ 随着______ 的变化而变化?
自学课本73页思考下面的第一段话,总结归纳函数的概念:
一般的,在一个变化过程中,如果有两个变量x与y,并且对于x的每一个______的值,y都有__________的值与其对应,那么就称y是x 的函数,其中x 是_________,如果当x=a时y=b,那么b叫做当自变量的值为a时的___________。
分组练习:关于变量x、y有如下关系:
1y2x4(2)y=x23yx
4y3x(5)y2=2x6yx
其中y是x的函数的有哪些?不是的请说明理由。知识探究三:确定函数解析式和自变量的取值范围 自学指导:自学完成课本73-74页例1
例1:汽车油箱中有汽油50L,如果不再加油,那么油箱中的油量y(单位:L)随行驶路程x(单位:km)的增加而减少,耗油量为0.1L/km。(1)写出表示y与x的函数关系的式子;(2)找出自变量x的取值范围;
(3)汽车行驶200km时,油箱中还有多少汽油? 思考:确定函数自变量的取值范围时要考虑哪些因素? 课堂小结
本节课你学会了什么? 当堂检测
已知水池中有800立方米的水,每小时从水池中抽出50立方米的水,(1)写出剩余水的体积Q(立方米)与时间t(小时)之间的函数解析式;(2)写出自变量t的取值范围;(3)10小时后,水池中还有多少水?