פרק 7: עוד על ביטויים

בחן את עצמך


אם נשתמש במתארים שלמדנו למציאת מבנה ביטויים, נוכל לגלות מהו היצוג הפנימי של רשימות בפרולוג. ענו על השאלות הבאות לאור השאילתות והתשובות עליהן:

?- [a] =.. List.
List = ['.', a, []]
Yes

?- [a, b] =.. List.
List = ['.', a, [b]]
Yes

1. איזה סוג ביטוי היא רשימה בפרולוג?






2. מהי תשובתו של פרולוג לשאילתא הבאה:

?- functor([a, b, c], F, A).






למדנו בפרק על האופרטורים =, ==, ו- =:=.
בשאילתות הבאות מופיעים האופרטורים ההפוכים שלהם \=, \== ו- =\=, בהתאמה. כלומר: \= מצליח כאשר = נכשל, \== מצליח כאשר == נכשל, =\= מצליח כאשר =:= נכשל.

3. אם כך, על אילו מן השאילתות הבאות עונה פרולוג No?

  1. V \= m.
  2. V \== m.
  3. V \== M.
  4. V = M, V \== M.
  5. 9 \= 2*3.
  6. 9 \== 3*3.
  7. 9 =\= 2*3.
  8. 9 =\= 3*3.






ניזכר בתכנית לזיהוי פעלים יוצאים שראינו:

yoce(Poal) :-
nonvar(Poal),
functor(Poal, _, Arity),
Arity > 0.

4. איך ניתן לשכלל אותה כך שנוכל לדעת כמה מושאים יש לפועל יוצא נתון?
התשובה שנרצה:

?- yoce(natan(sefer, le-dina), X).
X = 2
Yes






5. איזו מן התשובות אינה נכונה?






6. מהי התשובה הנכונה?







מבוא

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

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

סיכום

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