You are on page 1of 3

‫כל תרגיל במדמ"ח אי־פעם‬

‫להגשה ביום רביעי ב־ ‪ :‬בגלל בעיות ב־‪ 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‬באף קובץ )לא נקבל ערעורים‬
‫בנושא(‪.‬‬

‫הוראות הגשה נוספות‬


‫לשם הבהירות‪ ,‬אין לצרף להגשה את הקבצים עם הסיומת ‪ ,.h‬אלא אם הם קבצים שאתם‬
‫הוספתם‪ .‬נחזור שוב‪ ,‬עליכם לצרף את כל קבצי ‪ ,.h‬כולל אלו שהתבקשו בתרגיל‪.‬‬
‫על־מנת להגדיל את הסיכוי שלכם להיכנס להיסטריה חמש דקות לפני ההגשה‪ ,‬יש לצרף לתרגיל‬
‫זה קובץ ‪ MakeFile‬שיגרום לכם להיכשל ב־‪.presubmit‬‬

‫נהלי איחורים וערעורים‬


‫כל מאית שנייה של איחור בהגשת התרגיל גוררת הורדה של עשרים נקודות‪ .‬תוכלו להגיש את‬
‫הערעורים שלכם עד שבוע לאחר פרסום הציונים‪ .‬ברור לנו שכולנו בני אדם ועשויות לקרות טעויות‬
‫נקודות מן התרגיל‪.‬‬ ‫בבדיקת התרגילים‪ ,‬אולם יש לקחת בחשבון שהגשת ערעור תגרור הורדה של‬

‫בהצלחה!‬

‫𝜆 לכסון והוצאות לאור‬


‫באדיבות הת ועה הלאומית לגילוי ומ יעת מדמ"ח‬
‫כל הזכויות © אי ן שמורות לרועי שטוירמן סיכומים ובולשיט בע"מ‬

‫‪3‬‬

You might also like