Ezekiel

Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Доброе утро! Помогите решить задачу на процедуры и функции. Задача формулируется так:Сформировать матрицу С(5,5), элементы которой являются значениями определенного интеграла http://www.imageup.ru/img36/ris1181825.jpg.html Вычислить же этот интеграл с помощью метода средних прямоугольников: http://img7.imageshost.ru/imgs/091017/b4587a0faa/fdf50.jpg Полученную матрицу сформировать в виде "креста", остальные элементы матрицы обнулить. Спасибо! Код: PROGRAM k_prj; USES Crt; CONST n=5; ng=5; nv=5; a=ng/20; b=(ng+nv)/20; VAR t:text; inMidR:real; {------------------------------} FUNCTION F(x:real):real; BEGIN F:=sqr(sin(2*x))/cos(2*x); END; {------------------------------} PROCEDURE MidR(x1,x2:real;n:integer;var sum:real); VAR h,x,xm:real; i,im,jm:integer; c: array [1..ng,1..nv] of real; BEGIN h:=(x2-x1)/n; x:=x1-h/2; xm:=x; sum:=0; FOR im:=1 TO ng DO FOR jm:=1 TO nv DO BEGIN if(im=ng div 2+1)or(jm=nv div 2+1)then c[im,jm]:=F(xm) else c[im,jm]:=0; xm:=xm+h; WRITE(t,'',c[im,jm]:9:4,' '); WRITE(c[im,jm]:9:4); IF jm=nv THEN BEGIN WRITELN(t); WRITELN; END; END; FOR i:=0 TO n-1 DO BEGIN sum:=sum+F(x); x:=x+h; END; sum:=sum*h; END; {------------------------------} BEGIN CLRSCR; ASSIGN(t,'integral.txt'); REWRITE(t); {---------------------------------------------------------------------------} WRITELN(' Method of the midle rectangulars: '); WRITELN(t,' Method of the midle rectangulars: '); MidR(a,b,n,inMidR); WRITELN(' Otvet: ',inMidR:6:5); WRITELN(t,' Otvet: ',inMidR:6:5); {---------------------------------------------------------------------------} CLOSE(t); READKEY END. |
| Всего записей: 10 | Зарегистр. 13-08-2009 | Отправлено: 12:15 17-10-2009 | Исправлено: Ezekiel, 12:16 17-10-2009 |
|