- Выделять из условия письменного задания ввод, вывод и случай «не найдено»
- Строить каркас цикла со счётчиком для ввода N чисел и правильно задавать начальные значения накопителей
- Использовать шаблоны флага, чередования знаков, «последний/первый» и кусочной функции
- Проверять готовую блок-схему на примере и граничных случаях с помощью таблицы трассировки
На каждом из четырёх вступительных экзаменов 2025–2026 годов задание 88 по информатике было одного вида: «… постройте блок-схему алгоритма». Вариантов ответа здесь нет — блок-схему нужно нарисовать на бланке самому. Хорошая новость: эти задания очень похожи. Во всех вводятся N (или n) чисел, работает цикл со счётчиком, несколько переменных-накопителей что-то собирают, а в конце печатается результат. Освоив «каркас» и шесть моделей, вы будете решать новое задание, просто заполняя пустые места каркаса.
Письменное задание: что требуется
Письменные задания ГЦЭ оцениваются в 0, ⅓, ½, ⅔ или 1 балл, а в формуле баллов результат письменного задания умножается на 2 — полное решение стоит столько же, сколько два закрытых задания. Возможны частичные баллы, поэтому незаконченная, но правильно начатая блок-схема лучше пустого бланка. В опубликованных ГЦЭ ответах приводится одна модельная блок-схема с припиской «или эквивалентная блок-схема»: принимается любое верное решение, единственного «правильного рисунка» нет.
- вычисление знакочередующейся суммы из N слагаемых (ряды вида 1/2 − 1/4 + …);
- вывод последнего из N чисел, удовлетворяющего условию, и его номера, а если такого нет — сообщения;
- проверка, является ли одно число натуральной степенью другого, и вывод показателя;
- вычисление кусочной функции для n входных значений и сумма значений, удовлетворяющих условию.
Выше перечислены типы четырёх реальных письменных заданий 2025–2026 годов. Модели этого урока — собственные варианты этих типов: числа и условия другие, но структура та же.
Строительные блоки и каркас
- 1Разберите условие
Что вводится (N и числа? a, b?), что нужно вывести и что делать, если ничего не найдено?
- 2Выберите переменные
Назовите каждый накопитель и запишите его начальное значение до цикла: S = 0, c = 0, P = 1, t = 0, i = 1.
- 3Нарисуйте каркас
Ромб i ≤ N, ввод x на ветви «Да», i = i + 1 в конце тела и стрелка назад к ромбу.
- 4Заполните тело
Обработка x: условия, вычисления, обновление накопителей.
- 5Постройте вывод
После цикла: при необходимости проверьте флаг и выведите результат или сообщение; затем Конец.
- 6Проверьте
Постройте таблицу трассировки для примера из условия; затем проверьте граничный случай: N = 1, ни одно число не подходит.
| Роль | До цикла | В цикле | Когда нужен |
|---|---|---|---|
| счётчик | i = 1 | i = i + 1 | ввод N чисел |
| сумма | S = 0 | S = S + x | суммы, ряды |
| количество | c = 0 | c = c + 1 | «сколько чисел…» |
| произведение | P = 1 | P = P · x | произведения, степени |
| знак | k = 1 | k = −k | знакочередующийся ряд |
| флаг | t = 0 | t = 1, когда найдено | «… если нет — сообщение» |
| последний | — | каждый раз m = x, p = i | «последний … и его номер» |
| первый | — | m = x, p = i только пока t = 0 | «первый … и его номер» |
Модель 1: знакочередующаяся сумма
- iномер слагаемого, от 1 до N
- 2·i − 1знаменатель i-го слагаемого: 1, 3, 5, 7, …
- kзнак: начинается с 1 и на каждом шаге становится −k (1, −1, 1, …)
Общий член знакочередующегося ряда: знак хранится в отдельной переменной
Постройте блок-схему, вычисляющую S = 1 − 1/3 + 1/5 − … (N слагаемых) для введённого натурального N, и проверьте её при N = 3.
Показать решениеСкрыть решение
i = 1: S = 0 + 1/1 = 1; k = −1; i = 2
i = 2: S = 1 − 1/3 = 2/3; k = 1; i = 3
i = 3: S = 2/3 + 1/5 = 13/15; k = −1; i = 4
4 ≤ 3 — Нет → вывод S = 13/15 ≈ 0,867. Верно: 1 − 1/3 + 1/5 = 13/15.
Эквивалентный вариант: хранить знаменатель в отдельной переменной d (d = 1, на каждом шаге d = d + 2) и писать S = S + k / d.
Модель 2: флаг и вывод «не найдено»
Вспомогательная переменная всего с двумя значениями: t = 0 — «пока не найдено», t = 1 — «найдено хотя бы раз». До цикла t = 0, при нахождении подходящего числа t = 1, а после цикла в зависимости от t выводится результат или сообщение.
1) Проверьте модель 2 при N = 5 и числах 7, 4, 9, 10, 3.
2) Что будет выведено при N = 3 и числах 1, 5, 9?
3) Что изменить в блок-схеме, если нужно не последнее, а первое чётное число?
Показать решениеСкрыть решение
2) Ни одно число не чётное, t остаётся 0 → «Чётных чисел нет».
3) Сделайте второй ромб «x % 2 = 0 и t = 0»: после t = 1 значения m и p больше не меняются. Тогда в (1) вывод будет 4 2.
a = [7, 4, 9, 10, 3]
t = 0
for i in range(1, len(a) + 1):
x = a[i - 1]
if x % 2 == 0:
m = x
p = i
t = 1
if t == 1:
print(m, p)
else:
print('no even numbers')▸ Ожидаемый результат
10 4
N = int(input()), затем внутри цикла x = int(input()).Модель 3: является ли число степенью b?
Если a = bᵏ, то a можно ровно k раз разделить на b без остатка, и в конце останется 1. Эта идея превращается в цикл: пока a делится на b, a = a / b и k = k + 1. Если после цикла a = 1, то a — k-я степень b; если нет — не степень.
Проверьте модель 3 для трёх наборов: 1) a = 81, b = 3; 2) a = 72, b = 6; 3) a = 64, b = 4.
Показать решениеСкрыть решение
2) 72 → 12 (k = 1) → 2 (k = 2); 2 % 6 = 2 → цикл заканчивается; a = 2 ≠ 1 → «не степень b».
3) 64 → 16 → 4 → 1, k = 3 → 3 (64 = 4³).
Эквивалентный способ — умножение: d = b, k = 1; пока d < a: d = d · b, k = k + 1; в конце, если d = a, выводится k. Обе блок-схемы верны.
Модель 4: кусочная функция для n значений
- xцелое число, вводимое на каждом шаге цикла
- yзначение функции: ромб выбирает одну из двух формул
Задача: вычислить y для n чисел и вывести сумму значений, больших 20
n = 4, числа: 6, 2, 10, −4. Что выведет модель 4?
Показать решениеСкрыть решение
x = 2: Да → y = 2·2 + 5 = 9; 9 > 20 — Нет, S не меняется.
x = 10: Нет → y = 100 − 4 = 96 → S = 32 + 96 = 128.
x = −4: Да → y = −8 + 5 = −3 → S не меняется.
Вывод: 128. x = 3 — граничный случай: 3 < 3 ложно, поэтому y = 9 − 4 = 5; всегда проверяйте, к какой формуле относится граница.
Модели 5 и 6: среднее и максимум
Вводится N чисел. Опишите словами блок-схему, которая выводит среднее арифметическое положительных чисел среди них, а если их нет — сообщение «Положительных чисел нет», и проверьте её на 4, −3, 7, 0, 10.
Показать решениеСкрыть решение
Проверка: положительные 4, 7, 10 (0 не положительное!) → S = 21, c = 3 → 7.
Отдельный флаг здесь не нужен: c = 0 само означает «не найдено». Эта проверка заодно защищает от деления на ноль.
Постройте тело блок-схемы, выводящей наибольшее из N чисел и его номер. Чем отличается ответ для 3, 11, 7, 11, 2 при сравнениях «>» и «≥»?
Показать решениеСкрыть решение
С «>»: 11 найдено на втором месте, четвёртое 11 не больше → 11 2 (первый максимум).
С «≥»: равное значение тоже перезаписывается → 11 4 (последний максимум).
Не начинайте m с 0: если все числа отрицательные, ответ будет неверным.
Эти шесть моделей покрывают большинство заданий ГЦЭ на блок-схемы. Два других письменных задания экзамена требуют тех же идей в виде программы на Python: цикл блок-схемы становится for или while, ромб — if, параллелограмм — input() и print(). Кто уверенно строит блок-схемы, тот легко пишет и программу.
Запишите модель 5 на Python: выведите среднее арифметическое положительных чисел списка a = [4, −3, 7, 0, 10]; если положительных нет, выведите none.
a = [4, -3, 7, 0, 10]
# print the mean of the positive numbers, or 'none'▸ Ожидаемый результат
7.0
Главное
- Письменная блок-схема оценивается в 0, ⅓, ½, ⅔ или 1 балл и удваивается в формуле; принимается любая эквивалентная верная блок-схема.
- Каркас: N; i = 1; накопители до цикла; ромб i ≤ N; x внутри цикла; i = i + 1 в конце тела; результат после цикла.
- Начальные значения: сумма и количество 0, произведение 1, знак 1, флаг 0.
- «Последний» — перезаписывать при каждом совпадении; «первый» — записывать, только пока t = 0; «если нет» — после цикла проверять флаг или количество.
- Проверяйте готовую блок-схему таблицей трассировки на примере и граничном случае.
Проверь себя
Вопросов: 12. Каждый правильный ответ приносит XP.