Основные сведения об алгоритмах

Сведения об алгоритмах

К 11 классу ты уже программировал. Теперь взглянем на алгоритмы строго и системно — это фундамент, который спрашивают и на экзаменах.

Чему ты научишься. называть свойства алгоритма и объяснять, что такое сложность алгоритма и зачем её оценивают.

Алгоритм и его свойства

Алгоритм — конечная последовательность точных предписаний, приводящая от исходных данных к результату. Строгие свойства алгоритма:

СВОЙСТВА АЛГОРИТМА:
  дискретность      — состоит из отдельных шагов
  детерминированность — при одних данных — всегда один результат
  понятность        — команды из системы команд исполнителя
  результативность  — даёт результат
  конечность        — завершается за конечное число шагов
  массовость        — применим к классу однотипных задач

Сложность алгоритма

Одну задачу можно решить разными алгоритмами. Сложность алгоритма — оценка того, сколько шагов (времени) и памяти он требует. Из двух верных алгоритмов лучше тот, что работает быстрее и экономнее — особенно на больших данных.

Контрольный вопрос. Свойство, при котором алгоритм при одних и тех же данных всегда даёт один результат, — это…

Адетерминированность
Бмассовость
Всложность

Подсказка: Без случайности.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Свойство алгоритма, при котором он состоит из отдельных, чётко разделённых шагов, называется ______. Впиши слово.

Подсказка: От слова «дискретный» — не непрерывный, а по шагам.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Свойство, при котором каждая команда алгоритма входит в систему команд исполнителя (исполнитель её понимает), называется…

Апонятность
Бмассовость
Врезультативность

Подсказка: Если исполнитель не знает команду — он её не выполнит.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Свойство, гарантирующее, что алгоритм действительно даёт результат, а не просто выполняется, называется…

Арезультативность
Бмассовость
Вдискретность

Подсказка: Без него алгоритм мог бы работать «в никуда».

Онлайн-проверка ответа появится позже

Контрольный вопрос. Свойство алгоритма, при котором он применим не к одной задаче, а к целому классу однотипных задач, называется ______. Впиши слово.

Подсказка: Один и тот же алгоритм решает МНОГО похожих задач.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Свойство, гарантирующее, что алгоритм завершится за конечное число шагов, — это…

Аконечность
Бдискретность

Подсказка: Не зациклится.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Оценка числа шагов и памяти, необходимых алгоритму, — это его…

Асложность
Бконечность
Впонятность

Подсказка: Быстрее и экономнее — лучше.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Алгоритм А решает задачу за 100 шагов, алгоритм Б — за 10000 шагов на тех же входных данных. Какой алгоритм имеет меньшую сложность (по числу шагов)?

АА
ББ
Ву них одинаковая сложность

Подсказка: Меньше шагов — меньше сложность.

Онлайн-проверка ответа появится позже

Контрольный вопрос. Алгоритм при одинаковых входных данных в разные разы выдаёт то один результат, то другой. Какое свойство алгоритма нарушено?

Адетерминированность
Бдискретность
Вмассовость

Подсказка: Это свойство требует ОДНОГО результата при ОДНИХ данных.

Онлайн-проверка ответа появится позже

Задание. Опиши своими словами алгоритм из повседневной жизни (например, «заварить чай» или «перейти дорогу по светофору») минимум из 5 шагов.
1) Перечисли шаги по порядку.
2) Проверь свой алгоритм на 3 свойства: дискретность, детерминированность и конечность — объясни для каждого, выполняется ли оно и почему.
3) Придумай пример входных данных, при которых твой алгоритм НЕ сработает так, как задумано (нарушится результативность), и объясни почему.

Подсказка: Дискретность — шаги разделены; детерминированность — одни данные дают один результат; конечность — алгоритм заканчивается.

Онлайн-проверка ответа появится позже

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

Что дальше

Любой алгоритм собирается из нескольких базовых структур. О них следующий урок.

Назад  ·  ↑ В начало урока  ·  ⌂ В начало курса  ·  Вперёд →

Школа Виктора Комлева