课题用计算机程序解决问题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课题:用计算机程序解决问题

课时:2课时

三维教学目标:

1.知识技能:

1、掌握VB语言与算法

2、能够根据生活中的问题。设计出程序去解决

2.过程方法:

理解程序的作用,学会编写程序,使待解决的问题得到解决

3.情感态度:

体会学习用计算机程序解决问题的意义,自觉养成多角度处理信息习惯,努力提高自己处理信息的能力。

设计思想:

用计算机程序解决问题是用计算机进行信息处理的几种基本方法之一。新课标中对这一部分“初步掌握用计算机进行信息处理的几种基本方法,认识其工作过程与基本特征”;的描述是:

对选修模块“算法与程序设计”的描述则为“……使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用,能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法解决问题。”

高一级学生大部分对“程序”具有好奇心同时完全没接触过编程。急于看到自己的编程成果与严格规范的程序设计环境之间存在矛盾:一方面,程序设计不可能一蹴而就;一方面,学生的好奇心与求知欲应得到有效的引导与满足。协调好这两方面的矛盾需要有所取舍。

因此,在设计必修模块的这一单元时,我把目标定为“了解程序设计是什么,用程序解决问题的过程是什么”,绕开了设计程序时具体编程语言的语法规范、编程技巧等等环节。学生直接面向问题,分析问题,设计算法,运行程序,检测结果,从实践中体验程序设计的全过程。其中“编程调试”环节中程序由教师以学习资源的形式提供帮助,使学生摆脱语言的束缚,专心体会程序设计的内涵,构建起对程序的整体印象,初步对算法有所认识。总之,不要求学生能够编程序,只要求学生知道程序是什么,编程序是在干什么,并培养学生进一步学习程序设计的兴趣。

教学目标:

了解程序是什么,用程序解决问题的过程是什么,初步掌握程序设计的工作过程;培养学生进一步学习程序设计的兴趣。

教学重难点:

1、程序设计的整体流程

2、用程序设计的思想解决实际问题

3、培养学生学习程序设计的兴趣;

教学过程:

一、复习引入:

程序设计能够帮助解决我们学习中的问题。那么应用程序设计来解决问题的机制是什么样的?或者说,当面对一个具体问题,要编程序来解决时,作为程序员的我们要先做什么,再做什么?而计算机面对问题时,它又是怎样处理的?

(有解的问题总是可以通过有限的步骤来完成的。面对问题时,首先是分析问题,接着把问题描述成有限的步骤序列,也即设计出算法。下面,我们通过实例的分析,来体验利用计算机程序解决决问题的过程:分析问题,设计解决问题的步骤序列,并通过运行程序来进一步了解计算机处理问题的方法)

二、韩信点兵:

1、问题描述

“韩信点兵,多多益善”这句话大家都知道,那究竟这“多多”的士兵共有多少呢?韩信说:“如果每3个人编为一队,那最后剩下1个人;如果每5个人编为一队,那最后剩下2个人;如果每7个人编为一队,最后也剩下2个人。请你自己算一个,我有多少士兵?”(假设士兵总数不超过100人)

2、编程求解

(1)分析问题:

◇数学解法

设士兵共有S名。S除以3,5,7所得的商分别为A,B,C,那么由题意,有

3A+1=S

5B+2=S

7C+2=S

这是一个“未知数的个数(这里有S,A,B,C共4个)多于方程的个数(这里有3个)”的方程组。它可以合并成一个方程(将3个方程相加)

3A+5B+7C+5=3S或3A+1=5B+2=7C+2=S

这个方程中含有2个或2个以上的未知数。我们把这样的方程叫做不定方程,把前面这样的方程组叫做不定方程组。

上面所列举的方程或方程组都有无限多个正整数解(取S=37,37+105,37+105×2,…代入方程组,就可以得到相应的各组A,B,C的值)

◇古代解法

在我国古代的数学著作中,对这个问题也做了非常详细的研究,并总结了解题的方法:三人同行七十(70)稀,

五树梅花廿一(21)枝,

七子团圆正半月(15),

余百零五(105)便得知

意思是说,把除以3、5、7所得的余数,分别乘以70、21、15,加起来的和再减去105的倍数,所得的差小于105时就是我们所求的这个数了。

(2)设计算法:

所谓算法,就是解决问题的方法和步骤。“韩信点兵”的算法可以描述为:

用S表示士兵数目,则问题可以表达为找出同时满足

S MOD 3=1

S MOD 5=2

S MOD 7=2

的整数来。

①. 设士兵数目为S,令S为100(最大数),开始搜索

②. 判断:如果S除以3余1、S除以5余2、S除以7余2同时成立,那么当前

的数S就是解,程序结束;

③. 否则,S减1,转②重复这个判断过程。

(3)编写程序:

对应上述算法,套用合适的结构、语句编写程序。

(4)调试运行:

说明:以上(3)、(4)两步由于实际条件的限制,由教师完成,学生只需复制程序、运行程序,检测结果即可。

(5)检测结果:

运行程序,用古代算法和手工算法来验证运行结果。

小结:用计算机程序来解决问题的一般步骤是:

分析问题→设计算法→编写程序→调试运行→检测结果

3、用程序解决问题和用手工解决问题的对比

将本题拓展:(1)除数不再是3,5,7,而是13,15,17?(2)数据规模改得更大一些,例如,1000以内的最大数,10000以内的最大数,10万以内的最大数?则三种解法依然能起作用的只有编程序了。

总结:利用计算机程序解决问题更方便,自动化程度高;更有普遍性。计算机程序能给我们的学习、生活带来很多的方便,很多的乐趣;计算机编程的学习需要专心的训练,乐于钻研的精神,同时,学习编程也会为我们带来发现的惊喜和成功的喜悦。更进一步的学习可以选修《算法与程序设计模块》。

相关文档
最新文档