日志详情

第二课 用计算机解决问题

买买提明·买买提2020/7/17分类:教学设计

一、教学目标

1)让学生了解算法、穷举法、程序设计语言、编写程序和调试程序等概念。

2)让学生知道对现实问题的自然语言的描述,特别是类似程序设计语言的自然语言描述。

3)让学生理解分析问题、设计算法、编写程序、调试程序这一用计算机解决问题的基本步骤,认识其在算法与程序设计中的作用。

二、重点难点

重点用计算解决问题的过程中的分析问题、设计算法、和上机调试程序等步骤。用计算机解决问题的过程中的分析问题、设计算法也是本节的难点。

 

三、教学过程(2课时)

(一)引入

    教师:“在科技发达的今天,我们到处都可以看到计算机的踪影,感受到计算机给学习、生活带来的方便。然而,在惊叹计算机的神奇和享受的欢乐的时候,你是否了解计算解决问题的基本过程?有没有思考过其中的奥妙呢?下面我们先看一个古典的问题:”

    学生观看的电视剧《汉刘邦》片断,内容大致如下:

“韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。”

片断结束时屏幕出现“韩信点兵”问题:“相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人……。刘邦茫然而不知其数。你呢?”

(二)问题

教师:“下面我们先助刘邦解决一个简单的问题。”

“韩信点兵”问题1:求整除31、整除52、整除74的最小自然数。

(三)探究

把全班分成16个学习小组,每个小组的同学一起探究、讨论问题。利用已学过的数学知识找出题目已知什么求什么、明确已知和未知之间的关系和写出求解问题的解题步骤。并填写《计算机解决问题的过程》教学活动表中的“探究问题记录表”。如下:

 

探究问题记录表

分析问题(找出已知和未知、列出已知和未知之间的关系)

写出解题步骤

结果

 

 

 

学生讨论,教师在这过程中到各学习小组中,引导个别学习小组分析问题、写出解题步骤。教师提问2~3个同学,从中逐渐引导出类似如下的分析问题和解题步骤,并给出算法的概念。

分析问题(找出已知和未知、列出已知和未知之间的关系)

写出解题步骤

    设所求的数为X,则X应满足:

X整除31

X整除52

X整除74

1、令X1

2、如果X整除31X整除52

       X整除74,这就是题目要求的数,则记下这个X

3、令XX+1(为算下一个作准备)。

4、如果算出,则结束;否则跳转2

5、写出答案。

教师解释第3步“另XX+1”并指出它与数学中的区别,并从上面的解题步骤中总结出穷举的算法。

教师:“刚才有些同学把题目解出来了,答案是67,韩信作为大将军,统率士兵当然不止67人,下面我们来解决一个数据量稍大的问题。”

展示题目:

“韩信点兵”问题2:求整除31、整除52、整除74、整除136、整除178的最小自然数。

学生分析上述问题并写出算法,不用计算。学生有了第1题的经验,很快会写出和第一题类似的算法。如下:

分析问题(找出已知和未知、列出已知和未知之间的关系)

写出解题步骤

    设所求的数为X,则X应满足:

X整除31

X整除52

X整除74

X整除136

X整除178

1、令X1

2、如果X整除31

       X整除52

       X整除74

X整除136

X整除178,则记下这个X

3、令XX+1

4、如果算出,则结束;否则跳转2

5、写出答案。

教师:“上面的结果超过1万,人工计算要很长时间,在科技发达的今天,你想到什么?”(用计算机解题)

(四)用计算机解决问题

教师:“计算机怎么样解决问题?用计算机解决问题,同样要经过分析问题、设计算法两步骤。”在讲授过程中展示人工解题中分析问题和设计算法这两个步骤。用计算机解题,是不是输入上面的算法?上面用自然语言描述的算法,计算机不懂,必须翻译成计算机的语言,这就是程序设计语言。”

本例用Visual 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

 教师:“程序编好以后,通过键盘输入计算机,并运行程序查看结果这个过程叫调试程序。”

(五)观摩

根据前面编制的程序,启动Visual Basic程序设计环境,输入程序代码,进行调试,最后得到运行的结果。要求同组内先完成的同学帮助还未完成的同学。帮助的时候不能代劳,只能动口不动手。

(六)交流

教师:“前面我们学习了用计算机解决问题的过程,它和人工解有什么关系呢?同一学习小组的同学一起探讨人工求解问题和用计算机求解问题的异同,并把讨论结果记录在《计算机解决问题的过程》教学活动表的“讨论记录”表中。如下:

关于求解问题的方式讨论记录

求解问题的方式

相同点

不同点

人工求解问题

 

 

用计算机求解问题

 

    教师提问2~3个小组的讨论结果,并引导出大致如下的形式结果:

求解问题的方式

相同点

不同点

人工求解问题

分析问题、设计算法、得出结果、验算结果等

对题目进行解答、运算速度慢、不需要计算机等

用计算机求解问题

编写程序、调试程序、运算速度快等