Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Prolog > Перевести с Pascal на Prolog


Автор: wapkaka 12.6.2015, 18:10
Напишите решение предложенной задачи на Visual Prolog.
Код

var x,y:real;
       begin
         x:=1; y:=0.4;
         while abs(y-x)>=0.05 do begin
                               y:=x; x:=(2-x*x)/5;
                                 end;
         write(y);
         end.

Помогите пожалуйста. Не могу понять как с циклом пока и модулем быть....

Автор: Фантом 12.6.2015, 18:26
Код

body(X,Y) :- D is abs(Y-X), D<0.05, write(Y).
body(X,_) :- Xx is (2-X*X)/5, body(Xx,X).

goal :- body(1,0.4).

Вызывать goal.

Автор: wapkaka 12.6.2015, 19:12
Цитата(Фантом @  12.6.2015,  18:26 Найти цитируемый пост)
is
 что это такое? просто мы такое не проходили....

Добавлено через 2 минуты и 1 секунду
да и сама программа пролог не понимает

Автор: wapkaka 12.6.2015, 19:28
Фантом, одни ошибки показывает Visual Prolog:(

Автор: Фантом 12.6.2015, 22:56
Цитата(wapkaka @  12.6.2015,  20:28 Найти цитируемый пост)
одни ошибки показывает Visual Prolog:( 
 Visual Prolog - это не Пролог. В следующий раз описывайте задачу корректно.

Автор: wapkaka 13.6.2015, 00:11
Фантом, Исправлено! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)