/*1 Baoheyalizichengxu P=F(T)*/饱和压力子程序
double psk(double t)
{   double n[]={0.11670521452767e4,-0.72421316703206e6,-0.17073846940092e2,0.12020824702470e5,-0.32325550322333e7,0.14915108613530e2,-0.48232657361591e4,0.40511340542057e6,-0.23855557567849,0.65017534844798e3};
    double a,b,c,ps;
    t=t+273.15;
    t=t+n[8]/(t-n[9]);
    a=t*t+n[0]*t+n[1];
    b=n[2]*t*t+n[3]*t+n[4];
    c=n[5]*t*t+n[6]*t+n[7];
    ps=pow(2*c/(-b+pow(b*b-4*a*c,0.5)),4);
    return ps;
}

解决方案 »

  1.   

    uses Math;function psk(t: Double): Double;
    const
      n: array[0..9] of Double = (0.11670521452767e4, -0.72421316703206e6, -0.17073846940092e2, 0.12020824702470e5, -0.32325550322333e7, 0.14915108613530e2, -0.48232657361591e4, 0.40511340542057e6, -0.23855557567849, 0.65017534844798e3);
    var
      a, b, c: Double;
    begin
      t := t + 273.15;
      t := t + n[8] / (t - n[9]);
      a := t * t + n[0] * t + n[1];
      b := n[2] * t * t + n[3] * t + n[4];
      c := n[5] * t * t + n[6] * t + n[7];
      Result := power(2 * c / (-b + power(b * b - 4 * a * c, 0.5)), 4);
    end;
      

  2.   

    //uses Math;function psk(t: double): double;
    const
      n: array[0..9] of double =(0.11670521452767e4,
      -0.72421316703206e6,-0.17073846940092e2,
      0.12020824702470e5,-0.32325550322333e7,
      0.14915108613530e2,-0.48232657361591e4,
      0.40511340542057e6,-0.23855557567849,
      0.65017534844798e3);
    var
      a,b,c,ps: double;
    begin
      t := t + 273.15;
      t := t + n[8]/(t-n[9]);
      a := t*t+n[0]+n[1];
      b := n[2]*t*t+n[3]*t+n[4];
      c := n[5]*t*t+n[6]*t+n[7];
      ps := Power(2*c/(-b+Power(b*b-4*a*c,0.5)),4);
      Result := ps;
    end;
      

  3.   

    下面中的C程序struct该怎么转化成DELPHI呢?帮忙把以下句段翻译一下,我就结帖!
    #include "stdlib.h"
    #include "stdio.h"
    #include "math.h"
    struct ptf1
    {   double v ;
        double h ;
        double s ;
    }ptf2 ;
    struct ptg1
    {   double v ;
        double h ;
        double s ;
    }ptg2 ;
    struct pt1
    {   double x ;
        double v ;
        double h ;
        double s ;
    }pt2 ;
    struct ph1
    {   double x ;
        double v ;
        double s ;
        double t ;
    }ph2 ;
    struct ps1
    {   double x ;
        double t ;
        double v ;
        double h ;
    }ps2 ;
    struct hs1
    {   double x ;
        double p ;
        double t ;
        double v ;
    }hs2 ;
    struct px1
    {   double t ;
        double v ;
        double h ;
        double s ;
    }px2 ;
    /*3 guolengshui.baoheshuizichengxu V.H.S=F(P,T)*/过冷水饱和水子程序
    void ptf(double p,double t,struct ptf1*p1)
    {   int i;
        double pr,tr,rp,rt,r;
        double R=0.461526;
        double I[]={0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,3,3,3,4,4,4,5,8,8,21,23,29,30,31,32};
        double J[]={-2,-1,0,1,2,3,4,5,-9,-7,-1,0,1,3,-3,0,1,3,17,-4,0,6,-5,-2,10,-8,-11,-6,-29,-31,-38,-39,-40,-41};
        double n[]={0.14632971213167,-0.84548187169114,-3.756360367204,3.3855169168385,-0.95791963387872,0.15772038513228,
                   -0.016616417199501,8.1214629983568E-04,2.8319080123804E-04,-6.0706301565874E-04,-0.018990068218419,
                   -0.032529748770505,-0.021841717175414,-5.283835796993E-05,-4.7184321073267E-04,-3.0001780793026E-04,
                   4.7661393906987E-05,-4.4141845330846E-06,-7.2694996297594E-16,-3.1679644845054E-05,-2.8270797985312E-06,
                   -8.5205128120103E-10,-2.2425281908E-06,-6.5171222895601E-07,-1.4341729937924E-13,-4.0516996860117E-07,
                   -1.2734301741641E-09,-1.7424871230634E-10,-6.8762131295531E-19,1.4478307828521E-20,2.6335781662795E-23,
                   -1.1947622640071E-23,1.8228094581404E-24,-9.3537087292458E-26};
        t=t+273.15;
        pr=p/16.53;tr=1386/t;r=0;rt=0;rp=0;
        for(i=0;i<=33;i++)
        {   r=r+n[i]*pow((7.1-pr),I[i])*pow((tr-1.222),J[i]);
            rt=rt+n[i]*pow((7.1-pr),I[i])*J[i]*pow((tr-1.222),(J[i]-1));
            rp=rp-n[i]*I[i]*pow((7.1-pr),(I[i]-1))*pow((tr-1.222),J[i]);
        }
        p1->v=pr*rp/p*R*t/1000;p1->h=tr*rt*R*t;p1->s=(tr*rt-r)*R;
    }
      

  4.   

    C中的结构就是DELPHI  中的记录类型....
    type
      Tptf1=record
        double v ;
        double h ;
        double s ;
    end;
    PTptf1=^Tptf1;
      

  5.   

    这句怎么变定义成delphi呢?void ptf(double p,double t,struct ptf1*p1)。谢谢拉!
      

  6.   

    type
      Tptf1=record
        double v ;
        double h ;
        double s ;
    end;
    PTptf1=^Tptf1;procedure ptf(p :double,t: double,p1: PTptf1);
      

  7.   

    谢谢拉!最后一个问题p1->v=pr*rp/p*R*t/1000;怎么变成Delphi呢?
      

  8.   

    其中这两句又不知道怎么写了!呵呵!其中的ptf2是怎么定义的?
     ptf(p,t,&ptf2);
     p1->v=ptf2.v ;