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

上传人:101****457 文档编号:107334371 上传时间:2019-10-19 格式:DOC 页数:27 大小:40.76KB
返回 下载 相关 举报
《算法与程序设计》选修教案_第1页
第1页 / 共27页
《算法与程序设计》选修教案_第2页
第2页 / 共27页
《算法与程序设计》选修教案_第3页
第3页 / 共27页
《算法与程序设计》选修教案_第4页
第4页 / 共27页
《算法与程序设计》选修教案_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《《算法与程序设计》选修教案》由会员分享,可在线阅读,更多相关《《算法与程序设计》选修教案(27页珍藏版)》请在金锄头文库上搜索。

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个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写计算机解决问题的过程教学活动表中的“探究问题记录表”。如下: 4 探究问题记录表 分析问题

10、(找出已知和未知、列出写出解题步骤 结果 已知和未知之间的关系) 学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问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、写出答案。 教师解释第3步“另X为X+1”并指

11、出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。 教师:“刚才有些同学把题目解出来了,答案是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 X整除5余2, X整除7余4 X整除

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

13、看如下: 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、情感态度和价值观 以生活中的实例引入算法,激发学生的学习兴趣,培养学生的主动探究能力。 二、重点难点 (一)教学重点 1、算法的定义; 2、算法的三种表达方法; 3、流程图的六种基本符号; 4、用流程图描述简单的算法。 (二)教学难点 5、算法的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号