![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 07.05.2011
Сообщений: 3
|
![]()
Данная прога реализует метод Рунге-Кутта первого порядка, его аналитическое решение, и стоит их графики. Заранее прошу прошения за криворукость написания.
Прога нормально работает при значения шага до 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. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
При закрытии 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 |