Помогите с prologom

Тема в разделе "Программирование", создана пользователем Лера12345543, 19 ноя 2015.

  1. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС
    Здравствуйте. помогите пожалуйста перенести программу написанную в Prolog 2.3 в Prolog 7.0.
    (ввести нужно родителей и детей и узнать кто чей родитель при поиске)

    domains
    name=srting
    predicates
    родитель (name,name)
    clauses
    родитель("Иван", "Алексей").
    родитель("Мария", "Анна").
    родитель("Иван", "Анна") % goal родитель ("Иван", "Анна").
    goal родитель(кто, "Анна")

    кто=Анна
    кто=Иван
     
  2. Vadim62 Активный участник

    Регистрация:
    14 окт 2011
    Сообщения:
    709
    Симпатии:
    196
    Провайдер:
    Энлинк
    Как-то так вроде...
    PHP:
    open console
    domains
    name 
    srting.

    class 
    facts
    родитель
    :(name,name).

    clauses
    родитель
    ("Иван""Алексей").
    родитель("Мария""Анна").
    родитель("Иван""Анна").

    run():-init(),
        
    родитель(Кто"Иван"),
        
    write(Кто),
        
    _=readchar().
     
  3. Vlad648 Местный

    Регистрация:
    12 янв 2011
    Сообщения:
    373
    Симпатии:
    79
    Провайдер:
    Дом.ru
    И с каким же фактом это сопоставится? По-моему, наоборот:
    PHP:
    родитель("Иван"Кто),
    Получим мать и отца - Алексея и Анну
     
    Vadim62 нравится это.
  4. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС
    Все ввожу как вы сказали. выдает ошибку [​IMG][/url][/IMG]
     
  5. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС
    Не могу вставить картинку пишет ошибку main.pack(24,1) error c173: Unexpected end of file
     
  6. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС
    Prolog 7.3, так как 7.0 не могла найти
     
  7. Vlad648 Местный

    Регистрация:
    12 янв 2011
    Сообщения:
    373
    Симпатии:
    79
    Провайдер:
    Дом.ru
    Лера12345543, Visual Prolog что ли?
    Вот так попробуйте:
    PHP:
    implement main
        open core
    console

    class facts
        родитель
    :(string,string).

    clauses
        родитель
    ("Иван""Алексей").
        
    родитель("Мария""Анна").
        
    родитель("Иван""Анна").

    clauses
        run
    ():-console::init(), родитель("Иван",Кто),write(Кто),nl,fail.
        
    run():-_=readChar().

    end implement main

    goal
        mainExe
    ::run(main::run).
     
    Последнее редактирование: 26 ноя 2015
  8. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС



    пишет ошибку A class declaration is not found for the implementation "main"
     
  9. Vadim62 Активный участник

    Регистрация:
    14 окт 2011
    Сообщения:
    709
    Симпатии:
    196
    Провайдер:
    Энлинк
    Лера12345543, так с каким прологом ты работаешь?
     
  10. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС
    Vlad648,
    Visual Prolog 7.3
     
  11. Лера12345543 Новичок

    Регистрация:
    19 ноя 2015
    Сообщения:
    7
    Симпатии:
    0
    Провайдер:
    МТС
    Помогите пожалуйста разобраться, что не так
     
  12. Vlad648 Местный

    Регистрация:
    12 янв 2011
    Сообщения:
    373
    Симпатии:
    79
    Провайдер:
    Дом.ru
    Лера12345543, оказывается, я там один предикат удалил, который не надо было удалять :) Новый вариант:
    PHP:
    implement main
         open core
    console

    constants
        className 
    "main".
        
    classVersion "".

    clauses
        classInfo
    (classNameclassVersion).

    class 
    facts
        родитель
    :(string,string).

    clauses
        родитель
    ("Иван""Алексей").
        
    родитель("Мария""Анна").
        
    родитель("Иван""Анна").

    clauses
        run
    ():-console::init(), родитель("Иван",Кто),write(Кто),nl,fail.
        
    run():-_=readChar().

    end implement main

    goal
        mainExe
    ::run(main::run).
     
  13. Olya Новичок

    Регистрация:
    4 янв 2016
    Сообщения:
    1
    Симпатии:
    0
    Провайдер:
    Не знаю
    Vlad648,
    Здравствуйте, Влад. Можете пожалуйста помочь с кодом и написать что за что отвечает. Буду вам очень благодарна.
     

Пользователи просматривающие тему (Пользователей: 0, Гостей: 1)