Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 1 gości

Pomoc w zadaniu z SWI-Prolog - Arytmetyka

#1
Pomoc w zadaniu z SWI-Prolog - Arytmetyka
Mam zapisane w notatniku z rozszerzeniem .pl:
Kod:
isnumber(zero).
isnumber(s(X)) :- isnumber(X).

isequal(X,X) :- isnumber(X).
isequal(s(X),s(Y)) :- isequal(X,Y).

lessthanequal(zero,X) :- isnumber(X).
lessthanequal(s(X),s(Y)) :- lessthanequal(X,Y).

add1(zero,X,X) :- isnumber(X).
add1(s(X),Y,s(Z)) :- add1(X,Y,Z).

odd(s(zero)).
odd(s(s(s(X)))) :- odd(s(X)).

even(zero).
even(s(s(X))) :- even(X).

times(zero,X,zero) :- isnumber(X).
times(s(X),Y,Z) :- times(X,Y,Q), add1(Y,Q,Z).

quotient(X,X,s(zero)) :- isnumber(s(zero)).
quotient(X,Y,s(Z)) :- quotient(Q,Y,Z), add1(Y,Q,X).

remainder(X,X,zero).
remainder(X,Y,R) :- add1(X,Y,Q), remainder(Q,Y,R).

fact(zero,s(zero)) :- isnumber(s(zero)).
fact(N,X) :- fact(A,B), add1(A,s(zero),N), times(B,N,X).

fib(0, 0).
fib(1, 1).
fib(N, X) :- fib(A, C), fib(B, D), A is N - 1, B is N - 2, X is C + D.

shownum(zero,0).
shownum(X,N) :- shownum(A,B), add1(A,s(zero),X), N is B + 1.


Muszę wykonać do tego takie polecenia w Prologu (kompletnie nie wiem jak):

1) sprawdzić wcześniej zdefiniowane predykaty te (np times (X , Y , Z) ) za pomocą predykatu
shownum (X , Y) .

2) Pomyśl , jak zdefiniować predykaty quotient( X , Y , K ) i remainder( X , Y ) dla Y = zero!

Proszę o wypisanie co trzeba wpisywać w Prolog po kolei.

Bardzo proszę o pomoc
 System operacyjny: windows_seven Przeglądarka: chrome
#2
RE: Pomoc w zadaniu z SWI-Prolog - Arytmetyka
Kod zamykamy w znacznikach
Kod PHP:
[code][/code
. Tym razem poprawię, ale od następnego razu posty będa lądować w koszu.
Pozdrawiam.
Ajgor
 System operacyjny: windows_seven Przeglądarka: firefox
Programy: Polecane / Nowe / Inne




Podobne wątki (Pomoc w zadaniu z SWI-Prolog - Arytmetyka)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  [c++] Arytmetyka na dużych liczbach rzeczywistych - kalkulator ONP SzateX 10 8539 09.11.2014, 18:49
Ostatni post: SzateX
  [C++] Prośba o pomoc w zadaniu wykorzystującym paradygmat programowania obiektowego Mrood 2 2943 15.04.2014, 18:24
Ostatni post: Mrood
  Potrzebna pomoc w zadaniu zielonamrówka22 2 2797 25.09.2013, 14:16
Ostatni post: Ajgor

Skocz do:


Wybrane wątki (Pomoc w zadaniu z SWI-Prolog - Arytmetyka)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Python z wiersza poleceń Physicist 15 24913 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7225 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 9050 07.08.2019 12:43
Ostatni post: aht
  Visual Basic Excel l.całkowitą przedstawić w postaci szesnastkowej fugaz 4 10980 18.06.2019 21:36
Ostatni post: fugaz
  Nauka do Olimpiady Informatycznej? piotr0905 1 10374 08.06.2019 16:50
Ostatni post: wlisik
Ściana Prosta gra w Builder C++ Kiranek1 1 10413 31.05.2019 15:20
Ostatni post: Szachista
  Menu (Nie widoczne długie opisy) wanhelsing 5 12364 28.04.2019 19:31
Ostatni post: koneton
  Skrypt usuwający pliki sylwiaa1 2 4694 28.04.2019 15:20
Ostatni post: sylwiaa1
  Środowisko do assemblera Physicist 4 11599 21.04.2019 14:04
Ostatni post: Ajgor
  VBA excel dmjs 6 12076 17.04.2019 10:20
Ostatni post: ptrick
  C++ - sens pogłębiania nauki gbr 5 11646 25.03.2019 12:53
Ostatni post: koneton
  Klasa wewnętrzna w C++ Physicist 4 11231 23.03.2019 18:28
Ostatni post: Physicist
  Ruby on Rails - tutoriale luciussulla 0 10310 23.03.2019 16:49
Ostatni post: luciussulla
Big Grin Czy dostane sie technikum informatycznego klaudiusz20046 6 14214 21.03.2019 01:28
Ostatni post: UnableToSee
  [C#] Program do moderacji czatów gier wiktrom12 0 10838 07.03.2019 15:33
Ostatni post: wiktrom12