<div class="notebook"> <div class="nb-cell markdown" name="md1"> ## 09.07. Typ von Termen </div> <div class="nb-cell markdown" name="md2"> Schreibe ein zweistelliges Prädikat termtype(+Term,?Type), das gelingt, wenn Type der Typ des Terms Term ist. Hierbei sollen alle Typen, zu denen der Term gehört, (beginnend mit dem spezifischsten) zurückgegeben werden. Die möglichen Typen lauten: atom, atomic, complex_term, int, number, simple_term, term, variable </div> <div class="nb-cell program" data-background="true" name="p1"> % Implementiere hier deine Lösung: % termtype/2 % termtype(Term, Type) % termtype(+Term, ?Type) </div> <div class="nb-cell markdown" name="md3"> ### Teste dein Prädikat </div> <div class="nb-cell query" name="q1"> write("Richtig, Vincent ist eine Variable"), termtype(Vincent,variable). </div> <div class="nb-cell query" name="q2"> write("X sollte als atom erkannt werden"),termtype(mia,X). </div> <div class="nb-cell query" name="q3"> write("Das failed, 1 ist kein Atom"), termtype(1,atom). </div> <div class="nb-cell query" name="q4"> write("Das sollte fehlschlagen"), termtype(a(x),atom). </div> </div>