Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по инф-ке.docx
Скачиваний:
8
Добавлен:
27.10.2018
Размер:
160.25 Кб
Скачать

2. Алгоритм

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

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

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

Св-ва алгоритма:

- Детерминированность – выполнив очередное действие, исп-ль должен точно знать, что ему делать дальше.

- Дискретность – раздел. инф. процесса в алгоритме на отдел. команды.

- Массовость – по одному и тому же алгоритму реш-ся однотипные задачи и неоднократно.

- Понятность – алгоритм строится для конкретного ис-ля и должен быть ему понятен.

- Рез-сть – алгоритм всегда д. приводить к результату.

Алгоритм моделирует реш-е задачи в виде точно опред. посл-сти действий для некот. исполнителя по преобраз-ю исходных данных в результирующие. Исполнитель алгоритма имеет след. хар-ки: -среда обитания;-сист. команд;-св-ва;-отказы, кот. приводят к ошибкам. Любой алгоритм выполняется исполнителем формально.

Процесс составл-я алгоритмов наз-ют алгоритмизацией.

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

Т.о., все три способа предст-я алгоритмов можно считать взаимодополняющими друг друга. На этапе проектир-я алгоритмов наилучшим способом явл-ся граф. представление, на этапе проверки алгоритма – табл. описание, на этапе применения - текстовая запись в виде программы.

Композиция (следование) - это лин. управляющая конструкция, не содержащая альтернативу и итерацию. Она предназначена для описания единств-го процесса обработки инф-ии.

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

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

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

Сущ-ют два осн. вида цикл. алгоритмов: цикл. алгоритмы с предусл-ем, цикл. алгоритмы с постусл-ем. Они отлич-ся друг от друга местоположением усл-я выхода из цикла.

Алтернативой циклам явл-ся рекурсия: многократное обращение ф-ии самой к себе. Рекурс. алгоритмы д. предусматривать обяз. прекращение рекур. вызова внутри ф-ии. Рекурс. алгоритмы нашли широкое применение в системах логич. программ-я.