ИНФОРМАТИКА · 10 КЛАСС
Алгоритмы и массивы · Интерактивный конспект

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

Научимся отличать точное предписание от пожелания, описывать ход решения и проверять, что алгоритм завершается и даёт нужный результат.

Попробовать на модели ↓
Разбираемся в теме

Основные пункты параграфа

1

Задача, исполнитель и алгоритм

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

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Задача, исполнитель и алгоритм

Меняйте данные и выполняйте шаги. Цвет выделяет текущие элементы; подписи объясняют результат. Сброс возвращает исходный опыт.

Сначала определяют задачу: что дано, что нужно получить и какие значения допустимы. Затем выбирают исполнителя и его систему команд. Команда «сделай красиво» не задаёт однозначного действия; команда «выведи сумму a и b» точна, если известны значения и правила сложения.

В школьной детерминированной модели алгоритм — точное предписание выполнить последовательность действий для решения задачи. Разные входные данные могут вести по разным ветвям. Например, алгоритм Евклида получает два положительных целых числа и находит их наибольший общий делитель. Значения 48 и 18 — один набор данных, а не отдельный способ решения.

Главная мысль: Алгоритм связывает допустимые исходные данные с требуемым результатом через понятные исполнителю команды.
2

Шесть свойств

Дискретность, определённость, понятность, результативность, конечность и массовость помогают оценить предписание.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Шесть свойств

Меняйте данные и выполняйте шаги. Цвет выделяет текущие элементы; подписи объясняют результат. Сброс возвращает исходный опыт.

Дискретность означает разбиение на шаги. Определённость требует однозначного выбора следующего действия в рассматриваемой модели. Понятность связывает команды с возможностями исполнителя. Конечность требует завершения за конечное число шагов на допустимых данных, результативность — получения требуемого результата.

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

Главная мысль: Дискретность, определённость, понятность, результативность, конечность и массовость помогают оценить предписание.
3

Структуры и способы записи

Следование, ветвление и цикл описывают порядок выполнения команд.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Структуры и способы записи

Меняйте данные и выполняйте шаги. Цвет выделяет текущие элементы; подписи объясняют результат. Сброс возвращает исходный опыт.

При следовании команды идут одна за другой. Ветвление выбирает действие по условию. Цикл повторяет блок, пока выполняется условие или пока не выполнено заданное число повторений. Подпрограмма выделяет действие, которое удобно назвать и использовать несколько раз.

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

Главная мысль: Следование, ветвление и цикл описывают порядок выполнения команд.
4

Трассировка и проверка

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

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Трассировка и проверка

Меняйте данные и выполняйте шаги. Цвет выделяет текущие элементы; подписи объясняют результат. Сброс возвращает исходный опыт.

Трассировка фиксирует значения после каждого шага. В алгоритме Евклида сохраняют остаток r = a mod b, затем присваивают a := b и b := r. Пока b не равно нулю, процесс повторяется. Для 48 и 18 пары равны (48,18), (18,12), (12,6), (6,0); ответ 6.

Решето Эратосфена оставляет простые числа от 2 до N. У каждого ещё не вычеркнутого p вычёркивают кратные начиная с p²; достаточно p² ≤ N. Число 1 не простое. Проверяют малые N, повторяющиеся значения, границы и случаи, когда тело цикла не выполняется. Несколько успешных тестов полезны, но не заменяют рассуждение о правильности для всех допустимых данных.

var a, b, r: integer;
begin
  Readln(a, b); { a > 0, b > 0 }
  while b <> 0 do
  begin
    r := a mod b;
    a := b;
    b := r;
  end;
  Writeln(a);
end.
Главная мысль: Таблица состояний и граничные примеры помогают обнаружить ошибки в порядке действий и условиях.
Интерактивная практика

Исследуйте и примените

Проверьте модель на нескольких наборах данных, затем выполните самостоятельное задание.

НАБЛЮДАЙТЕ И ПРОБУЙТЕ

Лаборатория: проверьте свой вариант

Меняйте данные и выполняйте шаги. Цвет выделяет текущие элементы; подписи объясняют результат. Сброс возвращает исходный опыт.

Соберём главное

Шесть выводов

01

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

02

Дискретность, определённость, понятность, результативность, конечность и массовость помогают оценить предписание.

03

Следование, ветвление и цикл описывают порядок выполнения команд.

04

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

05

Условия применимости проверяют до выполнения алгоритма.

06

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

Самопроверка

Тест: 10 вопросов

Один верный ответ. За ответ — 0,5 балла. Откройте и проверьте себя.

1. Что определяют прежде всего?

2. Какое свойство означает разбиение на шаги?

3. С чем связана понятность?

4. Что требует конечность?

5. Что выбирает ветвление?

6. Что обычно обозначает ромб блок-схемы?

7. Чему равен НОД 48 и 18?

8. Когда останавливается алгоритм Евклида?

9. Какое число не является простым?

10. Что дают успешные тесты?

ВыводыТестВ началоВсе параграфы
↑

Загрузка прогресса…