ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Вычислить значение функции
Алгоритм функции znachf
Таблица переменных
function znachf(n:integer;a:matr;x:vect):real; var i,j,k: integer; s,y1,y2,c: real; begin y1:=exp(30); for i:=1 to n do if odd(i) then begin s:=0; for k:=1 to n do if odd(k)=false then if abs(a[i,k])>1е-6 then s:=s+ln(abs(a[i,k]))/ln(10); if s<y1 then y1:=s; end; y2:=0; for k:=1 to n do if odd(k)=false then begin c:=1; for j:=1 to k do c:=c*j; y2:=y2+x[k]*exp(1/k*ln(с)); end; writeln('y1=',y1:1:3,' y2=',y2:1:3); y:=y1+y2; znachf:=y; end{znachf};
4.2.3.6. Вывод информации. Алгоритм процедуры вывода матрицы writematr name, n, a[1..n,1..n]
Таблица переменных
procedure writematr(name:string;n:integer;a:matr); var i,j:integer; begin writeln(' ':15,'матрица ',name); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:7:2,' '); writeln; end; end{writematr};
Алгоритм процедуры вывода вектора writevect name, n, x[1..n]
Таблица переменных
procedure writevect(name:string;n:integer;x:vect); var i:integer; begin writeln('':15,’вектор ',name); for i:=1 to n do write(x[i]:7:2,' '); writeln; end{writevect};
4.3. Паскаль-программа. program kursrab;{Хасанов А.А. ст.гр. АГ 98-02 вар. 111} uses printer,crt; type vect=array[1..30] of real; matr=array[1..30,1..30] of real; var i,j,n: integer; x: vect; b,a,z: matr; y: real; simvol: char; {-----------Часть 1--------------} procedure matrica(n:integer;var a:matr); var i,j:integer; f1,f2,f3:real; begin for i:=1 to n do for j:=1 to n do begin f1:=cos(pi*(8.25+(i+j)/2))/sin(pi*(8.25+(i+j)/2)); f2:=pi*i*(1+i/j); f3:=ln(sqr(n)-i/j+1)/ln(2); a[i,j]:=f1/f2*f3; end; end{matrica}; procedure writematr(name:string;n:integer;a:matr); var i,j:integer; begin writeln('':15,'матрица',name); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:7:2,' '); writeln; end; end{writematr}; {-----------Часть 2--------------} procedure vector(n:integer; a:matr; var x:vect); var i,j:integer; m:real; begin for i:=1 to n do begin m:=-exp(30); for j:=1 to n do if abs(a[j, i])<=10 then if a[j, i]>m then m:=a[j, i]; x[i]:=m; end; end{writematr};
procedure writevect(name:string;n:integer;x:vect); var i,j:integer; begin writeln('':15,'вектор ',name); for i:=1 to n do write(x[i]:7:2,' '); writeln; end{writevect}; {-----------Часть 3-------------} procedure matoper(n:integer;a:matr;x:vect;var z:matr); var i,k,j:integer; s,y: real; b,u,v,c:matr; begin for i:=1 to n do for j:=1 to n do begin b[i,j]:=a [j, i];u[i,j]:=b[i, j];v[i, j]:=a[i, j]; if i=j then begin u[i,j]:=b[i,j]-1;v[i,j]:=a[i,j]-1; end; end; for i:=1 to n do for j:=1 to n do begin s:=0; for k:=1 to n do s:=s+u[i,k]*v[k,j]; c[i,j]:=s; end; y:=0; for i:=1 to n do y:=y+x[i]*(-x[i]); for i:=1 to n do for j:=1 to n do z[i,j]:=c[i,j]*y; writematr('B=At',n,b);readln; writematr('U=B-E',n,u);readln; writematr('V=A-E',n,v);readln; writematr('C=U*V ',n,c);readln; write('скаляр y=X*X '); writeln('y=',y:1:3); end{matoper};
{-----------Часть 4----------------} procedure porjadok(n:integer; a:matr; var b:matr); var j,i,k:integer; c:real; begin for i:=1 to n do for j:=1 to n do b[i,j]:=a[i,j]; for i:=1 to n-1 do if b[i,n] > 0 then begin k:=i; for j:=i+1 to n do if b[j,n]>0 then if b[j,n]>b[k,n] then k:=j; end; if k<>i then begin c:=b[i,n]; b[i,n]:=b[k,n]; b[k,n]:=c; end; end{porjadok}; {-----------Часть 5----------------} function znachf(n:integer;a:matr;x:vect):real; var i,j,k: integer; s,y1,y2,c: real; begin y1:=exp(30); for i:=1 to n do if odd(i) then begin s:=0; for k:=1 to n do if odd(k)=false then if abs(a[i,k])>1e-6 then s:=s+ln(abs(a[i,k]))/ln(10); if s<y1 then y1:=s; end; y2:=0; for k:=1 to n do if odd(k)=false then begin c:=1; for j:=1 to k do c:=c*j; y2:=y2+x[k]*exp(1/k*ln(c)); end; writeln('y1=',y1:1:3,' y2=',y2:1:3); y:=y1+y2; znachf:=y; end{znachf}; {----------Основная программа---------} begin clrscr; write(' Введите размерность матрица n ');readln(n); writeln(' ':25,' Исходные данные'); writeln('размерность матрицы n=',n); writeln(' ':20,' результаты расчетов'); writeln('------------------- часть 1--------------------'); writeln('Вычислить элементы матрицы А по формуле'); matrica(n,a); writematr('A',n,a); writeln('------------------- часть 2---------------------'); writeln('Из матрицы А получить вектор Х,'); writeln('элемент которого х[i] определяется как наибольший '); writeln(' среди принадлежащих отрезку [-10,10]'); writeln('элементов i-го столбца матрицы.'); vector(n,a,x); writevect('X',n,x); writeln('------------------- часть 3---------- ----------'); writeln(' ':7,'Вычислить Z=(At-E)(A-E)(X-Xи)'); matoper(n,a,x,z); writeln('Результат: '); writematr('Z',n,z); writeln('------------------- часть 4---------------------'); writeln('Упорядочить по убыванию положительные элементы '); writeln('последнего столбца мартицы А'); porjadok(n,a,b); writematr('B',n,b); writeln('------------------- часть 5----------------------- '); writeln('значение функции y=y1+y2'); y:=znachf(n,a,x); writeln('y=',y:1:3); writeln('----------------конец задачи----------------------'); end{kursrab}.
Не нашли, что искали? Воспользуйтесь поиском:
|