פרק 5: רשימות

בחן את עצמך


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. איך אפשר לשנות את התכנית כדי שתמצא את האבר המינימלי ברשימה נתונה?







מבוא

נושאים בסיסיים

נושאים מתקדמים

סיכום

© כל הזכויות שמורות למערכת המידע איתן