算法与程序设计 教案.doc
《算法与程序设计 教案.doc》由会员分享,可在线阅读,更多相关《算法与程序设计 教案.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、算法与程序设计 教案 1-1节 计算机解决问题的过程 一、 教学目标 1、 知识与技能 ( 1) 让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 ( 2) 让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 ( 3) 让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。 2、 方法与过程 ( 1) 培养学生发现旧知识的规律、方法和步骤,并把它运 用到新知识中去的能力。 ( 2) 培养学生调试程序的能力。 ( 3) 培养学生合作、讨论、观摩、交流和自主学习的能力。 3、 情感态度和价值观 通过
2、“韩信点兵”这个富有生动情节的实例和探究、讲授、观摩、交流等环节,让学生体验用计算机解决问题的基本过程。 二、 重点难点 本节的重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。 三、 教学环境 1、 教材处 理 教学内容选用中华人民共和国教育部制订的普通高中技术课程标准( 2003 年 4月版)中信息技术部分的选修模块 1“算法与程序设计”第一章的第一课“计算机解决问题的过程”。 教材选用广东省普通高中信息技术选修一:算法与程序设计第三章第一节, 建议“算法与程序设计”模块在高中一年级下学期或高中二年级开设。 根
3、据 2003 年 4 月版普通高中技术课程标准的阐述,“算法与程序设计”是普通高中信息技术的选修模块之 1,它的前导课程是信息技术的必修模块“信息技术基础”。学生在“信息技术基础”模块里已经学习了计算机的基本操作 ,掌握了启动程序、窗口操作和文字编辑等基础知识。学生可以利用上述的基础知识,用于本节课的启动 Visual Basic 程序设计环境,输入程序代码,运行程序等操作。本节课“计算机解决问题的过程”是“算法与程序设计”模块的第一节课,上好这节课是使学生能否学好“算法与程序设计”这一模块的关键。本节课的教学目的是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,
4、认识其在算法与程序设计中的地位和作用,它也是后续课程如模块化程序设计、各种算法设计等课程的基础。 让学生在人工解题中发现分析问题、 设计算法等步骤,并把它应用到用计算机解决问题中去,这是构建主义中知识迁移的方法。本节课还采用了探究、讲授、观摩、交流、阅读材料等多种教学活动的有机结合的方法。 2、 预备知识 本节课相联系的旧知识是计算机的基本操作中鼠标、键盘操作,启动、关闭程序,窗口、菜单操作和文字编辑等基础知识,还有解决数学问题的步骤等知识。 3、 硬件要求 可以进行屏幕广播的多媒体电脑室。教师自行设计制作的课件。准备计算机解决问题的过程教学活动表。 4、 所需软件 学生机要安装 VB6.0
5、或以上版本。 5、 所需课时 2 课时( 100 分钟) 四、 教学过程 (一)引入 教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:” 学生观看约 1 分钟的电视剧汉刘邦片断,内容大致如下: “韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多 益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。” 片断结束时屏幕出现“韩信点
6、兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每 3人一列余 1 人、 5 人一列余 2 人、 7 人一列余 4 人、 13 人一列余 6 人。刘邦茫然而不知其数。你呢?” (二)问题 教师:“下面我们先助刘邦解决一个简单的问题。” 展示题目: “韩信点兵”问题 1:求整除 3 余 1、整除 5 余 2、整除 7 余 4 的最小自然数。 (三)探究 把全班分成 16 个学习小组,每个小组的 同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写计算机解决问题的过程教学活动表中的“探究问题记录表”。如下: 探究
7、问题记录表 分析问题 (找出已知和未知、列出已知和未知之间的关系 ) 写出解题步骤 结果 给 5 分钟学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问 23 个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。 分析问题 (找出已知和未知、列出已知和 未知之间的关系 ) 写出解题步骤 设所求的数为 X,则 X 应满足: X 整除 3 余 1 X 整除 5 余 2 X 整除 7 余 4 1、令 X 为 1。 2、如果 X 整除 3 余 1, X 整除 5 余 2, X 整除 7 余 4,这就是题目要求的数,则记下这个 X。 3、令 X 为
8、 X+1(为算下一个作准备)。 4、如果算出,则结束;否则跳转 2。 5、写出答案。 教师解释第 3 步“另 X 为 X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。 教师:“刚才有些同学把题目解出来了,答案是 67,韩信作为大将军,统率士兵当然不止 67 人,下面 我们来解决一个数据量稍大的问题。” 展示题目: “韩信点兵”问题 2:求整除 3 余 1、整除 5 余 2、整除 7 余 4、整除 13 余 6、整除 17 余 8 的最小自然数。 给 2 分钟学生分析上述问题并写出算法,不用计算。学生有了第 1 题的经验,很快会写出和第一题类似的算法。如下: 分析问题 (找
9、出已知和未知、列出已知和未知之间的关系 ) 写出解题步骤 设所求的数为 X,则 X 应满足: 1、令 X 为 1。 2、如果 X 整除 3 余 1, X 整除 3 余 1 X 整除 5 余 2 X 整除 7 余 4 X 整除 13 余 6 X 整除 17 余 8 X 整除 5 余 2, X 整除 7 余 4, X 整除 13 余 6, X 整除 17 余 8,则记下这个 X。 3、令 X 为 X+1。 4、如果算出,则结束;否则跳转 2。 5、写出答案。 教师:“上面的结果超过 1 万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题) (四)用计算机解决问题 教师:“计算机
10、怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。 教师:“用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂, 必须翻译成计算机的语言,这就是程序设计语言。” 教师展示与用 Visual Basic 语言编写的程序作对照。简单解释变Y 的作用,并提示学生程序设计语言是我们以后学习的重点。 本例用 Visual Basic 语言编写的程序请看教材如下: Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 1: Y = 0
11、 Do If X Mod 3 = 1 Then If X Mod 5 = 2 Then If X Mod 7 = 4 Then If X Mod 13 = 6 Then If X Mod 17 = 8 Then Y = X End If End If End If End If X = X + 1 Loop Until Y 0 Print “韩信统御士兵数: “; Y End Sub 教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。” (五) 观摩 根据前面编制的程序,启动 Visual Basic 程序设计环境,输入程序代码,进行调试,最后得到运行的结果。具体
12、操作步骤请看教材(第 4、 5 页)。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。 教师演示操作步骤。 学生上机调试程序,教师作个别指导,时间是 10 分钟。 操作时有些学生很快完成,有些学生则很慢,解决案是布置操作快的同学阅读教材并完成计算机解决问题的过程教学活动表中的填空题。较慢的同学在他们调试了约 8 分钟后告诉他们可以通过网上邻居下载程序。以便能在 10 分钟内调 试出程序。 (六)交流 教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在计算机解决问题
13、的过程教学活动表的“讨论记录”表中。如下: 关于求解问题的方式讨论记录 求解问题的方式 相同点 不同点 人工求解问题 用计算机求解问题 教师提问 23 个小组的讨论结果,并引导出大致如下的形式结果: 求解问题的方式 相同点 不同点 人工求解问题 分析问题、设计算法、得出结果、验算结果等 对题目进行解答、运算速度慢、不需要计算机等 用计算机求解问题 编写程序、调试程序、运算速度快等 五、 课外拓展 相关资源 技术课程标准介绍: http:/ 东莞中学信息技术网: http:/ 普通高中技术课程网: http:/ 1-2节 1-2 节 算法和算法的描述 一、 教学目标 1、 知识与技能 ( 1)
14、了解算法的定义及其表达方法; ( 2) 认知流程图的六 种基本符号; ( 3) 理解计算机解决问题的一般过程。 2、 方法与过程 ( 1) 理解用不同的表达方法描述算法的优缺点; ( 2) 掌握用流程图描述简单的算法。 3、 情感态度和价值观 以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。 二、 重点难点 (一)教学重点 1、 算法的定义; 2、 算法的三种表达方法; 3、 流程图的六种基本符号; 4、 用流程图描述简单的算法。 (二)教学难点 5、 算法的描述(三种); 6、 用流程图描述算法。 三、教学环境 1、教材处理 通过物理学中的实例了解算法的概念和算法的描述方
15、法掌握用计算机解决实际问题的一般步骤。用多媒体教学网开展教学;用“先自主探究,后教学指导”的方法进行教学。 2、预备知识 学生已掌握了用计算机解决问题的过程,掌握了计算机运用基础。 3、硬件要求 建议本节课在多媒体电脑 教室中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。 4、所需软件 学生机要安装 VB6.0 或以上版本。 5、所需课时: 2 课时( 100 分钟) 四、教学过程 教学内容 预期目标 新课内容: 一、对算法的初步了解 1一个简单的物理问题: 书中例 6-1-1:求物体在恒力作用下的加速度。 根据在物理课中学过的知识,要解决这个问题有多种方法: 方法一:
16、a) 测量出物体的质量 m、拉力 F 和滑动摩擦力 f b) 将测量所得的数据输入计算机 c) 根据牛顿第二定律 F-f=m*a,计 算出加速度 a d) 输出所得的结果 方法二: a) 测量出物体从静止开始移动的距离 s、时间 t b) 将测量所得的数据输入计算机 c) 利用公式: s=a*t*t/2 计算出加速度 a d) 输出所得的结果 2算法的定义 这种为解决某一问题而设计的确定的有限的步骤称为算法。 二、算法的描述 要把解决问题的步骤表达出来,有多种方法可以表达算法。 1用自然语言表达 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。 优点:容易理解 缺点
17、:书写较烦、不确定性、对 复杂的问题难以表达准确、不能被计算机识别和执行 2用图形符号表达 用图形符号表达算法必须要有一组规定统一、含义确定的专用符号。 常用的“流程图”所用的基本符号 图形符号 符号名称 说明 流线 起始、终止框 表示算法的开始或结束 起始框: 一流出线 终止框: 一流入线 输入、输出框 框中标明输入、输出的内容 只有一流入线和一流出线 处理框 框中标明进行什么处理 只有一流入线和一流出线 判定框 框中标明判定条件并在框外标明判定后的一流入线两流出线 ( T 和 F )但同时只 能一流出引入物理学中的例子,激发学生的学习兴趣,有助于学生理解算法的概念 引导出算法的概念 介绍三
18、种算法的表达方式,并对它们进行比较,分析优缺点。 给出流程图的基本符号,对其功能和使用情况加以说明,以便今后在具体运用中的正确使用。 两种结果的流向 线起作用 流线 表示从某一框到另一框的流向 连接圈 表示算法流向出口或入口连接点 一条流线 优点:直观、形象 缺点:不能被计算机识别和执行 例 6-1-1:“物体在恒力作用下的加速度”的算法用下图表达。 3用程序实现算法 用计算机能理解和执行的程序设计语言把算法表示出来,然后把程序输入到计算机并执行,计算机才能按照预定的算法去解决问题。 不同类型的计算机能够识别的指令和语言不尽相同,即使对同一种计算机语言,不同类型的计算机对该语言的解释程序 也有
19、差异。 因此,用程序表示算法时,必须按照程序设计语言适用某类计算机的具体规定来进行。 例:用 Pascal 语言表示“从键盘输入一组数据并求该组数据的平均值”的程序如下: Program ex_aver Var I:integer;x,av:real; Begin Av:=0;I:=0; Do while not eof() Begin Readln(x); av:=av+x; I:=I+1; 给出流程图的作法,通过详细的解释说明使学生初步掌握流程图的使用和基本画法。 了解计算机解决问题的一般过程,为今后用编程解决实际问题打 下基础。 开始 M=m F1=F F2=f a=( F1-F2) /
20、M 输出 a 结束 End av:=av/I; Writenln(“The average value is :”,av); End 三、用计算机解决问题的一般过程 使用计算机解决一个问题,一般包括四个过程 1需求分析 “需求分析”是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。 “需求分析”就是确定要计算机“做什么”。 2设计算法 弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机“怎么做” 解决一个问题,可能有多种算法。例如,数学题常常有“一题多解”。这就是说,解决一个问题的算法可能不止一种。这是,应该通过分析、比较、挑选一种
21、最优的算法。 3 编写程序 计算机只能接受并执行计算机程序设计语言编写的程序。当我们为解决一个问题确定了算法后,还必须将该算法用计算机程序设计语言编写程序。这个过程成为“编码”或“编程”。 4上机调试与维护 编写完成的程序,不一定完全符合实际问题的要求,还必须在计算机上运行这个程序,排除程序中可能出现的错误,才能得到结果。这个过程称为“上机调试”。 即使是经过调试的程序,在使用一段时间后,仍然会被发现错误或不足之处。这就需要对程序做进一步的修改,使之更加完善。这个过程称为“维护”。 在实际解决问题时,上述四个步骤可能会根据 不同的问题有所侧重。 五、课外拓展 1、相关资源 东莞中学信息技术网:
22、 http:/ 普通高中技术课程网: http:/ 2、课外练习 小明是小学一年级学生,请你为他 设计一个小程序,专门用来练习加法运算。具体讲就是让计算机产生两个整数并组成加法竖式,再从键盘输入一个结果数,最后让计算机来判断结果是否正确。 1-3 程序与程序设计语言 一、教学目标 1、知识与技能 使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类。 2、过程与方法 使学生初步体验编程乐趣,了解如何编辑程序、编译程序和连接程序。 3、情感态度与价值观 让学生进一步领会算法和程序设计在解决问题中的地位,体会编写出程序的魅力,从而培养学生学习编程的兴趣
23、。 二、重 点难点 ( 1) 重点:了解代码所包含的算法思想; ( 2) 难点:计算机是如何编辑程序、编译程序和连接程序的。 三、 教学环境 1、教材处理 上一节课学习了三种描述算法的方法,但这三种算法计算机无法识别,必须编写程序代码,方可实现用计算机解决问题。本节课将学习用 VB 编写“韩信点兵”问题的算法,然后同学们通过自主学习,认识一下 VB 程序设计方面的知识。 2、预备知识 学生已掌握了用计算机解决问题的过程,并对算法及其作用有初步的认识。 3、硬件要求 建议本节课在多媒体电脑教室 中完成,最好有广播教学系统或投影仪,为拓展学习,学生机应允许上互联网。 4、所需软件 学生机要安装 V
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 程序设计 教案 DOC
![提示](http://www.mydoc123.com/images/bang_tan.gif)