נשלח בתאריך: 10 December 2007 בשעה 17:46 | | IP רשוּם
|
|
|
|
השיטה היא לדחוף למחסנית עד אשר נתקלים בסוגר ימני, שולפים את הביטוי המתמטי מהמחסנית עד לסוגר השמאלי הראשון, מחשבים אותו ודוחפים חזרה למחסנית.
אלגוריתם: 1. כל עוד לא סוף הקלט. 1.2 אם האיבר הנסרק שונה מ -"(" דחוף_קלט_למחסנית(x,stack). 1.3 אחרת 1.3.1 x = שלוף_איבר_ממחסנית(stack). 1.3.2 OP = שלוף_איבר_ממחסנית(stack). 1.3.3 y = שלוף_איבר_ממחסנית(stack). 1.3.4 z = חשב_ביטוי(x,y,OP). 1.3.5 דחוף_למחסנית(z,stack). 2. החזר ראש_מחסנית(stack). הסבר: האלגוריתם מקבל ביטוי (מחרוזת) המייצגת משפט מתמטי תקין. האלגוריתם סורק איבר איבר. הפונקציה חשב_ביטוי(x,y,OP) מקבלת שלושה פרמטרים שתי מספרים וערך שלישי שהוא אופרטור.ומחזירה ערך ל-Z.
|