Результаты.
Постановка задачи 2.
Разработать алгоритм и программу для нахождения максимального и минимального элементов матрицы Zij и их индексов (i,j). Экстремальные значения Zij искать среди элементов, для которых выполняются условия:
Матрица Zij формируется исходя из условий:
Где n-номер варианта, fn, fn+1 – функции, взятые из таблицы 5.1, в соответствии с вариантом n=i: размерность матрицы 30 на 30 (i=30, j=30). Функция fn зависит от x,a,b,c,d (таблица 5.1), которые определяются как x=n(i+j), a=ni, b=n(i+1), c=nj, d=n(j+1), где n-номер варианта. Если fn(x) неопределима при заданных x,a,b,c,d, то Zij=0.
В программе организовать вывод максимального и минимального элементов, а также индексов j и i в файл A.LST.
15 |
|
16 |
|
Алгоритм (блок-схема) программы 2.
i:=1
j:=1
да нет
нет да
нет да
z[i,j]:=sin(a*exp(-4*ln(x))+b*ln(x-5*x*x*x)+c*sqrt(exp(3*ln(x+c)))+ln(d)/(x*x*x-2*d));
z[i,j]:=0
z[i,j]:=cos(sqrt(a)*exp(3*ln(cos(abs(x))))+(1/b)*sin(4*x)+exp(3*ln(cos(c*x)/sin(c*x)))+d*ln(2*x)*ln(2*x));
z[i,j]:=0
j<=30
i<=30
a1
a1
i:=1
j:=1
да нет
да нет
да нет нет
J<=30
I<=30
Программа 2.
program kursach;
uses crt;
var z:array[1..30,1..30] of real;
max, min:real;
f:text;
i,j,x,a,b,c,d,n:integer;
k,l,m,p:integer;
BEGIN
clrscr;
assign(f,'A.LST');
rewrite(f);
min:=z[1,1];
max:=z[1,1];n:=13;
for i:=1 to 30 do begin
for j:=1 to 30 do begin
x:=n*(i+j);
a:=n*i;
b:=n*(i+1);
c:=n*j;
d:=n*(j+1);
if i>j then begin
if (x<=0) then
z[i,j]:=0
else
z[i,j]:=sin(a*exp(-4*ln(x))+b*ln(x-5*x*x*x)+c*sqrt(exp(3*ln(x+c)))+ln(d)/(x*x*x-2*d));
end
else begin
if (x<=0) then
z[i,j]:=0
else
z[i,j]:=cos(sqrt(a)*exp(3*ln(cos(abs(x))))+(1/b)*sin(4*x)+exp(3*ln(cos(c*x)/sin(c*x)))+d*ln(2*x)*ln(2*x));
end; end; end;
for i:=1 to 30 do begin
for j:=1 to 30 do begin
if (z[i,j]>-0.3) and (z[i,j]<0.3) and ((i+j)>10) and ((i+j)<50)
then begin
if z[i,j]>max then begin
max:=z[i,j];
k:=i; l:=j;
end;
if z[i,j]<min then begin
min:=z[i,j];
p:=i; m:=j;
end;
end; end; end;
writeln(f,'vivodit max i min matrici i ih indeksi');
writeln(f,' i=',k:2,' j=',l:2,' max=',max:6:3);
writeln(f,' i=',p:2,' j=',m:2,' min=',min:6:3);
close(f);
writeln(' i=',k:2,' j=',l:2,' max=',max:6:3);
writeln(' i=',p:2,' j=',m:2,' min=',min:6:3);
readln;
END.
vivodit max i min matrici i ih indeksi
i=23 j=22 max= 0.299
i= 8 j=18 min=-0.300