1 / 82
文档名称:

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

格式:doc   大小:2,407KB   页数:82页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:xreqing 2022/10/1 文件大小:2.35 MB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:该【《算法与程序设计》选修教案 】是由【xreqing】上传分享,文档一共【82】页,该文档可以免费在线阅读,需要了解更多关于【《算法与程序设计》选修教案 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。2
第一课初识算法和程序设计
一、教学目的
1、知识和技能
(1)理解算法的概念,培养学生自我探究信息,高效获取信息的才能;
(2)能初步利用算法解决简单的问题,培养学生的理论联络实际才能和动手操作才能.
2、情感、态度、价值观
学生在学习过程中,通过亲身经历体验获得对此算法的感性认识,培养学生自我获取信息、分析评价信息、、表达呈现信息的才能,进一步进步其信息素养.
二、教学重点难点
重点:算法概念的理解
难点:如何科学合理的选择和设计算法.
三、教学策略和手段
以兴趣性问题设置情境,激发学生探究解决问题的兴趣,和学生进展互动讨论,通过Flash演示材料,比较直观地把抽象的问题简单化,使学生的考虑逐步深化,从而总结出算法的概念,学会如何设计和选择算法,培养学生自主探究学习的才能。
四、教学过程(1课时)
(一)我们来共同寻找下面一些生活中比较现实的问题的解决方法。
【问题一】天下真的有“不要钱的午餐”吗?
某一餐馆门口海报上写着“不要钱的午餐",规那么如下:在三个月内,来宾必须凑够五个人,五人每次来就餐必须按照不同的顺序坐,直到把所有可能的顺序都坐一遍,以后来吃饭就可永远免费
2
”.于是有人想,这太容易了,每人每次坐不同的位置,吃五次不就行了?于是他就叫上自己的朋友参加这项活动,可是,吃了十次之后,还没有吃上免费午餐,这是怎么回事呢?
学生们感觉非常有意思,很快以小组为单位进展热烈的讨论并得出了破解问题的步骤:①第一个座位5个人都有坐的时机②第二个座位只有4个人中的任一个有坐的时机(一个人不能同时坐两个座位)③第三个座位只有3个人中的任一个有坐的时机④第四个座位只有2个人中的任一个有坐的时机⑤第五个座位只有1个人有坐的时机⑥计算:5×4×3×2×1=120⑦得出结论:需要吃120次才有可能吃上免费午餐。
【问题二】有三个和尚和三个妖怪过河,只有一条能装下两个人的船,在河的任何一方或者船上,假设妖怪的人数大于和尚的人数,那么和尚就会有被吃掉的危险。你能不能找出一种安全的渡河方法呢?请写一写你的渡河方案。
学生:学生讨论答复。
〖展示步骤〗
①两个妖怪先过河,一个妖怪回来;
②再两个妖怪过河,一个妖怪回来;
③两个和尚过河,一个妖怪和一个和尚回来;
④两个和尚过河,一个妖怪回来;
⑤两个妖怪过河,一个妖怪回来;
⑥两个妖怪过河。
3
【Flash动画展示】通过讨论和动画展示,我们可以知道,计算机解决问题和人解决问题一样需要有明晰的解题步骤。算法就是解决问题的程序或步骤。
(二)【课件展示】算法的概念:
1、广义的算法是指完成某项工作的方法和步骤,在我们日常生活中也经常使用算法,只是没意识到罢了。如:洗衣机的使用说明书是操作洗衣机的算法,菜谱是做菜的算法等等。
2、在数学中,现代意义的算法是指可以用计算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且可以在有限步之内完成。
【小试身手】按照这样的理解,:(要求学生自己考虑并写出详细的算法)
,如今只知道里面一共有17个头,48只脚,鸡和兔各有多少只?试设计一个求解的算法。
【设计意图】求解鸡兔的问题简单直观,却包含着深化的算法思想。应用解二元一次方程组的方法来求解鸡兔同笼问题。
第一步:设有小鸡x只,小兔y只,那么有
第二步:将方程组中的第一个方程两边乘-2加到第二个方程中去,得到,得到y=7;
第三步:将y=7代入(1)得x=10。
【变一变】在笼中有鸡、兔假设干,有头a个,有脚b只,求各有多少只鸡和兔。
4
【师生合作】老师带着学生共同书写标准的算法的详细步骤,最后引出算法使用的范围:能解决一类问题,并且能重复使用。
(三)【课件展示】算法的根本特征
①有穷性②确定性③不唯一性④有效性(逻辑性)
1、有穷性:一个算法应该包含有限个操作步骤,而不能是无限的.
2、确定性:算法的每个步骤都应该是明确无误的,不能含义模糊,使执行者无所适从。
3、有零个或者多个输入,有一个或者多个输出
4、有效性:算法中的每一步都应该能有效地执行,执行算法最后应该能得到确定的结果。
【教学总结】
1、本节课通过一些生活中看似简单问题的解决方法和步骤,使学生比较轻松的承受了生活算法的概念,进一步理解了计算机算法的概念。
2、课堂教学的效益取决于学生对所学知识理解了多少,,培养学生的动手才能,并且引出学生对下一节课的内容的考虑,比较顺利的完成了本节课的教学任务。
3、如何优化算法,找到算法的形式和用算法解决问题的效益的最正确结合点,还尚需讨论。
5
第二课用计算机解决问题
一、教学目的
(1)让学生理解算法、穷举法、程序设计语言、编写程序和调试程序等概念。
(2)让学生知道对现实问题的自然语言的描绘,特别是类似程序设计语言的自然语言描绘.
6
(3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的根本步骤,认识其在算法和程序设计中的作用.
二、重点难点
重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。
三、教学过程(2课时)
(一)引入
   老师:“在科技兴隆的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否理解计算解决问题的根本过程?有没有考虑过其中的微妙呢?下面我们先看一个古典的问题:”
   学生观看的电视剧《汉刘邦》片断,内容大致如下:
“韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在和楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。”
片断完毕时屏幕出现“韩信点兵"问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。?”
(二)问题
8
老师:“下面我们先助刘邦解决一个简单的问题。”
“韩信点兵"问题1:求整除3余1、整除5余2、整除7余4的最小自然数.
(三)探究
把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目什么求什么、明确和未知之间的关系和写出求解问题的解题步骤。并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。如下:
探究问题记录表
分析问题(找出和未知、列出和未知之间的关系)
写出解题步骤
结果
 
 
 
学生讨论,老师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。老师提问2~3个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。
分析问题(找出和未知、列出和未知之间的关系)
写出解题步骤
   设所求的数为X,那么X应满足:
1、令X为1。
2、假设X整除3余1,X整除5余2,
8
X整除3余1
X整除5余2
X整除7余4
      X整除7余4,这就是题目要求的数,那么记下这个X.
3、令X为X+1(为算下一个作准备).
4、假设算出,那么完毕;否那么跳转2。
5、写出答案。
老师解释第3步“另X为X+1”并指出它和数学中的区别,并从上面的解题步骤中总结出穷举的算法。
老师:“刚刚有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一个数据量稍大的问题."
展示题目:
“韩信点兵”问题2:求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数.
学生分析上述问题并写出算法,不用计算。学生有了第1题的经历,很快会写出和第一题类似的算法。如下:
分析问题(找出和未知、列出和未知之间的关系)
写出解题步骤
   设所求的数为X,那么X应满足:
1、令X为1。
2、假设X整除3余1,
9
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万,人工计算要很长时间,在科技兴隆的今天,你想到什么?”(用计算机解题)
(四)用计算机解决问题
老师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。用计算机解题,是不是输入上面的算法?上面用自然语言描绘的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。”
本例用VisualBasic语言编写的程序请看如下:
PrivateSubCommand1_Click()
 DimXAsInteger,YAsInteger
 X=1:Y=0
 Do
   IfXMod3=1Then
10
     IfXMod5=2Then
       IfXMod7=4Then
         IfXMod13=6Then
           IfXMod17=8ThenY=X
         EndIf
       EndIf
     EndIf
   EndIf
   X=X+1
 LoopUntilY>0
 Print"韩信统御士兵数:";Y
EndSub
 老师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序.”
(五)观摩
根据前面编制的程序,启动VisualBasic程序设计环境,输入程序代码,进展调试,最后得到运行的结果。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。
(六)交流
老师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起讨论人工求解问题和用计算机求解问题的异同,并把讨论结果记录在《计算机解决问题的过程》教学活动表的“讨论记录”表中。如下: