Ich bin ein Anfänger auf Prolog und versucht, Fibonacci-Sequenzregeln zu erstellen. Aber es kann nicht ausgeführt werden, weil Fehler im Code genannt arithmetische Fib ist keine Funktion.Erstellen Fibonacci-Sequenz in Prolog mit 1 Parameter
Quelle für meinen Code:
fib(N):-
N<1, S is 0,
N<2, S is 1,
N1 is fib(N-1),
N2 is fib(N-2),
S is N1 + N2,
write(S, " ").
Vielen Dank im Voraus für die Hilfe.
sein Wissen Sie Prolog a * logisch * Programmiersprache. Das bedeutet, dass ein * Prädikat * entweder erfolgreich ist oder fehlschlägt, es gibt jedoch ** keinen Wert zurück. –
Außerdem können Sie Variablen in Prolog nicht neu zuweisen. Sie werden instanziiert und können nur einmal in der Ausführung einer Prädikatsklausel ausgeführt werden, es sei denn, das Zurückverfolgen erfolgt aufgrund eines Fehlers. Wenn beispielsweise "N <1" erfolgreich ist, dann wird "S ist 0", wird "S" mit der arithmetischen Auswertung von "0" instanziiert, dann wird "N <2" erfolgreich und dann wird "S ist 1" wird fehlschlagen da "S" mit "0" instanziiert wird und "0 ist 1" ist falsch. Sie müssen ein Prolog-Tutorial oder ein grundlegendes Lehrbuch lesen und ein wenig über Prolog lernen, bevor Sie Ihr Programm schreiben. – lurker