- •Постановка задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
- •Задание 1
- •I. Постановка задачи
- •II. Алгоритм задачи, описанный в виде блок-схемы:
- •III. Алгоритм задачи, описанный на языке программирования Pascal-программа:
- •IV. Описание используемых модулей и основных операторов.
- •Алгоритмы циклической структуры (повторение) — алгоритмы, отдельные действия в которых многократно повторяются.
- •V . Результаты работы программы
III. Алгоритм задачи, описанный на языке программирования Pascal-программа:
Program zadaha;
Const r=100;
Var a: array[1..r,1..r] of real; x: array[1..r] of real;
i,j,n,k: integer; s,p,m,z,y: real;
begin {задача а}
writeln(‘vvedite razmernost matrizi n=?’); {запрашиваем и
readln(n); вводим размер матрицы А}
for i:=1 to n do {расчёт элементов
for j:=1 to n do матрицы А по формуле}
a[i,j]:=sin(2*i+5*j);
writeln(‘matriza A:’);
writeln;
for i:=1 to n do
begin
for j:=1 to n do {вывод матрицы А}
writeln(a[i,j]:6:2,’ ‘);
writeln;
end;
s:=0; {задача b;}
{ сумме присваиваем нулевое, произведению единичное значение}
p:=1;
writeln(‘vector X:’);
writeln;
for i:=1 to n do
begin
for j:=1 to n do
begin {вычисление элементов вектора Х}
p:=p*a[i,j];
s:=s+cos(a[i,j]);
x[i]:=p+s;
writeln(x[i]:6:2,’ ‘); {вывод вектора Х}
writeln;
end;
end;
for i:=1 to n do {задача с}
if i mod 2 =0 then {условие чётности строк}
begin
{сортировка элементов чётных строк матрицы A по убыванию методом пузырька}
for j:=1 to n-1 do
begin
for k:=1 to n-1 do
if a[i,k]>a[i,k+1] then
begin
z:=a[i,k];
a[i,k]:=a[i, k+1];
a[i, k+1]:=z;
end;
end;
writeln(‘otsortirovannay matriza A:’);
writeln;
for i:=1 to n do
begin {вывод преобразованной матрицы А}
for j:=1 to n do
writeln(a[i,j]:6:2,’ ‘);
writeln;
end;
y:=0; {задача d}
for i:=2 to n do
begin
if i mod 2 = 0 then {условие чётности строк}
y:=y+x[i]*x[n+1-i]; {расчёт значений у}
end;
writeln(‘y=’,y:6:2); {вывод y}
readln;
end.
