1. Понимание постановки задачи. Нужно ясно понять задачу. Что неизвестно? Что дано? В чем состоит условие? Возможно ли удовлетворить условию? Достаточно ли условие для определения неизвестного? Или недостаточно? Сделайте чертеж. Введите подходящие обозначения. Разделите условие на части. Постарайтесь записать их. Объясните свою задачу простым языком.
  2. Составление плана решения.
    1. Нужно найти связь между данными и неизвестными. Если не удается сразу обнаружить эту связь, возможно, полезно будет рассмотреть вспомогательные задачи. В конечном счете необходимо прийти к плану решения. Не встречалась ли вам раньше эта задача? Хотя бы в несколько иной форме? Известна ли вам какая-нибудь родственная задача? Не знаете ли теоремы, которая могла бы оказаться полезной?
    2. Рассмотрите неизвестное! И постарайтесь вспомнить знакомую задачу с тем же или подобным неизвестным. Вот задача, родственная данной и уже решенная. Нельзя ли воспользоваться ею? Нельзя ли применить ее результат? Нельзя ли использовать метод ее решения? Не следует ли ввести какой-нибудь вспомогательный элемент, чтобы стало возможно воспользоваться прежней задачей?
    3. Нельзя ли иначе сформулировать задачу? Еще иначе? Вернитесь к определениям. Если не удается решить данную задачу, попытайтесь сначала решить сходную.
    4. Нельзя ли придумать более доступную сходную задачу? Более общую? Более частную? Аналогичную задачу? Нельзя ли решить часть задачи? Сохраните только часть условия, отбросив остальную часть; насколько определенным окажется тогда неизвестное, как оно сможет меняться? Нельзя ли извлечь что-то полезное из данных? Нельзя ли придумать другие данные, из которых можно было бы определить неизвестное? Нельзя ли изменить неизвестное, или данные, или, если необходимо, и то и другое так, чтобы новое неизвестное и новые данные оказались ближе друг к другу?
    5. Все ли данные вами использованы? Все ли условия? Приняты ли вами во внимание все существующие понятия, содержащиеся в задаче?
  3. Осуществление плана. Нужно осуществить план решения. Осуществляя план решения, контролируйте каждый свой шаг. Ясно ли вам, что предпринятый вами шаг правилен? Сумеете ли доказать, что он правилен?
  4. Взгляд назад. Нужно изучить найденное решение. Нельзя ли проверить результат? Нельзя ли проверить ход решения? Нельзя ли получить тот же результат иначе? Нельзя ли усмотреть его с одного взгляда? Нельзя ли в какой-нибудь другой задаче использовать полученный результат или метод решения?

Полья Д., 1957, цитируется по книге Стива Макконнелла “Совершенный код”


Связи: