计算机语言运用--数值计算9-方程的计算机处理95(3)_C++v6
计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。
计算机语言有低级语言-机器语言、汇编、高级语言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千种之多。
作为一种计算机器—可以协助人类处理各种事情—数值计算问题、文字处理问题、图形图像处理问题、事务问题……。自从有了数字计算的计算机器,几乎所有的可以交给计算机的事情,都交给计算机来处理—是辅助处理—按照人们的要求—事先安排的模式进行处理。
数值计算
代数的计算、初等函数的计算、代数方程的求解、解析几何与微分几何的求解、矢量-张量与场论的求解、抽象代数-空间及泛函分析、级数与变换、特殊函数问题、概率统计与随机过程分析计算、误差分析与实验数据处理、最优化方法分析、有限单元法求解、数论分析、集合论及其计算、拓扑学分析与计算、组合数学的计算、图结构处理、数理逻辑分析与处理、……、……
或者说:
自然数的计算、整数的计算、实数的计算、复数的计算、矢量-向量的计算、矩阵的计算、函数的计算、代数方程的计算、函数方程的计算、微分的计算、积分的计算、常微分-一元微分方程的计算、偏微分-多元微分方程的计算、连续数量的计算、离散数量的计算、集合的计算、组合数学的计算、……、……
或者说:科学与工程技术应用中的数值计算、……、……
方程的计算机处理
这里说的方程,是以实数域为计算范围。
这里说的方程:是含有未知数的等式。
可以是a+5=8,或X+A=B,或ax2+bx+c=0,或ax+by=c与dx-ey=f,或ax"+bx=c,或,或
……、……
计算机如何处理这些问题呢?,问题的描述是什么样子的,才能充分利用计算机呢?
当然是代数形式的。便于计算机发挥特长,便于程序软件的重用性。通过用户交互,决定将什么样的具体问题交给计算机进行数值处理。
方程的计算机处理
MATLAB语言及其平台、Fotran语言平台 C语言V6平台 C语言VS平台
C++语言V6平台
对于任何一个计算机语言来说,X+a=b型的方程也需要进行改造:
成为----X=b-a的样式;
计算机是进行数值计算的好帮手,因此需要对a,b预先赋值,再进行计算;
那么对于二元一次方程呢?也是如此。当然,最好是用求解方程的两个解的公式来进行处理—也就是,用它们作为计算机语言描述的基础。当然,需要计算机语言描述判别分母为零。这样,便有了方程处理的前期工作,手工处理。
有数学家推导的求根公式可以直接利用
从数学问题的自然语言表述到数学问题的计算机语言表述
二元一次方程组求解
求解的计算机语言表达分析,可以简单说明如下
算法说明:
方程的一般形式:a1x+b1y=c1; a2x+b2y=c2 或者
粗糙的给出求解的一般形式
求解的注意事项:需要判断① a1≠0;b1≠0; a2≠0; b2≠0;
对计算机语言的表述形式来说:需要声明和定义的变量有 a1;x;b1;y;c1; a2;x;b2;y;c2;
需要定义的计算语句有变量赋值语句
数值计算语句 ;
判断语句和格式 if then end if
接下来是说:C++是编译型语言,因此需要将所做工作用计算机语言编制程序,再交给计算机来处理。作为静态数据的模式,需要对计算的数据—数值或代数预先声明变量,以便申请到内存来放置。
用C++语言编写为文件形式,接着编译成*.exe文件,再运行—人机交互。
程序文件
//二元一次方程组--linearequation
//LinearEquation.cpp : Defines the entry point for the console application.
//
#include"stdafx.h"
#include
#include
#include
using namespacestd;
int main(intargc, char* argv[])
{
/*变量声明*/
int i,N;
float a1,b1,c1,a2,b2,c2;
double Q0,x,y;
char Fout_name[10];
/*数据输入-标准IO_键盘显示器*/
cout<输入1个整数N,指定你的计算次数"<
cin>>N;
for(i=0;i
{
cout<请输入二元一次方程的系数,a1,b1,c1 用空格隔开"<
cin>>a1>>b1>>c1;
cout<请输入二元一次方程的系数,a2,b2,c2 用空格隔开"<
cin>>a2>>b2>>c2;
//数据处理过程
Q0=a1*b2-b1*a2;
if(Q0!=0)
{
x=(b2*c1-b1*c2)/Q0;
y=(a1*c2-a2*c1)/Q0;
//标准IO_键盘显示器
cout<方程有两个解:"<
cout<与 "<
//信息存储
cout<数据处理完毕,请输入保存文件名,格式为:*.txt"<
cin>>Fout_name;
ofstream file_out(Fout_name);
file_out<键盘输入的二元一次方程系数为:a1="< file_out<
file_out<键盘输入的二元一次方程系数为:a2="< file_out<
file_out<计算机求解方程的结果如下,两个解:"<
file_out<
file_out<
cout<计算机处理结果被保存为 "<请检查!"<
}
else
cout<该方程组没有解!"<
}
return 0;
}
求解过程
输入1个整数N,指定你的计算次数
2
请输入二元一次方程的系数,a1,b1,c1 用空格隔开
1 2 3
请输入二元一次方程的系数,a2,b2,c2 用空格隔开
4 5 6
方程有两个解:
-1 与 2
数据处理完毕,请输入保存文件名,格式为:*.txt
1.txt
计算机处理结果被保存为 1.txt 请检查!
请输入二元一次方程的系数,a1,b1,c1 用空格隔开
3 5 9
请输入二元一次方程的系数,a2,b2,c2 用空格隔开
4 8 3
方程有两个解:
14.25 与 -6.75
数据处理完毕,请输入保存文件名,格式为:*.txt
2.txt
计算机处理结果被保存为 2.txt 请检查!
Press any key tocontinue
求解结果
咱不是要说明实际数学问题怎么变成计算机处理吗!就是数学方程的预先处理问题、计算机语言描述问题嘛。
在C、C++、C#、Fortran等语言中,你能看到复数的处理问题与描述。
感觉咋样?什么是方程的计算机处理—算法及其描述,运行及其人机交互。