Program Pr1; uses crt; var mas:array[1..15] of integer; i,max,min,b,v:integer; Begin clrscr; for i:=1 to 15 do mas[i]:=random(10); for i:=1 to 15 do write(mas[i]); max:=0; min:=100000; b:=0; for i:=1 to 15 do begin if mas[i]>max then max:=i; if mas[i]<min then min:=i; end; if max>min then for i:=min to max div 2 do begin v:=mas[max-b]; mas[max-b]:=mas[i]; mas[i]:=v; b:=b+1; end else for i:=max to min div 2 do begin v:=mas[min-b]; mas[min-b]:=mas[i]; mas[i]:=v; b:=b+1; end; writeln(); for i:=1 to 15 do write(mas[i]); end.
Выделяют три наиболее распространенные на практике записи алгоритмов:
словесный (запись на естественном языке);графический (запись с использованием графических символов);программный (тексты на языках программирования).
Словесный записи алгоритмов
Словесный записи алгоритма на естественном языке. Данный очень удобен, если нужно приближенно описать суть алгоритма. Однако при словесном описании не всегда удается ясно и точно выразить логику действий.
В качестве примера словесного записи алгоритма рассмотрим алгоритм нахождения площади прямоугольника
S=a*b,
где S – площадь прямоугольника; а, b – длины его сторон.
Очевидно, что a, b должны быть заданы заранее, иначе задачу решить невозможно.
Словестный записи алгоритма выглядит так:
Начало алгоритма.Задать численное значение стороны a.Задать численное значение стороны b.Вычислить площадь S прямоугольника по формуле S=a*b.Вывести результат вычислений.Конец алгоритма.
Program Pr1;
uses crt;
var mas:array[1..15] of integer;
i,max,min,b,v:integer;
Begin
clrscr;
for i:=1 to 15 do mas[i]:=random(10);
for i:=1 to 15 do write(mas[i]);
max:=0;
min:=100000;
b:=0;
for i:=1 to 15 do begin
if mas[i]>max then max:=i;
if mas[i]<min then min:=i;
end;
if max>min then for i:=min to max div 2 do begin
v:=mas[max-b];
mas[max-b]:=mas[i];
mas[i]:=v;
b:=b+1;
end
else for i:=max to min div 2 do begin
v:=mas[min-b];
mas[min-b]:=mas[i];
mas[i]:=v;
b:=b+1;
end;
writeln();
for i:=1 to 15 do write(mas[i]);
end.