Задание № 6 · ОГЭ

Управляющие конструкции программы

Последовательность, ветвление и цикл: как программа выбирает порядок выполнения команд
6 мин чтенияСложность: Обновлено 29 сентября 2026

Управляющие конструкции задают порядок, в котором выполняются команды программы. Любой алгоритм можно представить как сочетание трёх базовых конструкций: последовательности, ветвления и цикла; перед изучением темы полезно повторить структуру программы и условие.

Три базовые конструкции

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

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

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

D
Управляющая конструкция

Управляющая конструкция — часть программы, которая определяет порядок выполнения команд: последовательный, условный или повторяющийся.

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

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

КонструкцияЧто делаетГлавный вопрос
ПоследовательностьВыполняет команды по порядкуКакая команда следующая?
ВетвлениеВыбирает одну из ветвейИстинно ли условие?
ЦиклПовторяет блок командНужно ли выполнять ещё раз?

Последовательность и ветвление

В последовательном алгоритме значение переменной может изменяться несколько раз. Важно учитывать именно последнее присваивание перед использованием переменной. Например, после команд \(a := 4\), \(a := a + 3\), \(a := 2a\) значение \(a\) равно \(14\).

У ветвления есть условие и одна или две ветви. В полной форме выполняется ровно одна ветвь: либо блок «если», либо блок «иначе». В неполной форме при ложном условии не выполняется ни одна дополнительная команда.

\[\text{if } C \text{ then } A \text{ else } B: \quad \begin{cases} A, & C=\text{истина}, \\ B, & C=\text{ложь}. \end{cases}\]1

Составное условие строится с помощью логических операций. Для «и» истинны оба условия, для «или» достаточно хотя бы одного, а «не» меняет значение истинности. Скобки помогают явно задать порядок вычислений. При разборе нельзя путать математическое равенство \(=\) с присваиванием: в языках программирования присваивание часто записывают как \(:=\) или используют отдельный оператор.

ABA и BA или B
0000
0101
1001
1111
Микро-проверка

Какое значение напечатает программа: x = 5; if x > 3: x = x + 2; else: x = x - 2; print(x)?

Циклы и число повторений

Цикл состоит из заголовка, где определяется продолжение, и тела — повторяемого блока. Одна итерация — одно выполнение тела цикла. Если условие проверяется перед телом, цикл может не выполниться ни разу. Если проверка выполняется после тела, тело выполнится хотя бы один раз.

\[N = \text{число выполнений тела цикла}\]2

Для цикла с параметром, который изменяется от \(a\) до \(b\) с шагом \(h>0\), при включённых границах число итераций можно найти так:

\[N = \left\lfloor\frac{b-a}{h}\right\rfloor + 1,\quad a\le b\]3

Формула применима, если параметр действительно движется к границе. При шаге \(h<0\) направление меняется: начальное значение должно быть не меньше конечного. На экзамене особенно важно определить, входит ли конечная граница в диапазон.

!
Частые ошибки

1. Считать границу диапазона дважды или не учитывать её вовсе. 2. Забывать, что тело цикла может изменить условие. 3. Прибавлять шаг не к той переменной. 4. Принимать вложенный цикл за один проход: число выполнений внутреннего тела обычно равно произведению чисел итераций. 5. Читать команды после цикла так, будто они выполняются на каждой итерации.

Разбор типовой задачи

Рассмотрим программу. Требуется определить, что будет напечатано после её выполнения.

Python
1s = 0
2for x in range(2, 8, 2):
3    if x > 3:
4        s = s + x
5    else:
6        s = s + 1
7print(s)
№
Идея решения

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

1
Функция range(2, 8, 2) задаёт значения от 2 с шагом 2; правая граница 8 не включается.
\(\displaystyle x\in\{2,4,6\}\)
2
При x=2 условие x>3 ложно, поэтому к s прибавляется 1.
s=0+1=1
3
При x=4 условие истинно, поэтому к s прибавляется 4.
s=1+4=5
4
При x=6 условие истинно, поэтому к s прибавляется 6.
s=5+6=11
5
После завершения цикла выполняется команда печати.
\(\displaystyle \boxed{s=11}\)

Такой разбор удобно оформлять в трассировочной таблице. В ней обычно записывают номер итерации, значение параметра, результат условия и значения изменяемых переменных.

Итерацияxx > 3Новое s
12ложь1
24истина5
36истина11

Вложенные конструкции и проверка результата

Конструкции можно вкладывать: последовательность может содержать цикл, цикл — ветвление, а ветвление — другой цикл. Чтобы не потерять границы блоков, следите за отступами или служебными словами языка. Вложенный цикл полностью выполняется для каждого прохода внешнего цикла.

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

Алгоритм разбора

1. Выпишите начальные значения переменных. 2. Найдите первую управляющую конструкцию. 3. Для ветвления вычислите условие. 4. Для цикла выпишите все значения параметра или последовательные значения условия. 5. После каждой команды обновляйте переменные. 6. Проверьте последний вывод отдельно.

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

Q
Быстрый тест по теме

Проверь себя

~ 2 мин4 вопроса
Вопрос 1 / 4
Вопрос 1 из 4 · цикл
Сколько раз выполнится тело: for x in range(1, 6)?
Главное за минуту

Главное

  • Последовательность выполняет команды сверху вниз; ветвление выбирает одну ветвь; цикл повторяет блок команд.
  • При разборе сначала определяют фактический порядок выполнения, затем последовательно изменяют значения переменных.
  • Для цикла учитывают начальное значение, конечную границу, шаг и правило включения границы.
  • Вложенные конструкции разбирают по уровням: внешний цикл, затем внутренний блок и его ветвления.
  • Трассировочная таблица и проверка граничных значений помогают обнаружить ошибки в вычислениях.