Задание 9 ОГЭ: Простой линейный алгоритм
Дана программа из присваиваний для двух переменных: значения меняются строка за строкой, и нужно назвать итоговое значение одной из них. Ловушка в том, что справа всегда стоят старые значения, а новое записывается только в переменную слева от знака присваивания. Потеря балла — посчитать обе переменные «одновременно», как будто они обновились вместе.
Что проверяет задание
Линейные алгоритмы. Это задание с коротким ответом, который проверяется автоматически. Одна арифметическая ошибка — ноль баллов, поэтому скорость и аккуратность здесь важнее гениальности.
Разбор типовых задач
Пример 1
Программа: a := 5; b := 3; a := a + b; b := a - b. Каким станет значение b?
- a := 5 + 3, теперь a = 8.
- b := 8 - 3, теперь b = 5.
- Заметка на полях: b стало равно исходному a — так часто выглядит обмен значениями.
Ответ: 5
Пример 2
Программа: x := 4; y := 2; y := x - y; x := x + y. Чему равно итоговое x?
- y := 4 - 2, теперь y = 2.
- x := 4 + 2, теперь x = 6.
- В строке x := x + y использовано уже новое значение y, равное 2.
Ответ: 6
Пример 3
Программа: x := 3; y := x*2; x := x + y. Чему равно итоговое x?
- y := 3 * 2, теперь y = 6.
- x := 3 + 6, теперь x = 9.
- Итоговое x утроилось: x + x*2 даёт три икса.
Ответ: 9
Тренажёр задания (числа меняются)
Клавиши 1–9 выбирают вариант, Enter — «Проверить»
1 Программа: a := 3; b := 5; a := a + b; b := a - b. Каким станет значение b после выполнения?
2 Программа: x := 2; y := 5; y := y - x; x := x + y. Чему равно итоговое значение x?
3 Программа: x := 6; y := x*2; x := x + y. Чему равно итоговое значение x?
4 Программа: c := 6; d := 4; c := c*2; d := d + c; c := c + d. Чему равно итоговое значение c?
5 Программа: x := 2; y := x; x := x + 5. Чему равно y после выполнения?
6 После выполнения b := a изменение a на следующей строке уже не меняет b.
7 Программа: a := 4; b := 9; a := a + b; b := a - b. Каким станет значение b после выполнения?
8 Программа: x := 3; y := 7; y := y - x; x := x + y. Чему равно итоговое значение x?
Типичные ошибки
- Обновляют обе переменные одновременно: в строке a := a + b подставляют уже изменённое a.
- Забывают, что после присваивания старое значение теряется безвозвратно.
- Делают трассировку длинной программы в уме: выпиши таблицу значений после каждой строки.
- Путают порядок строк и выполняют последнюю команду первой.
Повторить теорию по информатике
Разбор задания опирается на формулы и приёмы — если тема вспоминается с трудом, сначала пробегите уроки:
- 8 классКомпьютерная графика и текстыЧем растровая графика отличается от векторной, как кодируется цвет в модели RGB и почему фотография весит в тысячи раз больше текста — считаем байты.
- 8 классПрограммирование на Python: переменные, ввод-вывод, условияУчимся хранить данные в переменных, читать ввод через input() и писать программы с выбором на if и else — на примере калькулятора сдачи.
- 8 классPython: работа со строкамиСтрока в Python — цепочка символов: функция len, индексы и срезы, разворот, методы upper и count и перебор букв в цикле while — от проверки пароля до палиндрома.
Формат задания 9 на экзамене
Балл за задание: 1. Ориентир по времени: ≈3 минут вместе с оформлением решения. Проверяемая тема: линейные алгоритмы. На тренировке лимитов нет — сначала точность, скорость придёт после 10–15 решённых задач. Планируйте экзамен так, чтобы не застревать: если решение не идёт — зафиксируйте промежуточный результат, переходите дальше и возвращайтесь в конце, потому что остальные задания дадут больше суммарных баллов.
Частые вопросы про задание 9
Почему в строке a := a + b используется старое значение a?
Правая часть вычисляется до записи: сначала считается a + b по текущим значениям, затем результат записывается в a. Старое значение после этого теряется.
Как быстро трассировать программу из присваиваний?
Таблица: строка программы, потом текущие значения всех переменных. Одна строка программы — одно обновление таблицы.
Может ли значение переменной стать отрицательным?
Да, если программа вычитает большее из меньшего. Пугаться не надо: просто продолжай трассировку по правилам.