לצפייה במבחן בדף מלא לחץ כאן

‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫מספר השאלון‪899222 :‬‬
‫‪.http://www‬בית‪-‬ספר‪org.il.‬‬
‫מדעי המחשב ב'‬
‫‪ 2‬יחידות לימוד (השלמה ל‪ 5 -‬יחידות)‬
‫הוראות לנבחן‬
‫משך הבחינה‪ :‬שלוש שעות‪.‬‬
‫מבנה השאלון ומפתח ההערכה‪ :‬בשאלון זה שני פרקים‪.‬‬
‫פרק ראשון ‪ -‬בפרק זה עליך לענות על שתי שאלות מתוך ארבע (‪50 - )25´2‬‬
‫נקודות‬
‫פרק שני ‪-‬‬
‫בפרק זה עליך לענות על שתי שאלות מתוך ארבע (‪50 - )25´2‬‬
‫נקודות‬
‫סה"כ ‪100 -‬‬
‫חומר עזר מותר בשימוש‪:‬‬
‫כל חומר עזר (פרט למחשב הניתן לתכנות)‪.‬‬
‫הוראות מיוחדות‪:‬‬
‫לא ניתן להעביר כל חומר עבור בין התלמידים‬
‫ב ה צ ל ח ה !!!‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫פרק ראשון ‪ -‬עיצוב תוכנה (‪ 50‬נקודות)‬
‫ענה על שתיים מבין השאלות ‪ ( 4 – 1‬לכל שאלה – ‪ 25‬נקודות)‬
‫שאלה ‪:1‬‬
‫"עץ_משולשים_ימניים" הוא עץ ריק‪ ,‬או עץ שבו צומת אחד‪ ,‬או עץ שבו לכל בן ימני של צומת יש‬
‫שני בנים‪ ,‬וכל בן שמאלי הוא עלה (כמתואר בשרטוט)‪.‬‬
‫‪.1‬‬
‫כתוב אלגוריתם המקבל עץ בינארי ומחזיר 'אמת' אם העץ הוא "עץ_משולשים_ימניים"‬
‫'שקר' אחרת‪.‬‬
‫ב‪.‬‬
‫נתונים האלגוריתמים הבאים‪:‬‬
‫רז (‪)T‬‬
‫(‪ )1‬אם לא עץ‪-‬ריק?(‪ )T‬אזי‬
‫)‪T‬‬
‫(‪ )1.1‬סוד(‪X‬‬
‫(‪ )1.2‬עדכן‪-‬שורש(‪)X, T‬‬
‫(‪ )2‬רז(תת‪-‬עץ‪-‬שמאלי(‪)T‬‬
‫(‪ )3‬רז(תת‪-‬עץ‪-‬ימני(‪)T‬‬
‫סוד (‪)T‬‬
‫(‪ )1‬אם עלה(‪ )T‬אזי החזר ‪0‬‬
‫(‪ )2‬אחרת‪ ,‬אם לא עץ‪-‬ריק?( תת‪-‬עץ‪-‬שמאלי(‪ ))T‬וגם לא עץ‪-‬ריק?( תת‪-‬עץ‪-‬ימני(‪))T‬‬
‫אזי החזר ‪ + 2‬סוד( תת‪-‬עץ‪-‬שמאלי(‪+ ))T‬סוד( תת‪-‬עץ‪-‬ימני(‪))T‬‬
‫(‪ )3‬אחרת‪ ,‬אם לא עץ‪-‬ריק?( תת‪-‬עץ‪-‬שמאלי(‪ ))T‬אזי‬
‫החזר ‪+ 1‬סוד( תת‪-‬עץ‪-‬שמאלי(‪))T‬‬
‫(‪ )4‬אחרת‪ ,‬החזר ‪+ 1‬סוד( תת‪-‬עץ‪-‬ימני(‪))T‬‬
‫א) מה מטרת האלגוריתם סוד (‪ ? )T‬הסבר תשובתך בעזרת דוגמה עם מעקב ‪.‬‬
‫ב) מה מטרת האלגוריתם רז (‪ ? )T‬הסבר תשובתך בעזרת דוגמה עם מעקב‬
‫(הדוגמאות יהיו מעצים בעלי לפחות ‪ 5‬צמתים)‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫שאלה ‪:2‬‬
‫נתונה הפונקציה הרקורסיבית הבאה ‪ ,distance‬המקבלת כפרמטר שני מספרים שלמים‬
‫וחיוביים ומחזירה את הפרש מספר הספרות שביניהם‪.‬‬
‫לדוגמא‪ )distance (248, 24646468 :‬יחזיר ‪5‬‬
‫‪ )distance (2345, 98761‬יחזיר ‪1‬‬
‫ואילו‬
‫;‪function distance ( num1, num2:integer):integer‬‬
‫…‬
‫‪.1‬‬
‫‪.2‬‬
‫ממש בסביבת העבודה את הפונקציה הרקורסיבית ‪ ,distance‬מבלי להשתמש בפונקציות‬
‫עזר‬
‫עקוב אחרי הפונקציה עבור הקריאה ‪)distance (2345, 9876‬‬
‫שאלה ‪:3‬‬
‫נתונה רשימה המכילה מספרים שלמים‪.‬‬
‫נגדיר "מרחק" של מספר ברשימה כסכום המרחקים הקטנים ביותר של מופע אותו מספר‬
‫מקצוות הרשימה‪.‬‬
‫דוגמה‪ : 1‬ה "מרחק" של המספר ‪ 7‬ברשימה הינו ‪ 2( 5‬מימין ו ‪ 3‬משמאל)‬
‫סוף ‪ , 4 , 1 , 3 , 7 , 1 , 1 , 7 , 7 , 2 , 1,‬עוגן ‪L :‬‬
‫דוגמה‪ : 2‬ה "מרחק" של המספר ‪ 3‬ברשימה הינו ‪ 7( 9‬מימין ו ‪ 2‬משמאל)‬
‫סוף ‪ , 4 , 1 , 3 , 7 , 1 , 1 , 7 , 7 , 2 , 1,‬עוגן ‪L :‬‬
‫א‪.‬כתוב פונקציה בסביבת העבודה המקבלת רשימה(מאותחלת שאינה ריקה) ומספר ‪num‬‬
‫ומחזירה את ‪" ,‬המרחק" למספר ‪( num‬אם ‪ num‬לא נמצא ברשימה יוחזר ‪)-1‬‬
‫‪o‬‬
‫‪o‬‬
‫בדוגמה הראשונה עבור ‪ num=7‬הפונקציה תחזיר ‪5‬‬
‫בדוגמה השנייה עבור ‪ num=3‬הפונקציה תחזיר ‪8‬‬
‫ב‪.‬כתוב פונקציה בסביבת העבודה המקבלת רשימה ומחזירה את המספר בעל "המרחק" הקטן‬
‫ביותר(השתמש בפונקציה שכתבת בסעיף א) עבור הדוגמה הנ"ל הפונקציה תחזיר ‪1‬‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫שאלה ‪4‬‬
‫בעקבות הבלגן בזמן מכירת הכרטיסים למשחקי מכבי תל‪-‬אביב ‪ ,‬הוחלט באגודה למחשב את‬
‫נושא מכירת הכרטיסים‪.‬‬
‫ישנן ‪ 13‬קופות בעלות מספרים מ‪ 1-‬עד ‪.13‬‬
‫בכל קופה ‪ 750‬כרטיסים קונה יכול לרכוש כד ‪ 5‬כרטיסים‬
‫קונה שהגיע ניגש לקופה שבה מספר הממתינים מינימאלי‪.‬‬
‫מכירת הכרטיסים בכל קופה נעשית באופן הבא‪ :‬הקונה הראשון בתור ניגש לקנות כרטיסים‬
‫בקופה‪,‬אם אין בה מספיק כרטיסים‪,‬הוא קבל את הכמות שנותרה בקופה ויעבור לראש התור של‬
‫הקופה עם מספר הממתינים הקטן ביותר‪,‬לשם קבלת שאר הכרטיסים‪.‬‬
‫כשאר אוזלים הכרטיסים בקופה‪-‬הקופה נסגרת‪,‬והקונים הממתינים בה מועברים לקופות‬
‫האחרות‪,‬בזה אחר זה‪,‬כאשר המעבר של כל אחד מהם מתבצע לקופה בה מספר הממתינים‬
‫מינימאלי‪.‬‬
‫במערכת הוגדרו המודולים הבאים‪:‬‬
‫מודול קופות‬
‫פעולה המאתחלת את הקופות להיות בעלות‬
‫אתחל_קופות (קופות)‬
‫‪ 750 )Procedure init_kopot(var m:kopot‬כרטיסים כרטיסים וללא קונים ממתינים‪.‬‬
‫פעולה המקבלת את הקופות ומחזירה את‬
‫מנימום‪-‬ממתינים‪-‬בקופה(קופות)‬
‫מספר הקופה הפתוחה שבה מספר הממתינים‬
‫‪ ;Function min(m:kopot):integer‬מינימלי‪.‬‬
‫פעולה המעבירה לרשות הקופה הקונה את‬
‫קופות‪-‬מכור‪-‬לקונה(קונה‪,‬קופה‪,‬קופות)‬
‫מספר הכרטיסים הרצוי לו מן הקופה ומעדכנת‬
‫את מספר הכרטיסים בקופה‪.‬אם מספר‬
‫הכרטיסים בקופה קטן ממספר הכרטיסים‬
‫המבוקשים ע"י הקונה יקבל הקונה את הכמות‬
‫שיש בקופה ויעבור לראש התור של הקופה שבה‬
‫מספר הממתינים הוא הקטן ביותר‪.‬שאר‬
‫הקונים יועברו לקופות האחרות על‪-‬פי מינימום‬
‫הממתינים בהן והקופה הריקה תיסגר‬
‫הנחות‪:‬קופות מאותחל ותקין‪,‬קופה מאותחל‬
‫ותקין‪,‬קונה מאותחל ותקין‬
‫‪.1‬‬
‫‪.2‬‬
‫‪.3‬‬
‫ייצג את המידע קופה וקופות‪.‬‬
‫ממש בסביבת העבודה את הפעולה מנימום‪-‬ממתינים‪-‬בקופה(קופות‬
‫ממש בסביבת העבודה את הפעולה קופות‪-‬מכור‪-‬לקונה(קונה‪,‬קופה‪,‬קופות)‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫פרק שני)‪ 50‬נקודות) ‪ -‬מודלים חישוביים‬
‫ענה על שתיים מהשאלות ‪( 5-8‬לכל שאלה – ‪ 25‬נקודות)‬
‫שאלה ‪:5‬‬
‫א‪.‬השפה ‪ L‬היא שפת כל המילים מעל ה‪-‬אב' {‪ }a,b,c‬שמופיע בהן הרצף ‪abc‬פעם אחת בלבד ‪ ,‬כך‬
‫שלפניה לא מופיעה כלל האות ‪ , b‬ואחריה מופיעה האות ‪ b‬בדיוק פעמיים‪.‬‬
‫א‪ .‬בנה אוטמט סופי דטרמינסטי המקבל את השפה ‪L‬‬
‫ב‪ .‬עבור המילים הבאות קבע באמצעות מסלול חישוב אם המילה מקובלות או לא‬
‫‪ccabcaabbc‬‬
‫‪acabccacbba‬‬
‫‪abcbbaabcc‬‬
‫שאלה ‪:6‬‬
‫נתונות השפות הבאות ‪:‬‬
‫‪ L1‬מעל ה‪-‬אב' {‪}a,b‬‬
‫‪ – L2,L3,L4‬מעל ה‪-‬אב' {‪}a,b,c‬‬
‫}‪L1={ai bi | 0<=i<=5‬‬
‫}‪L2={ax by cz | x,y>=0 , z=y mod 3‬‬
‫מספר ה{ ‪-a‬ים ב ‪- w‬שונה ממספר ה ‪-b‬ים | ‪L3={ w‬‬‫}‪L4={(ab)x cy |x,y>=0‬‬
‫‪.1‬‬
‫תאר כל אחת מהשפות הבאות‪ .‬הצג כל שפה בדרך הפשוטה ביותר‪.‬‬
‫‪L5=L3L4L1‬‬
‫‪.1‬‬
‫‪L6=L1L2‬‬
‫‪.2‬‬
‫‪L7=L3L2‬‬
‫‪.3‬‬
‫‪.2‬‬
‫קבע לכל אחת מהשפות שהגדרת בסעיף א' אם היא רגולרית‪ ,‬חופשית הקשר ואינה רגולרית‪ ,‬או‬
‫שאינה חופשית הקשר‪ .‬נמק תשובותיך‪ .‬בחר שפה שאינה רגולרית‪ ,‬והוכח זאת‪.‬‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫שאלה ‪:7‬‬
‫נתונה השפה הבאה מעל הא"ב {‪}a,b,c‬‬
‫‪}L={anbm+1cbm-1an+1 | m,n>0‬‬
‫האם השפה ‪ L‬היא חופשית הקשר? הוכח את תשובתך‪.‬‬
‫שאלה ‪:8‬‬
‫נתונה מכונת טיורינג ‪ ,‬העובדת על הא"ב {‪:}a,b,c‬‬
‫‪q0‬‬
‫ימין ‪b/b ,‬‬
‫‪q6‬‬
‫‪a/a‬ימין‪,‬‬
‫‪c/c‬ימין‪,‬‬
‫‪b/b‬ימין‪,‬‬
‫‪/,‬שמאל‬
‫‪q‬‬
‫א‪ .‬הצג את תהליך חישוב של המכונה על כל אחת מהמילים הבאות‪cabc , bca, ba abac , :‬‬
‫ב‪ .‬תאר את קבוצת המילים מעל הא"ב {‪ }a,b,c‬עבורן המכונה לא עוצרת‪.‬‬
‫ג‪.‬מהי השפה המתקבלת על‪-‬ידי מכונה זו?‬
‫מכללה למדע וטכנולוגיה עמל‪1‬‬
‫מדעי המחשב ב'‬
‫בחינת מתכונת‪ ,‬תשס"ה ‪2005 -‬‬
‫מס' שאלון‪899205 :‬‬