Witam tworze wlasnie program pod visual Prologiem, któremu zapodaje baze krajów z jego stolica, podaje na jakim kontynencie lezy dany Kraj .
Dzieki regułą chciałbym wypisywać własnie , że podane kraje leża na Kontynencie Europa : np. Polska
Podane kraje leżą w Afryce: np. Egipt
Podane kraje leżą w Ameryce Pld : np. Argentyna.
Pomógłby mi ktos to poprawnie zakodować ?
Byłbym wdzieczny za pomoc
Oto moje wypociny.
implement main
open core
constants
className = "main".
classVersion = "".
clauses
classInfo(className, classVersion).
domains
miasto = stolica(); miasto().
panstwo = pow_38_mln_ludzi(); pow_80_mln_ludzi ; pow_10_mln_ludzi() ; pow_5mln_ludzi() ; pow_64_mln_ludzi().
powierzchnia = powierzchnia_calkowita_322575_km2(); powierzchnia_calkowita_357114_km2(); powierzchnia_calkowita_78866_km2(); powierzchnia_calkowita_49035_km2(); powierzchnia_calkowita_675417_km2().
polozenie = europa_srodkowa_nad_morzem_baltyckim(); zachodnia_europa_między_Morzem_Północnym_i_Morzem_Bałtyckim(); europa_srodkowa_bez_dostepu_do_morza(); panstwo_srodladowe_w_europie_srodkowej();zachodnia_europa().
class facts
panstwo : (string Nazwa, panstwo Panstwo).
miasto : (string Nazwa , miasto Miasto).
kontynent: (string Nazwa).
stolica : (string Kraj , string Stolica).
powierzchnia : ( string Nazwa , powierzchnia Powierzchnia).
polozenie : (string Nazwa, polozenie Polozenie).
kraj : (string Nazwa).
class predicates
kraj : (string Stolica, string Kraj) nondeterm anyflow.
kontynent : ( string Nazwa, string Kraj) nondeterm anyflow.
clauses
kraj ("Polska").
kraj ("Norwegia").
kraj ("Ukraina").
kraj ("Anglia").
kraj ("Szwajcaria").
kraj ("USA").
kraj ("Egipt").
kraj ("Chiny").
kraj("Argentyna").
/*
kontynent ("Polska","Europa").
kontynent ("Norwegia","Europa").
kontynent ("Ukraina","Europa").
kontynent ("Anglia","Europa").
kontynent ("Chiny","Azja").
kontynent ("USA","Ameryka Pln").
kontynent ("Argentyna","Ameryka Pld").
kontynent ("Egipt","Afryka").
*/
kontynent ("Europa","Polska").
kontynent ("Ameryka Pln","USA").
stolica( "Polska","Warszwa").
stolica ("Norwegia", "Oslo").
stolica ("Ukraina", "Kijow").
stolica ("Anglia", "Londyn").
stolica ("Szwajcaria", "Berno").
stolica ("USA", "Waszyngton").
stolica ("Egipt","Kair").
stolica ("Chiny","Pekin").
stolica ("Argentyna","Buenos Aires").
/*
panstwo ("Polska", pow_38_mln_ludzi()).
panstwo("Niemcy", pow_80_mln_ludzi()).
panstwo("Czechy", pow_10_mln_ludzi()).
panstwo("Slowacja", pow_5mln_ludzi()).
panstwo("Francja",pow_64_mln_ludzi()).
powierzchnia ( "Polska",powierzchnia_calkowita_322575_km2()).
powierzchnia ("Niemcy", powierzchnia_calkowita_357114_km2()).
powierzchnia ("Czechy", powierzchnia_calkowita_78866_km2()).
powierzchnia ("Słowacja", powierzchnia_calkowita_49035_km2()).
powierzchnia ("Francja",powierzchnia_calkowita_675417_km2()).
polozenie ( "Polska",europa_srodkowa_nad_morzem_baltyckim()).
polozenie ("Niemcy", zachodnia_europa_między_Morzem_Północnym_i_Morzem_Bałtyckim()).
polozenie ("Czechy", europa_srodkowa_bez_dostepu_do_morza()).
polozenie ("Słowacja", panstwo_srodladowe_w_europie_srodkowej()).
polozenie ("Francja", zachodnia_europa()).*/
kraj(Miasto, Stolica) :- stolica(Miasto, Stolica).
kontynent(Kraj,Kontynent) :- kraj(Nazwa ,Kontynent).
/*
lezy(Kraj,Kontynent) :- lezy (Kraj,Kontynent).*/
clauses
run():-
console::init(),
stdio::write("\nPaństwa leżące w Europie to:\n"),
kontynent(_,X),
stdio::writef(" % \n", X), fail.
run():-
stdio::write("\nPaństwa leżące w Afryce to:\n"),
kontynent(_,X),
stdio::writef(" % \n", X), fail.
run():-
stdio::write("\nPaństwa leżące w Azji to:\n"),
kontynent(_,X),
stdio::writef(" % \n", X), fail.
run():-
stdio::write("\nZaludnienie tych państw to\n"),
panstwo(X,Y),
stdio::writef(" %\t% \n", X, Y), fail.
run():-
stdio::write("\nPowierzchnie całkowite tych Państw to::\n"),
powierzchnia(X,Y),
stdio::writef(" %\t% \n", X, Y), fail.
run():-
stdio::write("\nPołożenia tych Państw to:\n"),
polozenie(X,Y),
stdio::writef(" %\t% \n", X, Y), fail.
run():-
stdio::write("\nStolica Polski jest:\n"),
stolica("Polska",Y),
stdio::writef(" % \n", Y), fail.
run():-
stdio::write("\nStolica Niemiec jest:\n"),
stolica("Niemcy",Y),
stdio::writef(" % \n", Y), fail.
run():-
stdio::write("\nStolica Czech jest:\n"),
stolica("Czechy",Y),
stdio::writef(" % \n", Y), fail.
run():-
stdio::write("\nStolica Słowacji jest:\n"),
stolica("Słowacja",Y),
stdio::writef(" % \n", Y), fail.
run():-
stdio::write("\nStolica Francji jest:\n"),
stolica("Francja",Y),
stdio::writef(" % \n", Y), fail.
run():-
stdio::write("\nKoniec:\n").
end implement main
goal
mainExe::run(main::run).