1.1计算机解决问题的过程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
精确度不高,易出错 编写程序、调试程序、 运算速度快
不具有自动化解决问题 具有一定的自动化
拓展练习----韩信点兵
韩信是我国西汉初著名的军事家,刘邦得天下,军 事上全依靠他。韩信点兵,多多益善,不仅如此,还能经 常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联 军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。 韩信说:“如果每3个人编为一队,那最后剩下1 个人;如果每5个人编为一队,那最后剩下2个人;如果 每7个人编为一队,最后剩下4个人。请你自己算一下, 我有多少士兵?”(假设士兵总数不超过100人)
分析问题(找出已知和未 知、列出已知和未知之 间的关系)
写出解题步骤
结果
分析问题和解题步骤
——算法1:穷举法求解
分析问题(找出已知 和未知、列出已知 和未知之间的关系)
写出解题步骤
1、令X为1 2、如果X整除3余1,X整除5余2 设所求的数为X, ,X整除7余4,这就是题目要求 则X应满足: 的数,则记下这个X X整除3余1 3、令X为X+1(为算下一个作准 X整除5余2 备) X整除7余4 4、如果算出,则结束;否则跳 穷举法 转2 5、写出答案
士兵数:67
拓展
“韩信点兵”问题2:求整除3余1、整除5余2、 整除7余4、整除13余6、整除17余8的最小自 然数。 上机任务二:分析上述问题并写出算法, 修 改程序,调试运行,检测结果。
士兵数:18232
实践1 农夫的故事
一个农夫带着一条狼、一头山羊和一篮蔬 菜要过河,但只有一条船。乘船时,农夫只能 带一样东西。当农夫在场的时候,这三样东西 相安无事。一旦农夫不在,狼会吃羊,羊会吃 菜。请设计一个算法,使农夫能安全地将这三 样东西带过河。
算法:解决问题的方法与步骤。每一步都必须是确 定的、能行的、不能有二义性。
穷举法就 是通过把 需要解决 问题的所 有可能情 况逐一试 验来找出 符合条件 的解的方 法 ,是 效率最低 的一种算 法,优点 是思路简 单,编程 容易。
用计算机解决问题
上机任务一:每位同 学都启动Visual Basic 程序设计环境,输入 程序代码,并调试运 行。
对于同一个问题,解决方法是否只有一种?
演示课件
过河步骤:
解二:
解一:
1、农夫带羊过河
2、农夫回来
1、农夫带羊过河
2、农夫回来 3’、带蔬菜过河 4、把羊带回来 5’、把狼带过河 6、农夫回来 7、把羊带过河
3、把狼带过河
4、把羊带回来 5、带蔬菜过河 6、农夫回来 7、把羊带过河
小结
用计算机程序解决问题的基本过程
请同学们列出这道题的已知条件和未知,建立数学模型,列出解 决这道题的方法和步骤,并尝试编写计算机解决问题的程序语言。
“韩信点兵”问题1:求整除3余1、整除5余2、 整除7余4的最小自然数。
合作探究:
以小组为单位,利用已学过的数学知识找出题 目已知什么求什么、明确已知和未知之间的关系, 写出求解问题的解题步骤。并填写 “探究问题记录 表”。
b2 4ac 2a
则输出X1,x1为
X2,x2为 ,
, b
x1=(-b+sqr(d))/(2*a) x2=(-b-sqr(d))/(2*a) Print x1,x2 Else print “方程无解” End if
b b2 4ac 2a
转到step4。 否则输出方程无解,转到step4。 step4、结束程序。
6x2+5x-50=0解决步骤
第二步:用自然语言描述计算方法 step1、令a为6,b为5,c为-50。 Step2、令d为 b2- 4ac step3、如果 d大于或等于0
则输出X1,x1为
X2,x2为 转到step4。
,
,
b b2 4ac 2a b b2 4ac 2a
否则输出方程无解,转到step4。 step4、结束程序。
计算机解决问题的过程
一、课题引入:解方程试题
1、x2+4x+4=0 2、3x2-5x+2=0 3、6x2+5x-50=0 4、4x2-3x+2=0 5、7x2+23x+5=0 6、5x2-10x+17=0 7、2.3x2+3x-4.6=0 8、2x2-2x-99=0 9、35x2+87x-104=0 10、14x2-x-3=0
算法:简单地说,算法就是解决问题的方法和步骤。
第三步:将算法编写成计算机程序
原因:计算机读不懂算法,必须翻译成 计算机的语言,这就是程序设计语言。
一元二次方程求解程序:
step1、令a为6,b为5,c为-50。 Step2、令d为 b2- 4ac step3、如果 d大于或等于0
a=6 b=5 c=-50 d=b^2-4*a*c If d>=0 then
Dim a As Single, b As Single, c As Single, d As Single, X1 As Single, X2 As Single a = 6,b = 5,c = -50 d=b^2-4*a*c If d >= 0 Then X1 = (-b + Sqr(d)) / (2 * a) X2 = (-b - Sqr(d)) / (2 * a)
Print X1, X2
Else Print "方程无解" End If
第四步:运行、调试程序,检验结果。 第五步:问题得到解决
总结:计算机解决问题流程图
人机“问题解决”对比
相同点
分析ຫໍສະໝຸດ Baidu题、设计算法、得出结果等
人类解决问题 计算速度 不同点 精确度 自动化
计算速度比较慢
用计算机解决问题
计算速度比较快
设计算法 编写程序 调试程序 检测结果
分析问题
人工解题与计算机解题的异同点
二、人解决问题的一般过程。
观察、分析问题
收集必要的信息
判断、推理
根据已有的 知识、经验 解决问题
按照一定的 方法和步骤
三、计算机解决问题
利用计算机求解方程:6x2+5x-50=0 问:请同学们思考,你打算利用计算机如何 来完成这个任务呢?
第一步:分析问题
6x2+5x-50=0解决步骤
观察各项系数之间的关系,确定用公式法求解