ImageVerifierCode 换一换
格式:DOCX , 页数:72 ,大小:45.79KB ,
资源ID:12518267      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12518267.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《算法与程序设计》选修教案.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《算法与程序设计》选修教案.docx

1、算法与程序设计选修教案 第一课 初识算法与程序设计 一、教学目标 1、知识与技能 (1)理解算法的概念,培养学生自我探索信息,高效获取信息的能力; (2)能初步利用算法解决简单的问题,培养学生的理论联系实际能力和动手操作能力。 2、情感、态度、价值观 学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、表达呈现信息的能力,进一步提高其信息素养。 二、教学重点难点 重点:算法概念的理解 难点:如何科学合理的选择和设计算法。 三、教学策略与手段 以趣味性问题设置情境,激发学生探索解决问题的兴趣,与学生进行互动探讨,通过Flash演示材料,比较直观地把抽象的

2、问题简单化,使学生的思考逐步深入,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的能力。 四、教学过程(1课时) (一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。 【问题一】天下真的有“不要钱的午餐”吗? 某一餐馆门口海报上写着“不要钱的午餐”, 规则如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费” 。于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢? 学生们感觉非常有意思,很快以

3、小组为单位进行热烈的讨论并得出了破解问题的步骤:第一个座位个人都有坐的机会第二个座位只有个人中的任一个有坐的机会(一个人不能同时坐两个座位)第三个座位只有个人中的任一个有坐的机会第四个座位只有个人中的任一个有坐的机会第五个座位只有个人有坐的机会计算:得出结论:需要吃次才有可能吃上免费午餐。 【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,如果妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。你能不能找出一种安全的渡河方法呢?请 1 写一写你的渡河方案。 学生:学生讨论回答。 展示步骤 两个妖怪先过河,一个妖怪回来; 再两个妖怪过河,一个妖怪回来; 两个

4、和尚过河,一个妖怪和一个和尚回来; 两个和尚过河,一个妖怪回来; 两个妖怪过河,一个妖怪回来; 两个妖怪过河。 【Flash动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有清晰的解题步骤。算法就是解决问题的程序或步骤。 (二)【课件展示】算法的概念: 1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也经常使用算法,只是没意识到罢了。如:洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。 2、在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。 【小试身手】按照这

5、样的理解,我们可以设计出很多由具体数学问题解决一类数学问题的算法.下面看一个例子:(要求学生自己考虑并写出具体的算法) 鸡兔同笼问题。一个笼子里有鸡和兔,现在只知道里面一共有17个头,48只脚,鸡和兔各有多少只?试设计一个求解的算法。 【设计意图】求解鸡兔的问题简单直观,却包含着深刻的算法思想。应用解二元一次方程组的方法来求解鸡兔同笼问题。 第一步:设有小鸡x只,小兔y只,则有 第二步:将方程组中的第一个方程两边乘2加到第二个方程中去,得到 ,得到y=7; 第三步:将y=7代入(1)得x=10。 【变一变】在笼中有鸡、兔若干,已知有头a个,有脚b只,求各有多少只鸡和兔。 【师生合作】老师带领学

6、生共同书写规范的算法的具体步骤,最后引出算法使用的范围:能解决一类问题,并且能重复使用。 (三)【课件展示】算法的基本特征 有穷性 确定性 不唯一性 有效性(逻辑性) 2 1、有穷性:一个算法应该包含有限个操作步骤,而不能是无限的。 2、确定性:算法的每个步骤都应该是明确无误的,不能含义模糊,使执行者无所适从。 3、有零个或者多个输入,有一个或者多个输出 4、有效性:算法中的每一步都应该能有效地执行,执行算法最后应该能得到确定的结果。 【教学总结】 1、本节课通过一些生活中看似简单问题的解决方法和步骤,使学生比较轻松的接受了生活算法的概念,进一步理解了计算机算法的概念。 2、课堂教学的效益取决

7、于学生对所学知识理解了多少,能否用所学知识来解决一些实际问题。本节课的设计突出讲与练的结合,培养学生的动手能力,并且引出学生对下一节课的内容的思考,比较顺利的完成了本节课的教学任务。 3、如何优化算法,找到算法的形式和用算法解决问题的效益的最佳结合点,还尚需探讨。 3 第二课 用计算机解决问题 一、教学目标 (1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。 (2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。 (3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤, 认识其在算法与程序设计中的作用。 二、重点难点

8、 重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决 问题的过程中的分析问题、设计算法也是本节的难点。 三、教学过程(2课时) (一)引入 教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:” 学生观看的电视剧汉刘邦片断,内容大致如下: “韩信是我国西汉初着名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓

9、下十面埋伏,击败楚军,楚霸王项羽因此自杀。” 片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人?。刘邦茫然而不知其数。你呢?” (二)问题 教师:“下面我们先助刘邦解决一个简单的问题。” “韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。 (三)探究 把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写计算机解决问题的过程教学活动表中的“探究问题记录表”。如下:

10、4 探究问题记录表 分析问题(找出已知和未知、列出 写出解题步骤 结果 已知和未知之间的关系) 学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问23个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。 分析问题(找出已知和未知、列出 写出解题步骤 已知和未知之间的关系) 1、令X为1。 2、如果X整除3余1,X整除5余2, 设所求的数为X,则X应满足: X整除7余4,这就是题目要求的数, X整除3余1 则记下这个X。 X整除5余2 3、令X为X+1(为算下一个作准备)。 X整除7余4 4、如果算出,则结束;否则跳转2。 5、写出答案。

11、教师解释第3步“另X为X+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。 教师:“刚才有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一个数据量稍大的问题。” 展示题目: “韩信点兵”问题2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。 学生分析上述问题并写出算法,不用计算。学生有了第1题的经验,很快会写出和第一题类似的算法。如下: 分析问题(找出已知和未知、列出 写出解题步骤 已知和未知之间的关系) 设所求的数为X,则X应满足: 1、令X为1。 X整除3余1 2、如果X整除3余1, X整除5余2

12、X整除5余2, X整除7余4 X整除7余4, 5 X整除13余6 X整除13余6, X整除17余8 X整除17余8,则记下这个X。 3、令X为X+1。 4、如果算出,则结束;否则跳转2。 5、写出答案。 教师:“上面的结果超过1万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题) (四)用计算机解决问题 教师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。” 本例用Vi

13、sual Basic语言编写的程序请看如下: Private Sub Command1_Click() Dim X As Integer, Y As Integer X = 1: Y = 0 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 教师:“程序编好以后,通过键

14、盘输入计算机,并运行程序查看结果这个过程叫调试程序。” 6 (五)观摩 根据前面编制的程序,启动Visual Basic程序设计环境,输入程序代码,进行调试,最后得到运行的结果。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。 (六)交流 教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在计算机解决问题的过程教学活动表的“讨论记录”表中。如下: 关于求解问题的方式讨论记录 求解问题的方式 相同点 不同点 人工求解问题 用计算机求解问题 教师提问23个小组的讨论结果

15、,并引导出大致如下的形式结果: 求解问题的方式 相同点 不同点 对题目进行解答、运算速度 人工求解问题 慢、不需要计算机等 分析问题、设计算法、得出 结果、验算结果等 编写程序、调试程序、运算 用计算机求解问题 速度快等 7 第三课 算法与算法的描述 一、教学目标 1、知识与技能 (1)了解算法的定义及其表达方法; (2)认知流程图的六种基本符号; (3)理解计算机解决问题的一般过程。 2、方法与过程 (1)理解用不同的表达方法描述算法的优缺点; (2)掌握用流程图描述简单的算法。 3、情感态度和价值观 以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。 二、重点难点 (一)

16、教学重点 1、算法的定义; 2、算法的三种表达方法; 3、流程图的六种基本符号; 4、用流程图描述简单的算法。 (二)教学难点 5、算法的描述(三种); 6、用流程图描述算法。 三、教学过程(2课时) 教学内容 预期目标 新课内容: 一、对算法的初步了解 1一个简单的物理问题:求物体在恒力作用下的加速度。 根据在物理课中学过的知识,要解决这个问题有多种方法: 方法一: a) 测量出物体的质量m、拉力F和滑动摩擦力f b) 将测量所得的数据输入计算机 c) 根据牛顿第二定律F-f=m*a,计算出加速度a 8 d) 输出所得的结果 方法二: a) 测量出物体从静止开始移动的距离s、时间t b) 将

