Руководства по подготовке

Как чередовать алгоритмы и программирование к ОГЭ

При подготовке к ОГЭ по информатике чередуйте исполнение чужого алгоритма на бумаге и написание собственной программы. На одном и том же условии сначала предскажите результат, затем проверьте его запуском. На следующем занятии разберите первую команду, после которой состояние программы разошлось с вашим прогнозом.

Обновлено:

Посмотрите, что именно вы собираетесь тренировать

Подготовка по информатике часто начинается с запроса «дайте ещё задач на циклы». Прежде чем открывать редактор, уточните, где возникло затруднение. Вы читаете готовый код и теряете значение переменной после очередного шага? Или уверенно объясняете чужую программу, но при самостоятельной записи не можете выбрать условие для ветвления? Для первого случая пригодится таблица исполнения. Для второго стоит сначала описать по-русски, какое решение программа принимает на каждом шаге.

В навигаторе ОГЭ откройте раздел по информатике. В тематическом материале об алгоритмах ФИПИ различает исполнение готового алгоритма, работу с системой команд исполнителя и создание программ на универсальном языке. Запланируйте эти виды работы на разные дни. При составлении расписания можно свериться с руководством по планированию недели. Например, без компьютера можно проследить состояние исполнителя, а занятие в кабинете информатики оставить для записи, запуска и исправления программы. Так доступ к компьютеру определяет порядок работы, но не решает за вас, какую задачу взять.

На бумаге следите за состоянием после команды

Начните с короткого маршрута на клетчатом листе. Отметьте начальную клетку и направление, в котором смотрит исполнитель. Задайте ему разрешённые команды движения вперёд и поворота направо. Составьте последовательность с поворотом, передайте её однокласснику и попросите показать конечное положение. Если вы оказались в разных местах, сравнивайте записи от начала, пока не найдёте первое расхождение. После поворота у исполнителя меняется направление, но клетка остаётся прежней. Если отмечать только клетки, эту ошибку легко пропустить.

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

Разделите описание задачи и проверку кода

Возьмите собственную учебную задачу о температуре: нужно найти самую длинную последовательность дней подряд, когда показание было строго выше нуля. Сначала поясните слово «подряд». День с нулевой или отрицательной температурой заканчивает текущую серию, но не отменяет результат уже завершившейся серии. Значит, стоит хранить длину текущей серии отдельно от наибольшей найденной длины.

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

Пример плана

В понедельник вручную проследите маршрут исполнителя и объясните партнёру, какой командой вы изменили направление. В среду перенесите привычку фиксировать состояние на задачу о температуре. Для ряда 2, 3, 0, 4 длина текущей серии после каждого дня равна 1, 2, 0, 1, а ответ равен 2. Если программа выводит 1, проверьте, не выводите ли вы последнюю серию вместо самой длинной.

В пятницу проверьте другой ряд: 0, 1, 2, 3. Здесь самая длинная серия заканчивается вместе со входными данными, поэтому ожидаемый ответ равен 3. Ряд 0, -2 проверяет ещё один случай: положительных температур не было, ответ равен 0. Эти наборы служат для тренировки, их можно заменить своими. Если нужно разобраться, почему результат изменился, меняйте только одно значение за запуск и сравнивайте обе строки таблицы в месте замены.

К следующему занятию измените формулировку: теперь подходят дни с температурой не ниже нуля. Отметьте в таблице, у каких элементов изменится результат проверки условия. До запуска предскажите ответ для прежних данных. Если он разойдётся с фактическим, сохраните самый короткий ряд, на котором видно расхождение. Используйте метод разбора пробной работы и запишите у себя этот ряд и шаг, на котором ответ перестал совпадать с прогнозом. Из такой записи сразу понятно, что повторять дальше: смысл условия, обновление переменной или выбор значения для вывода.

Как помогает ExamLuma

Следуйте своему плану подготовки в ExamLuma. ↗

Ставьте ежедневную цель по времени подготовки и следите за прогрессом. ↗

Фиксируйте завершенные занятия по выбранным предметам. ↗

Ваш ИИ-помощник в учёбе →

ExamLuma — Сегодняшняя цель, Динамика результатов пробных тестов
Внутри приложения

Частые вопросы

С чего начать, если я плохо знаю команды языка?

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

Когда нужен компьютер, а когда достаточно бумаги?

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

Почему программа на моём первом примере ответила правильно, а в другом случае ошиблась?

Один пример может не затронуть ошибочную ветвь. Подберите данные, на которых условие меняет значение, а также случай, в котором подходящих элементов нет. Заранее запишите, что должно получиться.

Как понять, что пора переходить к другой теме?

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

Источники

Google Play