XPCE 6.2.13, January 2004 for i386-linux-gnu and X11R6 Copyright (C) 1993-2002 University of Amsterdam. XPCE comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. The host-language is SWI-Prolog version 5.2.13 For HELP on prolog, please type help. or apropos(topic). on xpce, please type manpce. ?- help(protocol). Yes ?- protocol('woche6.protokoll'). Yes ?- protocolling(DATEI). DATEI = 'woche6.protokoll' Yes ?- /* Frage: wie verwendet man reverse in trenne? */ | [trenne]. ERROR: source_sink `trenne' does not exist ?- % Prolog in einem anderen Verzeichnis gestartet! | pwd. /home/leiss/Vorlesungen/Prolog-Kurs/Aufgaben-06 Yes ?- ['trenne.pro']. % trenne.pro compiled 0.00 sec, 664 bytes Yes ?- [trenne]. ERROR: source_sink `trenne' does not exist ?- listing(trenne). trenne([], [], []). trenne([A|B], [A|C], D) :- number(A), trenne(B, C, D). Yes ?- trenne([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). No ?- ['trenne.pro']. % trenne.pro compiled 0.00 sec, 180 bytes Yes ?- trenne([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). Zahlen = [1, 2, 4, 3] Nichtzahlen = [a, b, c, d, e] Yes ?- reverse([a,b,2,3,4],R). R = [4, 3, 2, b, a] Yes ?- ['trenne.pro']. % trenne.pro compiled 0.00 sec, 576 bytes Yes ?- | trenneR([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). Zahlen = [3, 4, 2, 1] Nichtzahlen = [e, d, c, b, a] Yes ?- trenne([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). Zahlen = [1, 2, 4, 3] Nichtzahlen = [a, b, c, d, e] Yes ?- ['trenne.pro']. % trenne.pro compiled 0.00 sec, 248 bytes Yes ?- trenneR2([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). Zahlen = [3, 4, 2, 1] Nichtzahlen = [e, d, c, b, a] Yes ?- ['trenne.pro']. % trenne.pro compiled 0.00 sec, 696 bytes Yes ?- trenneA([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). Zahlen = [3, 4, 2, 1] Nichtzahlen = [e, d, c, b, a] Yes ?- trace(trenneA,[exit]). % trenneA/3: [exit] % trenneA/5: [exit] Yes [debug] ?- trenneA([a,1,b,2,c,d,4,3,e],Zahlen,Nichtzahlen). T Exit: (17) trenneA([], [3, 4, 2, 1], [e, d, c, b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (16) trenneA([e], [3, 4, 2, 1], [d, c, b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (15) trenneA([3, e], [4, 2, 1], [d, c, b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (14) trenneA([4, 3, e], [2, 1], [d, c, b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (13) trenneA([d, 4, 3, e], [2, 1], [c, b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (12) trenneA([c, d, 4, 3, e], [2, 1], [b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (11) trenneA([2, c, d, 4, 3, e], [1], [b, a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (10) trenneA([b, 2, c, d, 4, 3, e], [1], [a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (9) trenneA([1, b, 2, c, d, 4, 3, e], [], [a], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (8) trenneA([a, 1, b, 2, c, d, 4, 3|...], [], [], [3, 4, 2, 1], [e, d, c, b, a]) T Exit: (7) trenneA([a, 1, b, 2, c, d, 4, 3|...], [3, 4, 2, 1], [e, d, c, b, a]) Zahlen = [3, 4, 2, 1] Nichtzahlen = [e, d, c, b, a] Yes [debug] ?- noprotocol. Yes