P
pro·school.ru
Каталог школ

Трассировка алгоритма и определение результата

💻 Информатика · 9 класс

Трассировка алгоритма

Трассировка — это пошаговое выполнение алгоритма вручную с записью значений всех переменных на каждом шаге. Трассировку ведут в специальной таблице трассировки. Этот приём помогает понять, как работает программа, найти в ней ошибку и предсказать результат, не запуская код на компьютере. Задания вида «что выведет программа» на ОГЭ по информатике решают именно трассировкой.

Как составить таблицу

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

Разбор примера

Проследим работу фрагмента, который вычисляет некоторый результат:

s = 0

i = 1

пока i <= 3:

  s = s + i * i

  i = i + 1

вывести s

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

Шагii*is
старт10
1111
2245
33914

После третьего шага переменная i станет равной 4, условие i <= 3 станет ложным, и цикл завершится. Программа выведет 14 — это сумма квадратов чисел от 1 до 3 (1 + 4 + 9). Без трассировки угадать этот результат сложно, а с таблицей он получается надёжно.

Трассировка ветвлений

Трассируют не только циклы, но и ветвления. На каждом условии в таблице отмечают, истинно оно или ложно, и записывают, какая ветка выполнилась. Это особенно полезно, когда в программе много вложенных условий «если — иначе» и трудно на глаз определить, какая команда сработает. Аккуратная таблица показывает путь выполнения шаг за шагом и сразу выявляет, где ход программы расходится с ожидаемым.

Зачем нужна трассировка

  • предсказать результат программы, не запуская её на компьютере;
  • найти место, где появляется ошибка в вычислениях;
  • проверить, правильно ли работает и завершается цикл;
  • понять чужой алгоритм по его записи;
  • сравнить ожидаемый результат с фактическим.
Частые ошибки. Самое сложное — правильно определить момент выхода из цикла: условие проверяется перед очередным шагом, поэтому важно следить, когда оно станет ложным, и не выполнить лишний шаг. Также легко забыть обновить переменную-счётчик внутри цикла — тогда в реальной программе условие никогда не станет ложным и цикл зациклится навсегда.

Кратко о главном

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