📋 Общая информация о задании
Что проверяет задание 5?
Задание проверяет умение анализировать алгоритмы с использованием таблиц трассировки, определять результаты выполнения программ и восстанавливать исходные данные по результатам работы алгоритма.
Типы задач в задании 5:
- Работа с исполнителями (Черепаха, Робот, Чертежник) — определение результата выполнения последовательности команд
- Трассировка алгоритмов — пошаговое выполнение алгоритма с отслеживанием значений переменных
- Восстановление исходных данных — определение входных значений, при которых алгоритм дает нужный результат
- Анализ программ с циклами, ветвлениями и подпрограммами
🤖 Типы исполнителей
🐢 Черепаха
Рисует линии на плоскости, оставляя след
🤖 Робот
Перемещается по клеткам лабиринта
✏️ Чертежник
Рисует отрезки на координатной плоскости
Исполнитель "Черепаха"
Основные команды Черепахи:
Вперед(n)— двигаться вперед на n единицНазад(n)— двигаться назад на n единицНаправо(α)— повернуться направо на α градусовНалево(α)— повернуться налево на α градусовПовтори k [команды]— повторить команды k раз
Исполнитель "Робот"
Основные команды Робота:
Вверх— переместиться на одну клетку вверхВниз— переместиться на одну клетку внизВлево— переместиться на одну клетку влевоВправо— переместиться на одну клетку вправоПовтори k [команды]— повторить команды k раз
Исполнитель "Чертежник"
Основные команды Чертежника:
Поднять перо— прекратить рисованиеОпустить перо— начать рисованиеСместиться на вектор (a, b)— переместиться на векторПовтори k [команды]— повторить команды k раз
📊 Трассировка алгоритмов
Трассировка — это пошаговое выполнение алгоритма с записью значений всех переменных после каждой операции.
Метод трассировочной таблицы
📝 Примеры задач с решениями
Условие: У исполнителя Черепаха есть команды движения и поворота. Черепаха начинает движение, смотря на север. Определите, сколько углов у фигуры, нарисованной Черепахой после выполнения программы:
Повтори 6 [Вперед(10) Направо(60)]
Анализ программы:
- Цикл выполняется 6 раз
- На каждой итерации: движение вперед на 10 единиц, затем поворот на 60° направо
- После каждого поворота образуется угол
Пошаговое выполнение:
| Итерация | Действие | Направление после поворота |
|---|---|---|
| 1 | Вперед(10), Направо(60) | 60° от севера |
| 2 | Вперед(10), Направо(60) | 120° от севера |
| 3 | Вперед(10), Направо(60) | 180° от севера |
| 4 | Вперед(10), Направо(60) | 240° от севера |
| 5 | Вперед(10), Направо(60) | 300° от севера |
| 6 | Вперед(10), Направо(60) | 360° = 0° (север) |
Вывод: Черепаха нарисовала замкнутую фигуру. Общий угол поворота: 6 × 60° = 360°. Это означает, что фигура замкнулась. Количество углов равно количеству поворотов.
Ответ: 6 углов (правильный шестиугольник)
Условие: Определите значение переменной c после выполнения следующего фрагмента программы:
a := 5 b := 3 a := 2 * a + 3 * b b := a / 2 - b c := a - 2 * b
Используем трассировочную таблицу:
| Шаг | Команда | a | b | c |
|---|---|---|---|---|
| 0 | Начало | — | — | — |
| 1 | a := 5 | 5 | — | — |
| 2 | b := 3 | 5 | 3 | — |
| 3 | a := 2 * a + 3 * b | 2×5 + 3×3 = 19 | 3 | — |
| 4 | b := a / 2 - b | 19 | 19/2 - 3 = 9.5 - 3 = 6.5 | — |
| 5 | c := a - 2 * b | 19 | 6.5 | 19 - 2×6.5 = 19 - 13 = 6 |
Ответ: c = 6
Условие: Определите значение переменной s после выполнения программы:
s := 0 k := 1 нц пока k ≤ 5 s := s + k k := k + 1 кц
Трассировка цикла:
| Итерация | Условие k ≤ 5 | s (до) | k (до) | s := s + k | k := k + 1 |
|---|---|---|---|---|---|
| Начало | — | 0 | 1 | — | — |
| 1 | ✓ (1 ≤ 5) | 0 | 1 | 0 + 1 = 1 | 2 |
| 2 | ✓ (2 ≤ 5) | 1 | 2 | 1 + 2 = 3 | 3 |
| 3 | ✓ (3 ≤ 5) | 3 | 3 | 3 + 3 = 6 | 4 |
| 4 | ✓ (4 ≤ 5) | 6 | 4 | 6 + 4 = 10 | 5 |
| 5 | ✓ (5 ≤ 5) | 10 | 5 | 10 + 5 = 15 | 6 |
| Проверка | ✗ (6 > 5) | 15 | 6 | Выход из цикла | |
Пояснение: Программа вычисляет сумму чисел от 1 до 5: s = 1 + 2 + 3 + 4 + 5 = 15
Ответ: s = 15
Условие: При каком наименьшем целом значении переменной x результат выполнения программы будет равен 100?
y := 20 нц пока y < 100 x := x - 1 y := y + x кц
Анализ алгоритма:
- Начальное значение y = 20
- Цикл выполняется, пока y < 100
- На каждой итерации: x уменьшается на 1, затем это значение прибавляется к y
- Нужно найти минимальное x, при котором y достигнет или превысит 100
Подберем значение x методом проб:
Попробуем x = 10:
| Итерация | x | y (до) | x := x - 1 | y := y + x | Условие y < 100 |
|---|---|---|---|---|---|
| Начало | 10 | 20 | — | — | ✓ |
| 1 | 10 | 20 | 9 | 20 + 9 = 29 | ✓ |
| 2 | 9 | 29 | 8 | 29 + 8 = 37 | ✓ |
| 3 | 8 | 37 | 7 | 37 + 7 = 44 | ✓ |
| 4 | 7 | 44 | 6 | 44 + 6 = 50 | ✓ |
| 5 | 6 | 50 | 5 | 50 + 5 = 55 | ✓ |
| 6 | 5 | 55 | 4 | 55 + 4 = 59 | ✓ |
| 7 | 4 | 59 | 3 | 59 + 3 = 62 | ✓ |
| 8 | 3 | 62 | 2 | 62 + 2 = 64 | ✓ |
| 9 | 2 | 64 | 1 | 64 + 1 = 65 | ✓ |
| 10 | 1 | 65 | 0 | 65 + 0 = 65 | ✓ |
При x = 10 получаем y = 65 < 100. Нужно большее значение x.
Попробуем x = 13:
Сумма: 20 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0 = 20 + 78 = 98 < 100
Попробуем x = 14:
Сумма: 20 + 13 + 12 + 11 + 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 + 0 = 20 + 91 = 111 ≥ 100 ✓
Ответ: x = 14
Условие: Робот находится в клетке (1, 1). Определите координаты клетки, в которой окажется Робот после выполнения программы:
Повтори 3 [Вправо Вправо Вверх] Вниз Повтори 2 [Влево Вверх]
Отслеживаем перемещения:
| Команда | X | Y | Пояснение |
|---|---|---|---|
| Начальная позиция | 1 | 1 | — |
| Первая итерация цикла Повтори 3 | |||
| Вправо | 2 | 1 | X + 1 |
| Вправо | 3 | 1 | X + 1 |
| Вверх | 3 | 2 | Y + 1 |
| Вторая итерация цикла Повтори 3 | |||
| Вправо | 4 | 2 | X + 1 |
| Вправо | 5 | 2 | X + 1 |
| Вверх | 5 | 3 | Y + 1 |
| Третья итерация цикла Повтори 3 | |||
| Вправо | 6 | 3 | X + 1 |
| Вправо | 7 | 3 | X + 1 |
| Вверх | 7 | 4 | Y + 1 |
| После первого цикла | |||
| Вниз | 7 | 3 | Y - 1 |
| Первая итерация цикла Повтори 2 | |||
| Влево | 6 | 3 | X - 1 |
| Вверх | 6 | 4 | Y + 1 |
| Вторая итерация цикла Повтори 2 | |||
| Влево | 5 | 4 | X - 1 |
| Вверх | 5 | 5 | Y + 1 |
Ответ: Робот окажется в клетке (5, 5)
🎯 Общие методы и стратегии решения
Метод 1: Построение трассировочной таблицы
Применяется для: Задач на трассировку алгоритмов, циклов, последовательных вычислений
Суть метода: Создание таблицы, в которой отслеживаются значения всех переменных на каждом шаге выполнения алгоритма
Метод 2: Графический метод
Применяется для: Задач с исполнителями (Черепаха, Робот, Чертежник)
Суть метода: Визуализация траектории движения исполнителя на бумаге или в координатной сетке
Метод 3: Обратный ход
Применяется для: Задач на восстановление исходных данных
Суть метода: Выполнение алгоритма в обратном порядке от конечного результата к начальным данным
Метод 4: Подбор параметров
Применяется для: Задач на определение входных значений для получения требуемого результата
Суть метода: Систематический перебор возможных значений с проверкой результата
⚠️ Типичные ошибки и как их избежать
Ошибка 1: Неправильный порядок выполнения операций
Проблема: Забывают о порядке приоритета операций (сначала умножение/деление, потом сложение/вычитание)
Решение: Используйте скобки и выполняйте операции строго по приоритету
Ошибка 2: Пропуск итераций цикла
Проблема: При трассировке цикла пропускают одну или несколько итераций
Решение: Записывайте каждую итерацию в отдельной строке таблицы, даже если изменения кажутся очевидными
Ошибка 3: Неправильное понимание условия цикла
Проблема: Путают условие продолжения цикла (пока) с условием выхода из цикла
Решение: Внимательно читайте условие: "пока условие истинно" означает выполнение цикла при истинности условия
Ошибка 4: Забывают про направление исполнителя
Проблема: При работе с Черепахой не отслеживают текущее направление после поворотов
Решение: Рисуйте стрелку, показывающую направление, после каждого поворота
Ошибка 5: Арифметические ошибки
Проблема: Допускают ошибки при выполнении простых арифметических операций
Решение: Проверяйте каждое вычисление, записывайте промежуточные результаты
💡 Советы по подготовке к заданию 5
Совет 1: Тренируйте внимательность
Задание 5 требует аккуратности и последовательности. Решайте задачи медленно и тщательно, проверяя каждый шаг.
Совет 2: Используйте визуализацию
Для задач с исполнителями всегда рисуйте траекторию движения. Для алгоритмов — стройте таблицы трассировки.
Совет 3: Проверяйте граничные случаи
При работе с циклами обращайте особое внимание на первую и последнюю итерации.
Совет 4: Практикуйтесь регулярно
Решайте по 3-5 задач ежедневно, постепенно увеличивая сложность.
Совет 5: Изучайте разные типы задач
Задание 5 может содержать разные типы задач. Убедитесь, что вы умеете решать каждый из них.
📚 Контрольные вопросы для самопроверки
Нажмите на вопрос, чтобы увидеть ответ:
Ответ: Трассировка алгоритма — это пошаговое выполнение алгоритма с фиксацией значений всех переменных после каждой операции. Обычно для трассировки используется специальная таблица (трассировочная таблица), в которой каждая строка соответствует одному шагу выполнения, а столбцы — переменным программы. Этот метод позволяет отследить, как изменяются данные в процессе работы алгоритма, и найти ошибки в программе.
Ответ: У исполнителя Черепаха есть следующие основные команды:
- Вперед(n) — переместиться вперед на n единиц, оставляя след
- Назад(n) — переместиться назад на n единиц
- Направо(α) — повернуться направо на α градусов
- Налево(α) — повернуться налево на α градусов
- Повтори k [команды] — повторить указанные команды k раз
Черепаха всегда оставляет след при движении, что позволяет рисовать различные геометрические фигуры.
Ответ: Чтобы определить количество итераций цикла "пока условие":
- Определите начальное значение переменных, участвующих в условии
- Проверьте, истинно ли условие (если нет — цикл не выполнится ни разу)
- Выполните тело цикла и обновите значения переменных
- Снова проверьте условие
- Повторяйте шаги 3-4 до тех пор, пока условие не станет ложным
Важно: цикл "пока" выполняется, пока условие истинно. Если условие с самого начала ложно, цикл не выполнится ни разу (цикл с предусловием).
Ответ: Команда a := a + 1 выполняет следующие действия:
- Берется текущее значение переменной a
- К этому значению прибавляется 1
- Результат записывается обратно в переменную a
Пример: Если до выполнения команды a = 5, то после выполнения a = 6.
Это операция инкремента (увеличения на единицу), часто используется в циклах для подсчета итераций.
Ответ: Для восстановления исходных данных можно использовать несколько методов:
Метод 1: Обратный ход
- Выполните операции алгоритма в обратном порядке
- Замените операции на обратные (сложение на вычитание, умножение на деление)
Метод 2: Подбор
- Подставьте различные значения входных данных
- Выполните алгоритм для каждого значения
- Найдите то значение, которое дает требуемый результат
Метод 3: Система уравнений
- Составьте систему уравнений на основе операций алгоритма
- Решите систему относительно неизвестных входных данных
Ответ: Арифметические операции выполняются в следующем порядке приоритета:
- Скобки () — операции в скобках выполняются в первую очередь
- Возведение в степень (если есть в языке)
- Умножение (*) и деление (/) — выполняются слева направо
- Целочисленное деление (div) и остаток от деления (mod)
- Сложение (+) и вычитание (−) — выполняются слева направо
Пример: В выражении 2 + 3 * 4 сначала выполняется умножение: 3 * 4 = 12, затем сложение: 2 + 12 = 14
Ответ: Итерация цикла — это одно полное выполнение тела цикла (всех команд внутри цикла). Если цикл выполняется n раз, говорят, что он совершил n итераций.
Пример: В цикле Повтори 5 [команды] будет выполнено 5 итераций — команды выполнятся 5 раз.
При трассировке цикла каждую итерацию удобно записывать в отдельной строке таблицы для отслеживания изменений переменных.
Ответ:
Цикл с предусловием ("пока"):
- Условие проверяется ДО выполнения тела цикла
- Если условие ложно с самого начала, цикл не выполнится ни разу
- Синтаксис:
нц пока условие ... кц
Цикл с постусловием ("до"):
- Условие проверяется ПОСЛЕ выполнения тела цикла
- Тело цикла всегда выполнится хотя бы один раз
- Синтаксис:
нц ... кц_при условии
Ключевое отличие: цикл с постусловием гарантированно выполнится минимум один раз.
Ответ: В трассировочную таблицу необходимо записывать:
- Столбцы:
- Номер шага или итерации
- Все переменные, используемые в алгоритме
- Иногда — выполняемую команду
- Иногда — условие (для циклов и ветвлений)
- Строки:
- Каждая строка = один шаг алгоритма
- Начальные значения переменных
- Изменения после каждой операции
- Каждая итерация цикла в отдельной строке
Записывайте только измененные значения, неизменные переменные можно повторять из предыдущей строки.
Ответ: Для проверки решения задачи с исполнителем:
- Визуализация: Нарисуйте на бумаге или в тетради траекторию движения исполнителя
- Пошаговое выполнение: Выполните каждую команду по порядку, отмечая положение исполнителя
- Для Черепахи:
- Отмечайте направление стрелкой после каждого поворота
- Проверьте, что сумма всех углов поворота кратна 360° (для замкнутых фигур)
- Подсчитайте количество сторон/углов полученной фигуры
- Для Робота:
- Используйте координатную сетку
- Отмечайте каждую клетку, в которой побывал Робот
- Проверьте конечные координаты
- Проверка ответа: Сравните полученный результат с вариантами ответов или требуемым результатом
📝 Задачи для самостоятельного решения
Определите значение переменной b после выполнения программы:
a := 4 b := 6 a := a + b b := a - b a := a - b
Подсказка: обратите внимание, что это алгоритм обмена значениями переменных.
Черепаха выполняет программу:
Повтори 4 [Вперед(5) Направо(90)]
Какую фигуру нарисует Черепаха? Найдите периметр этой фигуры.
Определите значение переменной s после выполнения программы:
s := 0 k := 10 нц пока k > 0 s := s + k k := k - 2 кц
Робот находится в клетке (2, 3). В какой клетке он окажется после выполнения программы?
Повтори 2 [Вверх Вправо] Вниз Повтори 3 [Вправо]
При каком значении переменной n программа выведет число 20?
k := 0 нц пока n > 0 k := k + 1 n := n - 2 кц вывод k
🎓 Заключение
Задание 5 ЕГЭ по информатике проверяет фундаментальные навыки работы с алгоритмами. Для успешного решения необходимо:
- Быть внимательным и аккуратным при выполнении каждого шага
- Систематически использовать трассировочные таблицы
- Визуализировать работу исполнителей
- Проверять каждое вычисление
- Регулярно практиковаться на задачах разного типа
Помните: В задании 5 важна не скорость, а точность. Лучше потратить немного больше времени на тщательную проверку, чем допустить ошибку из-за спешки.