17、测量所得的数据输入计算机 引入物理学中的例子,激发 c) 利用公式:s=a*t*t/2计算出加速度a 学生的学习兴趣,有助于学 d) 输出所得的结果 生理解算法的概念 2算法的定义 这种为解决某一问题而设计的确定的有限的步骤称为算法。 二、算法的描述 要把解决问题的步骤表达出来,有多种方法可以表达算法。 引导出算法的概念 1用自然语言表达 用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉 介绍三种算法的表达方式, 的自然语言表示出来。 并对它们进行比较,分析优 优点:容易理解 缺点。 缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能 被计算机识别和执行 给出流程图的基本符号,

18、2用图形符号表达 对其功能和使用情况加以 用图形符号表达算法必须要有一组规定统一、含义确定的专用符 说明,以便今后在具体运用 号。 中的正确使用。 常用的“流程图”所用的基本符号 图形符号 符号名称 说明 流线 起始、终表示算法的开起始框:一流出线 止框 始或结束 终止框:一流入线 输入、输框中标明输只有一流入线和一 出框 入、输出的内流出线 容 处理框 框中标明进行只有一流入线和一 什么处理 流出线 判定框 框中标明判定一流入线两流出线 条件并在框外(T和F 9 标明判定后的)但同时只能一流 两种结果的流出线起作用 向 流线 表示从某一框 给出流程图的作法,通过详 到另一框的流 细的解释说明

