סמסטר א' תשס "א התשובות. בהצלחה

Similar documents
תאריך הבחינה: מבוא למדעי המחשב ד "ר פז כרמי פרופ' מייק קודיש ד "ר חן קיסר ד "ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

מבחן מועד ב' אנא קיראו היטב את ההראות שלהלן:

אנגלית (MODULE E) בהצלחה!

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

שאלון ו' הוראות לנבחן

שאלון ד' הוראות לנבחן

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

אוניברסיטת בן גוריון בנגב

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

הצעת תשובות לשאלות בחינת הבגרות אנגלית

שאלון ו' הוראות לנבחן

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

(MODULE E) ב ה צ ל ח ה!

בהצלחה! משך הבחינה: מבוא למדעי המחשב ד"ר פז כרמי פרופ' מייק קודיש ד"ר חן קיסר ד"ר צחי רוזן שם הקורס: מבוא למדעי המחשב מספר הקורס:

אוניברסיטת בן גוריון בנגב

מבוא לתכנות ב- JAVA תרגול 7

interface Student {tag: Student, name: string; age: number;} const makestudent = ( name: string, age: number ) : Student =>

Practical Session No. 13 Amortized Analysis, Union/Find

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים מילון דו לשוני או מילון אוקספורד אנגלי-אנגלי-עברי הוראות מיוחדות:

