מבחן 2007 סמסטר א' מועד ב'

מנהלים: TA_nimrod, TA_Igor, TA_Adi

שלח תגובה
mei
הודעות: 22
הצטרף: 19:37 06/11/2009

מבחן 2007 סמסטר א' מועד ב'

שליחה על ידי mei » 09:16 20/01/2010

בשאלה 1 , סעיף א' :
למה בתשובה זה כמו שרשום?
אפשר לעשות גם ככה-
if m_spq==null
return false

?

mei
הודעות: 22
הצטרף: 19:37 06/11/2009

Re: מבחן 2007 סמסטר א' מועד ב'

שליחה על ידי mei » 09:55 20/01/2010

ושאלה נוספת-
בסעיף ב':
אחרי ה- ELSE, כשמכניסים את האיבר חזרה לתור, למה צריך לצאת מהלולאה?
הוא הרי נכנס חזרה לתור וצריך להמשיך כי לפני האיבר שנכנס יכול להיות איברים קטנים ממנו בסדר העדיפויות...
וכשיוצאים מהלולאה, למה מכניסי את ה-CDATA בנפרד?

TA_Yoni
הודעות: 236
הצטרף: 13:44 18/10/2009

Re: מבחן 2007 סמסטר א' מועד ב'

שליחה על ידי TA_Yoni » 12:22 20/01/2010

1. שים לב כי באתחול של התור בבנאי נוצרת מחסנית עם הבנאי ללא פרמטרים של המחסנית. כבר בשלב הזה m_spq!=null . בנוסף תחשוב על התור שלך אחרי שהכנסת X איברים והוצאת ממנו X איברים - הוא אינו NULL אך עם זאת הוא ריק.

2. בכל שלב המחסנית ממוינת : נניח כי במחסנית יש ---> 1 3 5 7 ( כלומר 7 בראש המחסנית ) ונניח שאתה רוצה להכניס את 4 .
הפתרון שמוצג מוציא את כל האיברים שבעדיפות גדולה מהאיבר שרוצים להכניס לתוך מחסנית עזר ( בתוך לולאת ה WHILE ) .
בדוגמה שלי בסוף לולאת ה WHILE יש שתי מחסניות:
temp עם 7 5 ( 5 בראש המחסנית )
m_sPQ עם 1 3 ( 3 בראש המחסנית )
והאיבר שצריך להכניס 4

לאחר ה WHILE מוסיפים את 4 -----> 1 3 4
מוסיפים את 5 -----> 1 3 4 5
  מוסיפים את 7 -----> 1 3 4 5 7
המתרגל יוני

שלח תגובה

חזור אל “- מבוא למדעי המחשב 2010”