שאלת מבחן במבוא למדעי המחשב - האוניברסיטה הפתוחה 2012 - לולאות

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

סעיף א:



אפשרויות:
א) 5.333

ב) 5

ג) 3

ד) יותר מ-10 פעמים

ה) שגיאה
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
האוניברסיטה הפתוחהמועד א22012סמסטר א
לולאותמעקב אחר קוד
כאשר מחלקים double ב-3 שוב ושוב, הוא לעולם לא יגיע בדיוק ל-0 (בגלל ייצוג נקודה צפה). הלולאה תהיה אינסופית?
התשובה: ד) יותר מ-10 פעמים (למעשה, לולאה אינסופית).

הסבר: בחלוקת double ב-3, הערך לעולם לא יגיע בדיוק ל-0.0 בייצוג נקודה צפה (floating point). , , וכן הלאה - הערך ימשיך לקטון אך לעולם לא יהיה בדיוק 0, כי 3 אינו חזקה של 2. לכן התנאי i != 0 תמיד יתקיים והלולאה תרוץ לנצח (או לפחות מספר עצום מאוד של פעמים עד ל-underflow).