Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс_раб.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
302.08 Кб
Скачать

2.4.3. Соответствие между блок-схемой и программой

Программа, обеспечивающая выполнение алгоритма полностью соответствует приведенным выше пунктам блок-схемы

2.5. Программный код

program kurs2;

var

t1,t2,En,b,m,q1,q2,t0,E1,E2,a,A1,A2,k1,k2,x:real;

ExpIT:array [1..2,1..6] of real;

TeorI:array [1..6] of real;

K:array [1..6] of real;

i,j:integer;

fei,ftik:text;

{VICHISLENIE b i m}

procedure vichislenie(k1,k2,t1,t2,a:real;var m,b:real);

var

A1,A2:real;

begin

A1:=ln(k1-a);

A2:=ln(k2-a);

m:=(t2-t1)/(A1-A2);

b:=exp((t2*A1-t1*A2)/(t2-t1));

end;

begin

assign(fei,'fei.txt');

reset(fei);readln(fei);

{chtenie dannih iz faila}

i:=1;

while not SeekEOLN(fei) do

begin

read(fei,x);

ExpIT[1,i]:=x;

i:=i+1;

end;

readln(fei);

i:=1;

while not SeekEOLN(fei) do

begin

read(fei,x);

ExpIT[2,i]:=x;

i:=i+1;

end;

close(fei);

{uporyadivachennie dannih po vozrostaniy}

for j:=1 to 5 do

begin

i:=1;

while i < 6 do

begin

if ExpIT[1,i] > ExpIT[1,i+1] then

begin

x:=ExpIT[1,i+1];ExpIT[1,i+1]:=ExpIT[1,i];ExpIT[1,i]:=x;

x:=ExpIT[2,i+1];ExpIT[2,i+1]:=ExpIT[2,i];ExpIT[2,i]:=x;

end;

i:=i+1;

end;

end;

{vivod ishodnih dannih na ekran}

writeln(' t1 t2 t3 t4 t5 t6');

for j:=1 to 6 do

begin

write(ExpIT[1,j]:5:1,' ');

write(' ');

end;

writeln;

writeln(' e1 e2 e3 e4 e5 e6');

for j:=1 to 6 do

begin

write(ExpIT[2,j]:7:4);

write(' ');

end;

writeln;

{avtomaticheskiy vibor t1,t2,e1,e2}

t2:=ExpIT[1,6];e2:=ExpIT[2,6];

i:=1;

t0:=0;

repeat

if ExpIT[1,i] > 20

then

t0:=ExpIT[1,i]

else

i:=i+1;

until t0 <> 0;

t1:=ExpIT[1,1];

e1:=ExpIT[2,1];

if t0 > ExpIT[1,1]

then

begin

t1:=t0;

e1:=ExpIT[2,i];

end;

{AVTOMATICHESKIY VIBOR PARAMETRA En}

writeln('VVEDITE PROIZVOLNOE CHISLO OT (0;1) NO NE 0 I NE 1');

read(q1);

En:=((1-q1)*ExpIT[2,6])+q1;

{AVTOMATICHESKIY VIBOR PARAMETRA a}

writeln('VVEDITE PROIZVOLNOE CHISLO OT (0;1) NO NE 0 I NE 1');

read(q2);

k1:=-((1/t1)*ln(1-(e1/En)));

k2:=-((1/t2)*ln(1-(e2/En)));

a:=k2*q2;

{VZOV PROCIDURI vichislenie}

vichislenie(k1,k2,t1,t2,a,m,b);

{VICHISLENIE RASSCHETNIH ZNACHENIY Ki,Ei}

for i:=1 to 6 do

begin

K[i]:=a+b*exp(-ExpIT[1,i]/m);

TeorI[i]:=En*(1-exp(-K[i]*ExpIt[1,i]));

end;

{VIVOD REZULTATOV}

{vivod na ekran}

writeln;

writeln('TEORITICHESKIE ZNACHENIYA Ki');

for i:=1 to 6 do

write('K[',i,']=',K[i]:6:4,' ');

writeln;

writeln('TEORITICHESKIE ZNACHENIYA Ei');

for i:=1 to 6 do

write('e[',i,']=',TeorI[i]:6:4,' ');

{vivod v fail}

assign(ftik,'ftik.txt');

rewrite(ftik);

writeln(ftik,'TEORITICHESKIE ZNACHENIYA Ki');

for i:=1 to 6 do

write(ftik,'K[',i,']=',K[i]:5:4,' ');

writeln(ftik);

writeln(ftik,'TEORITICHESKIE ZNACHENIYA Ei');

for i:=1 to 6 do

write(ftik,'e[',i,']=',TeorI[i]:5:4,' ');

close(ftik);

readln;

readln;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]