Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМП к заданиям по информатике “Обработка массив...doc
Скачиваний:
5
Добавлен:
15.11.2019
Размер:
651.26 Кб
Скачать

4.2.3.4. Упорядочение матрицы.

Упорядочить по убыванию положительные элементы последнего столбца матрицы А.

Алгоритм процедуры porjadok

n, a[1..n,1..n]

нет

да

нет

нет

да

да

нет

да

b[1..n,1..n]

Таблица переменных

Имя

Тип

Назначение

Параметр

n

целый

размерность

формальный

a[1..n,1..n]

вещественный

матрица

b[1..n,1..n]

i,j,k

целый

параметр цикла

локальный

c

вещественный

вспомогательный

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;

if k<>i then

begin

c:=b[i,n];

b[i,n]:=b[k,n];

b[k,n]:=c;

end;

end;

end{porjadok};

4.2.3.5. Вычисление параметра массива.

Вычислить значение функции

Алгоритм функции znachf

да

нет

нет

нет

нет

нет

n, a[1..n,1..n], x[1..n]

znachf

да

да

да

да

Таблица переменных

Имя

Тип

Назначение

Параметр

y

вещественный

имя функции

-

n

целый

размерность

формальный

a[1..n,1..n]

вещественный

матрица

x[1..n]

вектор

i,j,k

целый

параметр цикла

локальный

s,c

вещественный

вспомогательный

y1,y2

скаляр

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};