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

НИУ ВШЭ – Пермь

Факультет бизнес-информатики

Кафедра информационных технологий в бизнесе

Понятие алгоритма и способы записи алгоритмов

Материалы курса «Теоретические основы информатики»

Лекции 4-5

Лядова Л.Н.

Пермь 2012

Программы = = Алгоритмы + Структуры данных

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

Классическое определение, данное Н. Виртом:

«Алгоритмы + Структуры данных = Программы»

При разработке программы важно получить ответы на следующие вопросы:

Можно ли решить поставленную задачу с помощью компьютера?Как можно решить поставленную задачу с помощью компьютера?

Насколько эффективным будет решение (какие ресурсы для этого потребуются, как быстро будет решаться задача)?

Каким образом можно оптимизировать решение, повысить

эффективность (сэкономить ресурсы, ускорить решение)?

2

Интуитивное понятие алгоритма

Математическая энциклопедия (Под ред. Акад. И.М. Виноградова. М.: издательство «Советская энциклопедия», 1977) так определяет понятие алгоритма:

Алгоритм – точное предписание, которое задает вычислительный процесс (называемый в этом случае алгоритмическим),

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

и направленный на получение полностью определяемого этим исходным данным результата.

3

Интуитивное понятие алгоритма

Академик А.И. Мальцев (Алгоритмы и рекурсивные функции. М.: Наука, 1986) уточняет понятие процесса:

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

4

Интуитивное понятие алгоритма

Д. Кнут: «Алгоритм – это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность».

А.Колмогоров: «Алгоритм – это всякая система вычислений, выполняемых по строго определённым правилам, которая после какого-либо числа шагов заведомо приводит к решению поставленной задачи».

А.Марков: «Алгоритм – это точное предписание, определяющее вычислительный процесс, идущий от варьируемых исходных данных к искомому результату».

Философский словарь (под ред. М.М. Розенталя): «Алгоритм – точное предписание о выполнении в определённом порядке некоторой системы операций, ведущих к решению всех задач данного типа».

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

5конечное, записанная с помощью понятных исполнителю команд».

Исполнение алгоритма

Входные

Множество

выходных

данные X

данных Y

 

6

Исполнение алгоритма

7

Свойства алгоритмов

Выделяют такое естественное свойство алгоритмов как результативность (оно присутствует в приведенных выше

определениях): считается, что алгоритм не содержит ошибок, если он даёт правильные результаты для любых допустимых

исходных данных.

Если же алгоритм приводит к получению неправильных результатов либо не даёт результатов вовсе, то он содержит ошибки.

8

Свойства алгоритмов

Алгоритм является предписанием, а наличие предписаний предполагает, что они будут выполнены некоторым исполнителем,

результат будет получен этим исполнителем, действующим по заданному для него предписанию.

Перечень наиболее важных свойств алгоритма:

1.Элементарность (понятность) шагов.

2.Дискретность.

3.Определенность (детерминированность).

4.Конечность (финитность).

5.Массовость.

9

Свойства алгоритмов

Перечень наиболее важных

свойств алгоритма:

1.Элементарность (понятность) шагов.

2.Дискретность.

3.Определенность (детерминированность).

4.Конечность (финитность).

5.Массовость.

Элементарность шагов означает, что объем работы, выполняемой на любом шаге,

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

данных и промежуточных значений,

получаемых алгоритмом. Каждый шаг должен быть понятен исполнителю, должен

представлять собой команду из его системы команд. При разработке алгоритма предписание «решить задачу»

последовательно детализируется: все шаги должны быть элементарны.

Получаем один из основных методов разработки алгоритмов – метод пошаговой детализации.

10