0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 6
|
|
1 | |
Трудности в написании программы16.04.2012, 18:59. Показов 1393. Ответов 10
Метки нет (Все метки)
Здравствуйте, помогите пожалуйста со следующей проблемой=)
Начинаю программировать на прологе) Разобрался со всеми базовыми вещами, но столкнулся с определённой задачей, реализовать, которую пока не получается=( Смысл заключается в следующем: даны алгебраические выражения, цифры заменены буквами, а знаки арифметических операций заменены знаками вопроса, надо найти подстановки, которые обратят равенства в верные тождества. Например: ACHS / DD = NXS HOB ? SS = HXN NXS - DOC = HXN Подскажите пожалуйста примерный алгоритм, или может сталкивались с чем-то похожим) Буду благодарен любым подсказкам))
0
|
16.04.2012, 18:59 | |
Ответы с готовыми решениями:
10
Трудности в написании программы СИ++ Трудности при написании программы Трудности при написании Морского боя Как програмно сменить клавиатуру, или трудности при написании собственного EditText |
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
||||||
16.04.2012, 19:49 | 2 | |||||
Так ACHS задавать нельзя, это такое же имя переменной, как и из одной буквы. Поэтому числа будут в виде списков.
H = '1', O = '0', B = '4', S = '8', X = '9', N = '2', A = (104+88=192)
1
|
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 6
|
|
18.04.2012, 13:44 [ТС] | 3 |
Грымзик, Спасибо, огромное) Почти всё понятно) Но есть два вопроса)
1. Почему-то ругается на строчки с операцией '?' (V=A?B).Думал может операция не определена, попробывал переопределить через op(.....'?'), на что компилятор сказал, что функция статическая. Подскажите пожалуйста как быть? Ошибка слдующая "Syntax error:Operator expected" 2.В чем смысл этих сопоставлений A=B,A1=B1 в цели naiti? Огромное спасибо, ещё раз=)
0
|
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
18.04.2012, 14:29 | 4 |
Что за компилятор у Вас?
Ну в А=В строки храняться еще в виде [...]?[...]=[...], а в А1=В1 все ? заменяются уже на арифметические операции, а списки на числа.
1
|
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 6
|
|
18.04.2012, 15:26 [ТС] | 5 |
Компилятор SWI-Prolog (Multi-threaded, Version 5.6.45)
0
|
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
18.04.2012, 16:04 | 6 |
У меня 5.10.5 и на ? не жалуется.
0
|
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 6
|
|
18.04.2012, 17:26 [ТС] | 7 |
Если удалить все условия типа (V=A?B), то ошибок нету, но тогда теряется смысл программы.
А если оставляю как есть, то компилятор выдаёт следующее: 3 ?- consult('/home/nurgle/lab1.pl'). ERROR: /home/nurgle/lab1.pl:8:0: Syntax error: Operator expected ERROR: /home/nurgle/lab1.pl:16:0: Syntax error: Operator expected ERROR: /home/nurgle/lab1.pl:17:0: Syntax error: Operator expected ERROR: /home/nurgle/lab1.pl:18:0: Syntax error: Operator expected ERROR: /home/nurgle/lab1.pl:19:0: Syntax error: Operator expected % /home/nurgle/lab1.pl compiled 0.00 sec, 2,804 bytes Никак не могу понять из-за чего так происходит
0
|
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
18.04.2012, 17:34 | 8 |
Попробовали более новую версию компилятора?
1
|
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 6
|
|
18.04.2012, 17:57 [ТС] | 9 |
Походу, тут дело не в версии, при компиляции под windows, даже на более низких версиях пролога, компиляция проходит успешно, а при компиляции на Unix, появляются ошибки. Возможно нужно как-то изменить оператор "?". Пока не моу понять как...
0
|
2507 / 1483 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
|
18.04.2012, 23:36 | 10 |
Тогда с помощью op создайте собственный оператор, и вместо ? используйте его.
0
|
0 / 0 / 0
Регистрация: 16.04.2012
Сообщений: 6
|
|
19.04.2012, 23:05 [ТС] | 11 |
Спасиба, Вам большое за помощь) Хотел сразу так сделать, но не получалось, забывал перд op(...) поставить двоеточие тире =)
0
|
19.04.2012, 23:05 | |
19.04.2012, 23:05 | |
Помогаю со студенческими работами здесь
11
Трудности при написании чата. Покажите простой пример чата на 2 человека. написании программы мини программы Не получается в написании программы Помощь в написании программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |