Блок-схема главной программы
Блок-схема процедуры вычисления одномерного массива
Блок-схема процедуры вычисления двумерного массива
Текст программы на языке Паскаль
program lb4;
uses crt;
var a:integer;
q:char;
procedure d1; //Процедура Одномерный массив
const n=6;
var i:integer;
mas:array [1..n] of integer;
begin
for i:=1 to n do
begin
write('mas[',i,']=');
readln(mas[i]);
end;
for i:=1 to n do write(mas[i]:2);
writeln;
writeln('Нажмите любую клавишу');
readkey;
for i:=1 to n do
begin
if i mod 2>0 then mas[i]:=mas[i]+2;
if i mod 2=0 then mas[i]:=mas[i]+1;
end;
for i:=1 to n do write(mas[i]:2);
end;
procedure d2; //Процедура Матрица
const n=3;
var i,j,max,x:integer;
mas:array[1..n,1..n] of integer;
begin
for i:=1 to n do
for j:=1 to n do
begin
write('mas[',i-1,'][',j-1,']=');
read(mas[i][j]);
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
write(mas[i][j]:2);
end;
writeln;
end;
writeln('Нажмите любую клавишу');
readkey;
max:=0;
for i:=1 to n do
for j:=1 to n do
begin
if mas[i][j]>max then
begin
max:=mas[i][j];
x:=i;
end;
end;
for i:=1 to n do
begin
for j:=1 to n do
begin
if (mas[i][j]<>max) and (i=x) then mas[i][j]:=0;
write(mas[i][j]:2)
end;
writeln;
end;
end;
begin //Главное тело
repeat
clrscr;
writeln('Нажмите "1", для запуска одномерного массива');
writeln('Нажмите "2", для запуска двумерного массива');
readln(a);
case a of
1:d1;
2:d2;
end;
writeln;
write('Повторить?(Y/N)_');
q:=readkey;
until (q='N') or (q='n');
end.
Работа программы
Вывод: получены практические навыки программирования алгоритмов обработки массивов.