主程序代码就是这样,如果要详细的,留下邮箱我给你发过来
-----------------------------------------------------------------------
Private Sub Command1_Click()
If IsNumeric(Text3Text) And IsNumeric(Text4Text) And IsNumeric(Text5Text) And IsNumeric(Text6Text) And IsNumeric(Text7Text) And IsNumeric(Text8Text) Then
a1 = Val(Text3Text)
a2 = Val(Text4Text)
b1 = Val(Text5Text)
b2 = Val(Text6Text)
c1 = Val(Text7Text)
c2 = Val(Text8Text)
Else
MsgBox "未完整输入数据无法运算,请输入数据。"
a1 = Val(InputBox("a1 = ", "输入a1值", , 20))
b1 = Val(InputBox("b1 = ", "输入b1值", , 20))
c1 = Val(InputBox("c1 = ", "输入c1值", , 20))
a2 = Val(InputBox("a2 = ", "输入a2值", , 20))
b2 = Val(InputBox("b2 = ", "输入b2值", , 20))
c2 = Val(InputBox("c2 = ", "输入c2值", , 20))
End If
If IsNumeric(a1) And IsNumeric(b1) And IsNumeric(c1) And IsNumeric(a2) And IsNumeric(b2) And IsNumeric(c2) Then
Y1 = a1 c2 - a2 c1
X1 = b2 c1 - b1 c2
Text3Text = a1
Text4Text = a2
Text5Text = b1
Text6Text = b2
Text7Text = c1
Text8Text = c2
e = a1 b2 - a2 b1 + 1
Else
MsgBox " 字符无效 无法求解。"
Text1Text = "×"
Text2Text = "×"
End If
If e <> 1 And IsNumeric(a1) And IsNumeric(b1) And IsNumeric(c1) And IsNumeric(a2) And IsNumeric(b2) And IsNumeric(c2) Then
y = Y1 / (e - 1)
x = X1 / (e - 1)
Text1Text = x
Text2Text = y
ElseIf e = 1 Then
MsgBox "除数为零/系数相同 无法求解"
Text1Text = "×"
Text2Text = "×"
End If
End Sub
,VB中添加几个文本框,分别代表二元方程y=kx+b的k和b,
然后编计算代码,二元一次方程很简单的一个数学关系式,计算的编写应该好写的
注意的一点是文本框的数据参与计算时要转型,用val(text1text) and IsNumeric(text1text)来确保数据正确参与运算
二元一次方程组的意义
含有两个未知数的方程并且未知项的次数是1,这样的方程叫做二元一次方程。
两个二元一次方程合在一起,就组成了一个二元一次方程组。
有几个方程组成的一组方程叫做方程组。如果方程组中含有两个未知数,且含未知数的项的次数都是一次,那么这样的方程组叫做二元一次方程组。
解法
二元一次方程组有两种解法,一种是代入消元法,加减消元法
方程组:Ax+By=C Dx+Ey=F
算法的来源是线性方程组求解的克莱默法则,具体原理参看百科或相关文库。
①首先判断方程组解的存在性:当且仅当Δ=AE-BD≠0时,方程组有唯一的解;若等于0则输出:“方程组无解或有无穷多组解”;
②如有唯一解,则求解:
x=(CE-BF)/Δ
y=(AF-CD)/Δ
③输出结果;
程序框图有点难画,大概的流程是在最开始输入方程的系数,然后经过①判断,是则继续下一步②,否则输出语句后跳回;②计算完毕后输出结果跳回。
不好意思,没看清题目
#include<iostream>
using namespace std;
void main()
{
float a,b,c,d,e,f;
cout<<"请输入二元一次方程组\n"
<<"ax+by+c=0\n"
<<"dx+ey+f=0\n";
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
cout<<"c=";
cin>>c;
cout<<"d=";
cin>>d;
cout<<"e=";
cin>>e;
cout<<"f=";
cin>>f;
if(ae==bd)
cout<<"方程组无解。\n";
else
{
cout<<"x="<<(bf-ec)/(ae-bd)<<endl;
cout<<"y="<<(af-dc)/(bd-ae)<<endl;
}
}
分析 分析程序中各变量、各语句的作用,再根据流程图所示的顺序,可知:该程序的作用是用行列式解二元一次方程组 的解. 分析程序中各变量、各语句的作用, \n再根据流程图所示的顺序,可知: \n该程序的作用是是用行列式解二元一次方程组 的解. \n当D≠0时,输出方程组的惟一 ; \n当D=0,D x =0且D y =0时,输出方程组方程组有无穷多解; \n当D=0时,D x ≠0或D y ≠0时,输出方程组方程组无解; \n故答案为:(1) (2)方程组无解、(3)方程组有无穷多解. 点评 根据流程图(或伪代码)写程序的运行结果,是算法这一模块最重要的题型,其处理方法是::①分析流程图(或伪代码),从流程图(或伪代码)中既要分析出计算的类型,又要分析出参与计算的数据(如果参与运算的数据比较多,也可使用表格对数据进行分析管理)⇒②建立数学模型,根据第一步分析的结果,选择恰当的数学模型③解模.
我只是个学生,想来参与下,呵呵
#include<iostreamh>
int jc(double x)
{
if(x>127||x<-128)return 0;
return 1;
}
void main()
{
double a1,a2,b1,b2,c1,c2,x,y;
loop:cout<<"请输入a1,b1,c1"<<endl;
cin>>a1>>b1>>c1;
cout<<"请输入a2,b2,c2"<<endl;
cin>>a2>>b2>>c2;
if(!jc(a1)||!jc(a2)||!jc(b1)||!jc(b2)||!jc(c1)||!jc(c2))
{cout<<"输入的值应在-128与127之间,请重新输入"<<endl;<br/> goto loop;}
b2=b2-b1a2/a1;
c2=c2-c1a2/a1;
cout<<"-----------------------------------------------------答案如下"<<endl;
if(b2==0&&c2==0)
cout<<"有无数解"<<endl;
if(b2==0&&c2!=0)
cout<<"无解"<<endl;
if(b2!=0&&c2==0)
{
x=c1/a1;
if(jc(x))cout<<"y=0,x="<<x<<endl;
else cout<<"由于x值超出范围,所以无法显示"<<endl;
}
if(b2!=0&&c2!=0)
{
y=c2/b2;
x=c1/a1-b1c2/b2/a1;
if(jc(x)||jc(y))cout<<"y="<<y<<"x="<<x<<endl;
}
cout<<"谢谢使用,再见"<<endl;
}
以上就是关于求用VB编辑一个计算二元一次方程组的程序全部的内容,包括:求用VB编辑一个计算二元一次方程组的程序、用VB怎样编写二元一次方程的程序、解二元一次方程组程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)