治疗白癜风的医院 http://pf.39.net/bdfyy/bjzkbdfyy/实数计算规则、程序算法分析与C#语言实现
代数、初等函数、代数方程、解析几何与微分几何、矢量-张量与场论、抽象代数-空间及泛函分析、级数与变换、特殊函数、概率统计与随机过程、误差分析与实验数据处理、最优化方法、有限单元法、数论、离散量、集合论、拓扑学、组合数学、图结构、数理逻辑、……、都有自己的运算规则。
数及其计算规则初等函数及其计算规则
在实数的范围内—实数计算结果仍然为实数称为实数域的运算是闭合的。可以加减乘除-连加连减连乘连除-四则混合运算!--不能随意开方。自然数、整数、实数的兼容-混合使用。
可这些规则,计算机处理的时候,怎样才能保证呢。也就是说在编程序讲给计算机听的时候,给计算机下指令的时候,在做程序算法分析的时候,需要考虑在哪些环节设置、控制、评价、监测,计算过程也需要监测吗。数值输入输出等环节,是否满足数学学科的规则。
语言和编译器提供的运算符号(加减乘除平方开方-幂运算,初等函数运算等)有没有自动遵循数学学科的规则,小括号、中括号有没有优先级。大括号肯定不能用(许多语言把它作为程序段-主函数、类、命名空间等的标记符)。
电脑可能没有人们想象的那么聪明。指令是由人的意志下达的,电脑只是个忠实的执行者而已。
有了数学学科的规定和规则,下来的工作就是用计算机语言描述而已。下面看一下实数域的加、减、乘、除、平方、初等函数的计算问题。
C#语言的格式-模板-规定
#RealArithmetic.CS
usingSystem;
namespaceCons_arithmetic
{
classProgram
{
staticvoidMain(string[]args)
{
/*变量声明-初始化*/
数据输入-标准IO与文件-磁盘操作
//处理过程
数据输出-标准IO与文件-磁盘操作
Console.ReadKey();
}
}
}
C#语言的在上面的格式-模板-规定下的程序描述
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.IO;
usingSystem.Data;
namespaceRealArithmetic
{
classProgram
{
staticvoidMain(string[]args)
{
inti,j,k,N;
Console.WriteLine("输入测试次数");
N=int.Parse(Console.ReadLine());
for(i=0;iN;i++)
{
doublex,Re,Rs,Rc,Rt,Rlg;
floatRseries;
doubleans0,ansS;
doubleTrigonomE,TrigonomS,TrigonomC,TrigonomT,TrigonomLg;
stringChans0,ChansS,ChTrigonomE,ChTrigonomS,ChTrigonomC,ChTrigonomT,ChTrigonomLg;
stringWname,ChRseries;
//键盘输入数据--并进行计算
Console.Write("请输入6个实数,x,Re,sin,cos,tan,lg,每输入1个回车一次:\n");
x=float.Parse(Console.ReadLine());
Re=float.Parse(Console.ReadLine());
Rs=float.Parse(Console.ReadLine());
Rc=float.Parse(Console.ReadLine());
Rt=float.Parse(Console.ReadLine());
Rlg=float.Parse(Console.ReadLine());
//数据处理
ans0=11.3-2*4.5/5+3/32*8+.78/32-5-0.78+;
ansS=Math.Exp(Re)+Math.Sin(Rs)-Math.Cos(Rc)*Math.Log(Rlg)+Math.Tan(Rt)/Math.Pow(x,5);
TrigonomS=System.Math.Sin(Rs*Math.PI/);
TrigonomC=System.Math.Cos(Rc*3.14/);
TrigonomT=System.Math.Tan(Rt*Math.PI/);
TrigonomE=System.Math.Exp(Re);
TrigonomLg=System.Math.Log10(Rlg);
Chans0=string.Format("{00:F4}",ans0);
ChansS=string.Format("{00:F4}",ansS);
ChTrigonomE=string.Format("{00:F4}",TrigonomE);
ChTrigonomS=string.Format("{00:F4}",TrigonomS);
ChTrigonomC=string.Format("{00:F4}",TrigonomC);
ChTrigonomT=string.Format("{00:F4}",TrigonomT);
ChTrigonomLg=string.Format("{00:F4}",TrigonomLg);
//写入键盘\数据处理结果
Console.Write("请输入计划保存的文件,如F:\\outdata.txt\n");
Wname=Console.ReadLine();
FileStreamfs=newFileStream(Wname,FileMode.Create);
StreamWritersw=newStreamWriter(fs);
sw.Write("蜘蛛网计算机语言处理完毕:\r\n");
sw.Write("11.3-2*4.5/5+3/32*8+.78/32-5-0.78+=");
sw.WriteLine(Chans0,"\r\n");
sw.Write("ex+sin(Rs)-cos(Rc)*lg(Rlg)+tan(Rt)/x5=");
sw.WriteLine(ChansS,"\r\n");
sw.Write("ex=");
sw.WriteLine(ChTrigonomE,"\r\n");
sw.Write("sin(Rs)=");
sw.WriteLine(ChTrigonomS,"\r\n");
sw.Write("cos(Rc)=");
sw.WriteLine(ChTrigonomC,"\r\n");
sw.Write("tan(Rt)=");
sw.WriteLine(ChTrigonomT,"\r\n");
sw.Write("lg(Rlg)=\n");
sw.WriteLine(ChTrigonomLg,"\r\n");
sw.Write("实级数:\r");
for(k=0;kRs;k++)
{
Rseries=k*2.3f;
ChRseries=string.Format("{00:F2}",Rseries);
sw.WriteLine(ChRseries,"\r");
}
for(j=0;j=6;j++)
{
sw.Write("度数");
sw.Write(j*10);
sw.Write("sin(x)=");
sw.WriteLine(Math.Sin(Math.PI*j/18));
sw.Write("\r\n");
}
//清空缓冲区
sw.Flush();
sw.Close();
fs.Close();
Console.WriteLine("蜘蛛网计算机语言处理完毕,数据已经保存为:");
Console.WriteLine(Wname);
Console.WriteLine("蜘蛛网计算机语言处理完毕,回车结束");
Console.ReadKey();
}}}}
阅读程序,列出程序结构,分析程序算法,分析数学算法与规则。调试中的问题,测试中的问题,运行结果的存储问题如何解决。
人机交互过程:
人机交互过程与文件保存
所有的数学规则必须遵守。如若没有获得遵守,要么编译器提示出错信息,最后就要在测试环节进行处理解决。反复核对与检测可能出现的各种BUG。
下面的计算,用C#语言描述数学算法规则,应如何表达。
实数域连续运算的程序算法分析
计算机如何处理实数:
MATLAB、python、Fortran、V6C、V6C++、VSC#、java、VB等等语言描述。