9737
СОГЛАСЕН С ОБРАБОТКОЙ ЛИЧНЫХ ДАННЫХ

Обсуждения-аналоги

Скрыть / Показать Сортировать по дате
2010-01-22 15:01:11
Сычев С.В., Лебедев К.А. » Всем

4. НАЧИНАЮТСЯ ПРОТИВОРЕЧИЯ. КАКОГО ТИПА?

Как нам следует поступить, когда данные, которые есть, сильно отличаются от данных - тех, что надо?

  • С одной стороны, арифметическое выражение, поступающее на вход интерпретатора, должно быть записано в нотации ПОЛИЗ (как мы только что решили), т.к. программный код в этом случае получается гораздо проще.
  • А, с другой стороны, оно же должно быть записано в привычной для большинства людей (инфиксной) нотации, когда знаки ставятся туда, куда их учили ставить в школе.

Значит, мы сталкиваемся с противоречием:


Противоречие 1: "Выражение должно быть записано в инфиксной нотации и должно быть записано в нотации ПОЛИЗ".


Сравним одно и то же выражение, записанное в двух нотациях - в инфиксной и в ПОЛИЗ: "3 + 5" и "3 5 +" соответственно.

И перепишем Противоречие 1 по-другому:


"Знак операции должен стоять между операндами, т.к. это удобно для Пользователя и должен стоять после операндов, чтобы упростить алгоритм интерпретации".


Ранее в статье "Как вспомнить "и так известное" противоречия, встречающиеся в творческих задачах по программированию, сводились к нескольким основным типам.


Например,

  • задачи, рассмотренные в той же статье, сводились к типовому противоречию "Много - Мало",
  • другие задачи, рассмотренные в статье "Освобождение узников оператора "IF", сводились к типовому противоречию "Одно - Другое",
  • противоречие же, которое мы разбираем сейчас, сводится к виду "Раньше - Позже".

Поскольку формализованный тип противоречия выводит на прием решения, еще раз перепишем Противоречие 1:


        "Знак операции должен стоять раньше второго операнда, и он же должен стоять позже второго операнда".


Далее...




Яндекс.Метрика