1. מהו הסדר הנכון של תגובותיו של פרולוג לרצף השאילתות הבא?
[a,b,c] = [a, b, c].
[a,b,c] = [a, b, [c]].
[a,b,c] = [a, b | [c]].
[a,b,c] = [a | [b, c]].
[a,b,c] = [a | b, c].
2. נתונה הרשימה: [harry, ron, [malphoy, [0, 0]], hermione].
איזו שאילתא יש להציג על מנת לקבל את הרשימה [0, 0], ורק אותה?
3. אפשר להשתמש במתאר לשרשור רשימות גם כדי לשחזר רשימות מתוך שרשור נתון.
כמה זוגות של רשימות מחזיר פרולוג בתשובה לשאילתא הבאה?
?- myAppend(L1,L2,[a,b,c,1,2]).
בשאלות הבאות נתייחס לתכנית שראינו למציאת אבר מקסימלי מתוך רשימה של מספרים טבעיים:
max_list([], Max, Max).
max_list([H|T], Max, Result) :-
NewMax is max(H,Max), max_list(T, NewMax, Result).
maximum(List, N) :- max_list(List, 0, N).
4. איך צריך לאתחל את M כדי שפרולוג יענה בחיוב על השאילתא: maximum([-3, -120, -5], M)?
5. . איך אפשר לתקן את התכנית כדי שתתמודד גם עם רשימות עם מספרים שליליים?
6. איך אפשר לשנות את התכנית כדי שתמצא את האבר המינימלי ברשימה נתונה?
|