עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

שאלה פשוטה בפרולוג

Featured Replies

פורסם

יש לי את הקוד הפשוט הבא :



hobbit(sam).
hairy_feet(bilbo).
loves_food(frodo).
hairy_toes(frodo).

hobbit(X) :- hairy_feet(X), loves_food(X).
hairy_feet(X) :- hairy_toes(X)

עכשיו אני רוצה להבין בבקשה את התהליך שמתבצע בכל אחד מהשאילתות הבאות בבקשה:

hobbit(bilbo)

hobbit(sam)

hobbit(frodo)

hobbit(X)

תודה רבה..

פורסם

המנגנון של פרולוג מנסה "להוכיח" את הפונקציות שכתבת ולהחזיר לך תשובה.

הוביט(בילבו) -

יש "הוביט(משהו)" - המנגנון יבדוק האם זה "הוביט(בילבו)" - לא. זה "הוביט(סאם)".

יש עוד "הוביט(משהו) - בודק:

יקרא ל - רגלים_שעירות(בילבו).

מכיוון שאין נתון כזה "רגלים_שעירות(בילבו)" הוא יכשל.

הפסיק בפרולוג עובד כמו AND בשפות תכנות אחרות. לכן אין טעם לבדוק את שאר התוכנית והמנגנון יחזיר כישלון לקריאה "הוביט(בילבו)".

אתה תראה על המסך "לא".

בדומה - 2 השאילתות הבאות.

הרביעית -

תחזיר את כל מה שהוא הוביט ע"פ הגדרותיך. (יש כפתור לקבלת תשובות נוספות לא זוכר מהו).

1- סאם. - החזיר את זה כי זה כתוב בנתונים

תשובות נוספות:

2- מנסה להוכיח את החוק הוביט:

רגליים שעירות > מחזיר בילבו.

בודק אוהב_מזון(בילבו) > לא קיים > נכשל.

חוזר לבקש תשובה אחרת מרגלים_שעירות(X) > כניסה לפונקציה רגלים_שעירות(X) > פרודו יוחזר.

בודק אוהב_מזון(פרודו) > הצליח > אין עוד המשך > לכן פרודו הוא גם תשובה טובה > מחזיר פרודו.

על המסך תראה: פרודו.

תשובות נוספות:

3- לא (כי אין עוד דרך למצוא עוד הוביטים).

אתה לומד פרולוג באוניברסיטה או תיכון ?

פורסם
  • מחבר

אוניברסיטה..

פורסם

האמת שזו אחת השפות האהובות עלי... עשיתי בה דברים מדהימים.

פשוט שכח את מה שאתה יודע על תכנות, ותחשוב כמו המנגנון... לנסות להוכיח את הכלל ע"י הצבות, ולהתקדם... אם אי אפשר - לחזור שלב אחורה ולראות אם אפשר להציב משהו אחר ולהתקדם...

המפתח (ומה שקשה בדרך כלל לאנשים עם רקע בתכנות) זה פשוט לחשוב על הכל ברקורסיה...

בהצלחה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.