Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ДС.doc
Скачиваний:
48
Добавлен:
03.03.2016
Размер:
1.19 Mб
Скачать

38

Министерство образования и науки, молодежи и спорта Украины

Донецкий национальный технический университет

Лекции по курсу “дискретные структуры”

Донецк, 2012

Лекция 1. ИНТУИТИВНОЕ ПОНЯТИЕ АЛГОРИТМА

Материал этой темы является вводным при изучении классической теории алгоритмов. Основные задачи изучения темы – повторение и закрепление понятия и свойств алгоритма, рассматриваемых в курсе « Программирование и работа на ЭВМ », дальнейшее развитие навыков алгоритмизации, демонстрация проявления основных свойств алгоритмов на конкретных примерах. Рекомендуемая литература : [1,2,3,4].

    1. Интуитивное определение алгоритма

В настоящее время не существует строгого математического определения алгоритма, на практике пользуются так называемым интуитивным определением, которое фактически представляет собой толкование понятия « алгоритм ». Согласно ГОСТ 19.781-74 « алгоритм – точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату ». Однако такое определение является недостаточно полным, поскольку ограничивается только вычислительными процессами. Поэтому в качестве интуитивного определения примем следующее :

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

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

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

  1. Основные свойства алгоритмов

Здесь отмечены свойства, понимание которых особенно важно для практической разработки правильных алгоритмов.

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

2.Результативность ( потенциальная осуществимость ).

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

3.Дискретность обрабатываемой информации.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]