Все разделы
Выбрать школу

Школа. Увлечения. Большое будущее.

PROSCHOOLS · ОБРАЗОВАНИЕ РЯДОМ

Ваш город

Выберите город, чтобы находить образование и возможности рядом.

Как учитываем городКаталог и кнопки «Выбрать школу» покажут школы выбранного города.Онлайн-курсы, учебник, ГДЗ и задания к экзаменам доступны по всей России.

Популярные города

Будет выбран: Вся Россия

Учебные материалы останутся прежними.

Поиск по сайту

По всему сайтуШколы выбранного города — выше в результатах

С чего начнём?

↑ ↓ — выбрать результат · Enter — открыть · Esc — закрыть

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

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

Как пошагово проверить алгоритм с помощью таблицы значений переменных.

Программный код на экране
Программный код на экранеMartin Vorel · Wikimedia Commons · CC BY-SA 4.0

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

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

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

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

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

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

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

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

Возьмём алгоритм, который меняет местами значения двух переменных 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, и тело цикла выполнилось ровно три раза. Без таблицы легко ошибиться и насчитать лишнее повторение.

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

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

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