Понятие алгоритма. Понятие алгоритма, относящееся к фундаментальным концепциям информатики, возникло задолго до появления компьютеров и стало одним из основных понятий
Понятие алгоритма, относящееся к фундаментальным концепциям информатики, возникло задолго до появления компьютеров и стало одним из основных понятий математики.
Для пояснения понятия "алгоритм" важное значение имеет определение понятия "исполнитель алгоритма". Алгоритм формулируется в расчете на конкретного исполнителя, например человека, специально дрессированное животное, особую машину – автомат и т.д. Алгоритм является руководством к действию для исполнителя, поэтому значение слова "алгоритм" близко по смыслу к значению слов "указание" или "предписание".
А лгоритм – понятное и точное предписание (указание) исполнителю совершить определенную последовательность действий для достижения указанной цели или решения поставленной задачи.
Алгоритм – это документ, изготовляемый человеком-разработчиком.
Процесс составления этого документа называется алгоритмизацией.
Обратим внимание на основные особенности алгоритма.
Алгоритм имеет некоторое число входных величин – аргументов, задаваемых до начала работы. Цель выполнения алгоритма – получение результата (результатов), имеющего вполне определенное отношение к исходным данным.
Можно сказать, что алгоритм указывает последовательность действий по переработке исходных данных в результаты.
Чтобы алгоритм можно было выполнить, он должен быть понятен исполнителю.
Понятность алгоритма означает знание исполнителя о том, что надо делать для исполнения этого алгоритма. Таким образом, при формулировке (составлении) алгоритма необходимо учитывать возможности и особенности исполнителя, на которого рассчитан алгоритм.
Алгоритм представляется в виде конечной последовательности шагов. Говорят, что алгоритм имеет дискретную структуру. Следовательно, его исполнение расчленяется на выполнение отдельных шагов, а выполнение каждого очередного шага начинается после завершение предыдущего.
Выполнение алгоритма заканчивается после выполнения конечного числа шагов. При выполнении алгоритма некоторые его шаги могут повторяться многократно.
Каждый шаг алгоритма должен быть четко и недвусмысленно определен и не должен допускать произвольной трактовки исполнителем. При исполнении алгоритма исполнитель должен действовать строго в соответствии с его правилами и у него не должно возникать потребности предпринимать какие-нибудь действия, отличные от предписанных, алгоритмом.
Иными словами, алгоритм рассчитан на чисто механическое исполнение. Эта очень важная особенность означает, в частности, что если один и тот же алгоритм поручить для исполнения разным исполнителям, то они придут к одному и тому же результату, лишь бы эти исполнители понимали алгоритм. Именно определенность алгоритма дает возможность поручить его исполнение автомату, не обладающим "здравым смыслом".
Каждый шаг алгоритма должен быть выполнен точно и за конечное время. В этом смысле говорят, что алгоритм должен быть эффективным, т.е. действия исполнителя на каждом шаге исполнения алгоритма должны быть достаточно простыми, чтобы их можно было выполнить точно и за конечное время.
Обычно отдельные указания исполнителю, содержащиеся в каждом шаге алгоритма, называют командами. Таким образом, эффективность алгоритма связана с возможностью выполнения каждой команды за конечное время. Исполнители отличаются друг от друга своими возможностями, т.е. репертуаром команд, которые они "понимают" и могут выполнять. Следовательно, алгоритм, рассчитанный на конкретного исполнителя, должен быть сформулирован так, чтобы содержать только те команды, которые входят в систему этого исполнителя.
Правильно составленный алгоритм должен удовлетворять определенным требованиям, к основнымиз которых относятся:
Детерминированность. Каждый оператор алгоритма должен быть сформулирован так, чтобы действия, предусмотренные этим оператором, определялись однозначно. Неполных формулировок и многозначных требований здесь быть не может.(Пример команды робота взять две-три детали. Будет поставлен в тупик)
Результативность. Под этим свойством понимается способность алгоритма приводить к получению искомого результата после конечного числа выполнения его операторов.
Следует отметить, что свойство результативности не абсолютно. Так, при неправильной формулировке условий окончания циклических вычислений происходит зацикливание. Компьютер в этом случае может прекратить вычисления только после вмешательства человека или операционной системы. Возможны также случаи, когда выполнение алгоритма обрывается на каком-то операторе из-за невозможности выполнения некоторых действий. Например, вычисления по формуле Y=X/(1- X 2) обрываются на этапе деления при значении X=1 из-за невозможности деления на нуль.
lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.)
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав