- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
求解一元二次方程的实数根
PAGE 3
PAGE 4
实践六 求解一元二次方程的实数根
1、实践目标
(1)掌握赋值、选择语句的使用方法。
(2)学会用顺序、选择结构编写程序。
2、任务描述
编写程序要求:输入一元二次方程的三个系数,输出求解结果。
3、操作提示
(1)分析问题。计算一元二次方程的实数根,根据方程系数的变化,利用可判断实数根的情况:有两个相同的实数根、有两个不同的实数根或者无实数根。设,则方程的实数根情况如表6-1。
表6-1
d的情况有无实数根实数根为多少情况1d0有两个不同的实数根X1=(-b+sqr(d)/(2*a)
X2=(-b-sqr(d)/(2*a)情况2d=0有两个不同的实数根X1=X2=(-b)/(2*a)情况3d0无实数根-(2)设计算法。根据分析结果将以下流程图补充完整:
Y
Y
N
N
计算d←b^2—4*a*c
开始
输???系数a、b、c
d0?
X1=(-b+sqr(d))/(2*a)
X2=(-b-sqr(d))/(2*a)
无实数根
结束
(3)程序实现。
①新建工程,创建窗体。界面设计参照图6-1,属性设置参照表6-2。
表6-2 窗体中主要控件属性设置
对象属性名称属性值From1Caption求一元二次方程的实数根Label1Caption系数aLabel2Caption系数bLabel3Caption系数cLabel4CaptionX1=Label5CaptionX2=Label6Caption(空白)Text1Text(空白)BackColorH0000FFFF(黄色)Text2Text(空白)BackColorH0000FFFF(黄色)Text3Text(空白)BackColorH0000FFFF(黄色)Text4Text(空白)BackColorH0000FFFF(黄色)Text5Text(空白)BackColorH0000FFFF(黄色)Command1Caption计算开始②完善下列程序代码,并将其输入计算按钮的代码窗口中。
Private Sub Command1 Click( )
Dim a As Double, b As Double, c As Double, d As Double, X1 As Double, X2 As Double
a=Val(Text1. Text)
b=Val(Text2.Text)
c=Val(Text3.Text)
d=
If d0 Then
X1=
X2=
Text4.Text=Str(X1)
Text5.Text=Str(X2)
Label6.Caption=“有两个不同的实数根”
Else
If Then
X1=(-b)/(2*a)
X2=X1
Text4.Text=Str(X1)
Text5.Text=Str(X2)
Label6.Caption=“有两个不同的实数根”
Else
Text4.Text=“”
Text5.Text=“”
Label6.Caption=“ ”
End If
End If
End Sub
[扩展与提高]
(4)当输入的系数a=0时,上述程序将产生溢出错误,且方程不再是一元二次方程。请修改上述程序,增加判断方程是否是一元二次方程,解决溢出错误。
文档评论(0)