Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Prolog
Перезагрузить страницу Результат суммы двух чисел
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
user1111 user1111 вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.11.2017
Question Результат суммы двух чисел - 23.11.2017, 12:54

Здравствуйте. Есть программа которая складывает два числа и проверяет его с третьим на TurboProlog. Называется tes(A,B,C) где С=А+В. Как сделать программно чтобы вид был типа test(A,B)=C, то есть третий множитель вынесет вообще за функцию и между ними еще знак равно добавился? Заранее благодарю!
prolog Код:
predicates
test(integer,integer,integer)
clauses
test(A,B,C) :- C=A+B

Последний раз редактировалось user1111; 23.11.2017 в 12:57 Причина: Дополнительные данные
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,300
Сказал(а) спасибо: 31
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 23.11.2017, 13:17

Забавно.. Наксколько я понимаю, такое возможно только в Visual Prolog, начиная с семёрки. Пусть старшие товарищи меня поправят, если я не прав
Ответить с цитированием
  (#3 (permalink)) Старый
user1111 user1111 вне форума
Новичок
 
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 23.11.2017
По умолчанию 23.11.2017, 13:23

Вот и мне казали что вроде в TP такое нельзя. Хотя препод говорит что можно. Может как-то хотя бы похоже сделать, но как, я не знаю)
Ответить с цитированием
  (#4 (permalink)) Старый
Drovosek Drovosek вне форума
Member
 
Сообщений: 31
Сказал(а) спасибо: 12
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.09.2017
По умолчанию 23.11.2017, 13:39

Visual Prolog Код:
implement main
    open core,console

class predicates
    test : (integer, integer) -> integer.

clauses
    test(A,B) = A+B:-!.

    run() :-
        write(test(2,3)),_=readchar().
        %5

end implement main

goal
    console::runUtf8(main::run).
Ответить с цитированием
  (#5 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 8,037
Сказал(а) спасибо: 2
Поблагодарили 323 раз(а) в 322 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 23.11.2017, 17:36

Drovosek, отсечение здесь не нужно, а так всё правильно:
Visual Prolog Код:
implement main
    open core, console

class predicates
test : (integer, integer) -> integer.

clauses
test(A,B) = A+B.
run():- (test(3,2)=5,write("равно") orelse write("НЕравно")),
            _=readchar().

end implement main

goal
    console::run(main::run).
Ответить с цитированием
Пользователь сказал cпасибо:
Drovosek (23.11.2017)
Ads.
  (#6 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 8,037
Сказал(а) спасибо: 2
Поблагодарили 323 раз(а) в 322 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 23.11.2017, 23:05

Visual Prolog Код:
implement main
    open core, console

clauses
run():- Test = {(A,B)=A+B},
            (Test(3,2)=5,write("равно") orelse write("НЕравно")),
            _=readchar().

end implement main

goal
    console::run(main::run).
Ответить с цитированием
  (#7 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,300
Сказал(а) спасибо: 31
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 24.11.2017, 12:53

Надо бы форумный движок подправить.. orelse он не знает :(
Ответить с цитированием
  (#8 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 8,037
Сказал(а) спасибо: 2
Поблагодарили 323 раз(а) в 322 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 24.11.2017, 22:35

Он не только orelse не знает. В восьмёрке добавился otherwise.
А по поводу "движок подправить" даже и не знаю. Раньше с Гариком всё было проще и понятней. А сейчас я и не знаю, что за человек здесь главный.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сумма двух чисел с файла (SWI Prolog) rrrFer Prolog 2 13.05.2014 06:10
Ближайшее и к n из двух чисел turtles Java 1 30.08.2011 18:46
Как работает функция суммирования двух чисел ваня1205 Lisp 2 29.05.2011 21:03
Программа на вычисление суммы двух списков S@SORY Вопросы начинающих программистов 0 14.12.2010 19:01
Нахождение суммы натуральных чисел на С++ Shenan Вопросы начинающих программистов 0 13.12.2010 02:46
Необходимо округлить результат математической операции до двух знаков Dimson C++ Builder 16 28.08.2008 18:10
Нахождение суммы четных и нечетных чисел массива Charlie Rat Вопросы начинающих программистов 10 08.12.2007 17:58
задача - вычисление суммы двух нечетких чисел AlexMaa Prolog 3 27.04.2006 05:28
Как написать программу вычисления суммы всех двухзначных нечетных чисел CoolGoblin Вопросы начинающих программистов 9 21.03.2005 19:59
Поизведение двух чисел как найти Ower Lisp 3 10.03.2005 15:31
Как прописать код сложение двух комплексных чисел griban Вопросы начинающих программистов 1 06.05.2004 02:36
НОД двух чисел как сделать coder Алгоритмы 3 13.08.2002 23:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов