Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2013, 21:15   #1
fox82
Новичок
Джуниор
 
Регистрация: 10.12.2013
Сообщений: 2
По умолчанию Нужна помощь простенькая программа по курсу матмоделирование химико технологических процессах

Суть такая я технолог по переработки нефти и газ(через год буду если не подстрелят раньше) на 5 курсе нам попался препод который считает что паскаль это все и раз ОНА его понимает знает и любит так все должный любить и из простого зачета у нас ускоренный курс программирования
https://docs.google.com/a/web-rb.ru/file/d/0B0ZMFdKab5qNWTBvM3VMd2o0dVE/edit?usp=sharing
Это методичка лаба первая задание 28 методы сканирования и половинного деления
Выполнение строго Паскаль
skype ksnelken
mail fox@web-rb.ru
fox82 вне форума Ответить с цитированием
Старый 10.12.2013, 21:52   #2
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,899
По умолчанию

Общался я с уфимцами-химиками-нефтетехнологами практику вместе проходили, только давно это было ) уж лет 6 как минуло.

Паскаль то какой ? турба или фрипаскаль тоже подойдёт ? или вообще абц/абц.нет ?
с турбой геморнее, а абц плохо перевариваю.
колонны всю жисть считал в экселе или сразу в программах моделирования и зачем тут программирование немного непонятно )
Ну, не мне судить задача есть задача.

Назовите ещё сроки и планируемые размеры вознаграждения. Можно и сразу обратиться по контактам.

Правда, надо будет вспомнить всю эту методику...

ПС. Я бы вообще накатал это в дельфи, красиво, грамотно, сам бы потом пользовался, с графиками там всякими. Ну а код так и был бы по сути паскалем (ибо недалеко дельфи от чистого паскаля ушла, я даже на фрипаскале свои дельфи проекты гоняю с минимальными коррективами) , а модули самих расчётов можно вообще сделать совместимые с турбой.

Последний раз редактировалось phomm; 10.12.2013 в 22:08.
phomm вне форума Ответить с цитированием
Старый 11.12.2013, 07:12   #3
fox82
Новичок
Джуниор
 
Регистрация: 10.12.2013
Сообщений: 2
По умолчанию

По пробую объяснить что мне надо по другому, методичку не кто вникать не захотел
Задача состоит из 2 х частей первая часть это расчет температуры кипения у веществ согласно задания из них вы брать макс и минимум (притом для четкости минимум лучще вообще от 0 брать) решаем по уравнению lg P = A – B/(C + t)
2 Часть это непосредствено решения нелинейного уравнения у которого минимум и максимум и есть мои температуры в методичке есть на написанная программа на бейсике для метода хорд этот то же пример но переписаный на фри паскале (0 правда только он считает температуру вторая часть не рабочая
uses crt;


const N=3;
const A: array[1..N] of real = (4.03129,4.07427,4.04286);
const B: array[1..N] of real = (1214.645,1345.087,1355.126);
const C: array[1..N] of real = (221.205,219.516,209.517);
const Y: array[1..N] of real = (0.3,0.4,0.3);

Label metka1,metka2;
var
P0,T8,T0,T1,T2,T3,R1,R2,R3: real;
i: integer;
function Pow(x,y:real):real;
var PowTmp:real;
begin
if (x<0) then
PowTmp:=(-1)*Exp(y*Ln(Abs(x)))
else if (x>0) then
PowTmp:=Exp(y*Ln(Abs(x)))
else PowTmp:=0;
if not(odd(round(y))) then PowTmp:=Abs(PowTmp);
if (y=0) then PowTmp:=1;
Pow:=PowTmp;
end;


function Rachet_Z(T :real) :real ;
var
i:integer;
P,S:real;
begin
S:=0;
for i:=1 to N do
begin
P:= Pow(10, (A[i] - B[i] / (C[i] + T)));
S:= S + Y[i] * 10/P;
end;
Rachet_Z := S - 1;
end;

begin
ClrScr;
writeln('RASCHET TEMP VVERXA REKTIFIKACIONNOIKOLONNI DLYA RASDELENIYA SMECI BENZOLA');
writeln('METODOM XORD');
writeln('');
writeln('PRI SOSTAVE DISTILLYATA COOTVETSTVENNO',Y[1]:7:5,Y[2]:7:5,Y[3]:7:5);
write('VVEDITE DAVLENIE VERXA P0 v ATA = ');Readln(P0);
writeln('');
writeln('RASCHET TEMP KIPENIYA KOMPONENTOV T8');

for i:=1 to N do
begin

T8:=(B[i]/A[i] - ln(P0)) - C[i];
writeln('T8(',i,')=',T8:10:5);
end;
writeln('');
writeln('PROVERTE SOOTVETSTVIE MASSIVA KOEFFICIENTOV ANTUANA');
writeln('TEMPERATURAM KIPENIYA KOMPONENTOV SMECI');
write('VVEDITE TEMP GRANIC RASCHETA T1, T2 (T2 > T1) =');Readln(T1,T2);
write('VVEDITE PORGESHNOSTI RASCHETA TEMP VERXA T0=');Readln(T0);

R1:=Rachet_Z(T1);
R2:=Rachet_Z(T2);


metka1:
T3:= T1 + R1*(T2 - T1) / (R1 - R2);
R3:=Rachet_Z(T3);

if abs(T2 - T3) < T0 then goto metka2;
T2:=T3;
goto metka1;

metka2:

writeln('');
writeln('DAVLENIE VERXA, ATA=',P0,'TEMP VARXA = ',T3);
writeln('NE ZABUDTE ZAPISAT RESULTATI RASCHETOVi VREMYA SCHETA');
writeln('VVODITE NOVIE ZNACHENIYA DAVLENIYA VERXA P0 v ISSLEDUEMOM');
writeln('DIAPAZONE TOCHEK');
writeln('DLYA POSTROENIYA ZAVISIMOSTI T=F(P0)');

end.
ЭТО готовая программа для решение методом половинного деления
program mdp;

function f(x: real): real;

begin

{Здесь приводим выражение для вычисления функции }

f:=x*x*x+x*x+x+1;

end;



var

a, b, eps, x: real;



BEGIN

write ('Левая граница интервала:'); readln(a);

write ('Правая граница интервала:'); readln(b);

write ('Точность:'); readln(eps);

while abs(b-a)>eps do

begin

x:=(a+b)/2;

if f(a)*f(x)<0 then b:=x else a:=x;

end;

writeln ('x=',x:3:3,' f(x)=',f(x):4:4);

readln();

END.
Вторая часть задачи это решение методом сканирования то есть x:=(a+b)/2; то есть в этом выражение 2 меняется на n то есть участок делится на ряд узких участков

Последний раз редактировалось fox82; 11.12.2013 в 07:20.
fox82 вне форума Ответить с цитированием
Старый 11.12.2013, 10:47   #4
fox82
Новичок
Джуниор
 
Регистрация: 10.12.2013
Сообщений: 2
По умолчанию

Мыши плакали давлились но ели катус пол задачи ярешил пока стемой от бой
fox82 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа остается в процессах! xMarketMaxx Visual C++ 3 26.11.2013 02:22
Нужна простенькая программа или скрипт на заказ (перекодировщик) TerminalHead Фриланс 1 11.04.2011 09:26
Программа на MPlab(Нужна помощь в написании) Sfarait Фриланс 3 31.05.2009 00:46