› פורומים › אפיון ופיתוח פריוריטי › רקורסיה בפריוריטי
- This topic has 7 תגובות, 3 משתתפים, and was last updated לפני 11 שנים, 5 חודשים by אורן קפלן.
- Post
-
- יולי 9, 2013 בשעה 10:24 am
שלום לכולם
אני מחפש לכתוב דוח על שימוש בחומרים לייצור.
מכיוון שאצלינו העצים מורכבים מכמה רמות שלכל רמה פק"ע משלה, ומספר הרמות אינו קבוע ויכול לגדול, אני צריך לכתוב תוכנית שעוברת על דיווחי הייצור
(דוגמא : אני מייצר תערובת לסירופ שאח"ך נכנסת כחומר גלם לשני מוצרים שונים.
התערובת יכולה להיות מורכבת גם היא מתערובות אחרות שגם עליהן יש פקע).
הפתרון היחיד שאני יכול לחשוב עליו הוא רקורסיה.
השאלות שלי הן אלו:- האם יש פתרון פשוט יותר שאני לא חושב עליו ?
- איך כותבים רקורסיה בפריוריטי (בשפות אחרות כבר כתבתי, אבל לא ראיתי בפריוריטי איך לכתוב פונקציה ולקרוא לה ממתוך עצמה) ?
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
- Replies
-
- יולי 9, 2013 בשעה 11:29 am
היי צבי,
מה עם לבנות את זה פשוט בלי רקורסיה אבל עם התייחסות למספר רמות מקסימלי פשוט לכתוב את הרמות בצורה מפורשת… (בצורה מטומטמת אבל גם ככה הקוד מתקמפל לצורה הזו)?בהצלחה
אורן
- יולי 9, 2013 בשעה 2:22 pm
לצערי מספר הרמות אינו קבוע כך שהפתרון של חיבור לפי מספר רמות אינו אידאלי.
מעבר לכך, חיבור טבלאות יוצר בעיית ביצועים מעבר למספר מסויים של רמות (לפחות יצר לי במערכות אחרות).
אם אין ברירה אחרת אני אלך כנראה על פתרון כזה, אבל אני מעדיף, אם אפשר, לתת את הפתרון האידאלי.תודה על התגובה בכל מקרה
צבי
- יולי 10, 2013 בשעה 12:27 am
אפשר לכתוב loop שיבדוק כל פעם האם ישנה רמה הבאה, אחרת loop מפסיק.- יולי 10, 2013 בשעה 9:14 am
זה קצת בעייתי במקרה שהפריט עם הרמות הנוספות באמצע העץ איך חוזרים לבאים אחרי שסיימנו לפוצץ את כל הרמות שלו.- יולי 10, 2013 בשעה 10:02 am
בכל סיבוב של loop צריך להכניס לטבלה זמנית את כל הבנים של רמה הבאה.אפשר גם להשתמש בפרוצדורות מוכנות כדי לבנות עץ רב שכבתי ואז לבצע חישובים שאתה צריך.
כמו SONRAW, FULLPARTTREE, PARTTREE.
מוצגות 7 תגובות – 1 עד 7 (מתוך 7 סה״כ)
- יש להתחבר למערכת על מנת להגיב.