Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
09-09-2013_11-37-28 / 3-Понятие алгоритма, способы записи алгоритмов.pps
Скачиваний:
35
Добавлен:
02.06.2015
Размер:
991.74 Кб
Скачать

Пример 1 анализа свойств

4.Конечность. Шаги 1 и 4 выполняются по одному разу. Количество выполнений шагов 2 и 4 зависит от значений переменной i и уровня N.

Поскольку i монотонно возрастает, то ее значение достигнет уровня N через конечное число шагов.

Если начальное значение переменной i больше уровня N, то шаг 2 выполняется один раз, а шаг 3 не выполняется ни разу.

Таким образом, в любом случае выполнение алгоритма завершится через конечное число шагов.

21

Пример 1 анализа свойств

5.Массовость. Алгоритм может воспринимать в качестве исходных данных различные массивы заданной длины.

22

Пример 2 анализа свойств

Рассмотрим, алгоритм с одним входным аргументом – натуральным числом k:

1.Если k = 1, то остановиться.

2.Если k четное, то положить k = k/2, иначе положить k = 3k+1.

3.Повторить с шага 1, используя новое значение k.

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

23

Пример 2 анализа свойств

Если k равно степени двойки (2, 4, 8, 16, 32, . . .), то процесс будет монотонно убывающим и завершится за число шагов, равное этой степени.

В противном случае на некотором промежуточном шаге значение k станет нечетным, но не равным единице, и на следующем шаге значение k увеличится (3k+1) и станет четным.

Оба варианта (алгоритм заканчивается и алгоритм не заканчивается) не кажутся очевидными. С одной стороны, увеличение k происходит в три раза, а уменьшение “только” в два раза и если шаги увеличения и уменьшения строго чередуются, то для такого процесса характерна общая тенденция к возрастанию. С другой стороны, за шагом увеличения обязательно следует шаг уменьшения, но обратное неверно, т.е. шагов уменьшения может быть и больше, чем шагов увеличения. Потенциально

24 возможно зацикливание процесса, когда на очередном шаге получается уже встречавшееся ранее значение.

Способы записи алгоритмов

Все способы можно разделить на две категории:

1.Графическое представление (с использованием визуального языка, различных типов диаграмм).

2.Текстовое описание (псевдокод, язык программирования).

25

Способы записи алгоритмов:

представление в виде блок-схем

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

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

26

Способы записи алгоритмов:

основные элементы блок-схем алгоритма

27

Способы записи алгоритмов:

основные элементы блок-схем алгоритма

28

Способы записи алгоритмов:

основные элементы блок-схем алгоритма

29

Способы записи алгоритмов:

основные элементы блок-схем алгоритма

30