public static void Main() { //string[] lines = { "add(A,B,R):-R is A + B, write(R).", // "run:- tell('user_comando.txt'),add(1,5,R),told,halt.", // ":-run." }; //string[] lines = { "no(a,[musica,rock],45,95). no(b,[musica,rock],90,95). no(c,[musica],45,95). no(d,[],90,95). no(e,[],45,95). no(f,['c#'],90,95).", // "ramo(a,b,[namorada],1). ramo(a,c,[amiga],2). ramo(a,d,[amiga],1). ramo(a,e,[amiga],2). ramo(b,e,[amiga],1). ramo(d,e,[amiga],1). ramo(d,f,[amiga,irma],1). ramo(c,d,[],3).", // "caminhos(X,Y,P):-todos_caminhos(X,Y,[Y],P).", // "todos_caminhos(X,Y,L,[X|L]):-ramo(X,Y,_,_).", // "todos_caminhos(X,Y,L,P):-ramo(Z,Y,_,_),Z\\==X,(not member(Z,L)), todos_caminhos(X,Z,[Z|L],P).", // "lstcaminhos(X,Y,L):-findall(P,caminhos(X,Y,P),L).", // "menor([X],X).", // "menor([X|T],X):-menor(T,L),length(X,N),length(L,M),N =< M,!.", // "menor([X|T],L):-menor(T,L).", // "cam_min(X,Y,P):-findall(P,caminhos(X,Y,P),L),menor(L,P),write(P),nl.", // "run:- tell('user_comando.txt'),cam_min(f,d,P),told,halt.", // ":-run."}; //string lines = "no(a,[musica,rock],45,95). no(b,[musica,rock],90,95). no(c,[musica],45,95). no(d,[],90,95). no(e,[],45,95). no(f,['c#'],90,95). "+ // "ramo(a,b,[namorada],1). ramo(a,c,[amiga],2). ramo(a,d,[amiga],1). ramo(a,e,[amiga],2). ramo(b,e,[amiga],1). ramo(d,e,[amiga],1). ramo(d,f,[amiga,irma],1). ramo(c,d,[],3). "+ // "caminhos(X,Y,P):-todos_caminhos(X,Y,[Y],P). "+ // "todos_caminhos(X,Y,L,[X|L]):-ramo(X,Y,_,_). "+ // "todos_caminhos(X,Y,L,P):-ramo(Z,Y,_,_),Z\\==X, (not member(Z,L)), todos_caminhos(X,Z,[Z|L],P). "+ // "lstcaminhos(X,Y,L):-findall(P,caminhos(X,Y,P),L). "+ // "menor([X],X). "+ // "menor([X|T],X):-menor(T,L) ,length(X,N),length(L,M),N =< M,!. "+ // "menor([X|T],L):-menor(T,L). "+ // "cam_min(X,Y,P):-findall(P,caminhos(X,Y,P),L),menor(L,P),write(P);write('Nenhum caminho...'). " + // "run:- tell('user_comando.txt'),cam_min(a,c,P),told,halt. "+ // ":-run. \n"; //menorCaminho = cam_min(a,c,P) //caminhoMaisForte = camMaisForte(1,7,P) //PrologExec p = new PrologExec("user", "caminhoMaisForte"); //PrologExec p = new PrologExec("user", "menorCaminho"); //PrologExec p = new PrologExec("user", "recomendaAmizade"); //PrologExec p = new PrologExec("user", "xTagsEmComum"); //PrologExec p = new PrologExec("user", "tamanhoRedeUtilizador"); PrologExec p = new PrologExec("user", "grafoAmigosComuns"); //PrologExec p = new PrologExec("user", "maven"); //PrologExec p = new PrologExec("user", "grafoUser3"); //PrologExec p = new PrologExec("user", "separacao"); //string res = p.executaComandoProlog("1,1,P"); //string res = p.executaComandoProlog("musica"); string res = p.executaComandoProlog("1,7"); //string res = p.executaComandoProlog("1"); //string res = p.executaComandoProlog("20"); Console.WriteLine(res); //sugere_amigos(res); //xTagsEmComum(res); //int profileIDA, int profileIDB, int forca, string tag //% ramo(No1_ID,No2_ID,Tag,Força) //% no(NoID,PosX,PosY) //IList listaArcos = Rede.Relacao.LoadInfoForArcos(); //int m = Rede.Perfil.getMinY(); int[] v=atribuirCoord(); Console.WriteLine(v[0]+","+v[1]); //Console.WriteLine(m); //Console.WriteLine(((Rede.Relacao)listaArcos[4]).toFile()); //Console.WriteLine(); //IList listaNos = Rede.Perfil.LoadInfoForNos(); //Console.WriteLine(((Rede.Perfil)listaNos[0]).toFile()); //Console.Read(); //string txt = ""; //foreach (Relacao r in listaArcos) //{ // txt += r.toFile() + " \n"; //} //foreach (Perfil n in listaNos) //{ // txt += n.toFile() + " \n"; //} //escrverTXT(txt); //Console.Write(txt); Console.Read(); }
public string getAmigosNivel3(int userID) { PrologExec p = new PrologExec(userID + "", "grafoUser3"); string res = p.executaComandoProlog(userID + ""); return res; }
public string getCaminhoForte(int no1, int no2) { PrologExec p = new PrologExec(no1 + "_" + no2, "caminhoMaisForte"); string res = p.executaComandoProlog(no1 + "," + no2); return res; }
public int tamanhoRedeUtilizador(int id) { PrologExec p = new PrologExec("" + id, "tamanhoRedeUtilizador"); string res = p.executaComandoProlog("" + id); try { return Convert.ToInt32(res); } catch (FormatException e) { Console.WriteLine("Input string is not a sequence of digits."); } return -1; }
public string xTagsEmComum(int id, int n) { ///*lista os amigos do User com N tags em comum*/ PrologExec p = new PrologExec("" + id, "xTagsEmComum"); string res = p.executaComandoProlog(id + "," + n); return res; }
public string sugereAmigos(int id) { PrologExec p = new PrologExec(id + "", "recomendaAmizade"); string res = p.executaComandoProlog(id + ""); return res; }
public string grafoAmigosComuns(int user1, int user2) { PrologExec p = new PrologExec(user1 + "_" + user2, "grafoAmigosComuns"); string res = p.executaComandoProlog(user1 + "," + user2); return res; }
public string getSeparacao(int no1, int no2) { PrologExec p = new PrologExec(no1 + "_" + no2, "separacao"); string res = p.executaComandoProlog(no1 + "," + no2); return res; }
public string getMenorCaminho(int no1, int no2) { PrologExec p = new PrologExec(no1 + "_" + no2, "menorCaminho"); string res = p.executaComandoProlog(no1 + "," + no2); return res; }
public string getMavenOfTag(string tag) { PrologExec p = new PrologExec(tag + "", "maven"); string res = p.executaComandoProlog(tag + ""); return res; }