Guten Tag zusammen,
ich bin Prolog Anfänger und brauche einmal bitte Unterstützung. Ich muss eine Übungsaufgabe für die FH lösen die folgendermaßen lautet:
Schreiben Sie ein Prolog Programm, dass die Summe aller paarweise Produkte zweier Listen berechnet. Es sind die Listen X und Y gegeben. Das Prolog Programm soll dann die Summe N SUMME xi * yi i=1 berechnen wobei xi i-te Element der Liste X ist. Was passiert wenn die Listen nicht gleich lang sind?
Hier mal mein Ansatz:
|
Source code
|
1
2
|
sp([],[],S).
sp([X|R1],[Y|R2],S):- M is X*Y, S is S+M, sp([R1],[R2],S).
|
Rekursionsabbruch soll also die leere Liste sein. X * Y wird berechnet und dann die summe gebildet und der Kopf der Liste abgeschnitten. Das Programm funktioniert nicht, ich denke die Zwischensummern werden nicht richtig übergeben???
VIelen Dank