scharhan
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Всем привет! ...плиз помогите...!!! найдите ошибки((( Задача такая..Нужно чтобы из главной программы вызывались модули которые решают 1. Метод Хорд 2. Умножение матрицы на матрицу 3. Метод Рунге - Кутта Курсач нужно уже завтра распечатать .... вот тексты программ... ........................................ ГЛАВНАЯ Код: program glavn; uses crt,Hord,Manama,Runge; var e1:THord; m1:TManama; r1:TRunge; buf:string; begin repeat clrscr; writeln(' '); writeln(' MENU '); writeln(' '); writeln(' 1 - Метод хорд '); writeln(' 2 - Умножение матрицы на матрицу '); writeln(' 3- Метод Рунге-Кутта '); writeln(' 4- Выход '); writeln(' '); case readkey of '1':begin clrscr; e1.metodhord; assign(e1.f,'d:\File.txt'); reset(e1.f); while not eof (e1.f) do readln(e1.f,buf); writeln(buf); close(e1.f); readkey; end; '2':begin clrscr; m1.manama; assign(m1.f,'d:\File.txt'); reset(m1.f); while not eof (m1.f) do begin for m1.i:=1 to 200 do begin read(m1.f,buf); write(buf); end; readln(m1.f,buf); writeln; end; close(m1.f); readkey; end; '3':begin clrscr; r1.rk; assign(r1.f,'d:\File.txt'); reset(r1.f); while not eof (r1.f) do begin for r1.i:=1 to 200 do begin read(r1.f,buf); write(buf); end; readln(r1.f,buf); writeln; end; close(r1.f); readkey; end; '4':begin close(); readkey; end; end; writeln; writeln('Повтор (y/n)'); until readkey='n'; end. | ............................................. Метод Хорд Код: unit metodhord; interface uses crt; type hord=object a,b,c,cp,eps:real; constructor init; procedure shag; function poisk:real; end; function funct(x:real):real; implementation begin funct:=x*x*x*x*x+5*x+1; end; constructor hord.init; begin clrscr; writeln(' Metod HORD'); write(' ВВЕДИТЕ ТОЧНОСТЬ: eps = '); readln(eps); write(' ВВЕДИТЕ ЛЕВУЮ ГРАНИЦУ ОТРЕЗКА: a = '); readln(a); write(' ПРАВУЮ ГРАНИЦУ ОТРЕЗКА: b = '); readln(b); cp:=a; c:=a-(funct(a)*(b-a))/(funct(b)-funct(a)); end; procedure hord.shag; begin if(funct(a)*funct(c)>0) then a:=c else b:=c; cp:=c; c:=a-(funct(a)*(b-a))/(funct(b)-funct(a)); end; function hord.poisk:real; begin while (abs(c-cp)>eps) do begin if(funct(c)=0) then begin break; end else begin shag; end; end; poisk:=c; end; var y:hord; eps:real; begin y.init; writeln(y.poisk); readkey; end. | .......................................... Умножение матрицы на матрицу Код: unit manama; interface uses crt; type mptr = ^matrix; matrix=object a:array[1..3,1..3]of real; constructor init; procedure printf; end; implementation constructor matrix.init; var i,j:integer; begin clrscr; writeln(' Matrica na matricu '); for i:=1 to 3 do begin for j:=1 to 3 do begin write(' ВВЕДИТЕ a[',i,',',j,'] ='); readln(a[i,j]); end; end; end; procedure matrix.printf; var i,j:integer; begin for i:=1 to 3 do begin for j:=1 to 3 do begin write(a[i,j]:3:3,' '); end; writeln; end; end; procedure summ(e,f:matrix;t:mptr); var i,j,k:integer; s:real; begin For i:= 1 to 3 do begin For j:= 1 to 3 do begin s:=0; for k:= 1 to 3 do begin s:=s+e.a[i,k]*f.a[k,j]; end; t^.a[i,j]:=s; end; end; end; var a,b,c:matrix; begin a.init; b.init; summ(a,b,@c); c.printf; readkey; end. | .......................................................... Метод Рунге-Кутта Код: unit rk; interface uses crt; type TEiler=object x,y,h,b,dx1,dx2,dx3,dx4,ddx:real; constructor init; procedure shag; procedure poisk; end; function proizv(f,g:real):real; implementation begin proizv:=f*f+f*g+g*g; end; constructor TEiler.init; begin clrscr; x:=0; y:=0.5; h:=0.1; b:=1; end; procedure TEiler.shag; begin dx1:=proizv(x,y); dx2:=proizv(x+h/2,y+h*dx1/2); dx3:=proizv(x+h/2,y+h*dx2/2); dx4:=proizv(x+h,y+h*dx3); ddx:=(dx1+2*dx2+2*dx3+dx4)/6; y:=y+ddx*h; x:=x+h; end; procedure TEiler.poisk; var f:text; begin assign(f,'1.txt'); rewrite(f); while (x<=b) do begin writeln('x=',x:3:3,' ','y=',y:3:3); writeln(f,x,' ',y); shag; end; close(f); end; var q:TEiler; eps:real; begin q.init; q.poisk; readkey; end. | .... Вот и сдать нам сказали 9 файлов файлы pas и tpu и 1 файл exe. т.е. главная программа из которой все и работает(откомпилированная) и блоксхемы к ним.., но блок-схемы я уже сделал а проги не работают((( ПЛИЗ ОТВЕТЬТЕ СЕГОДНЯ!!! Заранее спасибо!!!! | Всего записей: 27 | Зарегистр. 26-04-2007 | Отправлено: 21:13 02-05-2008 | Исправлено: scharhan, 21:17 02-05-2008 |
|