Запись алгоритма

В данном случае речь фактически идет о том, что запись алгоритма должна быть настолько четкой, настолько полной и продуманной в деталях, чтобы у исполнителя никогда не могло возникать потребности в принятии каких-либо самостоятельных решений, не предусмотренных составителем алгоритма. Говоря иначе, алгоритм не должен оставлять места для произвола исполнителя. Поэтому такие предписания, как, например, Взять две-три ложки сахарного песку, Через несколько минут снять трубку с рычага, Умножить х на одно из двух данных чисел а или 6, не могут встречаться в алгоритмах. Очевидно, что понятные в определенных ситуациях для человека предписания такого типа могут поставить в тупик робота. Кроме того, в алгоритмах недопустимы также ситуации, когда — после выполнения очередного предписания алгоритма исполнителю неясно, какое из предписаний алгоритма должно выполняться на следующем шаге.

Отмеченное свойство алгоритмов называют свойством определенности или детерминированности.

4. Наиболее предпочтительными являются алгоритмы, обеспечивающие решение широкого класса задач данного типа. В простейшем случае эта вариативность алгоритма обеспечивается возможностью использовать различные допустимые значения исходных данных. Так, например, алгоритм (или программа) вычисления по формуле у=(n V)2 на микрокалькуляторе Электроника МК-41 может применяться не для одного значения х9 а для всех х>0. Другой пример: решение квадратного уравнения ах2-Ьх + с = 0 в области действительных чисел может быть найдено по формулам которые применимы не для одного, а для многих квадратных уравнений с коэффициентами а, Ъ и с, удовлетворяющих условию D — b2 — 4ас0.

Это свойство алгоритмов называется свойством массовости.

5. Обязательное требование к алгоритмам — результативность. Смысл этого требования состоит в том, что при точном исполнении всех предписаний алгоритма процесс должен прекратиться за конечное число шагов й при этом должен быть получен какой-либо определенный ответ на вопрос задачи.

Итак, приступая к разработке алгоритмов, составитель должен придерживаться перечисленных выше требований. Учитывая, что сама задача составления алгоритма не имеет смысла до тех пор, пока четко не определены возможности исполнителя, следует начинать с уточнения системы его предписаний. Система предписаний исполнителя определяет характер языка, на котором должна выполняться запись алгоритма. По этой причине понятия алгоритм и язык являются понятиями взаимосвязанными. В этом смысле можно отметить, что сформулированные выше свойства алгоритмов имеют значение не столько сами по себе, сколько в приложении к конкретным формам представления алгоритмов.

Ознакомление с простейшими типами алгоритмических предписаний мы будем вести с ориентацией на исполнителя, возможности которого (там, где это не имеет принципиального значения) определены не слишком строго. В дальнейшем при переходе к средствам представления алгоритмов, приближающихся к машинному стандарту требований, особенностям языка будет уделено больше внимания.

Упражнения

1. Перечислить основные требования, предъявляемые к алгоритмам.

2. Привести примеры предписаний, в которых нарушено свойство определенности.

3. Привести примеры немассовых алгоритмов.

Метки: , ,

Записи по теме

Комментировать

Введите код