Информатика 7–9 классы

5.1. Алгоритмы и исполнители

Раздел 5. Основы алгоритмизации и программирования (5 часов)

📋 Содержание темы:
  1. Понятие алгоритма
  2. Свойства алгоритмов
  3. Способы записи алгоритмов
  4. Исполнители
  5. Объекты алгоритмов
  6. Классификация алгоритмов
  7. Практические задачи

Понятие алгоритма

Алгоритм — это конечная последовательность команд (шагов), выполнение которых приводит к решению задачи.

Термин происходит от имени средневекового математика аль-Хорезми (783–850), который описывал правила выполнения арифметических действий.

Важно: Любой алгоритм должен состоять из предписаний двух видов: функциональных операторов (непосредственное преобразование данных) и логических операторов (определение порядка действий). Это доказал выдающийся математик А.А. Марков.

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

СвойствоОписаниеПример нарушения
ДискретностьАлгоритм состоит из отдельных, чётко разделённых шаговНепрерывное описание без разделения на шаги
ПонятностьКаждая команда понятна исполнителюКоманда «сделай красиво» — непонятна
ОпределённостьКаждая команда однозначна, нет двусмысленности«Возьми любое число» — неопределённо
РезультативностьАлгоритм завершается за конечное число шаговБесконечный цикл без условия выхода
МассовостьПрименим к целому классу задач одного типаАлгоритм для конкретного числа 7 — не массовый

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

Элементы блок-схем:

ФигураНазваниеНазначение
ОвалТерминаторНачало / конец алгоритма
ПараллелограммВвод/выводВвод или вывод данных
ПрямоугольникДействиеВыполнение операции
РомбУсловиеРазветвление (выбор ветви)

Пример словесного алгоритма:

Задача: Найти сумму двух чисел.

  1. Ввести первое число A
  2. Ввести второе число B
  3. Вычислить S = A + B
  4. Вывести результат S

Исполнители

Исполнитель — объект, способный выполнять команды алгоритма.

Характеристики исполнителя:

ХарактеристикаОписание
Круг решаемых задачКакие задачи может решать данный исполнитель
СредаОбъект, над которым выполняются команды
Режим работыПоследовательный или параллельный
Система команд (СКИ)Полный набор допустимых команд исполнителя

Примеры исполнителей:

СКИ Черепашки:

КомандаДействие
forward(n)Двигаться вперёд на n единиц
backward(n)Двигаться назад на n единиц
left(90)Повернуть влево на 90°
right(90)Повернуть вправо на 90°
penup()Поднять «перо» (прекратить рисование)
pendown()Опустить «перо» (начать рисование)

Объекты алгоритмов

Алгоритмы описывают последовательность действий над информационными объектами (величинами).

Величина
Информационный объект
Постоянная / Переменная
По изменяемости
Число / Символ / Строка / Таблица
По типу данных

Постоянные и переменные:

ТипОписаниеПример
ПостояннаяЗначение не меняется в ходе выполненияpi = 3.14
ПеременнаяЗначение может изменяться присваиваниемs = 0; s = s + 1

Операция присваивания:

Запись X := E (или X = E) означает: вычислить значение выражения E и записать его в переменную X.

Пример: После выполнения a := 5 переменная a содержит значение 5. После a := a + 1 переменная a содержит значение 6.

Выражения:

Выражение — это комбинация констант, переменных и операций, которая вычисляется для получения нового значения.

s := a * (b + c) / 2   # арифметическое выражение
x > 0 and y > 0        # логическое выражение

Классификация алгоритмов

Как доказал Э. Дейкстра, для записи любого алгоритма достаточно трёх основных конструкций:

Следование
Линейный алгоритм
|
Ветвление
Разветвляющийся алгоритм
|
Повторение
Циклический алгоритм
ТипОписаниеКогда использовать
ЛинейныйВсе команды выполняются последовательно, одна за другойКогда каждая команда выполняется ровно один раз
РазветвляющийсяВыбор ветви зависит от условия («да» или «нет»)Когда действие зависит от условия
ЦиклическийНекоторые команды многократно повторяютсяКогда одна и та же команда выполняется много раз

Алгоритмическая конструкция «Следование»:

Команды выполняются строго последовательно, одна за другой.

Начало
Команда 1
Команда 2
Конец

Алгоритмическая конструкция «Ветвление»:

В зависимости от истинности условия выбирается одна из двух ветвей.

Полная форма: если условие то A иначе B.
Краткая форма: если условие то A.

Алгоритмическая конструкция «Повторение»:

Практические задачи

Задание 1. Определите вид алгоритма

Для каждой последовательности команд определите, к какому типу алгоритма она относится:

а) a := 2; b := 3; c := a + b

б) если a > 0 то вывод «Положительное» иначе вывод «Не положительное»

в) пока i <= 10 выполнить: вывод i; i := i + 1

Задание 2. Составьте алгоритм

Составьте словесный алгоритм: «Найти сумму цифр трёхзначного числа».

Задание 3. Определите свойства

Какое из свойств алгоритма нарушено в данном описании?
«Возьмите подходящее число и прибавьте к нему ещё одно подходящее число.»