RRRRR - 54.205.36.165
@ Подписаться

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

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

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

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

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

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


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


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

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


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


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


Например,

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

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


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


Далее...


Уважаемые Коллеги!

Если Вам нравится наш Форум, Вы можете поддержать его, отправив любую сумму (тогда выберите опцию "Спасибо за Форум").

Вы также можете поддержать конкретное обсуждение и получить гарантированный ответ от наших специалистов (тогда выберите опцию "Прошу эксперта ответить в этой теме").
Задайте Ваш вопрос здесь.

Большое Спасибо!


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