![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 23.12.2008
Сообщений: 2
|
![]()
Помогите. Требуется написать программу для определения возможности составления условного выражения, эквивалентного данному, из заданных наборов сравнений.
Пример Выражение: (x= =2)&&(2*y<=2)&&((y>(1-x)/2)||( y>-0.5*x+1)&&(x<y+3)) Набор сравнений: y>x-3; x>1-2*y; y<=1; Результат: Составить возможно. В памяти каждое выражение хранится в виде дерева(уже распарсил выражения). Собственно нужна в помощь в определение метода решения вопроса об эквивалентности ![]() Но в принципе можно и на паскале, главное метод решения.
Человека определяют не плюсы, человека определяют минусы. (AV)
Последний раз редактировалось AshimVeeskela; 30.08.2011 в 19:17. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
для начала сделай вот эту часть (установи ПРОГРАММНО эквивалентность двух разнозаписанных выражений (равенств / неравенств)
2*y<=2 ?=? y<=1 x<y+3 ?=? y>x-3 и твоя задача сведется к поиску таких простых эквивалентов. но сама задача определения эквивалентности для таких простых выражений в общем случае совсем непроста. могу предложить способ приведения к стандартному(каноническому) виду многочлена и сравнения его с нулем (например так) 2*y -2 <=0 y-1<=0 x-y-3 <0 -x +y+3 >0 далее самостоятельно. P.S. на бумаге человек это сделает легко, попробуй научить этому компьютер.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 30.08.2011 в 13:14. |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 23.12.2008
Сообщений: 2
|
![]()
Дело в том что, я привел простой пример. А по условию в выражении могут быть и дроби и тригонометрические выражения.
Сейчас преподователь упростил задачу в том плане что в выражении может быть только одна переменная. А в этом случае можно было сравнивать отрезки, тоесть найти все границы отрезков решив уравнения. Но тогда возникает вопрос как найти все корни уравнения f(x)=0. Все методы в инете сводятся к нахождению корня на отрезке. А локализация производится вручную. Что не подходит для моего решения: пользователь вводит только выражения и получает результат.
Человека определяют не плюсы, человека определяют минусы. (AV)
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Особенность у условного оператора | Gen_r_questions | JavaScript, Ajax | 1 | 13.07.2011 21:42 |
Нужно сформулировать принцип выполнения программы в среде Turbo Pascal по её данному условию. | Ekvental | Помощь студентам | 1 | 28.12.2010 17:26 |
Многоуровневое меню по данному css коду | Vladimirko | HTML и CSS | 0 | 26.08.2010 01:11 |
Вычисление условного арифметического выражения | doda666 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 16.03.2010 08:02 |