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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2011, 13:48   #1
TomOoma
 
Регистрация: 07.05.2011
Сообщений: 3
Вопрос Ошибка 104, возникает при определенном шаге.

Данная прога реализует метод Рунге-Кутта первого порядка, его аналитическое решение, и стоит их графики. Заранее прошу прошения за криворукость написания.
Прога нормально работает при значения шага до 0.001. А при значении шага от 0.001 выдает ошибку 104 "файл не открыт для ввода". В чем проблема???? Тыкните меня пожалуйста в мой косяк). Заранее благодарю за помощь.

Program MRK;
Uses Graph, DOS;
var
x3,y3 : Array[1..50] of LongInt;
fa, fo: Text;
h1,a,b,x1,y1, x0,xn,y0,h,xk,yk,yn,k1,k2,k3,k4 : Real;
d, r, z,x,y,j,i,n : integer;

function F(xk,yk:real):real;
begin
F:=yk;
end;
{Вычисляю и записываю в файл значения численного решения}
Begin
assign(fa,'strings.txt'); {Для считывания и построения графика}
assign(fo,'string.txt'); {Это создано по просьбе преподавателя, уточняет где что находиться}
rewrite(fa);
rewrite(fo);
x0:=0; xn:=2; y0:=1;
writeln('vvedite shag h: ');
readln(h);
writeln(fa, x0,' ',y0);
writeln(fo, 'Nachaloe znachene x=', x0:2:2,' y(x)= ',y0:2:2);
writeln(fo, ' x chuslennoe reshenie analiticheskoe reshenie' );
writeln('x=',x0,' y(x)=',y0);
writeln(' x chuslennoe reshenie analiticheskoe reshenie' );
xk:=x0; yk:=y0;
while xk<=xn do
begin
yk:=yk+h*F(xk,yk); {численное решение}
xk:=xk+h;
yn:=exp(xk); {Аналитическое решение}
writeln(fo, xk:2:4,' ', yk,' ',yn);
writeln(xk:5:6,' ', yk,' ',yn);
writeln(fa, xk,' ', yk);
end;
begin
readln; close(fo); close(fa);
end;
{построение графиков}
begin
d := Detect; InitGraph(d, r, '');
z := GraphResult;
if z <> grOk then
writeln(GraphErrorMsg(z));
begin {Построение осей}
SetBkColor(8);
LINE(1,340,630,340);
LINE(320,1,320,480);
j:=40;
REPEAT
LINE(j,337,j,342);
j:=j+70;
outtextxy(310,347,'0');
outtextxy(386,347,'1');
outtextxy(456,347,'2')
UNTIL j>640;
j:=60;
REPEAT
LINE(317,j,322,j);
j:=j+70;
outtextxy(315,265,'1')
UNTIL j>480;
h1:=0.001; x1:=-5-h1; {построение аналитического решения}
for j:=1 to 10000 do
Begin
x1:=x1+h1;
y1:=exp(x1);
x:=trunc(320/5*x1);
y:=trunc(340/5*y1);
PutPixel(320+x,340-y,red);
end;
Assign(fa, 'strings.txt'); {Открытие и построение численного решения}
{$I-} Reset(fa); i:=0; {$I+}
If IOResult = 0 then
begin
While not eof(fa) do {ОШИБКА! Курсор указывает на это место }
begin
Read(fa,a,b); Inc(i);
X3[i]:=Trunc(320/5*a);
Y3[i]:=Trunc(340/5*b);
x3[i] :=320+ X3[i];
y3[i]:=340- Y3[i];
n:=i-1;
end;
for i:= 2 to n do
Begin
setcolor(1);
line(x3[i-1], y3[i-1], x3[i], y3[i]);
end;
end;
Close(fa);
End;
Readln;
CloseGraph;
end;
END.
Вложения
Тип файла: txt Текстовый документ.txt (2.7 Кб, 127 просмотров)
TomOoma вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При закрытии Word возникает ошибка sewer777 Microsoft Office Word 3 20.10.2011 13:19
Возникает ошибка Acces Violation при использовании функции Copy Вадим Мошев Общие вопросы Delphi 9 07.05.2011 22:27
Возникает ошибка исключения при повторном открытии формы Nik_K БД в Delphi 10 25.04.2011 23:49
При измимении Button возникает ошибка с CheckBox Саня_ Общие вопросы Delphi 4 07.03.2011 21:05
При открытии двойным щелчком раздела возникает ошибка( DEMONENOC Операционные системы общие вопросы 3 30.06.2009 05:02