<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[prolog - fehlende Regel - Vorgehen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe mal, dass sich unter uns auch ein paar Personen finden, die Fertigkeiten in Prolog besitzen. Vorweg möchte ich schicken, dass meine eigenen Kentnisse aus der Schule stammen - aus meiner Sicht wurden uns keine Methoden zur Lösung dieses Problems beigebracht.</p>
<p>Kommen wir also dazu:<br />
Ich habe als Aufgabe, ein Programm zu schreiben, dass Sachen aus einer Liste liest, dieses Elemtn dann mit einem Fakt vergleicht und die Entsprechung nutzt.<br />
Ein Beispiel verdeutlicht das ganze.</p>
<p>translate(transListe, targetliste)<br />
Aufruf: translate([ich, denke, es],X).<br />
Als endwert soll dann beispielsweise X = [I, think, it] herauskommen.<br />
Das ist auch kein Problem und funktioniert soweit.</p>
<p>(&quot;Regelbasis in der Art wort(Dt, Eng))</p>
<p>Kommen wir zur Schwierigkeit: Wenn es in der keine Entsprechung für das Dt. Wort gibt, soll es unübersetzt bleiben.<br />
Also als Beispiel<br />
Aufruf: translate([ich, denke, nix],X).<br />
X = [I, think, nix]<br />
wobei es halt nix in der Art gibt: wort(nix, nix). EXISTIERT SO NICHT!</p>
<p>Ich denke, es ist mehr eine Prologtechnikfrage als etwas mit Logik. Kann mir jmd einen Hinweis geben, ggf gar eine Lösung veraten?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176309/prolog-fehlende-regel-vorgehen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 05 Jul 2026 05:19:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176309.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 19 Mar 2007 20:44:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to prolog - fehlende Regel - Vorgehen on Mon, 19 Mar 2007 20:44:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hoffe mal, dass sich unter uns auch ein paar Personen finden, die Fertigkeiten in Prolog besitzen. Vorweg möchte ich schicken, dass meine eigenen Kentnisse aus der Schule stammen - aus meiner Sicht wurden uns keine Methoden zur Lösung dieses Problems beigebracht.</p>
<p>Kommen wir also dazu:<br />
Ich habe als Aufgabe, ein Programm zu schreiben, dass Sachen aus einer Liste liest, dieses Elemtn dann mit einem Fakt vergleicht und die Entsprechung nutzt.<br />
Ein Beispiel verdeutlicht das ganze.</p>
<p>translate(transListe, targetliste)<br />
Aufruf: translate([ich, denke, es],X).<br />
Als endwert soll dann beispielsweise X = [I, think, it] herauskommen.<br />
Das ist auch kein Problem und funktioniert soweit.</p>
<p>(&quot;Regelbasis in der Art wort(Dt, Eng))</p>
<p>Kommen wir zur Schwierigkeit: Wenn es in der keine Entsprechung für das Dt. Wort gibt, soll es unübersetzt bleiben.<br />
Also als Beispiel<br />
Aufruf: translate([ich, denke, nix],X).<br />
X = [I, think, nix]<br />
wobei es halt nix in der Art gibt: wort(nix, nix). EXISTIERT SO NICHT!</p>
<p>Ich denke, es ist mehr eine Prologtechnikfrage als etwas mit Logik. Kann mir jmd einen Hinweis geben, ggf gar eine Lösung veraten?</p>
<p>Danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248770</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248770</guid><dc:creator><![CDATA[prologVerzweifelter]]></dc:creator><pubDate>Mon, 19 Mar 2007 20:44:42 GMT</pubDate></item><item><title><![CDATA[Reply to prolog - fehlende Regel - Vorgehen on Mon, 19 Mar 2007 21:33:40 GMT]]></title><description><![CDATA[<pre><code>uebersetzen([Y|RS1],[Y|RS2]):-
not(uebersetzen(Y,Y)),
uebersetzen(RS1,RS2).
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1248803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248803</guid><dc:creator><![CDATA[golden_jubilee]]></dc:creator><pubDate>Mon, 19 Mar 2007 21:33:40 GMT</pubDate></item><item><title><![CDATA[Reply to prolog - fehlende Regel - Vorgehen on Tue, 20 Mar 2007 21:48:34 GMT]]></title><description><![CDATA[<p>prologVerzweifelter schrieb:</p>
<blockquote>
<p>Ich denke, es ist mehr eine Prologtechnikfrage als etwas mit Logik. Kann mir jmd einen Hinweis geben, ggf gar eine Lösung veraten?</p>
</blockquote>
<p>Das ist eigentlich relativ einfach und ich wette, dass ihr einen Lösungsansatz dafür gelernt habt: den Cut.</p>
<p>Mögliche Lösung:</p>
<pre><code>wort(ich, i).
wort(denke, think).
wort(es, it).

translate([], []).
translate([H|T], [H2|T2]) :- wort(H, H2), !, translate(T, T2).
translate([H|T], [H|T2]) :- translate(T, T2).
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1249476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1249476</guid><dc:creator><![CDATA[minhen]]></dc:creator><pubDate>Tue, 20 Mar 2007 21:48:34 GMT</pubDate></item></channel></rss>