《信息科技教案算法和算法的描述.doc》由会员分享,可在线阅读,更多相关《信息科技教案算法和算法的描述.doc(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一节 算法和算法的描述教学目标: 认知目标: 算法和程序设计的基本概念及其特点 描述算法的几种常用方法 用流程图描述算法 能力目标: 掌握用流程图描述算法的基本技能 了解结构化程序设计的基本思想 培养自主学习的能力 情感目标:通过合作讨论等探究式学习方式,激发学生的求知欲和对信息科技学习的热情 ,通过利用利用计算机来解决现实中的实际问题,从而培养学生对信息科技的学习兴趣和热爱科学的精神。教学重点与难点: 重点:算法的基本概念 用流程图描述算法 难点: 算法的实现 教学过程:一、引言: 作为一种现代化的信息处理工具,计算机正在各个领域被人们广泛地使用。对于绝大多数人来说,使用计算机就是使用现成
2、的软件,去解决所遇到的各种信息处理问题。前面各章中所使用的Windows操作系统、多媒体制作软件、网页制作工具、数据库管理系统、办公自动化软件等,都是人们为了让计算机完成特定的功能而编制的软件。这些软件都是由结构复杂而功能强大的程序实现的。 另外,我们也常常会遇到现成软件解决不了或很难解决的问题。这种情况下,只有自己设计程序,才能让计算机按实际问题要求完成任务。本章主要学习关于程序、程序设计的基本概念和用程序解决问题的基本方法。二、算法和算法的描述(一)对算法的初步了解首先,请大家思考并讨论这样一个有趣的问题:有一桶水,一个5毫升的量杯和一个3毫升的量杯,杯上没有刻度,如何利用这两个量杯量出4
3、升的水?方法一:1 用5毫升的杯子装满水,倒入3毫升的杯子。这样,大杯子里剩余2毫升水。2 将小杯子里的水倒掉,将大杯子里剩余的2毫升倒入小杯子。3 用大杯子盛满水,再用大杯子的水将小杯子倒满。这样,大杯子里剩下的便是4毫升的水。方法二:1 小杯子盛满水倒入大杯子,再用小杯子盛满水,将大杯子正好倒满,这样小杯子正好剩下1毫升水。2 大杯子的水倒掉,小杯子的1毫升水倒入大杯子。3 用小杯子盛满水,倒入大杯子。这样,大杯子里便装了4毫升的水。这种为解决某一问题而设计的确定的有限的步骤就称为算法。当然这是一个极简单的问题,算法中只有几个步骤。实际要处理的问题可能要复杂得多,相应的算法可能需要几十个甚
4、至几百个步骤才能完成。二算法的描述要用计算机解决实际问题,在对问题进行分析后,就要针对问题设计解决该问题的算法。设计算法就是要把解决问题的步骤清晰地表达出来。有多种方法可以表达算法。1用自然语言表达用自然语言表达算法,就是把算法的各个步骤,依次用人们所熟悉的自然语言表示出来。如上述的算法,就是用自然语言表达的。用自然语言表达算法,比较容易理解,但书写起来较烦琐,而且在某些场合,由于自然语言含义的不确定性,容易引起异议,造成误解。对较复杂的问题,用自然语言难以表达准确。因此,较少采用自然语言来表达算法。2用图形符号表达用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。表给出了较常用的“
5、流程图”所用的基本符号。图形符号符号名称说明流线起始、终止框表示算法的开始或结束起始框:一流入线终止框:一流出线输入、输出框框中标明输入、输出内容只有一流入线和一流出线处理框框中标明进行什么处理只有一流入线和一流出线判断框框中标明判定条件并在框外标明判定后2种结果的流向一流入线和两流出线(T和F)但同时只能一流出线起作用流线表示从某一框到另一框的流向连接圈表示算法流向出口或入口连接点一条流线例如求物体在恒力作用下的加速度,用流程图表示如下:显然,用流程图表达算法比较直观、形象。3用程序实现算法用自然语言和用图形符号所表达的算法有个共同的缺点就是不能被计算机直接识别和执行。只有用计算机能理解和执
6、行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。当然,不同类型的计算机能够识别的指令和语言不尽相同,即使,对同一种计算机语言,不同类型的计算机对该语言的解释程序也有差异。因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。例如,用baisic语言表示求物体在恒力作用下的程序如下:INPUT M,F1,F2a=(F1-F2)/MPRINT a本书使用较常见的语句所组成的“伪代码”作为教学语言来表示算法。具体的语句在后续各节中予以介绍。在上机操作时,还应按具体所使用的语言的规定做适当的修改。三用计算机解决问题的一般过程使用计
7、算机解决一个问题,一般包括四个过程。1需求分析我们在学习数学或物理时,要解决一个应用题,必须仔细分析题意,弄清楚题目的要求后,才能正确地解题。同样,要用计算机解决实际问题,必须先进行“需求分析”。所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说“需求分析”就是确定要计算机“做什么”。2设计算法弄清楚要计算机“做什么”后,就要设计算法,明确要计算机“怎么做”。在日常生活中,人们解决问题时也要考虑好如何一步步去解决问题。并且,一旦遇到意外情况,人脑会根据实际情况去调整或修正原来解决问题的步骤。要计算解决实际问题也必须
8、设计好解决问题的算法,并对可能遇到的意外情况为计算机设计好处理的办法。解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是说,解决一个问题的算法可能不止一种。这时,应该通过分析、比较,挑选一种最优的算法。3编写程序计算机只能接受并执行用计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写成程序。这个过程称为“编码”或“编程”。4上机调试与维护编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能的错误,才能得到结果。这个过程称为“上机调试”。即使是经过调试的程序,在使用一段时间后,仍然会被发现
9、尚有错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧重。例如,简单问题的需求本身就很清楚,那就不需做过多的需求分析。教学后记:同学们是第一次接触算法的概念,原本我在一个班级选择了交换变量的例题,因学生对于变量的概念还不是很清楚,理解题目有一定难度,影响了教学效果。因此考虑选择一个有趣的例子,让同学们在思考讨论解决方法的同时不知不觉的理解了算法的含义。所以,一定要根据学生的实际情况来设计教学。第二节 程序设计语言简介教学目标: 认知目标: 了解三类计算机程序设计语言及其特点 能力目标: 区分三类程序设计语言
10、的优缺点 培养自主学习的能力 情感目标:通过计算机程序设计语言的发展介绍,以及各自优缺点的总结,提高学生学习程序设计的自信心以及学习兴趣。教学重点与难点: 重点:三类程序设计语言的特点 难点: 各类程序设计语言的优缺点 教学过程:任何一个用计算机解决问题的算法,最终都必须用计算机能理解和执行的程序设计语言表示出来。把程序输入计算机并执行,计算机才能按照预定的算法去解决问题。常用的程序设计语言有三类:一机器语言由于电子计算机的内存储器的基本结构是电子开关,而一个电子开关的稳定状态只有两种,那么对这两种状态最简单的编码方法就是分别用1和0表示。因此,计算机内所有的数据、指令、地址等都是用二进制数编
11、码的。所谓“机器语言是指一台计算机的全部指令的集合。用机器语言编写的程序,称为机器语言程序。显然,机器语言程序是计算机能直接识别和执行的程序。如:1011011000000000:在某一类型计算机中,它的作用是让计算机做一次加法;1011010100000000:在某一类型计算机中,它的作用是让计算机做一次减法。从上面的代码可以看出,用机器语言编写程序是一件十分繁琐的工作,必须要记住各种代码的含义,非常容易出错,直观性差,而且不同类型的计算机有不同的机器指令系统,通用性差。二汇编语言为了解决用机器语言编写程序的困难,人们采用易于记忆的“指令符号”代替冗长的机器指令代码。这种用来编制程序的指令符
12、号及其使用规则,就形成了另一种计算机语言,称为“汇编语言”或“符号汇编语言”。如:ADD 1,2 其中ADD(英文加法一词的缩写)是加法的符号指令。可见,这比机器指令代码要容易记忆。用汇编语言编制的程序称为汇编语言程序。计算机只能直接执行机器语言程序,而不能直接识别和执行汇编语言程序。因此,为了使计算机能够识别和执行,必须把汇编语言程序(称为源程序)“翻译”成计算机能够执行的机器语言程序(称为目标程序)。由于不同类型的计算机有不同的指令系统,所以用汇编语言编制的程序,仍然只适用于某一类计算机,通用性差。三高级语言为了从根本上解决通用性差的问题,需要创造出一种与具体计算机的指令系统无关的计算机语
13、言,这就是20世纪50年代发展起来的“高级程序设计语言”,简称“高级语言”。高级语言是由表达各种意义的词和数学表达式按照一定的规则组合而成,和人类的语言和数学语言很相似,这就是所谓“高级”的含义。如:Ml=M, S1=SF=F1 T1=TFF=F2 A=2*S1/T/TA=(F-FF)/M Print A目前,国内外使用的高级语言种类很多,比较常用的有:Pascal、C、C+、 VB、Delphi、VC等。当然,计算机也不能直接识别用高级语言编制的程序。因此为了使计算机能够识别和执行,必须把高级语言程序(源程序)“翻译”成计算机能直接识别、执行的机器语言程序(目标程序)。翻译的方式有两种:编译
14、和解释。所谓编译就是当源程序全部输入完后,全部翻译成目标程序,再加以执行。所谓解释就是当源程序输入后,程序中的指令逐条翻译执行。具体过程如图所示:编译方式执行程序解释方式执行程序使用计算机高级语言编写程序的优点是使用方便并且适用于各种不同的计算机,当然不同的高级语言所使用的语句、语法和编写格式是不同的。总结:三类程序设计语言的比较:计算机语言执行情况通用性运行速度机器语言能被计算机直接识别和执行差快汇编语言不能被计算机直接识别和执行差快高级语言不能被计算机直接识别和执行强慢教学后记:这节内容比较枯燥,主要是理论性知识讲述。书本上的内容比较多,因此通过幻灯片,将重点内容提炼出来,通过广播教学演示
15、给学生,并通过列图表的方式将三类程序设计语言作进一步的比较,突出重点难点。第三节 程序设计方法简介教学目标: 认知目标: 算法的三种基本结构 结构化程序设计思想 面向对象和面向过程的程序设计方法的区别 能力目标: 能用三种基本结构来表达简单问题的算法 理解结构化程序设计思想 情感目标:通过任务驱动模式,让学生在利用计算机解决实际问题的过程中,激发学生学习信息科技课程的积极性,体验利用计算机成功解决问题的成就感。教学重点与难点: 重点:算法的三种基本结构流程图画法 难点: 读懂循环结构流程图教学过程:早期由于计算机硬件设备价格昂贵,内存小,运算速度低,因而要求程序运行时占用内存尽可能少、运行时间
16、尽可能短。为了达到这一目的,必须在编程技巧上大做文章。以致于编写出的程序难懂,也难以维护。那时候,程序设计方式是手工式的,每个人都可以采取自己认为好的技巧,根据自己的风格来设计程序,没有统一的规范。随着信息技术的发展,计算机硬件设备逐渐改善,早期程序设计时所追求的“运行时间短、节省内存”的要求已不是主要矛盾了,开始把程序“具有良好的结构、容易阅读、理解和维护”作为程序质量的首要条件。幻灯片演示结构化程序设计方法的内容:一般认为,算法有三种基本结构:顺序结构、分支结构、循环结构。理论已证明任何算法都可以用这三种结构及其嵌套来表示。二算法的三种基本结构1顺序结构幻灯片演示:2分支结构(又称为选择结
17、构)幻灯片演示:3循环结构(又称为重复结构)幻灯片演示:三面向过程个面向对象的程序设计早期程序设计的基本思想是通过一系列程序语句来处理数据。对程序设计者来说,他往往围绕着过程来考虑对数据的操作。程序开始执行后,输入必要的原始数据,调用一定的过程来执行对数据的操作,操作结束后输出所得到的处理结果,输出结果后,结束程序的运行。这种程序设计的思想被称为是“面向过程的程序设计”。它的主要特点是由过程来控制数据,过程和数据是分离的。20世纪80年代,出现了一种新颖的编程思想,这就是“面向对象的程序设计” (Object-Oriented Programming)。面向对象的程序设计把我们所处的世界看成是
18、由一组彼此相关并互通信息的实体(即对象)组成的。对象具有属性(Properties),也可以进行操作,即对象具有方法(Methods)。对象之间通过消息(Message)进行通信。对象发出消息,消息又驱动其他对象进行操作,而这些操作又使某些对象的属性发生变化,从而完成某任务。面向对象的程序设计就是通过对象之间的消息通信,驱动对象执行一系列操作,从而完成某一任务的程序设计。在面向对象的程序设计中,对象将数据和过程合为一体,数据表示了对象的属性或特征,过程则是对象用于响应消息的某种操作。目前常用的许多程序设计语言,如Borland C+、Visual C+、Visual Basic、 Delphi
19、等都是面向对象的程序设计语言。教学后记:在这一节课里要完全讲清楚三种基本结构是不可能的,本节课的主要目的是让学生初步了解三种基本结构的流程图画法,并介绍一些预备知识。顺序结构比较简单,涉及到的相关知识点可以全部介绍。后面关于顺序结构的专题重点就放在算法流程图和上机操作上了。分支结构主要要讲清楚判断框和分支结构的区别以及判断框内的表达式。对于循环结构,主要讲清楚当循环和直到循环的区别,例题可以考虑不讲,在后面的专题讲授里再详细介绍循环结构的应用。用顺序结构解决简单问题教学目标: 认知目标: 顺序结构的算法流程图 表达式的书写规定 VB界面介绍以及基本的知识点 能力目标: 能用顺序结构解决简单问题
20、 正确画出顺序结构的算法流程图 能将算法转换为VB代码 情感目标: 通过上机操作,提高学生学习积极性 通过上机操作,体验利用计算机解决问题的一般步骤。 培养学生良好的编程习惯教学重点与难点: 重点:顺序结构的算法流程图 难点: 用VB代码实现算法教学过程:许多问题的解决只需按一定的次序执行一系列操作,不需要任何判断和重复,这样的问题可以用顺序结构的程序来解决。例6.4-1为了用火箭把人造卫星送上天空,火箭的末速度至少要达到7.8千米/秒,如果火箭燃料能维持推力90秒钟(为简化问题,假定推力均匀),计算火箭上升时的加速度和火箭能达到的高度。分析:在简化问题的假设下,可以把火箭的运动看成是初速度为
21、0的匀加速运动。根据题意,在90秒钟内,必须将速度加速到规定的7.8千米秒。根据公式:vt=Vo+a*tVt2-V02=2*a*s可以计算出加速度a和上升的高度s。(1)流程图(2)程序代码 vt=7800 t=90 a=vt/t S=(vt*vt-v0*v0)/2/a Print “加速度是”;a Print ”升空高度是”;s在程序中有两个最基本的语句:赋值语句和输出语句。赋值语句把等号右边的常数或表达式的值赋给等号左边的变量。变量赋值后,可以在后面的程序中使用该变量。在程序书写时还要注意表达式的书写规定。如算术运算符是+,*,/,sqr()。程序运行的结果要通过输出语句才能在屏幕上显示出
22、来。在输出语句Print中,用双引号括起来的字符串,表示按原样输出;输出语句中的变量或表达式,则输出它的值。例6.4-2求解二元一次方程组:分析:对具体数字作为方程系数的二元一次方程组,常常根据系数的情况,用消元法将二元一次方程化为一元一次方程,哭很方便地求出方程组的解。用计算机程序来解决二元一次方程组的求解问题,它的优越性在于任意输入的二元一次方程组的系数,即求出方程组的解。(1) 流程图(2) 程序代码input a1 input b1 input c1 input a2 input b2 input c2 y = (a2 * c1 - a1 * c2) / (a1 * b2 - a2 *
23、 b1)x = (-c1 - b1 * y) / a1Print x=; xPrint y=; y程序代码中input表示从键盘输入一个值,赋给语句中的变量。由于输入操作常常与所使用的高级语言的具体规定有关,所以具体实现时要根据使用的高级语言的具体规定来操作。上机操作部分:一、介绍VB操作环境:菜单栏、工具箱、属性框、工程资源管理器、窗体、常用控件等。二、介绍如何利用VB实现算法:1界面设计:控件的添加方法以及控件属性的修改2代码编写:代码窗口的打开、触发事件的选择以及VB代码的书写格式。3代码编写一般规则:输入语句的实现:用文本框控件(变量名=val(TEXT1.TEXT));输出语句的实现
24、:用标签控件(LABEL1.CAPTION=变量名);算法代码主要编写在COMMAND控件的CLICK事件里。三、举例说明:以火箭上升为例,让同学们看投影屏幕的操作,照葫芦画瓢,完成例一。四、学生上机:将例二的界面通过大屏幕演示,让学生自己添加控件、编写代码并调试。作业上传到网上自己的文件夹内。教学后记:同学们终于开始上机操作了,他们的学习积极性有了极大的提高。由于我们的教学重点在于算法流程图,对于VB,我们只要求学生会用VB实现算法,因此只作简单介绍。实际上VB的功能很强大,仅用来实现简单算法确实有些大材小用。如果学生有兴趣也有能力的话,可以作适当辅导,提高他们的兴趣和编程能力。对于课堂教学
25、来说,一定要在一开始就强调利用VB实现算法的一般规则,让他们养成良好的编程习惯,避免走弯路。另外,再上机练习时,学生在设计界面上要花很长时间,而设计界面又不是我们教学的重点,因此,考虑以后将设计好界面的半成品发送给学生,让他们将重点放在代码的编写上。用分支结构解决简单问题教学目标: 认知目标: 分支结构的流程图画法 分支结构与判断框的区别 判断条件的表示:关系运算和逻辑运算 能力目标: 会用分支结构解决简单问题 正确画出分支结构的算法流程图 正确合理的表示判断条件 提高编程能力 情感目标:通过任务驱动模式,培养学生学习的主动性和探究性;通过分组讨论合作学习,培养学生良好的合作学习习惯;通过上机
26、验证调试程序,培养学生严谨的思维习惯和科学的学习态度。教学重点与难点: 重点:分支结构的算法流程图IF THEN ELSE ENDIF语句的格式利用分支结构解决典型问题:如分段函数、字符判断、比较大小等问题 难点: 多重分支结构的流程图教学过程:一、复习上节课内容(顺序结构)幻灯片演示,请同学回答问题:重点在于巩固变量和赋值语句。二、分支结构问题的求解过程都包含着判断与决策。即,在某种条件成立时执行种操作,否则,执行另种操作。分支结构是算法中广泛使用的一种结构。显然,任何一种分支结构都包含着对条件的判断以及根据条件是否成立选择执行相应的操作。分支结构也常称为选择结构。幻灯片演示:分支结构与判断
27、框的区别:分支结构有一个入口,一个出口;判断框有一个入口两个出口。IF语句的一般格式是: IF THEN ELSE END IF如果在条件不成立时,不需执行任何语句,上述格式可变形为: IF THEN END IF幻灯片演示:学生活动:根据老师演示的程序运行的效果,将传下来的设计好界面的程序文件打开来,填写代码完成上机操作。程序调试正确后上传到网上自己的文件夹内。老师指导:字符型数据两边应当用英文状态下的双引号括起来。字符型常量英文大小写有区别。注意设定的密码是字符型数据,因此输入语句应该是x=text1.text,而不是原来强调的x=val(text1.text)。学生活动:根据老师演示的程
28、序运行的效果,将传下来的设计好界面的程序文件打开来,填写代码完成上机操作。程序调试正确后上传到网上自己的文件夹内。老师指导:注意算术运算符的正确写法,不能用数学写惯来书写表达式。学生活动:根据老师演示的程序运行的效果,将传下来的设计好界面的程序文件打开来,填写代码完成上机操作。程序调试正确后上传到网上自己的文件夹内。老师指导:分支语句的一条分支可以是空语句。如果执行语句也只有一条的话,可以写成:if 条件 then 执行语句,end if 可以省略不写。执行语句有多条的话可以写成:if 条件 then 执行语句组end if此时end if不可以省略。学生活动:根据老师演示的程序运行的效果,将
29、传下来的设计好界面的程序文件打开来,填写代码完成上机操作。程序调试正确后上传到网上自己的文件夹内。老师指导:判断框内的条件写成不等式连写是错误的。必须写成t=0 and t=”A” AND CH=”a” AND CH=”A” AND CH=”a” AND CH= A And Ch = a And Ch = A And Ch = Z) Then Label1.Caption = Ch Else Label1.Caption = 非英文大写字母 End IfElse Label1.Caption = 非英文字母End IfEnd Sub*我的区级公开课教案生命属于你自己行人交通安全宣传项目活动宜川
30、中学 夏志华教学设计思想:在课堂教学中渗透生命教育,强化行人交通安全意识。通过观看交通安全宣传短片,引起学生对行人自觉遵守交通规则的重视,激发他们的创作热情。在作品的制作过程中,让学生自觉运用所学的知识解决现实生活中与中学生密切相关的问题。学生情况分析:在前一阶段的项目活动弹跳的小球中,学生初步了解了面向对象程序设计中的事件触发机制,熟悉了VB中常用控件的功能和使用方法,掌握了赋值语句、分支语句的一般格式,具备了运用顺序结构和分支结构解决一般问题的能力。教学目标:1知识与技能:VB常用控件的熟练使用(命令按钮、形状、时钟、图像);熟练运用赋值语句修改控件属性,熟练运用if分支语句编写程序;2过
31、程与方法:通过设计行人交通安全宣传作品,体验用计算机解决实际问题的一般过程:需求分析、设计算法、编写程序、上机调试与维护;通过小组合作,取长补短,在参与项目设计的过程中,体会到集体的智慧,自觉提高分析问题、解决问题的能力、与他人协作与交流的能力。3情感与价值观:通过观看交通安全宣传片,让同学们意识到行人自觉遵守交通安全的重要性,激发他们动手制作行人交通安全宣传作品的积极性。通过运用所学知识,小组合作讨论,设计本组的宣传作品,共同解决项目活动过程中不断碰到的实际问题,体验动手动脑的乐趣。在制作作品的过程中,让每个学生自觉强化行人交通安全意识。教学过程:1情景导入:师生共同观看“生命属于你自己”行
32、人交通安全宣传短片(节选),通过真实的画面,让每个同学都意识到自觉遵守行人交通安全法规的重要性。教师介绍本节课的项目活动:请每个小组运用所学的程序设计知识,利用VB设计一个行人交通安全宣传作品,在作品中能反映1-2个行人交通安全法规。2项目活动的开展阶段一:作品构思学生活动:小组成员根据本节课项目活动主题,共同协商讨论,构思本组作品表现形式。教师活动:参与个别小组的项目设计讨论阶段二:作品的制作学生活动:(1)根据作品构思,进行需求分析,小组成员讨论并确定所需控件,由一名学生动手操作,搭建作品界面。(2)根据作品构思,运用所学程序设计知识,通过小组成员的讨论确立算法,编写程序,在调试的过程中,
33、通过商量共同解决不断出现的问题。教师活动:根据各个小组的项目活动开展情况,灵活机动的参与一些小组的活动,观察并协调各小组成员的参与程度,共同商讨解决问题的算法,适时地给予正确的引导。3项目阶段性成果展示学生活动:邻近的小组与小组之间互相展示作品,互相鼓励、互提建议。教师活动:根据学生作品的实际制作情况,挑选2-3个小组的作品展示给全班同学,鼓励同学们发表对展示作品的意见和建议。4项目评价:学生活动:填写项目活动记录单,见附表一。教师活动:总结本节课上项目活动开展的总体情况,例如各小组碰到的共同问题,表扬有突出表现的小组。附表一:学生项目活动记录单项目名称生命属于你自己小组成员名单作品构思算法描
34、述碰到的问题解决的办法组员参与情况活动感悟注:在“组员参与情况”一栏,写明小组各成员分工情况,每位组员实际发挥的作用,如具体解决了哪些问题等)用循环结构解决简单问题教学目标: 认知目标: 循环结构的算法流程图 当循环与直到循环的区别 累加问题算法设计的一般规则 能力目标: 能用循环结构解决数据的累加、累乘问题 能区别当循环与直到循环并能进行当循环与直到循环的转换 情感目标:通过循环结构的程序解决一些数据的累加问题,让同学们体会到计算机在做重复操作上的优势。通过循环结构的程序设计,进一步培养同学们的逻辑思维能力和利用计算机帮人类解决实际问题的思维习惯。教学重点与难点: 重点:循环结构的算法流程图
35、当循环与直到循环的区别及相互转换 难点: 循环问题的算法设计教学过程:主要从以下几方面来介绍循环结构:一、当循环结构二、直到循环结构三、当循环与直到循环的相互转换四、计数循环五、循环结构的应用举例循环结构的引入:(幻灯片演示)在处理许多实际问题时还会有重复执行某种操作的情况。大量的重复运算,正好可以发挥计算机高速、准确的运算特点。复习在第三节中介绍的循环结构有关内容:(幻灯片演示)循环结构应用举例(介绍数据累加问题的一般设计原则):(幻灯片演示)图中的流程图是当循环结构的流程图,下面就介绍当循环语句:当循环VB代码的格式和功能格式:Do While Loop功能:先测试循环条件,当循环条件为T
36、时执行循环体的语句组,直至条件改变为F时终止循环;说明:当型循环的循环次数最少可能为0次。循环体中若执行到Exit Do语句即终止循环。上例对应的程序代码如下:n=0s=0do while n10n=n+1s=s+1/nloopprint s学生活动:(1)将设计好界面的“求数列累加和1”下载到本机上,完成代码编写(2)将设计好界面的“求数列累加和2”(实际上是前面提到的思考题)下载到本机并完成代码编写。以上两题完成后,上传到网上自己的文件夹内。教师指导:本例只是计算并输出结果,故没有输入语句;所有代码都写在计算command控件的click事件里;不要忘记给变量n和s赋初值;注意循环体中的两
37、条语句先后顺序不能颠倒(请同学们自己看颠倒后的运行结果如何?思考原因)输出语句转换为label1.caption=s教学后记:累加问题是循环结构应用的一个重要方面,要求学生必须掌握。教学中应重点分析计数器和累加器的使用,可以将每次循环的结果列出,通过计数器和累加器的数值变化,让学生体验计数器和累加器的作用。虽然课堂上介绍的两个例题都是计数循环,但为了便于学生理解,我们将当循环结构的流程图用当循环语句表示程序代码。For-NEXT语句放在后面作为专题来讲。*当循环与直到循环的转换:(幻灯片演示) 介绍直到循环结构流程图,与当循环结构流程图对比,请同学思考并回答二者的区别 请同学思考,将上节课的例
38、题中的当循环结构改为直到循环结构 介绍当循环与直到循环转换的一般原则a) 循环体与判定框先后位置调换b) 循环条件取反c) T线与F线调换 直到循环代码格式和功能格式:DoLoop Until 功能:先执行循环体的语句组,执行到Loop语句组时测试循环终止条件,当循环条件为F时继续执行循环体语句组,直至循环条件改变为T时终止循环;学生活动:计算s=1+1/2+1/3+1/10的累加和,用直到循环算法在VB环境下实现伪代码:n=0:s=0DO n=n+1 s=s+1/nloop until n=10print s 举例说明用直到循环解决实际问题的方法,求s=12+22+32+n2,直到s=108
39、,重点在于确定程序中的循环条件和循环体。将界面设计提供给学生,让学生完成代码编写。分析题意: 本题为循环次数不定的累加和求解问题,循环终止条件不能根据计数器n来设定,而是由累加器s的值来确定,将s=108作为循环终止条件。输出量为计数器n。数列累加和程序设计一般原则: 循环次数的统计由计数器来完成 n=0 (初值)n=n+1 (循环一次计数器变量n增加1) 求n项的累加和由累加器来完成s=0(初值)s=s+x (循环一次累加变量s增加x ) 每次的累加项x在本例中应该是n2教学后记:应加强流程图的教学,教学重点放在当循环与直到循环流程图的相互转换上。*For-Next语句实现循环结构预先能确定
40、重复次数的循环问题可以使用For-Next来实现。以下是我的校级公开课教案,非常详细奥!Fornext循环结构教学设计宜川中学 夏志华【教材分析】:fornext循环选至高中信息科技教材第六章程序设计基础第四节循环结构。循环结构是最为常用的语法结构之一,也是三大基本结构中难度最大的一个;不仅是本章的重点与难点,也是全书的重点之一。循环语句有多种,如当循环语句do whileloop,直到循环语句doloop until,而for语句是循环语句中最简单的,但只适合用于解决循环次数确定的问题。因此我将for语句放在循环结构程序设计的最后来介绍,通过多个简单有趣的实例,让学生巩固所学的循环算法设计思
41、想精髓。【学情分析】:在学习本课之前,学生已熟悉VB程序的编程环境与运行方法,了解了三种基本结构的执行流程,具备一定的算法基础和归纳总结能力。本课重在巩固循环结构的基本思想,提炼for语句的基本结构,旨在培养学生根据需要采用循环结构解决实际问题的能力。【教学目标】:知识与技能:巩固循环结构的基本思想;掌握fornext语句的基本结构;理解fornext语句的执行过程;尝试采用循环结构编写简单的程序,解决实际问题。过程与方法:经历分析、实践、讲解、探究、归纳,通过循序渐进、层层深入,逐步深化对循环思想和执行过程的理解。情感态度与价值观:通过一个个任务的实战演练,感知使用循环结构解决问题的便捷和优越,培养学生运用循环思想解决实际问题的能力,进一步激发学生学习编程的兴趣。通过在实际的问题中分析提炼循环结构,从程序设计领域进一步提升学生的信息素养。【教学重点、难点】: 重点:掌握fornext语句的基本结构;理解fornext语句的执行过程难点:循环结构中嵌套分支结构【