




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 教学目标1、 知识与技能知识目标:1对“算法”的概念作进一步的了解。2了解解析算法的特点。3通过实例的学习,掌握解析算法的各环节。4掌握运用各学科知识解决实际问题的方法。5掌握从解决问题的解析式到设计相应程序的窗体和程序代码的方法。6通过实践掌握用解析算法编写程序代码的一些技巧。7能关注使用解析算法解决问题的意义。8在综合应用各种知识解决问题时提高自己的整体素质。9能运用学过的窗体和控件的基本知识是进行可视化编程。善于通过交流设计出简洁好用的界面。技能目标能够用解析法分析简单问题,设计算法,编写程序求解问题。2、 方法与过程以学生生活中最熟悉的测量物体、楼房的高度入手,引出有关测量的话题。通过测量不可到达底部的物体的高度的问题,导出了解析算法的基本概念,然后通过计算电阻和计算小球弹跳路程的两个例题,叙述了解析算法应用的两个重要手段:通过列出方程(或方程组)然后求解和用重复结构对解析式进行计算。进一步提高学生对解析算法和可以通过多种方法设计程序的理解。3、 情感态度和价值观结合高中生想象具有较强的随意性、更富于现实性的身心发展特点,综合反映出提升学生在各个领域的计算机应用水平,提高学生交流和讨论,自己总结获得新的知识能力,培养学生正确寻找解决问题的方法和正确的学习方法。二、 重点难点1、 教学重点(1) 理解解析法的基本概念。要培养学生善于综合运用数学、物理、化学等各学科的知识和思考方法,寻找问题中各要素之间的关系,导出解决问题的解析式或列出相关的方程,然后设计程序求解。(2) 根据算法写出程序代码并且调试程序求得问题的正确解答的能力。当算法确定之后,应当能够熟练地根据算法写出程序代码,并且通过调试程序发现并改正错误,得出正确的解答。(3) 根据问题的特点,找到系统提供的资源(如各种数据类型、内部函数等等),简化问题的求解过程。2、 教学难点(1) 解析式的导出或方程(组)的列出并求解。这些工作要求对问题所涉及的领域有比较深的认识,它的困难是外在的,是由问题的性质决定的。(2) 算法的合理设计。不论是使用重复结构还是寻找的运算顺序,对于经验不足的初学者是有困难的,特别是计算过程中可能会遇到计算误差的积累影响运行结果的情况,需要有较多的编程经验才能加以解决。(3) VB的数据类型。三、 教学环境1、 教材处理教材选自广东省普通高中信息技术选修一:算法与程序设计第四章第一节,本节从古埃及测量金字塔高度故事引入,引出有关测量的话题。通过一道测量不可到达底部的物体的高度的问题,导出了解析算法的基本概念,然后通过计算小球弹跳路程的计算,和电阻计算两个例题,叙述了解析算法应用的两个重要手段:用重复结构对解析式进行计算和通过列出方程(或方程组)然后求解。在此基础上教材安排了两个实践探究活动,进一步提高学生对解析算法的理解。教材经处理后,以学生生活中最熟悉的测量物体、楼房的高度入手,引出有关测量的话题。通过一道测量不可到达底部的物体的高度的问题,导出了解析算法的基本概念,然后通过计算电阻和计算小球弹跳路程的两个例题,叙述了解析算法应用的两个重要手段:通过列出方程(或方程组)然后求解和用重复结构对解析式进行计算。进一步提高学生对解析算法和可以通过多种方法设计程序的理解。教学方法是以实现“教引放收”的教学过程,体现“问题情景式任务驱动”的教学方法。任务驱动强调让学生在密切联系学习、生活和社会实际的有意义的“任务”情景中,通过完成任务来学习知识、获得技能、形成能力、内化伦理。采用任务驱动、讲解、分析归纳、探究、实践操作和学生自主学习相结合的学习方法。2、 预备知识学生已掌握了用计算机解决问题的过程,掌握了VB界面设计的相关内容,掌握了程序设计的基础。3、 硬件要求建议本节课在计算机机房或多媒体电脑教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。4、 所需软件学生机要安装VB6.0或以上版本。5、 所需课时2课时(90分钟)四、 教学过程导入:同学们,我想所有的同学都会测量物体和楼房的垂直高度,但如下的问题会测量吗?4.1.1 用解析法求解问题的基本过程1、测量高度问题的求解问题:4.1:如图41所示,MN是竖直于地面的物体,其底部N不可到达。为了测量MN的高度,在地面上选取一条与MN在同一平面的水平线线段AB为基线,测得AB的长为a=20米,在A点向M点张望的仰角 A38.40,在B点向M点张望的仰角B22.80。试设计程序计算高度MN。图41(1)测量物体高度示意图(1) 分析问题(以下内容由老师正确引导,学生小组协作完成)我们不可能直接求出物体的高度。但我们可以利用所学的知识(三角函数)来完成该工作。在直角三角形ANM中可以得到:tanA0MN/AN即:ANMN/ tan A0在直角三角形BNM中可以得到:tan B0MN/BN即:BNMN/ tan B0所以:ABBNANMN/tan B0MN/tan A0 MN(1/ tan B01/tan A0 )(2) 设计算法 设计输入输出界面,从三个文本框中输入基线长a ,仰角A0用Alpha代替、B0用Bata代替 计算tan A0的倒数(用COTA表示),即COTA1/tan(A03.14159/180); 计算tan B0的倒数(用COTB表示),即COTB1/tan(B03.14159/180); 计算a/(COTBCOTA); 输出结果(3) 编写程序设计窗体如图42图41(2)测量高度问题程序的窗口对象名 属性名 属性值 功能 标签 名称 label1Label2Label3Label4标签的名称 Caption 基线长 a=仰角 =仰角 =被测物体高度=设置标签显示的内容 文本框Enabled Text1 textboxText2 textbox Text3 textbox Text4 textbox文本框的名称text 全部设置成空设置text的值按钮 名称 command1命令按钮的名称 Caption 计算设置命令按钮显示的内容 表41(1)对象属性表参考程序41:Private Sub Command1_Click() a = Val(Text1.Text) Alpha = Val(Text2.Text) bata = Val(Text3.Text) pi = 3.14159265 COTA = 1 / Tan(Alpha * pi / 180) COTB = 1 / Tan(bata * pi / 180) MN = a / (COTB - COTA) Text4.Text = MNEnd Sub(4) 调试程序(运行源程序)图41(3)参考程序41运行的结果(5) 检验结果探究:在本问题里,如果输入的两个仰角相等,或其中一个仰角是900,都会导致程序非正常结束。如果,甚至会使输出的结果是负数!请讨论一下使用者输入数据时比较常见的错误会有哪些?我们在程序中可以怎样防范?2、总结解析法的基本概念通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法。4.1.2用解析法求解问题的实践1、电阻计算问题问题:4-2:在一家工厂作社会调查时,张军了解到他们正在进行一项技术改革,其中有一个环节是改变一个局部电路的电阻以观察对整个器件的影响。这个局部电路由并联的两个分支组成(如图45),其中一个分支的等效电阻是R1,而另一个分支的等效电阻为R2。因为电路特性的需要,必须保持R2R12000。工厂技术人员希望由这两个分支并联的电路的总电阻R分别取为1000、2000100000。这样得多次计算R1和R2的电阻值,而这种计算每次都很麻烦。于是张军就编制了一个程序帮他们解决问题,只要输入总电阻R的值,程序就计算出相应的R1和R2的值。张军因此受到了技术员的称赞。你也能编出这个程序吗?R1 R2图41(4)并联电路示意图(1)分析问题。(老师引导,学生完成)张军是这样想的:根据并联电路电阻的计算公式,1R=IR1十1R2,以R2=R12000代入,即得:1/R=1/R1+1/(R1+2000)以R1为未知量、R为已知量,通过去分母整理可以得到关于R1的方程:R12+(20002*R)*R12000*R=0,解这个关于R1的二次方程即可解决问题。(2)设计算法。(老师引导,学生完成)根据上述的分析,张军写出解决问题的算法如下:输入总电阻R;计算方程R12+(20002R)*R12000*R=0的判别式=(2000-2*R)2+8000*R;如果D0转,否则转;计算出方程R12+(20002*R)*R12000*R=0的根R1=(2*R-2000+sqr(D)2,(R1=(2*R-2000+sqr(D)2肯定是增根,不必计算);把R1和R1+2000在两个文本框内输出,转;输出方程没有解的信息“不可能”;结束。(3)编写程序。用文本框输入总电阻值,用两个文本框分别输出R1和R2的值,用3个标签框对这些文本框作说明。另外设一个命令按钮触发程序执行,如图4-6所示。标签1标签2标签3文本框1文本框3文本框2命令按钮 图41(5)电阻设计问题的窗体设计图对象名 属性名 属性值 功能 标签 名称 label1Label2Label3标签的名称 Caption总电阻R=R1=R2=设置标签显示的内容 文本框EnabledText1 textboxText2 textboxText3 textbox文本框的名称text全部设置成空设置text的值按钮 名称 command1命令按钮的名称 Caption 计算设置命令按钮显示的内容 表41(2)对象属性表先设计好电阻计算问题的窗口,再根据算法写出程序代码:(其中带下划线的部分由学生讨论完成)Private Sub Command1_Click() R = Val(Text1.Text)L = 2000 - 2 * R D = L * L + 4 * 2000 * R If D = 0 Then R1 = (-L + Sqr(D) / 2 Text2.Text = R1 Text3.Text = R1 + 2000 Else Text2.Text = 不可能 Text3.Text = 不可能 End IfEnd Sub(4)调试程序图41(6)电阻计算问题解答示意图(5)检测结果小结:用解析法求解问题,有时需要根据问题列出方程,用解方程的方法得到答案。例如:X5+X3-2*X-9=0就没有现成的求根公式可用,这时就需要用数值逼近的方法求解。新课:(本节第二课时)导入:复习解析法的概念:通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为解析法。2、小球弹跳问题问题:43:小球从10米高处自由下落,每次弹起的高度是下落高度的70%。当小球弹起的高度不足原高度的千分之一时,小球很快就会停止跳动。计算小球在整个弹跳过程中所经历的总程(忽略弹起高度不足原高度千分之一的部分)。(1) 分析问题:(老师详细分析整个运动过程,学生讨论完成带下划线的部分内容)图41(7)小球运动分析图根据上图的第一种分析方法,请思考并归纳规律:_小球每次弹起的距离就是本次下落距离的0.7倍,而每一次下落距离等于上一次弹起的距离即:Ln0.7HnHn+1= Ln其中Hn为第n次下落的距离,Ln为第n次弹起的距离,n=1,2,3,H1=10。计算一直进行到第m次(LmH1/1000而LmH1/1000,把它们都相加,即可求出问题的解:S(H1L1)(H2L2)(H3L3)(HmLm)(2)设计算法输入小球开始高度Home;累加器:ssaa是一些变动着的数据,在a每次变动之动都执行一次此语句,那么所有由a取过的值都会加在变量S上,所以这里的S被称为累加器。特点:(1)有一个变量在赋值号两边都出现,这个变量就是累加器。(2)这个语句要反复执行才能起到累加器的作用,所以通常是放在循环语句中(3)按问题的不同设计变量a的解析表达式,是解决问题的关键所在HHome;S0;令L0.7*H; SSHL;(讲解累加器) HL;如果LHome/1000则返回,否则下一步;输出S的值;结束。(2) 编写程序(给出部分程序,让学生补充完整)Private Sub Command3_Click() Dim home As Single Dim H As Single, s As Single, l As Single home = Val(InputBox(请输入小球的开始高度(米):, , 10) H = home s = 0 Do l=0.7*H s=s+h+l h=l Loop While _l=Home/1000_ Print 小球移动的总路程是:; s; 米End Sub(运行源程序)第二种分析方法(1)分析问题注意到:第一次下落是10米第一次弹起和第二次下落的距离都是第一次下落的:_0.7倍_第二次弹起和第三次下落的距离都是第一次下落的:_0.7*0.7倍_第三次弹起和第四次下落的距离都是第一次下落的:_0.7*0.7*0.7倍_第i次弹起是第一次下落的:_0.7i倍_当第i次弹起的高度不足原高度的千分之一时,即0.7i1/1000时,把它们都相加,即可求出问题的解S=S+2 * H * 0.7 I (2)设计算法输入小球开始高度Home;_s=h_i=0_ i = i + 1 s= s + 2 * H * 0.7 i 如果0.7 i = 1 / 1000则返回,否则退出到S=SH * 0.7 i输出s的值结束(3)编写程序Private Sub Command1_Click() Dim home As Single Dim H As Single, s As Single home = Val(InputBox(请输入小球的开始高度(米):, , 10) H = home _s=h_ _i=0_ Do _i = i + 1 _ _s = s + 2 * H * 0.7 i _ Loop While 0.7 i = 1 / 1000 _ S=SH * 0.7 i Print 小球移动的总路程是:; S; 米End Sub(运行源程序)(4)调试程序(略)方法归纳:用解析法求解问题,并非只是象计算物体高度和电阻这样一个解析式就可以完事,很多时候还要根据问题给出的条件,运用归纳、演绎等逻辑方法,揭示问题各要素之间的关系,寻找表示这种关系的表达式,有时需要计算的解析式是一组而不仅仅是一条,需要使用合适的结构设计算法和编制程序,求得问题的答案。图41(8)小球程序运行结果图(5)检查结果(略)小结:用解析法求解问题,许多时候并非只是计算一个解析式就可以完事,还要根据问题给出的已知条件,运用归纳、演绎等逻辑方法,揭示问题各要素之间的关系,寻找表示这种关系的表达式,有时需要计算一组解析式,需要使用合适的结构设计算法和编制程序,求得问题的答案。1359992461000学生实践与讨论(1)计算下面表达式的值试用三种运算方法计算此式的值,并上机调试,讨论三种方法算出来的结果为什么不同?第一方法:先求分子和分母的乘积,再用分子除以分母。Private Sub Command3_Click() s = 1 v = 1 For i = 1 To 999 Step 2_ _s=s*i_ _v=v*(i+1)_ Next i ss = s / v Text1.Text = ssEnd Sub 结果分析:分子分S和分母V的结果均超出了取值范围第二方法:12468101000357999Private Sub Command2_Click()m = 1n = 2s = 1Do_s=s/n_n=n+2_Loop Until n = 1000Dom=m+2 _s=s*m _Loop Until m = 999Text1.Text = sEnd Sub结果分析:结果为零,因为做完第一次循环后S的结果已经很小无限趋近零了第三方法:1234569991000Private Sub Command4_Click() s = 1 For i = 1 To 999 Step _2_ _s=s*i/(i+1)_ Next i Text1.Text = sEnd Sub调试运行可以得出正确答案。(2)设计通用倒计时程序要求:输入目标日期,就可以算出目标日期离当天有多少天。分析问题:VB提供“日期型(Date)”的数据类型,日期型数据表示方法和运算方法如下:在一对“”符号之间填入通常可以认为日期和时间的字符。如Jannuary 1,2000# 1 Jan 2000# 01/01/2000# 2000-1-1#注:在文本框输入日期时,不用输“”日期型数据也可进行运算,方式有以下几种两个日期相减,得到两个日期相隔的天数2007-6-7#2005-5-23#2007-6-7#Date (该函数表示当天的日期)一个日期型数据加(减)一个表示天数的整数,其结果是该整数值之后(之前)的日期。2005-5-23#80(80)结果分别:2005-8-11#2005-3-4算法设计: 设计输入输出界面,在上面两个文本输入起始日期和目标日期,在下面的文本和标签输出两者还有多少天。aa表示起始日期,dd表示目标日期。图41(9)两个日期之间相差多少天的窗体设计图标签 计算相距日期:比如想了解现在离07年高考还有多少天?可用ss表示相距天数,依据上面分析,可得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 我的成长轨迹写人作文(5篇)
- 胰腺疾病考试试题及答案
- 六一助教活动方案
- 六一实践活动方案
- 六一水果活动方案
- 六一活动做游戏活动方案
- 六一活动双减活动方案
- 六一活动拉拉队活动方案
- 六一活动蛋糕房活动方案
- 六一活动集合活动方案
- 江西师范大学师范类教育心理学期末考试答案
- 生态系统对全球变化的响应
- 2023版中国近现代史纲要课件:09第九专题 新民主主义革命伟大胜利
- 小区燃气壁挂炉采购及安装合同
- 危货运输危险源识别清单
- 国际结算(中文)
- GB/T 3098.1-2010紧固件机械性能螺栓、螺钉和螺柱
- GB/T 16631-2008高效液相色谱法通则
- 性能验证医学宣教课件
- 中国现代文学三十年(第二编-第二个十年1928-1937-年-6-月)
- 配电室上墙的十项制度(一)
评论
0/150
提交评论