浅谈算法思维在初中 VB 程序设计教学中的融入

发表时间:2020/9/7   来源:《中小学教育》2020年第3月第9期   作者:李海香
[导读] 今天,计算机在我们的生活中已经变得越来越重要,它深深地融入了人类生活的方方面面。为了能够很好地利用计算机,
        今天,计算机在我们的生活中已经变得越来越重要,它深深地融入了人类生活的方方面面。为了能够很好地利用计算机,人们用各种程序设计语言编写程序来帮助人们解决各种实际问题。算法是程序设计的关键之一,是解决问题的方法与步骤,是学习程序设计的重点。在VB程序设计教学中,算法就是通过提出问题、分析问题、解决问题的方法,将算法研究的思想贯穿其中,可以培养学生的研究意识以及发散式思维。
        关键词:VB程序设计;算法;教学
        《VB程序设计基础知识》是宁夏教育厅教研室编写的教材“信息技术”九年级下册的内容。通过这部分内容的学习,学生们不仅可以设计出界面美观、具备一定功能的应用程序,同时,还能体验到通过亲手编程控制计算机运行解决实际问题所带来的成就感。而在这一过程中,算法思维得到了很好的体现,也可以很好地培养了学生的算法思维。通过VB程序设计的学习,不仅仅是在计算机编程中能够运用,更重要的是通过学习到的知识可以解决各领域问题。算法思维是现今社会每个人都应该具备的思维模式。目前,算法思维的培养已经成为各界关注的焦点,将算法思维融入到程序设计教学中,亦可大大提高学生思维方式和解决实际问题的能力,有助于培养学生思维能力和创新能力,从而有助于创新人才培养。
那么如何在信息技术课教学中依托程序设计来渗透和培养学生的算法思维?下面结合我的教学工作实践做一些分享。
一、从趣味生活出发,理解算法的概念
在初次接触VB程序设计时,给出了几个贴近生活的趣味案例,然后引导学生进行分析并找到解决问题的方法以及具体实施步骤。
案例一:在最初认识算法时,我出示了一个趣味数学题:两个大人和两个小孩一起渡河,渡口只有一条小船,一次只能渡过一个大人或两个小孩,他们四个都会划船,但都不会游泳,请同学们设计一个方案,帮他们解决渡河的问题。通过分析、讨论,学生给出了一个渡河方案,方法与步骤如下:
第一步:两个小孩同船渡过河去;
第二步:一个小孩划船回来;
第三步:一人大人独自划船渡过河去;
第四步:对岸的小孩划船回来;
第五步:两个小孩再同船渡过河去;
第六步:一个小孩划船回来;
第七步:余下的一人大人独自划船渡过河去;
第八步:对岸的小孩划船回来;
第九步:两个小孩再同船渡过河去。
由此问题解决了,而解决问题的方法和步骤就是算法,这样自然而然地学生就理解了算法的概念。
二、从实际生活问题入手,融入算法思维
有了算法的概念以后,我们就可以将算法运用于实际问题中了。
案例二:商店规定,如果顾客购买某种商品金额超过20元,超过部分可以享受9折优惠。请帮商店设计一个“计算器”小程序,用这一程序可以计算顾客购买商品后实际支付的金额。
首先要引导学生分析问题,根据分析的结果设计出解决问题的方法和步骤,即算法。对于初次接触算法的学生来说,可以鼓励学生用自然语言来描述算法,即文字描述算法,所以以上案例可以设计如下的自然语言描述算法:
第一步:输入商品的单价X和顾客购买商品的数量Y
第二步:计算X 与Y的乘积,结果送给付款金额变量Z
第三步:判断Z的值是否大于20,如果Z>20,执行第四步;否则,执行第五步。
        第四步:计算表达式的值,并且将结果再次送给变量Z
        第五步:显示顾客实际应支付的金额Z。
        自然语言描述算法符合学生的一般的思维模式表达形式,通俗易懂。但是在VB程序设计中,用自然语言描述算法比较繁琐且不直观。所以在教学中,我们更多地对学生渗透另一种算法——流程图描述算法。用流程图描述算法直观形象,便于理清思路,更易于理解。现将案例一的算法用流程图描述如图1所示:
从算法的自然语言描述和流程图描述入手,蕴含结构化程序设计思想,通过读懂算法、理解算法、设计算法三个阶段,培养学生的逻辑思维,同时注重良好编程习惯的养成。
“算法”是思维和手段的最佳演绎,因此,在算法这节课的设计中我觉得要充分尊重知识本身的逻辑,就在无形中实现教师先将知识打包,学生解压缩理解消化后,能够再打包再加工运用的过程。所以在“算法”这节课中就是根据算法的概念——算法的表示——算法的生活体验——尝试算法设计这一逻辑发展主线,本着“以学生为本”原则,注重学生“思维”能力培养,将算法的基本思想渗透到本节课的教学环节中。
设计算法是编制计算机程序的核心,特别是编制一个较复杂的程序时,更是要精心地研究与设计算法。
案例三:在学习“循环结构程序的应用”这节课时,我设计了一个“蜗牛爬井”的问题:一个水井深20尺,蜗牛在井底,白天向上爬7尺,夜里下降2尺,设计一个程序,计算蜗牛几天可以爬出水井。
在设计这个程序时,首先要求学生通过分析来设计一个算法并用流程图将算法描述出来,如图2所示:
三、解决实际生活问题,体验算法思维的精髓
用自然语言或流程图设计并描述算法,算法的思维在学生的思想中逐步形成。但是我们最终要解决问题,那就是执行算法,实现算法。计算机解决问题的过程就是对算法的执行过程,但这个算法必须是计算机通解理解的语言描述,而我们的“VB”这种程序设计语言就是计算机可以理解的语言。VB是可视化的、面向对象的、采用事件驱动方式的结构化高级程序设计语言。我们可以轻松在画出用户界面,同时它的BASIC语言简单、易学。
下面就将“蜗牛爬井”问题的算法根据流程图的描述用VB程序设计语言编写一个循环结构程序加以实现。
Private Sub Command1_Click()
  Dim d As Integer            ' 变量d表示蜗牛向上爬的天数
  Dim s As Single             ' 变量s表示蜗牛爬上的高度
    d = 1
    s = 0
    Do While s <= 20         ' 当s小于或等于20时继续循环
      s = s + 7              ' 计算白天爬到的高度
      If s <= 20 Then       ' 判断是否爬出水井
        s = s - 2           ' 计算晚上降下后的高度
      End If
      d = d + 1
    Loop
    Form1.Print "蜗牛" + CStr(d) + "天可以爬出水井"
End Sub
在VB程序设计教学过程中, 注重从贴近生活的案例出发,体验算法的设计、算法的执行,培养学生思考生活的习惯,让学生在学习的过程中将算法思维时时融入到程序设计中,了解面向对象程序设计的思想和方法,并体会软件开发的设计思想,从而使学生能更加深刻地体会到算法的精髓,喜欢上程序设计并且激发学生自主设计程序的想法。
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: