Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Свойства алгоритмов



- Дискретность

- Детерминированность

- Понятность и выполнимость

- Конечность

- Массовость

- Результативность

Отсутствие любого из этих свойств не позволяет нам говорить об алгоритме.

Дискретность. Алгоритм должен состоять из отдельных действий, следующих в определенном порядке. Важно, что алгоритм выполняется шаг за шагом.

Детерминированность. По-другому это называют определенность. Любое действие должно быть строго и недвусмысленно определено в каждом случае. Алгоритм не должен допускать двойного толкования. Например, формальному исполнителю трудно определить, что значит «посолить по вкусу» или «варить до готовности».

Понятность и выполнимость. Два этих термина неразрывно связаны как между собой, так и с понятием исполнителя алгоритмов. Алгоритмы существуют не сам по себе. Они создаются для определенного исполнителя, которому предстоит совершить все запланированные действия. Если Вы купили новую бытовую технику, которой не умеете пользоваться, а инструкция написана, например, по-китайски, то, не зная китайского языка, Вы не сможете ее выполнить, значит для Вас эта инструкция – не алгоритм. Возможна и другая ситуация. Вам сообщили самый быстрый способ переправиться через реку: отойти от берега на 10 метров, разбежаться, прыгнуть, приземлиться на противоположном берегу. Эти инструкции невыполнимы для обычного человека и большинства рек.

Конечность. Каждое действие в алгоритме должно иметь возможность завершения. В целом алгоритм завершается за конечное число шагов. Приведем примеры нарушения этого свойства. Рецепт «принимать по 1 таблетке 3 раза в день» не регламентирует когда надо остановиться. Алгоритм «делить число пополам пока оно не станет отрицательным» никогда не остановится для исходного положительного числа.

Массовость. Это способность применять алгоритм к разным исходным данным или его применимость для решения некоторого множества задач. Например, алгоритмы сложения, вычитания, умножения и деления могут быть применены для любых чисел, причем не только в десятичной, но и в других позиционных системах счисления.

Результативность. По итогам работы алгоритма должен формироваться результат. В некоторых случаях он может сообщить, что цель не может быть достигнута, но и это будет хоть и отрицательный, но тоже результат.

Различают следующие способы записи алгоритмов:

- Словесное описание (вербально)

- В виде диаграмм, блок-схем

- На алгоритмическом языке

- На языке программирования

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

Исполнители алгоритмов

Главная особенность любого алгоритма – формальное исполнение, позволяющее выполнять заданные действия (команды) не только человеку, но и техническим устройствам (исполнителям). Таким образом, исполнителями алгоритмов могут быть, например, человек, компьютер, принтер, робот-манипулятор, дрессированное животное, компьютерная программа, "черепашка" в Логомирах (геометрический исполнитель) и т.д.

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

Эти действия называются системой команд исполнителя (СКИ). Только их и можно использовать.

Исполнитель вычислительных алгоритмов обычно называется вычислителем. Вычислитель может иметь дело с числами и переменными, обозначающими числа.

Исполнитель характеризуется:

- Средой исполнения

- Системой команд исполнителя

- Отказами

Например, простейший исполнитель Робот из школьного учебника имеет систему команд: Направо, Налево, Вверх, Вниз. Его средой выполнения является клетчатое поле. Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды. Для такого робота отказ возникает, например, при попытке выполнить команду «Вверх» при наличии сверху препятствия.

Говорят, что исполнитель действует формально, если он не вникает в смысл того, что он делает, чаще всего даже не знает цели алгоритма. В процессе выполнения алгоритма не оптимизирует процесс.

Рассмотрим другие примеры исполнителей алгоритмов.

Музыкант, играющий на любом музыкальном инструменте по нотам. Алгоритмом для него является нотная запись музыкального произведения.

Калькулятор, совершающий с числами различные арифметические операции.

Стиральная машина, выполняющая ряд действий в соответствии с заданной программой стирки.

Токарный станок с ЧПУ (числовым программным управлением), вытачивающий на деталь по чертежу.

Компьютер, выполняющий заложенные в него программы.

Как мы уже знаем, алгоритм представляет собой последовательность команд из системы команд исполнителя (СКИ). Важно как эти команды взаимодействуют между собой, в каком порядке должны быть выполнены. Различный порядок выполнения команд дает разные виды алгоритмов.

По виду алгоритмы можно разделить на следующие категории:

- Линейные алгоритмы

- Разветвляющиеся алгоритмы

- Циклические алгоритмы

- Линейные алгоритмы

Линейным алгоритмом или линейным участком алгоритма называют описание последовательности действий, которые выполняются однократно в заданном порядке. Это самый простой вид алгоритмов. Выполняя такой алгоритм, исполнителю не надо ни о чем задумываться, не придется задавать никаких вопросов. Например, линейным алгоритмом является процесс сборки машины на конвейере или последовательность команд: «надеть носки», «обуть ботинки», «выйти из дома». Команды выполняются именно в том порядке, в котором они записаны.





Дата публикования: 2014-11-03; Прочитано: 1601 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...