19、使学生初步 向 掌握流程图的使用和基本 连接圈 表示算法流向一条流线 画法。 出口或入口连 接点 优点:直观、形象 缺点:不能被计算机识别和执行 例6-1-1:“物体在恒力作用下的加速度”的算法用下图表达。 开始 M=m F1=F F2=f a=(F1-F2)/M 输出a 结束 3用程序实现算法 用计算机能理解和执行的程序设计语言把算法表示出来,然后把 了解计算机解决问题的一 程序输入到计算机并执行,计算机才能按照预定的算法去解决问 般过程,为今后用编程解决 10 题。 实际问题打下基础。 不同类型的计算机能够识别的指令和语言不尽相同,即使对同一 种计算机语言,不同类型的计算机对该语言的解释程

20、序也有差 异。 因此,用程序表示算法时,必须按照程序设计语言适用某类计算 机的具体规定来进行。 例:用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; End av:=av/I; Writenln(“The average value is :”,av); End 三、用计算机解决问题的一般过程 使用计算机解决一个问题,一般包括四个过程 1需求

21、分析 “需求分析”是指对要解决的问题进行详细的分析,弄清楚问题 的要求,包括需要输入什么数据,要得到什么结果,最后应输出 什么。 “需求分析”就是确定要计算机“做什么”。 2设计算法 弄清楚要计算机“做什么”后,就要设计计算法,明确要计算机 “怎么做” 11 解决一个问题,可能有多种算法。例如,数学题常常有“一题多 解”。这就是说,解决一个问题的算法可能不止一种。这是,应 该通过分析、比较、挑选一种最优的算法。 3编写程序 计算机只能接受并执行计算机程序设计语言编写的程序。当我们 为解决一个问题确定了算法后,还必须将该算法用计算机程序设 计语言编写程序。这个过程成为“编码”或“编程”。 4上机

22、调试与维护 编写完成的程序,不一定完全符合实际问题的要求,还必须在计 算机上运行这个程序,排除程序中可能出现的错误,才能得到结 果。这个过程称为“上机调试”。 即使是经过调试的程序,在使用一段时间后,仍然会被发现错误 或不足之处。这就需要对程序做进一步的修改,使之更加完善。 这个过程称为“维护”。 在实际解决问题时,上述四个步骤可能会根据不同的问题有所侧 重。 12 第四课 程序与程序设计语言 一、教学目标 1、知识与技能 使学生知道什么是源代码,并理解算法、程序设计、程序设计语言之间的关系,了解程序设计语言的发展及种类。 2、过程与方法 使学生初步体验编程乐趣,了解如何编辑程序、编译程序和连

