《剖析计算机程序解决问题课件》由会员分享,可在线阅读,更多相关《剖析计算机程序解决问题课件(13页珍藏版)》请在金锄头文库上搜索。
1、剖析计算机解决问题的过程,个人计算机的另一个称呼是什么? 电脑 为什么称计算机是电脑呢? 计算机能模拟人的大脑的活动,是人脑的延伸,要研究计算机解决问题的过程,需要从 人解决问题的过程谈起。,“韩信点兵”的故事,“韩信点兵”问题: 相传汉高祖刘邦问大将军韩信有兵士多少,韩信答说,每3人一列余1人、5人一列余2人、7人一列余4人、13人一列余6人。刘邦茫然而不知其数。你呢?,下面我们先助刘邦解决一个简单的问题: 问题1: 求整除3余2、整除5余3、整除7余2的最小自然数。,“韩信点兵”的解法,1)筛选法 首先写出“用3除余2”的数:2,5,8,,11,14,17,20,23,26,,29 其中,
2、“用5除余3”的数:8,23,, 其中,“用7除余2”的数:23, 由此得到,23是最小的一个解。 至于下一个解是什么,要把“”写出来才能知道:实践以后发现,是要费一点儿功夫的。,“韩信点兵”的解法,2)公倍数法 现在仿照上边用过的“公倍数法”,设要求的数为 X,则依题意,得联立方程组,探究问题记录表,设所求的数为X, 则X应满足: X整除3余2 X整除5余3 X整除7余2,1、令X为1。 2、如果X整除3余2,X整除5余3,X整除7余2,这就是题目要求的数,则记下这个X。 3、令X为X+1(为算下一个作准备)。 4、如果算出,则结束;否则跳转2。 5、写出答案。,“韩信点兵”问题2,问题2:
3、 求整除3余1、整除5余2、整除7余4、整除13余6、整除17余8的最小自然数。,探究问题记录表2,设所求的数为X,则X应满足: X整除3余1 X整除5余2 X整除7余4 X整除13余6 X整除17余8,1、令X为1。 2、如果X整除3余1, X整除5余2, X整除7余4, X整除13余6, X整除17余8,则记下这个X 3、令X为X+1。 4、如果算出,则结束;否则跳转2 5、写出答案。,能不能让计算机来帮助我们解决问题呢?,肯定地回答:能,?,用计算机解决问题,本例用Visual Basic语言编写的程序如下: Private Sub Command1_Click() Dim X As I
4、nteger, Y As Integer X = 1: Y = 0 Do If X Mod 3 = 1 Then If X Mod 5 = 2 Then ( 1 ) Then ( 2 ) Then ( 3 ) Then Y = X End If End If End If End If X = X + 1 Loop Until Y 0 Print “韩信统御士兵数:“; Y End Sub,mod函数是一个求余函数,即是两个数值表达式作除法运算后的余数。,Y的作用是什么?,Y是一个变量,变量就像一个小盒子,只要符合条件的,就可以把数值放入盒子里。,用计算机解决问题的基本过程,分析问题,设计算法,编写程序,运行程序验证结果,开始,问题解决,修改,解决问题方式的比较,分析问题、设计算法、得出结果、验算结果等,对题目进行解答、运算速度慢、不需要计算机等,编写程序、调试程序、运算速度快等,谢谢!,