Форум программистов, компьютерный форум, киберфорум
MathCAD
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
1 / 1 / 0
Регистрация: 28.12.2012
Сообщений: 17
1

Перевести задачу из Паскаля в Маткад

28.04.2013, 21:37. Показов 884. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите перевести данную задачу из Паскаля в Маткад. Спасибо.
Код
program debit;
const P_at = 1.01325;
      T_st = 20;
      ro_pov = 1.205;
var mju, T_pl, k, h, R_k, r_s, ro_g, l, P_stat, L_, T_g, P_g, q_st, d_vn, lambda:real;
    A, B, T_pr, P_pr, T_ser_kr, P_ser_kr, ro_g_vidn, T_sr, P_sr, S, P_pl1, P_vyb1:real;
    d, q:real;
    output:text;

function z(var P, T: real):real;
begin
z := exp(P*ln(abs((0.4*ln(T)+0.73))))+0.1*P;
end;

function P_pl(var P_stat, ro, L, T:real):real;
var P_sr, P_pl_temp, P1, S:real;
    begin
    P_sr := P_stat;
    P1 := P_stat;
    P_pl_temp := 0;
    while abs(P1 - P_pl_temp) > 0.1 do
     begin
       P1 := P_pl_temp;
       S := (0.03415*ro*L)/(z(P_sr,T)*T);
       P_pl_temp :=  P_stat*exp(S);
       P_sr := (P_pl_temp + P_stat)/2;
     end;

P_pl := P_pl_temp;

end;

function P_vyb(var P, q_st, T_sr, d, S, lambda:real):real;
var P_sr, P_vyb_temp, P1, teta:real;
      begin
         P_sr := (2/3)*(P + sqr(P)/(2*P));
         P_vyb_temp := 0;
         P1 := P_sr;
         while abs(P_vyb_temp - P1) > 0.1 do
          begin
            P1 := P_vyb_temp;
            teta := 0.0133*lambda*(sqr(T_sr)*z(P_sr, T_sr))*(exp(2*S)-1)/exp(5*ln(d));
            P_vyb_temp := sqrt(sqr(P)*exp(2*S) + teta*sqr(q_st));
            P_sr := (2/3)*(P_vyb_temp + sqr(P)/(P_vyb_temp + P));
          end;
         P_vyb := P_vyb_temp;
      end;


    begin
         mju := 0.16;
         T_pl :=69;
         k := 0.043;
         h := 25;
         R_k := 550;
         r_s := 0.095;
         ro_g := 0.95;
         l := 0.35;
         P_stat := 6;
         L_ := 1900;
         T_g := 25;
         P_g := 3.1;
         q_st := 190;
         d_vn := 50;
         lambda := 0.025;
         
                T_sr := (T_pl - T_g)/ln(T_pl/T_g);
                ro_g_vidn := ro_g/ro_pov;
         
                 P_pl1 := P_pl(P_stat, ro_g_vidn, L_, T_sr);
                  P_sr :=(P_pl1+p_stat)/2;
                 S := (0.03415*ro_g_vidn*L_)/(z(P_sr,T_sr)*T_sr);
                 P_vyb1 := P_vyb(P_g, q_st, T_sr, d_vn, S, lambda);
                 A := (mju*z(P_pl1, T_pl)*P_at*T_pl*ln(R_k/r_s))/(pi*k*h*T_st);

                 T_ser_kr := 94.717+170.8*ro_g_vidn;
                 P_ser_kr := 4.892 - 0.4048*ro_g_vidn;
                 T_pr := T_st/ T_ser_kr;
                 P_pr := P_at/ P_ser_kr;
                 B := (ro_g*z(P_pr, T_pr)*P_at*T_pl*(1/r_s - 1/R_k))/(2*sqr(pi)*sqr(h)*l*T_st);
                 
                 d:= sqr(A)-4*(sqr(P_vyb1)-sqr(P_pl1))*B;
                  q := (-A + sqrt(d))/(2*B);
                  assign(output,'debit.txt');
                  rewrite(output);
                  writeln(output,'Дебіт газу в пластових умовах з використанням двочленної формули = ',q);
                  close(output);

    end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2013, 21:37
Ответы с готовыми решениями:

Перевести программу из паскаля в маткад
Program Gisterez; Uses GraphABC,BmpSv; var x0,x,xa,xb,xc,xd,k1,k2:double; ...

Перевести код программы из паскаля в маткад
function F(a,x:real):real; var y:real; begin if x=0 then y:=0 else if x>0 then y:=exp(ln(x)/3)...

Из паскаля в маткад
Я не очень селен в маткаде и вот ищу помощь)) Может кто-нибудь помочь перевести программу)) ...

Хотел бы перевести эту программу с С++ на маткад
привет всем! кто поможет, хотел бы перевести эту программу С++ на маткад что то не получается...

1
Эксперт по математике/физике
1503 / 1024 / 159
Регистрация: 12.06.2012
Сообщений: 2,083
29.04.2013, 11:42 2
Начните с определения в документе Mathcad заданных констант: "P_at", "T_st", "ro_pov".
0
29.04.2013, 11:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2013, 11:42
Помогаю со студенческими работами здесь

Перевести с Паскаля на С++
Перевести с Паскаля на С++ begin var n:= ReadInteger('Количество элементов...

Перевести из паскаля в СИ
Переведите кому не сложно: var a:arrayof integer; b:array of integer; ...

Перевести с паскаля на С++
Var s,s1:string; i,k:byte; Begin write('Введите строку: ');readln(s); k:=0;s1:='';...

Перевести с Паскаля
Переведите на Питон. program nam; var x,y:array of real; i :byte; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru