Схема алгоритма
Схема алгоритма — это наглядная запись последовательности действий с помощью специальных блоков и стрелок. По схеме можно понять, какие данные вводятся, какие действия выполняются, где проверяется условие и при каких обстоятельствах алгоритм заканчивает работу.
Что такое схема алгоритма
Алгоритм задаёт точный порядок действий, ведущих от исходных данных к результату. Описать его можно словами, программой или графически. Графическое представление алгоритма называют схемой алгоритма, а наиболее распространённый вид такой схемы — блок-схема.
Схема алгоритма — графическое представление алгоритма, в котором действия обозначаются блоками, а порядок их выполнения показывается стрелками.
Схема читается сверху вниз или слева направо. Стрелка показывает переход к следующему блоку. Если из блока выходят две стрелки, это обычно означает выбор одного из двух вариантов в зависимости от условия.
| Элемент схемы | Форма | Назначение |
|---|---|---|
| Начало или конец | Овал | Показывает границу алгоритма |
| Ввод или вывод | Параллелограмм | Вводит данные или выводит результат |
| Действие | Прямоугольник | Выполняет вычисление или присваивание |
| Условие | Ромб | Проверяет логическое выражение |
| Переход | Стрелка | Показывает дальнейшее направление выполнения |
Как читать схему
Чтение схемы удобно выполнять как имитацию работы исполнителя. Сначала найдите блок «Начало», затем переходите по стрелкам и фиксируйте значения переменных после каждого действия. В ромбе прочитайте условие и выберите стрелку с ответом «да» или «нет».
- Найдите начало и определите, какие значения вводятся.
- Выполните первый блок действия или ввода.
- После каждого присваивания запишите новое значение переменной.
- В блоке условия вычислите выражение и выберите соответствующую ветвь.
- Продолжайте переходы, пока не попадёте в блок «Конец» или в блок вывода результата.
В каждый момент времени выполняется ровно один текущий блок. Следующим становится блок, на который указывает стрелка, выбранная после выполнения текущего блока.
Внутри прямоугольника может быть записано действие, например \(a := a + 3\). Это оператор присваивания: сначала вычисляется правая часть, затем полученное значение записывается в переменную слева. Поэтому старое значение переменной заменяется новым.
Ромб содержит операцию сравнения или другое логическое выражение: например, \(x > 5\), \(a = b\), \(n \le 10\). Условие имеет значение «истина» или «ложь». В схемах экзамена ответам часто соответствуют подписи «да» и «нет», но могут использоваться «истина» и «ложь».
В блоке записано \(s := s + 4\). Какое значение получит \(s\), если до выполнения блока \(s=7\)?
Основные конструкции в схеме
Любой алгоритм строится из нескольких типовых конструкций. Их понимание позволяет быстро восстановить логику схемы даже при большом количестве блоков.
| Конструкция | Как выглядит на схеме | Как работает |
|---|---|---|
| Следование | Блоки соединены последовательно | Действия выполняются одно за другим |
| Ветвление | Ромб имеет два выхода | Выбирается одна из ветвей по результату условия |
| Цикл | Стрелка возвращается к предыдущему блоку | Некоторые действия повторяются |
| Многократный выбор | Несколько вариантов перехода | Выбирается подходящий вариант из нескольких |
В условном операторе сначала проверяется условие, а затем выполняется только выбранная ветвь. Если внутри ветви есть ещё один ромб, это вложенное ветвление. Возврат стрелки назад означает повторение действий, то есть цикл.
Разделяйте схему на участки: ввод, вычисления, проверки и вывод. Для каждой ветви отдельно выпишите условие и результат перехода. Так легче не потерять стрелку и не выполнить обе ветви сразу.
Разобранный пример
Рассмотрим алгоритм по схеме или её текстовому описанию: вводятся \(a\) и \(b\); если \(a>b\), то \(a\) заменяется на \(a-b\), иначе \(b\) заменяется на \(b-a\); затем выводится сумма \(a+b\). Нужно определить результат для \(a=14\) и \(b=9\).
Условие проверяется только один раз. После выбора ветви выполняется одно присваивание, затем вычисляется сумма текущих значений переменных.
Показать итог решения Ответ
Алгоритм выведет число \(14\). Важно: после присваивания \(a:=a-b\) нельзя продолжать проверять условие, если стрелка схемы ведёт сразу к выводу.
Как решать задания по схеме
В экзаменационной задаче схема может быть дана рисунком, таблицей переходов или описанием блоков. Используйте один и тот же план: определите начальные данные, подпишите значения переменных, пройдите стрелки по порядку и проверьте ответ в последнем блоке.
- Выписаны все начальные значения.
- Для каждого присваивания вычислена правая часть до изменения переменной.
- В каждом условии выбран только один выход.
- При переходе назад учтено повторное выполнение блока.
- Ответ взят из блока вывода, а не из промежуточного состояния.
1. Выполнение обеих ветвей после ромба. Нужно идти только по стрелке, соответствующей результату условия. 2. Использование нового значения переменной слишком рано: в выражении \(x:=x+2\) сначала берётся старое \(x\). 3. Потеря повторного прохода по стрелке цикла. 4. Чтение стрелок в удобном направлении вместо фактического направления. 5. Подмена условия: \(a>b\) и \(b>a\) — разные проверки.
Для полного понимания темы полезно повторить определение алгоритма, состояние алгоритма и шаг алгоритма. Схема показывает шаги графически, а состояние хранит текущие значения всех переменных после очередного шага.
Проверка понимания
Quick-test
Главное
- Схема алгоритма состоит из блоков и стрелок, задающих порядок выполнения действий.
- Овал обозначает начало или конец, параллелограмм — ввод или вывод, прямоугольник — действие, ромб — условие.
- В ромбе выбирается только одна ветвь: результат проверки должен быть истиной или ложью.
- При присваивании сначала вычисляется правая часть, затем результат записывается в переменную.
- Для решения задачи нужно пройти схему по стрелкам, фиксируя состояние переменных после каждого шага.