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

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

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

Что такое трассировка алгоритма

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

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

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

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

Правила трассировки

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

Пример трассировки

Возьмём алгоритм, который меняет местами значения двух переменных a и b через вспомогательную переменную c. Пусть в начале a = 5, b = 8.

c := a
a := b
b := c

Заполним таблицу значений после каждой команды. Прочерк означает, что переменной ещё не присвоено значение.

Командаabc
начало58
c := a585
a := b885
b := c855

В конце a = 8, b = 5 — значения поменялись местами. Таблица доказывает, что алгоритм работает верно. Если бы мы попробовали обойтись без переменной c и написали a := b, а потом b := a, то старое значение a было бы потеряно, и обе переменные стали бы равны 8. Трассировка сразу показала бы эту ошибку.

Трассировка цикла

Для цикла в таблицу добавляют столбец с условием и записывают новую строку на каждом повторении. Так удобно считать, сколько раз тело цикла выполнится и каким будет итоговое значение суммы или произведения. Рассмотрим цикл, который накапливает сумму чисел от 1 до 3 в переменной S.

ШагiSi ≤ 3 ?
111да
223да
336да
446нет

Когда условие i ≤ 3 стало ложным, цикл завершился. Итоговая сумма S = 6, и тело цикла выполнилось ровно три раза. Без таблицы легко ошибиться и насчитать лишнее повторение.

Частые ошибки. Не записывают начальные значения переменных; забывают, что присваивание сначала вычисляет правую часть, а потом меняет левую; пропускают проверку условия цикла и из-за этого ошибаются в числе повторений; меняют сразу несколько переменных в одной строке, хотя команда была одна.

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

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