Помогите переделать прогу с метода половинного деления

Модератор: Модераторы

Помогите переделать прогу с метода половинного деления

Сообщение fox82 » 15.12.2013 10:43:02

Помогите переделать прогу с метода половинного деления на метод сканирования
program lab1c;
uses crt;
label 1;

var ti,pi,ki,ptn,ptv,ktn,ktv:array[1..3] of real;
z,ztn,ztv,tn,tv,t,e: real;
i,k: integer;

const n=3;
A: array[1..3] of real=(3.98202,4.03129,4.01946);
B: array[1..3] of real=(1186.059,1214.645,1266.871);
C: array[1..3] of real=(226.042,221.205,216.757);
Y: array[1..3] of real=(0.8,0.1,0.1);
p0=3.8;

begin
clrscr;
for i:=1 to n do
ti[i]:=(B[i]/(A[i]-ln(p0)/ln(10)))-C[i];
writeln('tkip komponentov');
writeln('metilsiklopentan ti=',ti[1]:3:3);
writeln(' benzol ti=',ti[2]:3:3);
writeln(' n-geptan ti=',ti[3]:3:3);
writeln('sootvetstvyiyt li A,B,C polychennim tkip?');
write('niz tn=');readln(tn);
write('verh tv=');readln(tv);
writeln('tochnost rascheta e=');
readln(e);
k:=0;
repeat
k:=k+1;
for i:=1 to n do
begin
ptn[i]:=exp((A[i]-B[i]/(C[i]+tn))*ln(10));
ptv[i]:=exp((A[i]-B[i]/(C[i]+tv))*ln(10));
ktn[i]:=ptn[i]/p0;
ktv[i]:=ptv[i]/p0;
end;
ztn:=0;ztv:=0;
for i:=1 to n do
begin
ztn:=ztn+Y[i]/ktn[i];
ztv:=ztv+Y[i]/ktv[i];
end;
ztn:=ztn-1;
ztv:=ztv-1;
t:=(tn+tv)/2;
for i:=1 to n do
begin
pi[i]:=exp((A[i]-B[i]/(C[i]+t))*ln(10));
ki[i]:=pi[i]/p0;
end;
z:=0;
for i:=1 to n do
begin
z:=z+Y[i]/ki[i];
end;
z:=z-1;
if abs(t-tn)<=e then goto 1;
if z*ztv>0 then tv:=t else tn:=t;
until k>100;
writeln('oshibka!');
1:
writeln('rezultat rascheta');
writeln('temperatura verha t=',t:3:3);
writeln('chislo iteracii k=',k);
readln;
end.
fox82
незнакомец
 
Сообщения: 1
Зарегистрирован: 15.12.2013 10:38:05

Re: Помогите переделать прогу с метода половинного деления

Сообщение vada » 16.12.2013 10:16:39

А что тут переделывать? Новую надо написать. Тупо перебрать все X на интервале A-B с шагом dx. В чем проблема? Проще половинного деления в 100 раз.
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Помогите переделать прогу с метода половинного деления

Сообщение Максим » 17.12.2013 03:10:21

С этим бы надо в раздел помощи за вознаграждение.
Аватара пользователя
Максим
энтузиаст
 
Сообщения: 597
Зарегистрирован: 27.07.2007 01:51:43
Откуда: Москва

Re: Помогите переделать прогу с метода половинного деления

Сообщение Vadim » 17.12.2013 05:02:05

Это бедный стьюдент. Он уже свою стипендию израсходовал на переделку других предметов. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Помогите переделать прогу с метода половинного деления

Сообщение vada » 17.12.2013 12:32:04

Если ты бедный студент, то ЗАНИМАЙСЯ больше!
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Помогите переделать прогу с метода половинного деления

Сообщение Vadim » 17.12.2013 15:33:11

Студент и занятия давно уже живут по антагонистическому принципу. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Помогите переделать прогу с метода половинного деления

Сообщение vada » 17.12.2013 16:36:07

Студень ушел в подполье, или сапоги примеряет. :)
Аватара пользователя
vada
энтузиаст
 
Сообщения: 691
Зарегистрирован: 14.02.2006 13:43:17

Re: Помогите переделать прогу с метода половинного деления

Сообщение Vadim » 18.12.2013 13:27:50

vada

Чтобы лапок не испачкать
И ушей не запылить,
Надо студню всю работу
На кого-нибудь свалить.

Хитрецу, хитрецу -
Работать не к лицу...
:)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Помогите переделать прогу с метода половинного деления

Сообщение ev » 21.12.2013 16:35:55

если уж человек не осилил тег code, то о какой переделке можно говорить?
только помощь за вознаграждение :roll:
ev
долгожитель
 
Сообщения: 1763
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва


Вернуться в Помощь за вознаграждение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

Рейтинг@Mail.ru