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

3. Теоретические аспекты обработки информации

3.1. Абстрактные автоматы и понятие алгоритма. Программное управление

3.1.1. Понятие алгоритма

Су­ществует много определений термина “алгоритм”. Например, по определе­нию академика А. Н. Колмогорова, алгоритм или алгорифм – это всякая система вычислений, выполняемых по строго определенным правилам, кото­рая после какого-либо числа шагов заведомо приводит к решению поставленной задачи.

В инженерной практике часто используется следующее определение: алгоритм – конечная совокупность точно сформулированных правил ре­шения какой-то задачи.

Само слово “алгоритм” происходит от algorithmi – латинской формы написания имени великого математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понима­ли только правила выполнения четырех арифметических действий над многознач­ными числами.

По форме задания алгоритмы могут быть словесными и математиче­скими. Пример словесной формы алгоритма – алгоритм Евклида для на­хождения наибольшего общего делителя двух чисел а и b приводится ниже.

1. Обозревая два числа а и b, переходи к следующему пункту.

2. Сравни обозреваемые числа (а равно b, а меньше, больше b) и пере­ходи к следующему пункту.

3. Если а и b равны, то прекрати вычисление: каждое из чисел дает ис­комый результат. Если числа не равны, то переходи к следующему пункту.

4. Если первое число меньше второго, то переставь их местами и пере­ходи к следующему пункту.

5. Вычти второе число из первого и сделай обозрение двух чисел: вы­читаемого и остатка; переходи к п. 2.

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

Характеристиками алгоритма являются:

· детерминированность, определяющая однозначность результата решения задачи при заданных исходных данных;

· дискретность определяемого алгоритмом процесса, означающая расчлененность его на отдельные элементарные шаги;

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

Эти характеристики не дают точного описания алгоритма, а лишь объ­ясняют смысл этого термина в математике.

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

Детерминированный алгоритм – алгоритм, имеющий место при чет­кой и ясной системе правил и указаний и однозначных действиях.

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

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

Процесс выполнения алгоритма называется алгоритмическим процес­сом. Для некоторых исходных данных он заканчивается получением иско­мого результата после конечного числа шагов. Однако возможны случаи, когда искомый результат не достигается или безрезультатно обрывается. Тогда говорят, что к таким исходным данным алгоритм неприменим.

Таким образом, алгоритм дает возможность ответить на вопрос “что делать?” в каждый момент времени, однако создать алгоритм не всегда возможно.

Численный алгоритм – алгоритм, соответствующий решению постав­ленной задачи с помощью арифметических действий.

Логический алгоритм – алгоритм, используемый в случае, если при решении задачи приходится применять некоторые логические действия.

Процесс решения задачи на ЭВМ прежде всего должен быть выражен каким-то алгоритмом. Разработка алгоритмов решения задач – задача про­граммиста, а разработка алгоритмов функционирования цифрового автома­та для решения поставленных задач – задача инженера-разработчика.

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