Skip to content

Instantly share code, notes, and snippets.

@denis-adobe
Created April 9, 2017 21:14
Show Gist options
  • Save denis-adobe/e41fa4ac9a8e7665d776541d23b678cf to your computer and use it in GitHub Desktop.
Save denis-adobe/e41fa4ac9a8e7665d776541d23b678cf to your computer and use it in GitHub Desktop.
Tilo Übung 1
% Autor:
% Datum: 08.04.2017
%A5
vater(terach,abraham). männlich(terach).
vater(terach,nachor). männlich(abraham).
vater(terach,haran). männlich(nachor).
vater(abraham,isaak). männlich(haran).
vater(haran,lot). männlich(isaak).
vater(haran,milcah). männlich(lot).
vater(haran,yiscah).
mutter(sarah,isaak). weiblich(sarah).
weiblich(milcah).
weiblich(yiscah).
% Bruder
bruder(X1,X3):- vater(X2,X1),vater(X2,X3),männlich(X1).
bruder(X1,X3):- mutter(X2,X1),mutter(X2,X3),männlich(X1).
% Schwester
schwester(X1,X3):- vater(X2,X1),vater(X2,X3),weiblich(X1).
schwester(X1,X3):- mutter(X2,X1),mutter(X2,X3),weiblich(X1).
% Kind
kind(X1,X2):- vater(X2,X1).
kind(X1,X2):- mutter(X2,X1).
% Sohn
sohn(X1,X2):- kind(X1,X2), männlich(X1).
% Tochter
tochter(X1,X2):- kind(X1,X2), weiblich(X1).
% Autor:
% Datum: 08.04.2017
%A6
%d)
natSymb(o).
natSymb(s(X)):- natSymb(X).
%a)
% add(Ergebnis,Summand1,Summand2).
add(Sum1,o,Sum1):- natSymb(Sum1). % n + 0 = n
add(Sum1,s(Sum2),s(Erg1)):- add(Sum1,Sum2,Erg1).
%b)
% sub(Ergebnis,Summand1,Summand2).
sub(Sum1,Sum2,Erg1):- add(Sum2,Erg1,Sum1).
%c)
%halb(Ganz,Halb).
halb(G,H):- add(H,H,G).
%e)
%multi(Faktor1,Faktor2,Produkt)
multi(Faktor1,o,o).
multi(Faktor1,s(Faktor2),Produkt):- multi(Faktor1,Factor2,Kfach) , add(Kfach,Faktor1,Produkt).
% Autor:
% Datum: 09.04.2017
natSymb(o).
natSymb(s(X)):- natSymb(X).
%a)
ecke(a). ecke(b). ecke(c). ecke(d). ecke(e).
kante(a,b).
kante(a,c).
kante(a,d).
%kante(a,e).
kante(b,c).
kante(b,d).
kante(b,e).
kante(c,d).
kante(e,d).
%b)
weg(X,X):- ecke(X).
weg(X,Y):- kante(X,Y).
weg(X,Y):- kante(X,X1), kante(X1,Y).
%c
wegLange(X,X,L):- s(L),ecke(X).
wegLange(X,Y,L):- s(L),kante(X,Y).
wegLange(X,Y,L):- s(L), kante(X,X1), kante(X1,Y).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment