计算机解决问题的过程
一、课题引入:解方程试题
1、x2+4x+4=0 6、5x2-10x+17=0
2、3x2-5x+2=0 7、2.3x2+3x-4.6=0
3、6x2+5x-50=0 8、2x2-2x-99=0
4、4x2-3x+2=0 9、35x2+87x-104=0
5、7x2+23x+5=0 10、14x2-x-3=0
二、人解决问题的一般过程。
观察、分析问题
收集必要的信息
解决问题
判断、推理
根据已有的
知识、经验
按照一定的
方法和步骤
问:请同学们思考,你打算利用计算机如何来完成这个任务呢?
利用计算机求解方程:6x2+5x-50=0
三、计算机解决问题
6x2+5x-50=0解决步骤
第一步:分析问题
观察各项系数之间的关系,确定用公式法求解
第二步:用自然语言描述计算方法
step1、令a为6,b为5,c为-50。
Step2、令d为 b2- 4ac
step3、如果 d大于或等于0
则输出X1,x1为 ,
X2,x2为 ,
转到step4。
否则输出方程无解,转到step4。
step4、结束程序。
算法:简单地说,算法就是解决问题的方法和步骤。
第三步:将算法编写成计算机程序
原因:计算机读不懂算法,必须翻译成计算机的语言,这就是程序设计语言。
一元二次方程求解程序:
step1、令a为6,b为5,c为-50。
Step2、令d为 b2- 4ac
step3、如果 d大于或等于0
则输出X1,x1为 ,
X2,x2为 ,
转到step4。
否则输出方程无解,转到step4。
step4、结束程序。
a=6 b=5 c=-50
d=b^2-4*a*c
If d>=0 then
x1=(-b+sqr(d))/(2*a)
Else print “方程无解”
End if
x2=(-b-sqr(d))/(2*a)
Print x1,x2
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
第四步:运行、调试程序,检验结果。
第五步:问题得到解决
总结:计算机解决问题流程图
人机“问题解决”对比
相同点
不同点
人类解决问题
用计算机解决问题
计算速度
精确度
自动化
分析问题、设计算法、得出结果等
计算速度比较慢
计算速度比较快
精确度不高,易出错
编写程序、调试程序、运算速度快
具有一定的自动化
不具有自动化解决问题
拓展练习----韩信点兵
韩信是我国西汉初著名的军事家,刘邦得天下,军事上全依靠他。韩信点兵,多多益善,不仅如此,还能经常以少胜多,以弱胜强。在与楚军决战时韩信指挥诸侯联军,在垓下十面埋伏,击败楚军,楚霸王项羽因此自杀。
韩信说:“如果每3个人编为一队,那最后剩下1个人;如果每5个人编为一队,那最后剩下2个人;如果每7个人编为一队,最后剩下4个人。请你自己算一下,我有多少士兵?”(假设士兵总数不超过100人)
“韩信点兵”问题1:求整除3余1、整除5余2、整除7余4的最小自然数。
请同学们列出这道题的已知条件和未知,建立数学模型,列出解决这道题的方法和步骤,并尝试编写计算机解决问题的程序语言。
分析问题(找出已知和未知、列出已知和未知之间的关系)
写出解题步骤
??? 设所求的数为X,则X应满足:
X整除3余1
X整除5余2
X整除7余4
1、令X为1
2、如果X整除3余1,X整除5余2,X整除7余4,这就是题目要求的数,则记下这个X
3、令X为X+1(为算下一个作准备)
4、如果算出,则结束;否则跳转2
5、写出答案
算法:解决问题的方法与步骤。每一步都必须是确定的、能行的、不能有二义性。
穷举法
穷举法就是通过把需要解决问题的所有可能情况逐一试验来找出符合条件的解的方法 ,是效率最低的一种算法,优点是思路简单,编程容易。
分析问题和解题步骤
——算法1:穷举法求解
用计算机解决问题
上机任务一:每位同学都启动Visual Basic程序设计环境,输入程序代码,并调试运行。
士兵数:67
小结
用计算机程序解决问题的基本过程
设计算法
分析问题
编写程序
调试程序
检测结果