算法与程序设计教案.doc

上传人:牧羊曲112 文档编号:4547555 上传时间:2023-04-27 格式:DOC 页数:38 大小:1.69MB
返回 下载 相关 举报
算法与程序设计教案.doc_第1页
第1页 / 共38页
算法与程序设计教案.doc_第2页
第2页 / 共38页
算法与程序设计教案.doc_第3页
第3页 / 共38页
算法与程序设计教案.doc_第4页
第4页 / 共38页
算法与程序设计教案.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《算法与程序设计教案.doc》由会员分享,可在线阅读,更多相关《算法与程序设计教案.doc(38页珍藏版)》请在三一办公上搜索。

1、算法与程序设计教案第一节 算法与程序设计思想【课标要求】(一) 利用计算机解决问题的基本过程1、 结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。2、 经历用自然语言、流程图或伪代码等方法描述算法的过程。3、 了解程序设计语言、编辑程序、编译程序、连接程序以及程序开发环境等基本知识。【学情分析】高二的学生已具备了一定的观察、思考、分析和解决问题能力,在必修部分对“计算机解决实际问题的基本过程”已有所体验和了解。因此,对如何将解决问题的思路画成流程图有了一定的基础,但可能还不熟练,尤其对刚学过的循环结构,在课堂上要注意引导。【学情分析

2、】1、 知识与技能:建立求一批数中最大值的算法设计思想,并将算法的设计思想用流程图表示出来。2、 过程与方法:利用现实生活中比较身高的活动,以及对武术比赛中“打擂台”流程的逐步梳理,让学生学会从此类生活实际中提炼出最大值的思想方法,既算法思想。培养学生分析问题、解决问题的能力,让学生学会在面对问题时,能梳理出解决问题的清晰思路,进而设计出解决某个特定问题的有限步骤,从而理解计算机是如何解决、处理某种问题的。3、 情感态度与价值观:让学生全身心的投入到教学活动中,积极与同伴合作交流,进行探索活动。培养学生良好的思维品质,发展他们的创新思维,并养成积极的学习态度和良好的学习习惯。创设情境,以激发学

3、生的学习兴趣,努力营造一个可以接纳的、支持性的、宽容的课堂学习环境,让学生置身与民主和愉悦的课堂氛围中放飞、潜心研究、快乐创造。同时收获到更多的东西合作、分享、成就。【难点重点】1、教学重点:建立一批数据中最大值的算法设计思想,并将此算法设计思想用流程图表示出来。2、教学难点:上述重点问题同样是本课的教学难点,另外,如何把人解决问题的思路、步骤用计算机语言描述出来也是本课的难点之一。【教学思路】利用现实生活中比较一组学生身高这一事件,引导学生去发现求最大值的一种方法。如何设计求一批数据中最大值的算法?我认为让学生自己去经历整个探究过程,要比直接把算法告诉学生有意义得多。它能迅速、有效的的帮助学

4、生建立程序设计思想,在完成这个任务的过程中,教师的循循善诱起到了非常关键的作用。找出一批数据中的最大者,从表面看是个简单的问题。在比较数的过程中,因为动用了眼睛,比较大小的思维过程一闪而过,所以能过很快求出一批数据中的最大值。而计算机和人不同,它对这些数据看不到,摸不着,怎么来完成这一任务呢?其实,计算机解决问题的关键,就是要把人解决问题的思维过程用计算机语言描述出来,即为大脑思维的每一步“拍照”。这是计算机程序设计教学的一个重点,也是一个难点,需要教师在教学过程中逐步引导和训练学生。使学生逐步学会分析问题,寻求解决问题的方法和步骤。本例运用生活中“打擂台”的实例引导学生分析求最大值的方法,通

5、过对这一现象的的分析,逐步引导求出最大值的算法设计思想。【教学过程】1、 情境创设:师(提问):今天在第一组就坐的有12个同学,谁是我们在坐各位中的最高者呢?师(引导):大家思考,通常这个问题我们怎样去完成?教师根据对学生对问题的回答进行分析。引导学生往古时候比武时常用的“打擂台”的方式上想,提示学生可以参考电视上经常播放的“挑战擂主”节目。师生:打擂台的过程可以描述为: (1)、确定擂主(讨论第一个擂主是如何确定的);(2)、挑战者上台;(3)、擂主和挑战者比较;(4)、挑战者胜的话,挑战者做擂主,否则擂主卫冕;(5)、重复执行(2)(4)步骤;只到最后一个挑战者。师:在打擂的过程中,我们看