שנה"ל תשע"ד,סמסטר א',מועד א שאלון בחינה בקורס: מבוא למדעי המחשב לתעו"נ מספר : בחלק א' 11 שאלות, יש לענות על 11 מתוכן )כל שאלה מזכה ב 7 נקודות(

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

מבוא למחשב בשפת פייתון

בוחן בתכנות בשפת C בצלחה

2 יחידות לימוד הוראות לנבחן רשו ם "טיוטה" בראש כל עמוד טיוטה. רישום טיוטות כלשהן על דפים שמחוץ למחברת הבחינה עלול לגרום לפסילת הבחינה!

מבחן באנגלית בהצלחה הצלחה!!! שם פרטי: שם משפחה: מס' תעודת זהות: תאריך: שם מרכז מנהל מרכז השכלה: תאריך בדיקת המבחן: כל הזכויות שמורות למשרד החינוך

ASP.Net MVC + Entity Framework Code First.

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

עמוד 1 מתוך 11 מספר סידורי: סמסטר ב' תשע"ה, מועד א', 13 יולי 5112 יעל אמסטרדמר, סיון טולדו, דביר נתנאלי

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

בהצלחה מועד א אנא קראו היטב את ההוראות שלהלן: תאריך המבחן: 9/7/2017 המרצים: ד"ר צחי רוזן מר דן בורנשטיין מר ניר גלעד

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

אוניברסיטת בן גוריון בנגב

מדעי המחשב ב' בחינת מתכונת 2

A R E Y O U R E A L L Y A W A K E?

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

תורת הקומפילציה

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

המחלקה למדעי המחשב, אוניברסיטת בן גוריון מבני נתונים, סמסטר אביב 2102 עבודת בית מספר - 2 מעשית

עד כה עסקנו בתוכניות שמתקדמות פקודה אחרי פקודה העתק ל- ax את הערך 3 העתק ל- bx את הערך 4 הוסף ל- ax את bx כפול את התוצאה ב- 2 והעתק ל- cx

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

יסודות מבני נתונים. תרגול :9 ערימה - Heap

אנגלית בהצלחה! ובאתר של אגף הבחינות במשרד החינוך. השימוש במילון אחר טעון אישור של הפיקוח על הוראת האנגלית. הוראות מיוחדות:

למבחן ביסודות מדעי המחשב דוגמא

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

תרגול 8. Hash Tables

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

מושגים בסיסיים תלמידים והורים יקרים,

במבוא מורחב למדעי המחשב בשפת פייתון

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

מותאמת לסביבת. Visual C# 2005 Express שונות. ולבצע rename לשם המבוקש

פולימורפיזם. blog.csit.org.il מדעי המחשב

תרגיל בית מספר - 5 להגשה עד 7 ביוני )יום ראשון( בשעה 32555

תרגול 11 תור עץ חיפוש בינארי

עבודה מס' 3: תכנות מונחה עצמים ורשימות

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

המבנה הגאומטרי של מידה

תוכנה 1 תרגיל מספר 11

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

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

מדעי המחשב מעבר על הרשימה למציאת המקום המתאים לאיבר. החזרת ה- value של ההפניה למינימום. הנחה: הרשימה לא ריקה.

2007 Zindell Technologies, Ltd.

הנחיות חשובות: ~1 ~ הנחיות חשובות לכלל התרגילים מעתה והלאה בקורס: בס"ד תאריך הגשה:

בחינה בקורס: תכנות מכוון עצמים ושפת מרצים: אמיר קירש, ד"ר אלון שקלר מדבקת ברקוד

ובתוכנה 1 א 2004) ( סמסטר א' תשס"ז מועד ב', 8 באוקטובר 2007

מבוא למחשב בשפת Matlab

פרק מחלקות ממשק המחלקה צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק נתון.

הכלה המשך בדף עבודה הקודם, הדגשנו את ההכלה של אובייקט אחד מוכל בתוך אובייקט אחר.

ל"תוכנה" שכותבים, כמו פונקציה זו, קוראים "קוד"

שיעור מספר 6: מקושרים

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

A lot of the time when people think about Shabbat they focus very heavily on the things they CAN T do.

פרק מחלקות ממשק המחלקה צריך גם לדעת להגדיר בתוכניתו מחלקות לפי הצורך. בפרק זה נלמד להגדיר מחלקה ולממשה על סמך ממשק נתון.

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

ניסוי בפייתון מכון טכנולוגי לישראל הניסוי מתקיים בבניין פישבך, חדר 573 )במסדרון למאייר(. המאחר ביותר מ- 53 דקות לא יורשה לבצע את הניסוי.

SPSS 10.0 FOR WINDOWS

תרגול מספר 9: בנאים, שיטות של אובייקטים והכמסה מבוא למדעי המחשב - סמסטר א' תשע"א,תרגול מס' 9. נושאי התרגול: this

Redirection The Input Buffer

Translation from English by Nataly Shnaidman, Jerusalem

בחינת בגרות, תשע"ז מס' שאלון: מדעי המחשב שאלה 1. Java. blog.csit.org.il הילה קדמן

פרק רשימה א. ייצוג הרשימה

קורס מטלב לפיסיקאים שיעור מס' 10: משתנים מורכבים

Transcription:

201-1-101-1 מבחן מסכם מועד ב' סמסטר א' תשס "א 22.2.2001 ב"מבוא למדעי המחשב" פרופ' אורי אברהם פרופ' דניאל ברנד ד"ר שמואל ספרוני ד"ר מיכאל קודיש משך הבחינה שעתיים וחצי. חומר עזר אסור. אין להשתמש במחשבון. במבחן זה 7 שאלות המאפשרות לצבור עד 100 נקודות. אנא רשמו את תשובותיכם בדף התשובות בלבד. בשאלות 5-7 רשמו את כל התשובות הנכונות. הקפידו לרשום בדף התשובות גם את מספר הנבחן ומספר החדר שבו אתם נבחנים וכן את מחלקתכם. המחברת שקיבלתם היא מחברת הטיוטה והיא לא תימסר כלל לבדיקה. בסיום הבחינה נאסוף אך ורק את דף התשובות. בהצלחה 1

שאלה (15 1 נקודות) המחלקה DNode הנתונה כאן מגדירה חוליה ברשימה דו-כיוונית ובה שדה data מסוג Object ושדות DNode מצביעים לחוליה הקודמת ולזו העוקבת. ההגדרה של המחלקה המהווים ו- next previous נתונה כהרחבה של המחלקה Node המגדירה חוליה ברשימה רגילה: public class DNode extends Node{ public Node previous; DNode(Object data, Node previous, Node next){ super(data, next); this.previous = previous; public Node get_previous(){return previous; public void set_previous(node a){previous = a; // DNode public class Node{ public Object data; public Node next; Node(Object data, Node next){ this.data = data; this.next = next; public Object get_data(){return data; public Node get_next(){return next; public void set_next(node a){next = a; // Node המחלקה DList (נתונה בהמשך) מגדירה מבנה של רשימה דו-כיוונית של חוליות מסוג DNode ובה שתי חוליות מיוחדות: left ו-,right שנקראות זקיפים. חוליות אלו אינן מכילות data אך נותנות גישה נוחה לחוליה השמאלית והימנית במבנה ומפשטות את הגדרת הפעולות על המבנה. המשימה ההגדרה של המחלקה DList הנתונה בעמוד הבא פעלה כשורה עד שנשמטו מתוכה כל פעולות ההמרה.(casting) יש בקוד חמש שורות שבהן הכרחי להוסיף פעולות המרה על מנת שיעבור קומפילציה ויעבוד כשורה. תקנו בדף התשובות את השורות הבעייתיות (וציינו את מספרי השורות), כך שהתכנית תעבוד כשורה. אין לרשום יותר מחמש שורות. 2

1. public class DList{ 2. public DNode left, right; 3. DList(){ 4. left = new DNode(null,null,null); 5. right = new DNode(null,left,null); 6. left.set_next(right); 7. 8. public boolean isempty(){ 9. return (left.get_next() == right); 10. 11. public void addathead(object data){ 12. DNode new_node = 13. new DNode(data, left, left.get_next()); 14. left.get_next().set_previous(new_node); 15. left.set_next(new_node); 16. 17. public void addattail(object data){ 18. DNode new_node = 19. new DNode(data, right.get_previous(), right); 20. right.get_previous().set_next( new_node); 21. right.set_previous(new_node); 22. 23. public void forwards_print(){ 24. DNode i = left.get_next(); 25. while( i!= right ){ 26. System.out.print(i.get_data() + " "); 27. i = i.get_next(); 28. 29. System.out.println(); 30. 31. public void backwards_print(){ 32. Node i = right.get_previous(); 33. while( i!= left ){ 34. System.out.print(i.get_data() + " "); 35. i = i.get_previous(); 36. 37. System.out.println(); 38. 39. public void delete(dnode i){//node i must be in the list 40. i.get_next().set_previous(i.get_previous()); 41. i.get_previous().set_next(i.get_next()); 42. 43. // class DList 3

שאלה (25 2 נקודות) בשאלה זו נשתמש בקוד המצורף של המחלקות DList ו- DNode משאלה מס' 1 על-מנת לכתוב את המחלקה,Set המרחיבה את DList ומייצגת קבוצה של עצמים (שונים זה מזה, כלומר אסור לאותו איבר להופיע יותר מפעם אחת בייצוג הקבוצה). הערה: גם אם לא עניתם על חלק מהסעיפים, תוכלו להשתמש בשיטות שהתבקשתם להגדיר בסעיפים האחרים. כמוכן, תוכלו להתיחס לשיטות המצורפות לשאלה 1, גם אם לא תיקנתם את בעיות ההמרה. בסעיפים א'- ד' תמצאו הנחיות על-מנת להשלים את ההגדרות הבאות: א. ב. ג. ד. Public class Set extends DList { Public Set() {super(); public boolean ismember(object b) { public void add(object b) { public Set sameclass(string type) { public Set setsofclasses(){ // class Set סעיף א (5 נק') השלימו את השיטה (b ismember(object של המחלקה Set אשר בודקת אם העצם b הינו איבר בקבוצת איברי עצם המפתח. הבדיקה נעשת ע"י השיטה הבוליאנית (c equals(object שתהיה מוגדרת עבור מחלקות האיברים שבקבוצה. public boolean ismember(object b) { סעיף ב (5 נק') השלימו את השיטה (b add(object של המחלקה Set אשר מוסיפה איבר b לקבוצת האיברים בעצם המפתח. public void add(object b) { 4

סעיף ג (8 נק') הנח כי הוספנו את השיטה gettype() למחלקה Node והיא מחזירה כמחרוזת את שם המחלקה של שדה ה- data בעצם המפתח. לדוגמה: אם נבצע את שתי הפקודות אזי יודפס. Set Node s = new Node(new Set()); System.out.print(s.getType()); העזרו בשיטה gettype() כדי להשלים את השיטה type) sameclass(string של המחלקה Set אשר משמיטה מעצם המפתח את כל האיברים מטיפוס,type ומחזירה אותם כקבוצה חדשה של איברים. לדוגמה, נניח שניתנו הפקודות: public Set sameclass(string type) { Set s1 = new Set(); s1.add( " 123" )); s1.add(new Double(4.2)); s1.add(new Integer(3)); s1.add(new Double(1.2)); אם בשלב זה s1.left.next עתה את הפקודה הנוספת מצביע על חוליה ששדה ה- data שלה הוא מטיפוס Double ואם נבצע Set s2 = s1.sameclass(s1.left.next.gettype()); אזי הקבוצה s1 תכיל את המחרוזת "123" ואת השלם 3, ואילו s2 תכיל את הממשיים 1.2 ו-. 4.2 סעיף ד (7 נק') השלימו את השיטה setsofclasses() של המחלקה Set אשר מחלקת את קבוצת האיברים בעצם המפתח לקבוצות של איברים על-פי טיפוסיהם. הערך המוחזר הינו קבוצה של קבוצות, שבכל אחת מהן האיברים הם מאותו טיפוס. public Set setsofclasses(){ לדוגמה, אם נפעיל את השיטה על הקבוצה שמצוירת בצד שמאל, אזי הערך המוחזר יהיה קבוצת הקבוצות שמצוירת מצד ימין: 5

(20 נקודות) שאלה 3 השלימו את השיטה (k,subsetsofsize(int n,int אשר מקבלת שני מספרים שלמים k ו- n (כך ש- k n 0 ו- n 1) ומדפיסה את כל תתי-הקבוצות בגודל k של הקבוצה {n,...,1,2 (הדפסת תת-קבוצה פירושה הדפסת כל איבריה כמחרוזת). למשל, השיטה main הנתונה קוראת ל- subsetsofsize(n,k) כאשר = 5 n ו- 3=k, ואז התכנית תדפיס את המחרוזות הבאות (אחת לשורה בסדר כלשהו): 123 124 125 134 135 145 234 235 245 345 public class subsets{ static void subsetsofsize(int n, int k){ subsetsofsize(n,k, ); static void subsetsofsize(int n, int k, String s){ public static void main(string[] args){ subsetsofsize(5,3); (10 נקודות) שאלה 4 סעיף א א. ב. ג. ציין בדף התשובות האם התוכנית המוגדרת במחלקה :what אינה עוברת קומפילציה. עוברת קומפילציה אך נתקלת בשגיאת הרצה. רצה והפלט (משמאל לימין) הוא. *** 2 (*** בשיטה סעיף ב חזור על סעיף א' בהנחה ששתי השורות המסומנות (*** 1 *** what הוחלפו זו בזו. ו- שימו לב שהמחלקה Node נתונה בשאלה מס' 1 ואילו המחלקה List מובאת בהמשך כתזכורת. class what{ public static void what(list x){ if (x.first!= null && x.first.get_next()!= null){ Node n = x.first; x.first = x.first.get_next(); // *** 1 *** // n.set_next(null); // *** 2 *** // what(x); Node node = x.first; while (node.get_next()!=null) node = node.get_next(); node.set_next(n); public static void main(string[] args){ List x = new List(); x.addathead(new Integer(5)); x.addathead(new Integer(4)); x.addathead(new Integer(3)); x.addathead(new Integer(2)); x.addathead(new Integer(1)); what(x); x.print(); 6

זה המימוש של רשימה משורשרת (להזכירכם): public class List{ public Node first; List(){first = null; public void addathead(object data){ first = new Node(data, first); public void print(){ Node link = first; while( link!= null ){ System.out.print(link.get_data() + " "); link = link.get_next(); System.out.println(); // class List (10 נקודות) שאלה 5 class MyInt { private int _n; MyInt (int i) {_n = i; int intvalue() {return _n; static void inc(myint n) { if (n!=null) n = new MyInt (n.intvalue() + 1); public class Exam { public static void main(string[] a) { MyInt i2 = new MyInt(2); i2.inc(i2); System.out.println(i2.intValue()); בהתייחס למחלקות :MyInt,Exam סמנו את כל התשובות הנכונות. א. ב. ג. ד. ה. ו. התוכנית תצלח הידור (תעבור קומפילציה), תרוץ ותדפיס 2. התוכנית תצלח הידור, תרוץ ותדפיס 3. התוכנית תצלח הידור אך תגרום לשגיאה בזמן ריצה. התוכנית לא תצלח הידור, שכן הפונקציה הסטטית inc מפעילה שיטות של.MyInt התוכנית לא תצלח הידור, שכן בשיטה,main הפונקציה הסטטית inc אינה מופעלת על שם המחלקה,MyInt אלא על אובייקט מטיפוס.MyInt אם נשנה את כותרת השיטה inc להיות: (n private void inc(myint אז התוכנית תצלח הידור. 7

(10 נקודות) שאלה 6 למחלקה,Point מעבודת בית מס' 3, הוספנו שיטה (Q Point midpoint(point אשר מחזירה את הנקודה (Point) שהיא אמצע הקטע המחבר את עצם המפתח עם הנקודה הנתונה Q. המחלקה Triangle מייצגת משולשים. היא מכילה בונה P3) Triangle(Point P1, Point P2, Point אשר מקבל את קודקודי המשולש, וכן מכילה שיטה area() double אשר מחזירה את שטחו של המשולש ושיטה getvertices() Point[ ] אשר מחזירה מערך ובו שלושת קודקודי המשולש. השיטה הבאה נמצאת אף היא במחלקה :Triangle double strangefunction(){ double result = 0; if (area() >= 0.001){ Point Q = getvertices()[0].midpoint(getvertices()[1]); Point R = getvertices()[1].midpoint(getvertices()[2]); Point S = getvertices()[2].midpoint(getvertices()[0]); Triangle T = new Triangle (Q, R, S); result = area() + 2 * T.strangeFunction(); return result; נניח עתה כי בתוכנית מסויימת, העצם T מציין משולש במחלקה Triangle אשר קדקודיו נמצאים בנקודות (1,0),(0,1),(1,0-) במישור. מהו ערך המשתנה x לאחר ביצוע ההוראה הבאה: double x = T.strangeFunction(); 0 31/16 1023/512 5/4 3/2 אף תשובה לא נכונה. א. ב. ג. ד. ה. ו. 8

(10 נקודות) MyIntegers נמצא משתנה עצם n מסוג,int ובונה שאלה 7 במחלקה public MyIntegers(int m){n = m; כמו כן נמצאת במחלקה זו שיטה randomprimedivisor() int אשר מחזירה מחלק ראשוני אקראי של המשתנה n כאשר 2 n ומחזירה 1 עבור = 1 n (לא נפעילה עם 0.(n לדוגמה, אם ערך השדה n של העצם x במחלקה MyIntegers הוא 17, אזי x.randomprimedivisor() יחזיר 17, ואילו אם = 60 n אזי יוחזר ערך מבין 2,3,5 (כל אחד בהסתברות שווה). עוד נוסיף למחלקה זו שתי שיטות random1() int וכן random2().int גוף השיטה random1() int הוא: MyIntegers y = new MyIntegers (n / randomprimedivisor()); return randomprimedivisor() * y.random1(); ואילו גוף השיטה random2() int הוא: int l = randomprimedivisor(); MyIntegers y = new MyIntegers (n / l); return l * y.random2(); עתה בחן את קטע הקוד הבא, בו.int הוא משתנה מטפוס m MyIntegers x = new MyIntegers (m); int a = x.random1(), b = x.random2(); לאחר ביצוע קוד זה: m א. ב. ג. ד. ה. ו. המשתנים a ו- b שווים בהכרח. יש (בתיאוריה, אם מתעלמים מכך ש int מוגבל לתחום סופי של מספרים) אינסוף ערכי עבורם a = b בהכרח, וכן יש אינסוף ערכי m עבורם יתכן ש- a. b עבור = 30 m יש 8 תוצאות אפשריות עבור a, ותוצאה אחת בלבד עבור b. עבור = 42 m יש 10 תוצאות אפשריות עבור a, ותוצאה אחת בלבד עבור b. עבור = 109 m יש 5 תוצאות אפשריות עבור a. אף תשובה לא נכונה. 9