רקורסיה בפריוריטי

פורומים אפיון ופיתוח פריוריטי רקורסיה בפריוריטי

  • Post
    צבי
    משתתף
    שלום לכולם
    אני מחפש לכתוב דוח על שימוש בחומרים לייצור.
    מכיוון שאצלינו העצים מורכבים מכמה רמות שלכל רמה פק"ע משלה, ומספר הרמות אינו קבוע ויכול לגדול, אני צריך לכתוב תוכנית שעוברת על דיווחי הייצור
    (דוגמא : אני מייצר תערובת לסירופ שאח"ך נכנסת כחומר גלם לשני מוצרים שונים.
    התערובת יכולה להיות מורכבת גם היא מתערובות אחרות שגם עליהן יש פקע).
    הפתרון היחיד שאני יכול לחשוב עליו הוא רקורסיה.
    השאלות שלי הן אלו:

      האם יש פתרון פשוט יותר שאני לא חושב עליו ?
      איך כותבים רקורסיה בפריוריטי (בשפות אחרות כבר כתבתי, אבל לא ראיתי בפריוריטי איך לכתוב פונקציה ולקרוא לה ממתוך עצמה) ?
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • Replies
    אורן קפלן
    משתתף
    היי צבי,
    מה עם לבנות את זה פשוט בלי רקורסיה אבל עם התייחסות למספר רמות מקסימלי פשוט לכתוב את הרמות בצורה מפורשת… (בצורה מטומטמת אבל גם ככה הקוד מתקמפל לצורה הזו)?

    בהצלחה

    אורן

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

    תודה על התגובה בכל מקרה

    צבי

    מארק
    משתתף
    none
    אפשר לכתוב loop שיבדוק כל פעם האם ישנה רמה הבאה, אחרת loop מפסיק.
    צבי
    משתתף
    זה קצת בעייתי במקרה שהפריט עם הרמות הנוספות באמצע העץ איך חוזרים לבאים אחרי שסיימנו לפוצץ את כל הרמות שלו.
    מארק
    משתתף
    none
    בכל סיבוב של loop צריך להכניס לטבלה זמנית את כל הבנים של רמה הבאה.

    אפשר גם להשתמש בפרוצדורות מוכנות כדי לבנות עץ רב שכבתי ואז לבצע חישובים שאתה צריך.
    כמו SONRAW, FULLPARTTREE, PARTTREE.

    צבי
    משתתף
    איפה אפשר למצוא תיעוד של הפרוצדורות שהזכרת ?
    אורן קפלן
    משתתף
    אם אין תעוד (לא בדקתי אבל נשמע סביר שאין) אז אפשר תמיד לחפש איפה משתמשים בפרוצדורות הללו ולראות איך עושים את זה.
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.