6、到(2)(4)步骤是要重复执行的,所以我们该怎么办呢?生:需要循环结构来实现。师:这几个步骤序列重复到什么时候结束呢?由学生讨论结束的办法,很显然需要在最后加上一个能判断什么时候结束的判断框。根据讨论的步骤,最后师生共同得出打擂台的算法和流程图如下:开始确定擂主挑战者擂主夺擂挑战者上台最后一个挑战者结束YN2、 求一般情况下的最大值的方法师(引导):如果我们面对的是一堆数据,现在我们希望求出这一堆数据中的最大值该怎么办?通过教师和学生的共同分析,把问题进一步细化为:(1)、从第一个数据开始看起;(2)、把第一个数据在变量中记下来;(3)、再取一个数据;(4)、比较这个数据和变量中记下的数据的值

7、;(5)、如果这个数据的值比记下的数据的值大,去掉变量中原来的数据的值,记下新数据的值;(6)、重复执行(2)(4),继续比较,直到最后一个数据。也就是说,计算机的变量始终记着当前比较过数据中的最大值。(我们不妨用X表示它),当取完最后一个数据时,X中留下的就是最大值。求最大值的算法设计思想用下图表示。I=1XMAXMAX=X输入XI=12结束YN开始输入XMAX=XI=I+1NY注意:(1)再次让学生讨论变量的意义,弄清赋值语句的意义。(2)一些物理量用变量表达的意义。如MAX表示最大值,X表示输入的一个值,且每一次循环时都用同一个变量X。(3)为了控制循环结束,必须加入一个控制循环次数的计

