如何用计算机解决问题计算机解决问题的过程算法描述与设计初试身手,体验编程韩信点兵韩信点兵秦朝末年,楚汉相争。一次,韩信将士1500人与楚国大将李锋交战。一场苦战后,楚军不敌,败退回营。汉军也死伤四五百人,于是韩信整顿兵马返回大本营。当韩信兵行至一山坡,忽后有来报,说楚军骑兵追来,只见远方尘土飞扬、杀声震天。汉军本已十分疲惫,这时队伍大哗。韩信兵马到坡顶,见来敌不足五百,决定速点兵迎敌。韩信命士兵3人一排,多出2名士兵;命士兵5人一排,多出3名士兵;命士兵7人一排,多出2名士兵。韩信向士兵宣布,我军有1073名勇士,敌不足五百,我们居高临下,以众击少,一定能打败楚军!汉军本来就很信服自己的统帅,于是士气大振,一时鼓声喧天,楚军大败。韩信点兵秦朝末年,楚汉相争。一次,韩信将士1500人与楚国大将李锋交战。一场苦战后,楚军不敌,败退回营。汉军也死伤四五百人,于是韩信整顿兵马返回大本营。当韩信兵行至一山坡,忽后有来报,说楚军骑兵追来,只见远方尘土飞扬、杀声震天。汉军本已十分疲惫,这时队伍大哗。韩信兵马到坡顶,见来敌不足五百,决定速点兵迎敌。韩信命士兵3人一排,多出2名士兵;命士兵5人一排,多出3名士兵;命士兵7人一排,多出2名士兵。韩信向士兵宣布,我军有1073名勇士,敌不足五百,我们居高临下,以众击少,一定能打败楚军!汉军本来就很信服自己的统帅,于是士气大振,一时鼓声喧天,楚军大败。韩信点兵数学建模今有物不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?一数被3除余数为2;被5除余数为3;被7除余数为2;求此数。韩信点兵1)筛法.首先写出“用3除余2”的数:2,5,8,11,14,17,20,23,26,29,…其中,“用5除余3”的数:8,23,…其中,“用7除余2”的数:23,…由此得到,23是最小的一个解。至于下一个解是什么,要把“…”写出来才知道;实践以后发现,是要费一点儿功夫的。韩信点兵2)列方程求解设三个正整数n,m,k,则根据题意可得到:3n+2=5m+3=7k+2化简方程,通过分析也可以得出满足条件的结果三人同行七十稀,五树梅花二一枝,七子团圆整半月,除百零五便得知。×70×21×15-105的倍数S=70a+21b+15c+105k(k∈Z,k的选取应使s>0)韩信点兵3)明朝数学家程大位在《算法统宗》中把上式总结为一首通俗易懂的歌决:2×70+3×21+2×15=233计算机解决问题过程分析问题设计算法编写程序运行程序验证结果问题解决例:韩信点兵一数被3除余数为2;被5除余数为3;被7除余数为2;求此数。算法分析:从1开始,判断此数能否被3、5、7除余数为2、3、2;如果是,此数即是所求;否则,此数加1继续再试。算法的基本概念算法:解题方法的精确描述。其要求是有有限个步骤组成的,并且每一步骤的含义都是明确的,而且是能行的。简单的说,算法就是解决问题的方法和步骤。例如:乐谱是乐队指挥和演奏的算法;菜谱是厨师做菜的算法等等。如何描述算法1.用自然语言描述算法2.用流程图描述算法3.用伪代码描述算法自然语言用自然语言表达算法,就是把算法的各个步骤,依次用人们熟悉的自然语言表示出来。优点:容易理解缺点:书写较烦、不确定性、对复杂的问题难以表达准确、不能被计算机识别和执行用自然语言描述算法Step1:将n的初始值赋为1Step2:如果n被3、5、7除余数为2、3、2,则输出n的值,转Step4Step3:将n的值加1,转Step2Step4:结束程序程序框名称功能开始/结束算法的开始和结束输入/输出输入和输出信息处理计算与赋值判断条件判断流程线算法中的流向连接圈表示算法流向出口或入口连接点常用的“流程图”所用的基本符号用流程图描述算法开始结束1N如果n被3、5、7除余数为2、3、2N+1N输出N的值YN流程图也称程序框图,是算法的一种图形化表示方法。优点:形象、直观、容易理解用伪代码描述算法介于自然语言和计算机程序语言的一种算法描述。优点:简洁、易懂、修改容易缺点:不直观、错误不容易排查用伪代码描述算法1NIFN被3、5、7除余数为2、3、2THEN输出NelseN的值加1Endif算法的特征有穷性:执行有限个步骤后结束,且每一步的执行时间也都是有限的;确定性:每一步都有确切的含义;可行...