Алгоритм -- одно из фундаментальных понятий информатики. Этим словом обозначают точное и безотказное предписание действий, которые должны быть выполнены. Т. е. мы можем считать алгоритмом любую инструкцию, если:
* ее команды не допускают различных вариантов исполнения; * указания предусмотрены для всех возможных вариантов развития событий.
С этой точки зрения можно составить, к примеру, алгоритм переливания из пустого в порожнее. Однако, на практике алгоритмы составляют для решения тех или иных задач, т. е. получения необходимых результатов по заданным исходным данным. Вид алгоритма, да и сама возможность его написания зависят от исполнителя (это может быть и человек, и автоматическое устройство) , или точнее, от его системы команд (т. е. набора инструкций, которые он "умеет" выполнять)
===== PascalABC.NET =====
procedure MyCompare<T>(P, Q: HashSet<T>);
begin
if P.SetEquals(Q) then
Print('Множества эквивалентны')
else if P.IsSubsetOf(Q) then
Print('Первое множенство является подмножеством второго')
else if P.IsSupersetOf(Q) then
Print('Второе множенство является подмножеством первого')
else
Print('Проверка множеств завершена')
end;
begin
var n := ReadInteger('Мощность первого множества:');
var P := ReadSeqInteger('Введите элементы множества:', n).ToHashSet;
n := ReadInteger('Мощность второго множества:');
var Q := ReadSeqInteger('Введите элементы множества:', n).ToHashSet;
MyCompare(P, Q)
end.
* ее команды не допускают различных вариантов исполнения;
* указания предусмотрены для всех возможных вариантов развития событий.
С этой точки зрения можно составить, к примеру, алгоритм переливания из пустого в порожнее. Однако, на практике алгоритмы составляют для решения тех или иных задач, т. е. получения необходимых результатов по заданным исходным данным. Вид алгоритма, да и сама возможность его написания зависят от исполнителя (это может быть и человек, и автоматическое устройство) , или точнее, от его системы команд (т. е. набора инструкций, которые он "умеет" выполнять)