Ejercicio #1

mail@pastecode.io avatar
unknown
prolog
a year ago
853 B
4
Indexable
% Ejercicio 1 GRAFOS
%
%
% Regla para verificar si un vértice forma un bucle en el grafo

bucle(Vertice, [Vertices, Aristas]) :-
    member(Vertice, Vertices),  % Verificar si el vértice está en la lista de vértices
    member([Vertice, Vertice], Aristas), % Verificar si hay una arista que conecta el vértice consigo mismo
    write("Hay un bucle en el vertice: "), writeln(Vertice),
    !.

bucle(Vertice, [Vertices, _]) :-
    \+ member(Vertice, Vertices),
    writeln("El vertice no se encuentra en el grafo"),
    fail.

bucle(Vertice, [Vertices, Aristas]) :-
    member(Vertice, Vertices),
    \+ member([Vertice, Vertice], Aristas),
    write("No se forma bucle en el vertice: "), writeln(Vertice),
    fail.

% Ejemplo de uso
% ?- bucle(d, [[a,b,c,d,e],[[a,c],[b,a],[b,c],[b,e],[c,e],[d,a],[d,b],[d,d],[d,e],[e,d]]]).