- •НИУ ВШЭ – Пермь
- •Интуитивное понятие алгоритма
- •Интуитивное понятие алгоритма
- •Интуитивное понятие алгоритма
- •Исполнение алгоритма
- •Исполнение алгоритма
- •Свойства алгоритмов
- •Свойства алгоритмов
- •Свойства алгоритмов
- •Свойства алгоритмов
- •Свойства алгоритмов
- •Свойства алгоритмов
- •Свойства алгоритмов
- •Пример 1 анализа свойств алгоритма
- •Пример 1 анализа свойств алгоритма
- •Пример 1 анализа свойств
- •Пример 1 анализа свойств
- •Пример 1 анализа свойств
- •Пример 1 анализа свойств
- •Пример 1 анализа свойств
- •Пример 1 анализа свойств
- •Пример 2 анализа свойств
- •Пример 2 анализа свойств
- •Способы записи алгоритмов
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Способы записи алгоритмов:
- •Пример пошаговой разработки алгоритма решения квадратного уравнения
- •Пример пошаговой разработки алгоритма решения квадратного уравнения
- •Пример представления алгоритма: сравнение
- •Понятие данных
Пример 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