8、数器I,当I达到一定的次数后,循环工作结束。3、 回顾小结:师生共同总结算法设计的过程,就是将大脑思维的每一步都记录下来,并且用计算机能达到的功能来实现人解决问题的思路。第二节 赋值语句【课标要求】(一)计算机解决问题的基本过程(1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程。(二)程序设计语言实现顺序结构。【教学目标】知识目标:使学生初步认识赋值语句,掌握赋值号的含义和功能。技能目标:能够运用赋值语句进行简单代码的编写,体验代码编写的过程。情感目标:激发学生学习兴趣,培养学生分析问题的能力,增强逻辑思维能力。【教学方法】目标驱动法,游戏教学法【重点难点】重点:控制

9、键工作原理及代码编写难点:按钮的代码编写【教学过程】教师活动学生活动教学意图一、课题引入(5分钟)本节课的一开始,轻松一点,请一个学生上讲台操作一个拼图游戏。(屏幕广播)通过小游戏回顾类似于vb这种可视化程序设计语言处理问题的一般步骤:(引导学生说出步骤)界面设计属性修改代码编写保存工程运行调试我们已经完成好了前两个步骤,来看看大家完成的情况:(演示一个学生的作品)作品1一学生操作拼图游戏学生回忆并说出步骤观看学生作品利用拼图游戏调动学生探究的积极性。从游戏中回顾旧知识,为本课学习作好准备。强化步骤,培养学生有条理的逻辑思维能力。在欣赏中加以评价,激发学生学习热情。二、赋值语句该学生的游戏界面

10、已完成,点击按钮,没有用处,则引出代码编写。问题引导编写代码:做了什么动作,才使得文字出现?-点击“游戏规则”按钮那应该对哪个控件编写程序代码?-“游戏规则”按钮 如何进入按钮的代码编写窗口?-双击“游戏规则”按钮进入代码编辑窗口后:(强调在光标闪烁的地方添加代码,对对象的click单击事件编程)点击按钮,出现文字,那么文字出现说明什么控件的什么属性发生了变化?-label1的caption属性发生了变化label1的caption属性如何表示?(板书提示控件名.属性-label1.caption,点击几个控件,说出控件名)请该学生上讲台完成代码:label1.Caption = 点击按钮,完

11、成拼图!Word文档展示几个注意点!请学生自己练习,模仿完成,并尝试思考上下左右控制键的工作原理。(5分钟)屏幕广播,(以right按钮为例):(8分钟)点击right按钮后,什么控件发生了变化?-图像控件(image1控件)图像控件发生了什么样的变化?-向右移动右移说明控件的什么属性变化?-left属性image1.left属性到底发生了怎样的变化?分析: (为了图片能够拼接的准确,我们就以一个网格的单位距离120移动) 表格分析,引导学生用自己的语言描述变化规律。提出:image1.left=image1.left+120此时产生认知冲突,先将代码放入程序中,验证验证成功,从而提出了本节课

12、的let赋值语句格式:Let =表达式这里的let可省略功能:计算表达式的值,将表达式的值赋给变量 给学生两条语句,说出运算结果:a=3+6a=a-1a=a*a(巩固赋值语句)强调赋值号和等号的区别强调label1.caption=”也是赋值语句请学生举一反三,完成所有按钮的代码编写。(12分钟)发送判断代码分层次教学:没有完成任务的同学继续完成。完成好任务的同学,尝试将判断代码放入程序中,体验程序的交互性和完整性。(教师巡视指导)该学生在引导下尝试实现“游戏规则”按钮的代码编写观看广播学生在引导下完成代码(简化文字)(5分钟)模仿练习观看广播举一反三,完成所有按钮的程序代码学生分层次练习该学

13、生的操作能引起其他学生的注意。一步步的引导比直接教授的效果更好些,对学生今后遇到问题能够有条理的进行思维,有着很大的帮助。从简单的模仿开始,一步步向前递进。重难点由教师讲解,一步步地分析按钮的工作原理,用图形和表格举例的方式,使学生更容易理解该条赋值语句中的叠加问题。该条语句和学生头脑中的数学等式产生认知冲突,在冲突中验证成功,从而引出赋值语句。分层次练习,使不同层次的学生完成相应任务三、评价总结拓展(5分钟)展示学生一作品,总结本课内容。label1.Caption = 请点击上下左右方向键,控制图片移动方向,完成拼图! image1.left=image1.left+120 image1.

14、left=image1.left-120 image1.top=image1.top+120 image1.top=image1.top-120展示学生二作品,将程序升华。观看学生作品在学生的作品演示中总结本课。体验程序的交互性,为今后的课程作铺垫。第三节 选择结构【课标要求】(二)程序设计语言初步1内容标准(1)理解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。会使用程序设计语言实现顺序、选择、循环三种控制结构。(2)理解模块化程序设计的基本思想,初步掌握其基本方法。(3)初步掌握调试、运行程序的方法。(4)在使用某种面向对象程序设计语言解决问题的过程中,掌

15、握面向对象程序设计的基本思想与方法,熟悉对象、属性、事件、事件驱动等概念并学会运用。【教学分析】算法与程序设计是普通高中信息技术课程中选修模块之一,本模块旨在使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。“选择结构”是教育科学出版社出版的高级中学课程标准实验教科书算法与程序设计第二章第三节的内容,共分三课时,本课为第二课时。主要内容是用选择结构编写简单的程序解决具体问题。用选择结构编写简单的程序解决具体问题是在学生已经掌握了程序设计数据的表示与处理的基础上,理解了顺序结构的前

16、题下提出的。通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想,而且也为多分支选择结构的学习打下基础。 【教学目标】 1知识与技能:(1)掌握分支选择结构实现条件判断控制。(2)能够运用分支选择结构设计编制程序解决问题。(3)培养学生的逻辑思维能力,促进学生对问题解决方法的理解。2过程与方法: (1)通过教师讲解和演示,利用任务驱动,通过学生分组探究,协作学习,在完成一个个具体的任务的过程中了解常用的文件传输方法;(2)以具体的任务为外驱力,在教师的引导下,通过学生个体的自主探究和相互间的

17、协作学习,提高学生用算法解决问题的综合应用能力。 3情感、态度和价值观: (1)通过完成实践活动,激发学生对信息技术学习与应用的浓厚兴趣,培养学生正确选择、运用信息技术收集、处理、交流、发布信息的能力。 (2)通过小组协同合作交流学习,培养学生互相帮助、团结协作的良好品质;增强学生协作学习、与人合作交流的意识;形成积极主动地学习和使用信息技术、参与信息活动的态度。 【重点难点】 教学重点:掌握分支选择结构的格式教学难点:对解决问题的方法和步骤的理解,并能根据实际问题写出代码。【教学策略】若想使学生主动地获取新知,就要让学生真正有机会、有基础、有能力、有方法的主动学习。普通高中技术课程标准中强调

18、利用各种条件为学生创设多样化的信息环境,营造良好和谐的信息氛围,为改善学生学习创造条件。如果学生对学习内容产生兴趣,就能自觉地排除内外主客观因素的干扰,集中注意力积极主动地投入学习,把学习当成愉快的事情。信息技术教学大纲中明确指出:知识及技能的传授应以完成典型“任务”为主。确立“任务驱动”的教学原则。这个原则突出了在“做中学”的思想。在贯彻的时侯,应当注意针对学习内容明确相应的任务,并且任务的设计要有一定的科学性,要充分体现技能技巧的训练。同时,任务的设计要具有多样性,让学生根据兴趣自主选择。教师在教学活动中提出问题或活动项目,引导受教育者开展讨论、研究、探索,并通过信息技术的应用解决问题,受

19、教育者在自主设计探索、合作研究的过程中,既提高了学习兴趣,又增强了信息技术的综合应用能力。为了启发学生对本节课知识点的认识,提高技能水平,本课将灵活地运用贴近学生生活实际的例子去引导学生,引导学生亲身经历知识的发生、发展、形成的认知过程。通过观察、比较、思考、交流等活动。让学生在潜移默化中领会学习方法。使学生从“学会”到“会学”最后到“乐学”。【教学流程 】课前准备: 1先编写一个猜单双的程序。2课堂上用到的教学课件。步骤教师活动学生活动设计意图创设情境激发兴趣合作探究获取新知 围 绕 主 题 协 同 操 作 练习反馈应用拓展总结回顾教师编写一个可以控制单双的程序让学生来猜。(程序原理:当金额

20、栏中的数字小于10的时候,程序根据所猜的的数字自行判断输赢,当金额栏中的数字大于10的时候,程序根据所猜的单双自动加一或减去一,使得结果不正确。)教师在给学生演示的时候输入小于10的数字,让学生直观看到可以有输赢,当让学生来猜的时候,就输入大于10的数字,这样学生无论猜什么都会输。在和同学们进行互动以后,教师简单说明程序的原理,告诫学生千万不能参与此类的赌博活动。通过幸运52的猜商品价格,剖析猜商品价格的流程图,引出选择结构概念。通过对几个中文实例展示分析,引出在vb中If语句的基本用法。1、 单分支结构 如果天气冷了,就多穿点衣服If ThenIf ThenEnd If(先让同学们列举出中文

21、的例子,用如果就造句子。)让同学们找出中英文的语句的相同点。同时让同学们讨论If Then中的省略号代表什么含义。教师在学生讨论后,和同学们一起画出单分支流程图,并说明流程图在解决生活中的问题的重要性。教师在VB程序中演示编写一个单分支结构的例子:Private Sub Command1_Click() If Text1.Text = abc Then Text2.Text = 密码正确 End IfEnd Sub同时提示编写程序时遵循的一般规则在对程序正常运行后,教师提出问题,如果输入的密码是错误的,那么将会出现什么情况?如果要让程序在密码输入错误时,也要出现提示,该如何做?有的同学也会提出

22、写两个单分支进行判断。(教师展示两条中文的条件语句,让学生比较那一种比较简洁:1、如果天气冷,就呆在家里;如果天气不冷,就外出游玩。2、如果天气冷,就呆在家里;否则,就外出游玩。(在学生进行思考后,教师引出双分支结构的流程图。)教师讲解双分支结构的语法规则:2、双分支结构If ThenElseEnd If改进程序,与同学们一起改写刚才给出的例子Private Sub Command1_Click() If Text1.Text = abc ThenText2.Text = 密码正确ElseText2.Text = 密码错误 End IfEnd Sub学生实践:(选择一个操作)(1)判断某同学成

23、绩是否及格,要求如下:在文本框1输入数字,如果大于等于60,则在文本框2中显示及格,否则就显示不及格.(2)如果你买的苹果小于5斤,价格1.5元/斤,如果大于等于5斤,则打8折.求x斤的金额教师巡回,观察学生在编写过程中出现的问题,帮助学生解决问题。(教师提示先可以根据实际问题画出流程图后,再进行编写程序代码)知识回顾:分支选择结构的格式。总结提升:通过比较几种分支选择结构的格式,找出相同点和不同点.提出问题:判断某同学成绩是否及格.要求如下:在文本框1输入数字,如果大于等于60,则在文本框2中显示及格,大于75,则在文本框2中显示良,大于95,则在文本框2中显示优否则就显示不及格.该如何设计

24、?学生观察、思考学生观测思考学生观察、思考学生自由讨论回答学生观察比较,思考学生观察、思考学生一起参与改写学生自由练习利用让同学们猜单双的例子,让同学们感受可以通过编写程序来控制要出的单双数字,提高学生想学习程序设计的积极性,同时告诫学生不能参与此类赌博游戏。通过同学们日常生活中遇到的实际例子快速拉出猜商品的流程图,通过对商品流程图的分析,自然引出选择结构的概念。用学生常见的例子来分析IF语句,让学生通过观察、比较、思考、交流等活动,对选择结构有了更深的理解,突破了本课的重点。学生通过对中英文的语法规则进行对比后,可以进一步加深对单分支结构的理解。通过对流程图的描述,让学生认识到流程图在编写程

25、序中的重要作用。教师通过对一个例子的讲解,加深学生对单分支结构的理解。同时,养成良好的编程习惯。通过这个问题的设计,激发学生对单分支结构的进一步思考,同时引出双分支结构。中文例子的给出便于学生进行比较,通过比较熟悉的中文语法规则来理解VB中双分支结构的语法规则。通过教师与学生一起来讨论双分支结构的流程图后,让学生对双分支结构有初步的认识。通过让学生共同参与改写程序,加深学生对双分支结构的理解。通过让学生编程设计解决日常生活中的问题,提高学生分析问题,解决问题的能力,突破本课难点。两道难易不同的题目,让不同的学生根据自己的情况选择,有效的进行分层训练,让不同层次的学生都能够体验到成功的喜悦.通过

26、回顾本课主要内容,以及对学生在实际操作过程中出现的问题分析,进一步提高学生对选择结构的理解应用。新的问题出现为学生学习下一节课的知识留下思考空间。【教学反思】 通过对整个教学过程的认真回顾,学生都能够完全理解选择结构的基本语法的特点,绝大部学生也能够利用所学的知识编写程序解决实际生活中的问题,而且在整个课时量上也并不算少。之所以没有把其他选择结构在本节课上讲,是因为如果设计内容过多,学生反而不能够很清晰,深刻的理解。因此,为了让学生能够有更多的时间去体验、去操作、去发现问题,解决问题,只是在本节课中讲解了单分支结构和双分支结构。事实证明,如此设计是可行而且也是必要的,只有给学生多一点操作实践的

27、时间,学生才能真正的理解本课的内容。第四节 选择结构【课标要求】1内容标准(1)理解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。会使用程序设计语言实现选择控制结构。(2)理解模块化程序设计的基本思想,初步掌握其基本方法。(3)初步掌握调试、运行程序的方法。(4)在使用某种面向对象程序设计语言解决问题的过程中,掌握面向对象程序设计的基本思想与方法,熟悉对象、属性、事件、事件驱动等概念并学会运用。2活动建议(1)选择实例,根据解决问题的要求分析设计算法,恰当地使用选择结构编写源程序,调试并运行该程序,在过程中体验程序设计语言的逻辑特点。【教材分析】本节课的内容是

28、初学程序设计者的一道难关:语句格式稍显复杂;功能理解有点难度,也就是不能很好地掌握它的执行流程;解决问题时,无法建立合适、正确的“条件”。与本节有关的知识点有VBA中的几个常用函数和相关的数学知识。此处的“教材分析”事实上属于“教学任务分析”(或称“教学目标分析”)的范畴。教学任务分析是教学设计中非常重要的一个环节,它旨在确立教学任务、分析学习结果的类型,以及判断有效学习的过程与条件。此处,作者对教学任务的分析重点放在了教学内容难点的分析上,并且确立了与学习相关的知识点,这就为下一步教学目标的设置奠定了基础。【教学目标】(1) 掌握分支结构的用法与用途(2) 掌握IF语句的格式,理解它的功能与

29、执行流程(3) 灵活运用IF语句解决一些实际问题(4) 既要自主探究,又要学会跟同学合作交流【教法学法】教法:任务驱动法、探究式、启发式学法:自主探究、小组交流、个别指导【学情分析】大部分同学的学习态度良好、求知欲强且基础知识扎实。【教学环境】网络机房,配备Lanstar多媒体教学系统,可实现广播、转播、示范等功能。【教学过程】(1)创设情景T:“同学们坐过出租车吗?”S: “坐过”,大家异口同声。T:“注意过出租车的计价器吗?”S:“注意过!”T:“好,现在请一位同学描述一下我们当地的出租车是如何计费的。”学生甲: 起步价(2公里以内)5元;超出2公里外,每公里1块4。(2)引入课题T:“好

30、,说明大家对计价器是比较熟悉的。那我们能否编一个计价器程序呢?也就是当我们给它一个路程值,让它自动算出车费。”S: 表情迟疑的、甚或惴惴的T:“回答是肯定的!今天的课题就是:编制出租车的计价器程序。” S:表情:舒展的、兴奋的(3)建立数学模型首先还是请大家将刚才甲同学的描述转化为数学语言函数,这一步我们称为建立数学模型。同学们很快写出了以下的分段函数解析式:5 x2y= 1.4(x-2)+5 x2师生一起分析:要解决以上这个问题,我们的程序应有以下的功能:输入一个数;若该数小于等于2,则输出车费5元;若该数大于2,则车费按1.4(x-2)+5计算再输出.大家已经会用输入语句与输出语句,那以上

31、的分析中还有一处是大家不知道的,那就是判断,这就是今天我们要学的内容IF语句。条件语句NY图1(4)I F语句格式功能介绍、示范(一)简单IF语句格式:IF then 对应的流程图如图1所示,并通过一个实例来说明它的格式与功能及注意事项。例1:判断一个考试成绩,若大于等于60,则输出“Pass!”主要代码为:inputbox(“请输入一个成绩:”,score)if score=60 then msgbox(“Pass!”)演示并讲解格式方面要注意的地方。在示范讲解过程中有同学问:若输入一个小于60的数,结果会怎样?有这样的提问,说明同学对这条语句还没有弄明白,作为老师要善于捕捉课堂中的信息,并

32、好好的利用它深入剖析该语句的用法,使大家对它有全面正确的理解。所以又多演示几遍,并输入不同情况的数据,让大家观察程序的运行结果并比较、分析原因。大家得出结论:当输入一个小于60的数之所以没有输出结果是因为我们没有对这种情况做出反应,也就是说对这种情况没做相应的处理。这一点说明很重要,因为有部分同学认为电脑会对各种情况自动做出处理,他(她)不知道电脑的各种功能是人赋予的,其实这就是我们学程序设计的目标之一,让大家对电脑有比较全面的认识。经过演示说明,同学们对IF语句有了更进一步的理解。其时这步操作也是我们编程者对自己所编程序进行检查的必要环节。(五) “小刀”初试再让同学们自主实践(利用该语句解

33、决上面的问题)。不到5分钟,绝大部分同学调试成功,主要有以下两种形式:inputbox(“请输入路程值:”,s)if s2 then msgbox(1.4*(x-2)+5)inputbox(“请输入路程值:”,s)if s2 then pay=1.4*(x-2)+5msgbox(pay)分析交流:两种方法都可以,但第二种感觉思路清晰,程序结构明了,易读,请大家要养成良好的编程习惯。提问:同学们有没有发现,这段代码似乎还有点“问题”?同学们议论纷纷。有的说没有;有的说好像有点,但说不出来。提示:存在重复判断。因为给定一个数值,它只会符合一种情况,但是我们的程序现在都对它进行了两次判断,这是浪费计

34、算机资源和降低程序运行效率的做法,If语句还有一种格式能很好地解决这个问题。从而引出复合IF语句。在已有的实践结果上再设疑,再引导,从而引发学生的深入思考,逻辑严谨,环环紧扣。设计的非常紧凑与合理。同时,在提出问题的过程中,培养学生优化程序设计算法,提高程序运行效率的思想,也就是在向学生传达一个信息,不仅要能够解决问题,而且要尽力找到解决问题的最好方法。条件语句组1NY语句组2图2(5) I F语句格式功能介绍、示范(二)复合IF语句格式:IF then Else Endif对应的流程图如图2所示,并再次通过例1的简单变式来说明它的格式与功能及注意事项。例2:判断一个考试成绩,若大于等于60,

35、则输出“Pass!”,否则输出“Work hard!”。主要代码为:inputbox(“请输入一个成绩:”,score)if score=60 then msgbox(“Pass!”)else msgbox(“Work hard!”)endif由于已有了一点的经验,这次学生很快就明白了。两个示例是相互联系并步步递进的,在示例一中学生产生的问题,在示例二中及时得到了解决,使学生获得即时的学习愉悦感,进一步激发和维持学生的学习动机,保证课堂的效率。(6) “小刀”再试再让同学们自主实践(利用该语句解决上面的问题)。不到5 分钟,同学们基本上能写出以下代码:inputbox(“请输入路程值:”,s)

36、if s=2 then pay=5else pay=1.4*(s-2)+5endifmsgbox(pay)说明大家对该语句的格式与功能已基本掌握。这时,有同学在底下窃窃私语,“我输入一个负数也能得到结果5”;“我输入一个非整数,得到的结果跟实际情况也不符合”刚才同学们的议论,非常有道理,我们现在的这个程序跟实际还有一些不符合,针对以上同学提的这两个问题,我们能否利用现有的知识对它进一步的完善呢?回答是肯定的!请大家思考、讨论、尝试解决。(7) 完善程序针对问题一,我们经过讨论,得到这样的结论:s应有三种情况(s0;02),而我们在程序中只考虑了两种情况,所以会出现以上的问题,在程序设计时应把第

37、一种情况“过滤”,怎么“过滤”?引入IF语句的嵌套格式并简要分析它的执行过程(图3)即可,因为同学已有基础。IF语句的嵌套格式:条件2语句组1NY语句组3图3条件1语句组2IF then Else IF then Else EndifEndif同学自主实践,写出代码:inputbox(“请输入路程值:”,s)if s=0 then msgbox(“路程值不能为0或负,请重输!”)else if s=2 then pay=5 else pay=1.4*(x-2)+5 endifmsgbox(pay)endif虽然在这之前已经学过取整等函数,但由于没有实际编程经验,以至不会灵活运用,这是学程序设计

38、的一个通病,所以在教学实践中,应加强这方面的训练。针对问题二,有同学很气愤,因为他有时起的晚了,为赶早自修去打的,而他家离学校刚好超过2公里,为此,他说自己经常在2公里之前停下再跑几十米到校,赚了1块多钱很高兴。由此可以看出,只要超过一点,就当超过1公里计算,经过提示、讨论,得到如下的解决方案:s=int(s+0.9999),把这句代码插在上面程序段的第二行就可以了。课后作业:为巩固知识,深化理解,灵活应用,特设计两道课后作业。(1) 输入一个整数,若是偶数则输出“even”,否则输出“odd”。(2) 个人所得税计算:月收入低于1500元时,不缴个人所得税;月收入在15002000元之间时,

39、超过1500部分缴10%的个人所得税;月收入超过2000元,则超过2000元部分再缴25%的个人所得税。【教学反思】语句教学本来比较枯燥乏味,但跟实际问题相联系,学生就愿意学,而且是在不知不觉中学会了,教学目标顺利达成。这种设计有以下几点优点:1、 符合学生的认知结构老师根据学生的知识水平与学习习惯搭建合适的支架,使新知识的出现不是突然的,无端的,学生不会觉得为了学习而学习,而是觉得学习是有意义的,学习目标是非常明确的,同时也是有基础有能力去掌握它并运用它来解决问题的,可以促进他进一步学习的自信心和学习能力的提高。2、 与实际应用相结合所创设的问题是学生关注的问题或与学习、生活密切相关,这给学

40、生提供了一个运用所学知识的“虚拟”平台,甚至是实际平台,缩短了知识与应用之间的距离。当学生看到他们的学习资料与实际生活之间的联系时,学生的积极性会被调动起来,他们会尽力学习、掌握相关的信息,并运用所学来解决问题,这有助于加深学生对知识的理解及迁移应用。3、 开放性学习促进学生掌握基本的学习策略和学习方法第五节 分支结构【课标要求】1内容标准(1)理解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。会使用程序设计语言实现选择控制结构。(2)理解模块化程序设计的基本思想,初步掌握其基本方法。(3)初步掌握调试、运行程序的方法。(4)在使用某种面向对象程序设计语言解决问题的过程中,掌握面向对象程序设计的基本思想与方法,熟悉对象、属性、事件、事件驱动等概念并学会运用。2活动建议(1)选择实例,根据解决问题的要求分析设计算法,恰当地使用选择控制结构编写源程序,调试并运行该程序,在过程中体验程序设计语言的逻辑特点。【学情及教材分析】分支结构是江苏省高中信息技术教材第六章第五节的内容,它是建立在学生已学习的顺序结构的基础之上,为后续学习循环结构作了铺垫。VB中IF语句的分支结构对学生来说,并不难理解,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号