Код
Program ControlWork2;
Uses crt;
var
 T,K,Md,Mc,n:real;
 R,I,U,W,J : real;
Procedure readfile(var R,I,U,W,J :real;var fin : text);
 begin
   read(fin,R); {soprotivlenie}
   read(fin,I); {sila toka}
   read(fin,U); {napryazhenie} 
   read(fin,w); {chastota}
   read(fin,J); {moment inercii}
   readln(fin);
end;
Function MomentDv(U,I,R:real):real; {moment dvizheniya}
Begin
K:=(U-I*R)/w;
MomentDv:=K*U/R-K*w/R;
End;
Function MomentStat(W,J:real):real; {moment staticheskij}
Begin
MomentStat:=W*J;
End;
Procedure Create(var fin,fout:text);
 begin
  while not eof(fin) do begin
    readfile(R,I,U,W,J,fin);
    Md:=MomentDv(U,I,R);
    Mc:=MomentStat(W,J);
    T:=J*W/(Md-Mc);
    writeln (fout,T:6:4, '|', W:8, '|', Md:8:4, '|', Mc:8:4);
    writeln (T:6:4, '|', W:8, '|', Md:8:4, '|', Mc:8:4);
  end;
{Основная прога}
begin
assign(fin,'C:\Tpascal\test.txt');{входной файл}
assign(fout,'C:\Tpascal\test1.txt');{выходной файл}
reset(fin);
rewrite(fout);
Create(fin,fout);
close(fin);
close(fout);
end.
Если я все правильно понял,а вообще посмотри на свои функции и заново прочитай о них факи.потому что зачем тебе в функции Д входной параметр К если ты его внутри функции и считаеш,Вообще функции у тебя абсолютно неверные.Такое ощущение,что ты не понимаеш,что это такое,так про прочитай заново.То что я написал выводит и на экран и в файл.
R,I,U,W,J должны четко присутствовать в файле в заданном порядке.и каждые новые данные должны вводится с новой строки в том же порядке.