Professional Documents
Culture Documents
כל תרגיל במדמח אי־פעם
כל תרגיל במדמח אי־פעם
להגשה ביום רביעי ב־ :בגלל בעיות ב־ presubmitההגשה נדחתה ליום רביעי ב־ . :נזהיר
שהתרגיל הזה באופן חריג וספציפי ובניגוד מוחלט לכל שאר התרגילים לוקח המון־המון זמן ,אז
מומלץ להתחיל אותו מוקדם ולהודיע על כך בקבוצת הווטסאפ של הקורס.
חלק תיאורטי
שאלה
התבוננו באלגוריתם הבא:
)Algorithm 1: Floor(n
for i = 1,…,n:
]floor[i] = floor[i
.1הוכיחו באינדוקציה שהרצפה עשויה מרצפה ,בהיעזר בשמורת הלולאה הבאה:
בסיס האינדוקציה :הראו שעבור ,𝑖 = 1הרצפה עשויה מרצפה.
צעד האינדוקציה :הניחו שבאיטרציה ה־ ,𝑖 − 1הרצפה ה־ 𝑖 − 1עשויה מרצפה ,והסיקו שגם
באיטרציה ה־𝑖 הרצפה עשויה מרצפה.
.2מצאו את זמן הריצה של האלגוריתם והוכיחו את נכונותו .הקפידו על כתיבה פורמלית שבה
אתם אומרים במילים מה האלגוריתם עושה ומעמידים פנים שזה שקול להוכחה.
שאלה
נתון עץ גיבוב 𝐴 של מחסניות דו־מקושרות שבתוך כל אחת מהן שומרים מצביע למערך של ערימות
מקסימום אדומות־שחורות.
.1הריצו את אלגוריתם דיחראסטרה על איברי 𝐴 .הסבירו מדוע תוצאת ההרצה שונה מזו של
אלגוריתם ואן־דר־שמוק.
בפסודו־ .2היזכרו שבתרגול ראיתם את אלגוריתם פליק־פלוק ,וגם אז לא הבנתם מה שורה
נשתמש במבנה נתונים אחר לגמרי, קוד עושה .עכשיו נשנה את הפסודו־קוד ככה שבשורה
ואת שאר הקוד נשאיר אותו הדבר חוץ משינויים מהותיים לכל אורכו .נתחו את זמן הריצה
של האלגוריתם החדש.
שאלה
במבחן. אליס ,בוב ,דרדסבא ומשה קול מנסים לקבל
.1הציעו אלגוריתם ־מקרב לבעיה.
.2יישמו אותו במבחן.
.3הסבירו למגייסת של גוגל מדוע האלגוריתם שהצעתם הצליח להשיג רק ־קירוב וגם זה
היחיד שלכם הוא בקורס שמדבר על סקס של פילים. בקושי ,ולמה ה־
1
שאלה
השפה 𝐿 מורכבת מהקידודים ⟩ 𝑇⟨ של כל התרגילים 𝑇 שאינם מודעים לעצמם.
.1הוכיחו ש־𝖤𝖱 ∈ 𝐿 באמצעות הרדוקציה הפולינומיאלית הבאה לשפה 𝖬𝖨𝖳𝖲𝖨𝖧𝖢𝖠𝖬𝖣𝖠𝖬:
בהינתן תרגיל ⟩ 𝑇⟨ ,המדמ"חיסט יריץ רפרנס על ⟩ 𝑇⟨ ,ולאחר־מכן יתעלם ממנו וילך לבכות
באקווריום למשך חמישה לילות רצופים על זה שאין לו חיי מין.
.2הסיקו שתואר במדמ"ח הוא בעיה 𝖯𝖭־קשה.
חלק מעשי
בחלק המעשי של תרגיל זה נבנה ספרייה שמישהו אחר כבר תכנת בשבילכם ואין שום סיבה בחיים
האמיתיים לתכנת אותה מחדש .אין לעשות שימוש באף ספרייה סטנדרטית ,וכמו־כן אסור להשתמש
בשפת תכנות מוכרת ,ועל־כן תצטרכו לממש בעצמכם את השפה ואת המחשב .סיפקנו עבורכם קוד
לחלק הראשון ,על־מנת שתוכלו לדבג גם את הקוד שלנו ולא רק את שלכם.
לגבי מקרה הקצה ,כדאי שתעשו מה שאתם חושבים שאולי משתמע מהפסקה הראשונה שצריך
לעשות ,אפילו שאמרנו משהו אחר בפסקה השנייה .בכל אופן הֱ יו בטוחים שכשמישהו ישאל על זה
בפורום ,אנחנו נענה לו בפאסיב־אגרסיב כמו בת־זוג מסוכסכת שאם זה מה שאתם חושבים שצריך
לעשות ,אז תעשו את זה ,רק תוודאו שזה מה שכתוב בתרגיל שצריך לעשות .לאור שאלות רבות בנושא
נפנה לפסקה הזאת שבה אנחנו קובעים בבירור ומצהירים באופן חד־משמעי שאינו מתפרש לשני פנים
. שאתם צריכים לעשות מה שנרמז באופן קלוש איפשהו בסוף הנספח לתרגול משנת
שאלת בונוס
מאחר שאף אחד אף פעם לא שקל לעשות מעבר למה שנדרש ,אנחנו לא באמת יודעים מה צריך
לכתוב פה ומקווים שלא תקראו את זה.
Additional Instructions
This part has no purpose other than flexing with some purflubixious words.
הוראות README
מאחר שהתרגיל עצמו היה פשוט מדי ובטח לקח לכם עשרים דקות ,החלטנו לסבך את העניינים
עם כמה הוראות הגשה חשובות מאוד שכל טעות בהן תגרור ציון אפס במיידי .בנוסף ,חובה לצרף
קובץ ,READMEשאנחנו לא נקרא אבל תאולצו לענות בו על שמונה שאלות ,ולפרט בו על הבחירות
החשובות בחיים:
מהו מבנה הנתונים שהשתמשתם בו עבור החלק ההוא שרק עכשיו אתם מבינים שצריך
להשתמש במבנה נתונים כלשהו כדי לנהל אותו?
מה הסיבה שבחרתם את הפרמטר ההוא להיות מה שבחרתם? אנחנו שואלים כי אין לנו
מושג מה לבחור.
2
איך תסבירו לחברה שלכם שלא דיברתם איתה שלושה ימים בגלל שעדיין יש לכם
deadlockאיפשהו והטסטים לא עוברים?
כמה טובה יכולת ההחלטה שלכם אם בחרתם לעשות תואר במדמ"ח בעברית?
ה־ READMEצריך לכלול שורה אחת עם שמות משתמשי ה־ CSEשל שני המגישים )ההגשה
ביחידים( ,שמות הסטודנטים ששלחו לכם רפרנס לתרגיל ,מספר תעודת הזהות של סבא שלכם ,שתי
שורות עם סולמיות כערך הגימטרי של השם שלכם ,אימוג'י של צב ,עטיפה של מקופלת בפורמט txt
ולבסוף התשובות לחלקים התיאורטיים .אין לכלול את האות eבאף קובץ )לא נקבל ערעורים
בנושא(.
בהצלחה!
3