23、接程序。 3、情感态度与价值观 让学生进一步领会算法和程序设计在解决问题中的地位,体会编写出程序的魅力,从而培养学生学习编程的兴趣。 二、重点难点 (1)重点:了解代码所包含的算法思想; (2)难点:计算机是如何编辑程序、编译程序和连接程序的。 三、教学过程(2课时) 正课讲解 (一)尝试用VB编写程序 1、 么是VB? VB是一种基本BASIC语言的可视化程序开发工具。 2、 编写程序 从桌面上启动VB,弹出“新建工程”对话框,从“新建”页面中选“标准EXE”,然后“打开“按钮,建立”标准EXE工程。 注:为了避免打开时总是出现“新建工程”对话框,在首次启动时,勾选“不再显示这个对话框”。

24、单击工具箱“CommandButton”的按钮,在Form1窗体中拖出一个“Command1”按钮。 Command1是命令按钮,它有6个属性、2个事件和4个方法。 属性 Caption Default 标题 决定窗体的默认命令按钮 Style Enabled 控件的外观 决定对象是否响应用户生成 事件 Visible Picture 决定对象是否可见 显示的图形 13 事件 方法 Click Drag Refresh 单击 拖动 刷新 Move KeyPress SetFocus 移动 字符键被单设置焦点,将当前焦 击 点强制设置到文本 框对象上 选中此按钮,从属性窗口中将Caption改为

25、“韩信点兵”。 给按钮添加代码,在Private Sub Command1_Click()和 End Sub之间添加代码: Dim N As Integer 声明N为整型 N=1 赋初始值 Do(N mod 3=2) and(N mod 5=3) and (N mod 7=2) Then 满足条件打印N,不满足继续循环 Print N Exit do End if N=N+1 Loop 从“运行”菜单中“单击”启动命令,运行程序。运行后,单击“韩信点兵”按钮。 注:运行时,不能修改程序代码。 实践题:从“调试”菜单中点击“逐语句”命令(F8),然后按F8键试着单步运行程序,观察代码是如何运行的

26、,程序执行注释部分吗?在程序运行的过程中,用鼠标指向变量N,看看它的值有什么变化,为什么会这样变? (二) 算法、程序设计与程序设计语言之间的关系 算法 提出问题:什么是算法?算法有哪些特征? 程序设计寻求解决问题的方法,并将其实现步骤写成计算机可执行的程序的过程。 程序设计语言泛指一切用于书写计算机程序的语言。 算法是程序设计的前提,它包含方法和步骤; 程序是实现算法中的思想的过程; 程序设计语言把算法转化为计算机认识的语言。 14 (三) 认识程序设计语言 1、 发展过程 机器语言:由一串“0”和“1”构成二进制代码。 汇编语言:是一种符号化(英文助记符)的机器语言。 高级语言:如Basi

27、c、C/C+、Fortran、Pascal、Cobol、Java等。 2、分类(按转换方式不同分类) 编译型语言 解释型语言 编写的源程序需要用编译程序先翻译成机器语言的源程序输入计算机后,运行源程序,相应的解释程序目标程序,然后再由连接装配程序进行连接装配,生会逐条分析源程序中的语句,每解释一句由计算机执 成可执行程序,这样才能被计算机执行。 行一句。 C/C+ 、 VB 、 Pascal 、 Cobol Qbasic 、 Lisp 3、编辑程序、编译程序和连接程序 编辑程序 包含内容:一是将源程序逐个字符输入到计算机内存,二是修改源程序,三将修改好的源程序 保存在磁盘文件中。 编译程序:将已编辑好的源程序(已存储在磁盘文件中)翻译成二进制的目标代码。 二进制代码在UNIX下后缀为“.o”的文件,在DOS下是后缀为“.obj”文件。 连接:将各模块的二进制目标代码与系统标准模块经连接处理后,得到具有有绝对地址的可执行文件,它是计算机直接执行的文件。 在UNIX下它以“.out”为后缀,在MS-DOS以下“.exe”为后缀。 执行过程: 15 第五课 vb语言及程序开发环境 一、教学目标 1、知识与技能 掌握VB定义的常用的基本数据类型,常量与变量的定义方法,运算符、

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1