Esempio n. 1
0
        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();
        }
Esempio n. 2
0
 public string getAmigosNivel3(int userID)
 {
     PrologExec p = new PrologExec(userID + "", "grafoUser3");
     string res = p.executaComandoProlog(userID + "");
     return res;
 }
Esempio n. 3
0
 public string getCaminhoForte(int no1, int no2)
 {
     PrologExec p = new PrologExec(no1 + "_" + no2, "caminhoMaisForte");
     string res = p.executaComandoProlog(no1 + "," + no2);
     return res;
 }
Esempio n. 4
0
 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;
 }
Esempio n. 5
0
 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;
 }
Esempio n. 6
0
 public string sugereAmigos(int id)
 {
     PrologExec p = new PrologExec(id + "", "recomendaAmizade");
     string res = p.executaComandoProlog(id + "");
     return res;
 }
Esempio n. 7
0
 public string grafoAmigosComuns(int user1, int user2)
 {
     PrologExec p = new PrologExec(user1 + "_" + user2, "grafoAmigosComuns");
     string res = p.executaComandoProlog(user1 + "," + user2);
     return res;
 }
Esempio n. 8
0
 public string getSeparacao(int no1, int no2)
 {
     PrologExec p = new PrologExec(no1 + "_" + no2, "separacao");
     string res = p.executaComandoProlog(no1 + "," + no2);
     return res;
 }
Esempio n. 9
0
 public string getMenorCaminho(int no1, int no2)
 {
     PrologExec p = new PrologExec(no1 + "_" + no2, "menorCaminho");
     string res = p.executaComandoProlog(no1 + "," + no2);
     return res;
 }
Esempio n. 10
0
 public string getMavenOfTag(string tag)
 {
     PrologExec p = new PrologExec(tag + "", "maven");
     string res = p.executaComandoProlog(tag + "");
     return res;
 }