Термин “алгоритм управления” применяется здесь в значении определенной последовательности действий, выбираемой руководителем или группы управления с целью преобразования исходной ситуации в желаемый, соответствующий поставленной цели результат. “Алгоритмизация” деятельности применима к любой из рассмотренных функций управления и призвана ответить на вопрос, какие именно действия должны быть включены в стратегию управления при осуществлении той или иной функции.Выбор того или иного алгоритма определяется степенью заданности проектной ситуации. Бывают ситуации, в которых процесс управления происходит в знакомых ситуациях, когда эта заданность практически исключает необходимость новаторской деятельности. В таких ситуациях эффективным может быть алгоритм управления, называемый линейным. Этот алгоритм отражает управление, состоящее из цепочки последовательных действий, в которой каждое действие зависит от исхода предыдущего, но не зависит от результатов последующих действий.Если после получения результатов на одной из стадий приходится возвращаться к одному из предыдущих этапов, то такой алгоритм становитсяциклическим.В управленческих задачах, когда функции отдельных структур управления не совпадают, может иметь место так называемый разветвленный алгоритм.Особенность этого алгоритма является то, что в него могут входить параллельные этапы, очень выгодные в том отношении, что позволяют увеличить количество структур и людей, одновременно выполняющих задачу.Кроме того, в таких алгоритмах могут содержаться конкурирующие этапы, которые позволяют в определенной степени видоизменять стратегию в соответствии с исходом предыдущих этапов.Адаптивные алгоритмы отличаются тем, что в них с самого начала определяется только первый шаг, первое действие. На всех последующих шагах выбор каждого действия зависит от результатов предшествующего шага алгоритма. В принципе, такая стратегия представляется наиболее предпочтительной, поскольку схема поиска всегда определяется на основе наиболее полной информации.Недостаток адаптивных алгоритмов состоит в невозможности предвидеть и контролировать затраты и сроки выполнения проекта.
Var j,n,i:longint; a,b:array [1..1000] of integer; begin readln(n);// считываем число i:=1;// начинаем с первого элемента массива while (n>0) do //пока n больше нуля begin a[i]:=n mod 10; //тем самым выбираем последнюю цифру числа n:=n div 10; // откидываем последнюю цифру i:=i+1;// следующий элемент массива end; // по окончании в массиве a будет храниться наше число только // в обратном порядке i:=i-1;// теперь i равно длине числа +1 поэтому отнимаем 1 for j:=i downto 1 do // с конца массива а до 1 begin b[i-j+1]:=a[j]; // заполняем b в обратном порядке end; //теперь в массиве b хранится наше число в нужном порядке for j:=1 to i do begin write(b[j],' '); end; end.
a,b:array [1..1000] of integer;
begin
readln(n);// считываем число
i:=1;// начинаем с первого элемента массива
while (n>0) do //пока n больше нуля
begin
a[i]:=n mod 10; //тем самым выбираем последнюю цифру числа
n:=n div 10; // откидываем последнюю цифру
i:=i+1;// следующий элемент массива
end;
// по окончании в массиве a будет храниться наше число только
// в обратном порядке
i:=i-1;// теперь i равно длине числа +1 поэтому отнимаем 1
for j:=i downto 1 do // с конца массива а до 1
begin
b[i-j+1]:=a[j]; // заполняем b в обратном порядке
end;
//теперь в массиве b хранится наше число в нужном порядке
for j:=1 to i do
begin
write(b[j],' ');
end;
end.