Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
my=ps=KSR1=samoilik=13052013.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
744.96 Кб
Скачать

1.1 Свойства, характерные для интуитивного понятия алгоритма

  1. Дискретность. Это свойство заключается в следующем: в начальный момент задается исходная система величин, а в каждый следующий момент система величин получается из предыдущей системы величин по определенному закону (программе).

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

  3. Элементарность шагов. Закон получения последующей системы величин из предыдущей должен быть простым и локальным.

  4. Эффективность (результативность). Каждый шаг работы алгоритма должен заканчиваться результатом.

  5. Массовость алгоритма. Начальная система величин может выбираться из некоторого бесконечного счетного множества Х.

  6. Конструктивность. Объекты из Х, над которым работает алгоритм, должны быть конструктивными.

Конструктивный объект – тот, который может быть набран весь целиком и представлен для рассмотрения.

Примерами конструктивных объектов являются булевы функции, формулы алгебры логики, натуральные и рациональные числа, матрицы с натуральными или рациональными элементами, многочлены от неизвестных с рациональными коэффициентами.

Неконструктивными объектами являются, например, любые действительные числа, представления которых в десятичной записи a0 a1…an… ни для какого n из натуральных чисел не может быть целиком представлено для рассмотрения. Числа не являются конструктивными объектами.

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

Часто алгоритмическим процессам приписывают ряд свойств с их меньшим количеством и с другим акцентом требований:

1. Детерминированность. При применении алгоритма к одним и тем же исходным данным всегда должен получаться один и тот же результат.

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

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

Типовые алгоритмические конструкции

Для описания алгоритмических конструкций могут быть использованы следующих виды обозначений: логические (словесные), графические (графы и диаграммы), табличные и специальные обозначения.

Для графического изображения основных операций на схеме алгоритма приняты обозначения основных блоков, показанные на рисунке 15.

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

Рисунок 15. - Основные блоки схемы алгоритма

Выделяют также три основных типа алгоритмов:

  • Линейные (следования);

  • Разветвляющиеся (развилка);

  • Циклические.

Ниже на рисунке 1.1 дан пример описания основных типов алгоритма в виде блок-схемы.

Блок-схема – это ориентированный граф, вершины которого могут быть одного из ниже представленных базовых типов (всегда должен быть один вход и один выход).

Рисунок 1.1 – Примеры блок-схем

1 схема – функциональная вершина. Реализуется композитная функция:

F: x --> Y

Алгоритм называется линейным, вычисления называются аддитивными (последовательными).

2 схема – предикатная вершина. Реализуется предикатная функция (выбор или альтернатива):

P: x - -> (t, f)

Алгоритм называется разветвляющимся, вычисления называются альтернативными. 3 схема – итерационная вершина. Реализуется итерационная функция:

I: x - -> (Yi, Yi+1)

Алгоритм называется циклическим, вычисления называются повторяющимися (итерационными).

Структурная блок-схема – это блок-схема, которая может быть выражена как композиция из трех представленных базовых блоков.

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