שאלון קודגורו 17 – שלב ב'

רשומה רגילה

מה הסיכוי שבשלשלת 30 הדורות האחרונים הייתה סדרה של אב שהוליד בת (בין השאר), שילדה בן (בין השאר), שהוליד בת (בין השאר), שילדה בן…
תשובה: ד

  1. קטן או שווה ל2 בחזקת 30-
  2. בין 2 בחזקת 15- ל2 בחזקת 30-
  3. 0
  4. 1

כמה מעצבי שיער קיימים בת"א [סדר גודל]
תשובה: א

  1. 10^3
  2. 10^4
  3. 10^5
  4. פחות ממאה

מה המשמעות של התג <b> בHTML?

תשובה: א

  1. גופן מודגש Boldface
  2. מעבר עמוד Break Page
  3. צבע סגול Blue Red
  4. מעבר שורה Break Line

אם נתרגם את המספר 1427612400 לזמן, מה נקבל?
תשובה: ב

  1. 1.1.1970 – זמן תחילת שעון UNIX
  2. 29.3.2015 – תחרות קודגורו 16
  3. 31.12.1999 – באג Y2K
  4. 30.6.2015 – תאריך שניה מעוברת

מתי קטע הקוד הקצר לעיל ידפיס OK?
תשובה: א

  1. אם n הוא מספר משוכלל
  2. אם n הוא מספר זוגי
  3. אם n הוא מספר ערפד
  4. אם n הוא מספר ראשוני

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

  1. 31415
  2. 233168
  3. 271828
  4. 4613732

על פי מה ממוינת הרשימה הבאה: codeguru, CODEGURU, Codeguru, CodeGuru?
תשובה: ב

  1. MD5
  2. SHA1
  3. אלפביתית
  4. כל התשובות נכונות

פרוטוקול SSL מספק הגנה בשכבת ה:
תשובה: א

  1. תעבורה Transport
  2. רשת Network
  3. קו Data link
  4. אפליקציה Application

המטרה העיקרית של סרטיפיקטים (בהם משתמשים בין השאר גם בפרוטוקול SSL), הינה:
תשובה: ב

  1. לקבל את זהות השרת
  2. לקשר בין מפתח פומבי, לזהות בעליו
  3. לוודא שכל המידע הנשלח מהשרת הינו שלם ואמין
  4. להעביר בצורה בטוחה מפתח הצפנה סימטרי בין השרת ללקוח

מהי התכונה העיקרית של סרטיפיקט תקין, המאפשרת לו לקיים את מטרתו העיקרית (שהינה התשובה לשאלה הקודמת)?
תשובה: א

  1. חתום ע"י CA אמין
  2. מכיל את זהות השרת, מוצפנת על-ידי המפתח הפרטי של השרת
  3. הסרטיפיקט בהכרח נשלח מוצפן כחלק מהפרוטוקול, ורק לדפדפן ולשרת יש את המפתח, עליו הסכימו קודם, לפיענוח ההצפנה.
  4. הוא מופיע במאגר הבינלאומי של סרטיפיקטים תקינים, המאוחסן בשרתים של מעצמות כגון ארה"ב, אנגליה וסין, ובשרתים של חברות אמינות כגון גוגל, מייקרוסופט וכו'.

* דני נכנס לאתר הבנק שלו, כך שהדפדפן שלו נמצא ב-session מאובטח עם השרת לאחר ביצוע לחיצת יד של SSL. דני התחבר לחשבון הבנק שלו עם הסיסמא שלו. אלי, שרצה לקבל גישה חופשית לחשבון של דני, החליט שבמקום לנסות לגנוב את הסיסמא של דני, הוא פשוט ישמור את כל ההודעות העוברות בין הדפדפן של דני לשרת ולהפך. בפרט, אלי שמר גם את ההודעה המוצפנת המכילה את הסיסמא של דני, אותה הוא מתכנן פשוט לשלוח מחדש לאחר שיגלוש בעצמו לאתר הבנק. האם אלי יוכל לקבל גישה לחשבון של דני?
תשובה: ד

  1. כן, המפתח הפרטי של הבנק נשאר זהה, לכן גם המפתח הפומבי, ומכאן שאלי יוכל פשוט לשדר מחדש את ההודעה המוצפנת עם הסיסמא של דני.
  2. כן, אבל רק אם יגלוש מהדפדפן של דני, משום שה-session שיפתח ישתמש באותם מפתחות הצפנה כמו ממקודם (לחיצת יד מקוצרת).
  3. כן, משום שאלי יוכל לחכות את לחיצת היד שבוצעה מהדפדפן של דני, בגלל זה לא מומלץ להתחבר לחשבונות רגישים ברשת פומבית.
  4. לא, משום שאלי לא יוכל לפתוח session עם שרת הבנק המשתמש באותם מפתחות הצפנה כמו ב-session שהקליט, אפילו אם זה על הדפדפן של דני. זאת משום שהמפתחות נגזרים בין השאר גם מערכים אקראיים שמגרילים השרת והלקוח בכל לחיצת יד.

מהי סיבוכיות הזמן של פעולה 1 (N=guru)?
תשובה: ג

  1. O(2^N)
  2. O(N^2)
  3. O(N)
  4. O(1)

הפעולה השניה שונה מהראשונה בשני תווים. מה מהבאים נכון עבור פעולה 2 אבל לא נכון עבור פעולה 1:
תשובה: א
עבור קלט guru=100, על המחשב הביתי שלכם, הפעולה לא תסתיים גם עד תחרות קודגורו הבאה.
סיבוכיות הזכרון הינה (O(N.
הפעולה מחזירה שתים בחזקת guru
הפעולה מחזירה guru בריבוע
מה סיבוכיות הזמן של הפעולה השניה?
תשובה: א

  1. O(2^N)
  2. O(N^2)
  3. O(N)
  4. O(1)

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

  1. מציאת מסלולים קלים ביותר לצומת יחיד
  2. מציאת עץ פורש מינימלי
  3. בעיית הסוכן הנוסע
  4. כיסוי בצמתים בעלי משקל מינימלי

גרעין מערכת ההפעלה אינו קשור למה מהבאים:
תשובה: ג

  1. קריאות מערכת
  2. זימון תהליכים
  3. מערכת החלונות
  4. דפדוף paging

מה מהבאים אינו עורך טקסט?
תשובה: א

  1. wamp
  2. vim
  3. emacs
  4. notepad++

במשחק החיים התחלנו עם שורה של 7 תאים צמודים, לאחר כמה צעדים נגיע למצב סטטי שאינו משתנה?
תשובה :ב

  1. 19
  2. 14
  3. 7
  4. לעולם לא נגיע למצב כזה

הפרדיגמה של אילו מהשפות הבאות יוצאת דופן
תשובה: ב

  1. Java
  2. Haskell
  3. C#
  4. smalltalk

בלינוקס, אילו מבין ההרשאות הבאות יש לתת לקובץ הרצה כדי שבעליו יורשה לבצע עליו כל פעולה, אך שאר המשתמשים יוכלו רק לקרוא אותו?
תשובה: ג

  1. 0777
  2. 0557
  3. 0744
  4. 0644

ארבעת השאלות הבאות יעסקו בארבעת הפונקציות הקצרות הבאות, הכתובות ב-C. כל הפונקציות מבצעות את אותו הדבר. הניחו כי MAX מוגדר וכי תמיד guru שונה מ-0:

מה מחשבות ארבעת הפונקציות?
תשובה: ב

  1. המספר בעל אינדקס guru בסדרה חשבונית
  2. המספר בעל אינדקס guru בסדרת פיבונאצ'י
  3. הראשוני ה-guru
  4. אלגוריתם הצפנה כלשהוא

*מה יקרה אם בקטע קוד 2 נשמיט את המילה static?
תשובה: ב. אם נשמיט את המילה staticc המערך יוקצה על המחסנית ויכיל ערכים לא ידועים.

  1. הקוד לא ייתקמפל
  2. הקוד עלול להחזיר תוצאות שגויות
  3. הקוד יהיה פחות יעיל משמעותית, אך נכון.
  4. תהיה רקורסיה אינסופית

מהי הפונקציה הכי יעילה בזמן?
תשובה: ד

  1. 2
  2. 3
  3. 4
  4. תלוי במספר הפעמים שמריצים את הפונקציות ובקלטים שניתנים

מה מהבאים הינו מיון נכון מבחינת יעילות זכרון? מיעילה (שמאל) לפחות יעילה:
תשובה: א

  1. 4,1,2
  2. 4,2,1
  3. 1,4,2
  4. 1,2,4

**מה זה? http://pastebin.com/NJvpbeku
תשובה: א. במבחן ניתן הרמז: "Javascript". תוצאת ה-eval הינה מחרוזת של קידודי ascii, שכאשר תורגמוו לטקסט, חשפו (כמעט) את התשובה הנכונה.

  1. ripcord
  2. de ja vu
  3. fibonacci
  4. linus torvalds

איזו מהפקודות הבאות איננה פקודת 8086 חוקית?
תשובה: ד

  1. AAA
  2. MOV
  3. MUL
  4. NOR

ב-80X86, כמה ביטים יש לאוגר AH?
תשובה: ב

  1. 4
  2. 8
  3. 16
  4. 32

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

  1. 0 או 1
  2. כל מספר חוץ משלוש
  3. 0, 1, 4 או 5
  4. כל מספר מאפס עד שבע

כמה פתרונות, במספרים שלמים שונים, יש למשוואה X^Y = Y^X
תשובה: ב

  1. 0
  2. 2
  3. 3
  4. אינסוף

מצא מספר שמתחלק ל-11 בשארית 3 ול-37 בשארית 6:
רוב המתמודדים כתבו 80. כל מספר שקול ל-80 מודולו 407 יעבוד כאן.
מצא מספר ארבע ספרתי שתרגומו לבסיס 16 נותן תמורה של אותן הספרות, ואם תחלק אותו ב-2, תקבלל מספר נוסף שמקיים את אותה תכונה:
תשובה: 8200. תרגומו להקסדצימלי: 2008. אם נחלק ב-2: 4100, שתרגומו להקסדצימלי: 10044.

שאלון קודגורו 5 – שלב ב'

רשומה רגילה

1. כיצד ניתן לגרום לתוכנית C לרוץ מהר יותר?

  • כתיבת חלקים ממנה בשפת מכונה
  • ייעול אלגוריתמי
  • מעבר מ – debug ל – release
  • כל התשובות נכונות

2. מתי יצא המשחק Half Life?

  • 1995
  • 1998
  • 2001
  • 2003

3. מה לא שייך:

  • Kazaa
  • Freeware
  • iMesh
  • eDonkey

4. מה התחיל את תופעת התוכנות השיתופיות :

  • Kazaa
  • download.com
  • matrix
  • napster

5. RTFM הוא:

  • פרוטוקול מייל בין אירופה לאמריקה
  • Reply Transatlantic Forwarder Manual
  • ראשי התיבות האמיתיים של ביל גייטס
  • Read the Fine Manual

6. ל – BSD ישנו שדון, כמו שללינוקס יש:

  • מלאך
  • פינגווין
  • תוכניתן
  • Microsoft

7. סמן/י את היחס יוצא הדופן:

  • LCD ? VRAM
  • Java ? C#
  • Itanium2 ? Power4
  • MPEG2 ? AVI

8. כיצד נצא מערוץ בפרוטוקול IRC ?

  • KICK ME
  • PART
  • LEAVE
  • CANCELJOIN

9. מה מבין הבאים לא הומצא במעבדות בל?

  • שפת C
  • שפת C++
  • שפת LISP
  • Unix

10. לינוס טורוולדס הוא:

  • מארגן אירוע הקוד-גורו
  • שבט בדואי
  • אבי מערכת לינוקס
  • כל התשובות נכונות

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

  • 512 סנט (בבסיס אוקטלי)
  • 100111 סנט (בבסיס טרנארי)
  • 128 סנט (בבסיס הקסדצימלי)
  • 11111111 סנט (בבסיס בינארי)

12. מה מהבאים יוצא דופן?

  • NULL
  • NIL
  • None
  • void

13. מה היתה גרסת MS-DOS האחרונה שיצאה במערכת הפעלה נפרדת?

  • 6.22
  • 3.11
  • 98
  • OS/2

14. יוצא הדופן הוא:

  • Power5
  • Opteron
  • AthlonXP
  • Itanium2

15. למעבדים מודרניים הספק אנרגיה בתחום:

  • ננו-ואטים
  • מיקרו-ואטים
  • ואטים
  • קילו-ואטים

16. הסיבה העיקרית לשילוב DSP במערכות היא כדי:

  • לשלוט על שאר המערכות
  • לבצע חישובים על אותות דיגיטאליים
  • לחסוך בכסף היות ורכיבי DSP זולים ממעבדים כלליים
  • לבצע תקשורת אלחוטית ע"י האנטנות המובנות ב – DSP

17. טרנזיסטור הוא:

  • אנטנת תקשורת בתחום תדרי הרדיו
  • מגבר דיגיטאלי
  • מתג חשמלי
  • אל-מוליך

18. רוב הזיכרון על לוח האם הוא מסוג DRAM היות ו –

  • DRAM הוא בלתי-נדיף
  • DRAM מהיר מ – SRAM
  • SRAM בזבזני יותר בהספק בגלל הצורך בריענון
  • הודות לצפיפותו, הוא זול משמעותית מ – SRAM

19. השימוש הרב ביותר הטכנולוגיות OLAP יימצא קרוב לוודאי:

  • במערכות תוכנה הנדסיות
  • במערכות תוכנה ניהוליות ופיננסיות
  • במערכות תוכנה ביואינפורמטיות
  • במערכות תוכנה קריטיות

20. יוצא הדופן הוא:

  • DFS, כי הוא לא קשור לרשת
  • HFS, כי הוא לא קשור לגרפים
  • BFS, היא הוא לא שם של מדען
  • Dijkstra, כי הוא לא שם של אלגוריתם

21. איזה מהמושגים הבאים אינו קשור ישירות ל – HPC?

  • Grid
  • T-Flops
  • Condor
  • NAT

22. משמעותו של המושג NRE היא:

  • טכנולוגית מסכים חדשה המבוססת על ניאון
  • השקעה חד פעמית בפיתוח
  • אחת השיטות המיושמות בפילטרי SPAM
  • טכנולוגיית הצפנה משנות ה – 60

23. יוצא הדופן הוא:

  • AES
  • MD5
  • PHP
  • DES

24. מהם &Omega;, &Theta;, O?

  • חסם עליון, חסם צמוד, חסם תחתון
  • חסם עליון, חסם תחתון, חסם צמוד
  • חסם צמוד, חסם עליון, חסם תחתון
  • חסם צמוד, חסם תחתון, חסם עליון

25. איזה מהפעולות הבאות תמחק איבר x מ – MIN-HEAP?

  • DecreaseKeyTo(x, 0), ExtractMin()
  • IncreaseKeyTo(x, Inf), ExtractMax()
  • DecreaseKeyTo(x, -Inf), ExtractMin()
  • SwapKeys(x, root), ExtractRoot()

26. מה הגובה הצפוי של עץ חיפוש אליו הוכנסו איברים אקראיים (ללא פעולות איזון)?

  • ליניארי
  • לוגריתמי
  • שורשי
  • מעריכי

27. מיון טופולוגי אפשר לבצע על:

  • מפת גבהים
  • רשימת מטלות
  • מערך של שברים
  • מטריצה ריבועית

28. אם A היא מטריצה בוליאנית המייצגת גרף, מה מייצגת Ak?

  • אורכי מסלולים קצרים דרך קדקודים מהקבוצה {V1, …, Vk}
  • מספר מסלולים באורך k בין כל זוג נקודות
  • k קבוצות קשירות זרות עבור קדקודים מדרגות 1 עד k
  • מספר זוגות הקודקודים עבורם המרחק מתחלק ב – k

29. מה יקרה אם נריץ את האלגוריתם של דייקסטרה על גרף שיש בו קשתות בעלות משקל שלילי?

  • תיווצר בעיה רק אם קיימים מעגלים שליליים שניתן להגיע אליהם מנקודת המקור (ואז המסלול הקצר לנקודות מסוימות אינו מוגדר)
  • המסלולים שיימצאו עבור חלק מנקודות היעד עלולים לא להיות המסלולים הקצרים ביותר אליהן
  • האלגוריתם עלול להיכנס ללולאה אינסופית
  • תוך כדי ריצת האלגוריתם הוא עלול לחשב מסלול קצר ארוך מדי עבור נקודות יעד מסוימות, אבל מסלולים אלו יתוקנו עד סיום הריצה

30. בהתחשב בחוק מור, מה צפוי להיות שיעור הכיווץ הממוצע (באחוזים) של קבצים רנדומליים בשנת 2132?

  • 0
  • lg(2132-2004)
  • 20.04
  • 50

31. מה מהבאות היא פעולת עזר בסיסית המשמשת לאיזון עצים?

  • סיבוב
  • הזזה
  • שיקוף
  • הגדלה

32. איזה מבנה נתונים מזכיר הנחש מהמשחק "snake"?

  • Stack
  • Queue
  • Deque
  • Random-Access-Array

33. מה משמעות האמירה שהאלגוריתם רץ בזמן (&Omega;(n2?

  • לא יותר מריבועי
  • לא פחות מריבועי
  • בדיוק ריבועי
  • כל התשובות נכונות

34. מהו זמן הריצה שדרוש כדי לגלות האם קיימים שני מספרים בסדרת קלט של n איברים שסכומם זוגי?

  • O(1)
  • O(sqrt(n))
  • O(n)
  • O(n2)

35. המחרוזת iffff yoouuu wiiishhh upooon a staaaar
נדחסה: i*4f y*2o*3u w*3is*3h up*3on a st*4ar
באיזה שיטת דחיסה השתמשנו?

  • LZW
  • RLE
  • HUFFMAN
  • XDR

36. מה היא הצורה הגיאומטרית של המשוואה 3×2+y2=3?

  • אליפסה
  • עיגול
  • משולש
  • היפרבולה

37. בכמה דרכים יכולים עשרה אנשים סביב שולחן עגול ללחוץ ידיים מבלי לחצות ידיים?

  • 22
  • 32
  • 42
  • 1024

38. מה ספרת האחדות של מכפלת כל המספרים האי-זוגיים מאחת עד מאה?

  • 0
  • 1
  • 5
  • 9

39. בתקשורת סיריאלית (RS232) בין מחשבים, מתי נעדיף להשתמש בתווי XON/XOFF כאמצעי לויסות זרם המידע העובר בקו?

  • כשבקווים יש שיבושים
  • כשרוצים להגדיל את הקיבולת
  • כשרוצים לחסוך בחוטים בתוך הכבלים
  • כשמשתמשים בחוצצים (buffers) גדולים

40. מה מוגדר בתקני IEEE 802.11?

  • Wireless LAN
  • 10 Gigabit Ethernet
  • MAN – Metropolitan Area Networks
  • שימוש בסיבים אופטיים ברשתות תקשורת נתונים

41. המסמך RFC 1149 שיצא באפריל 1990 מציע תקן חדש להעברת הודעות IP בין שתי נקודות שאין ביניהן חיבור פיזי. מהו אמצעי התקשורת המוצע במסמך זה?

  • גלי אינפרה-אדום
  • גלי רדיו, FM
  • גלי קול אולטרא-סונים
  • יוני דואר

42. בהמשך לשאלה הקודמת – בניסוי הראשון לבדיקת הטכנולוגיה המוצעת במסמך, מה היה הזמן שלקח להודעות PING לעבור ולחזור?

  • בערך בין 20 ל – 40 נאנו-שניות
  • בערך בין 300 ל – 950 מילישניות
  • בערך בין 3000 ל – 6500 שניות
  • הניסוי כשל, ה – Ping לא חזר בכלל

43. על איזה ערך יכול להעיד הPING בניסוי?

  • Path Latency
  • Bandwidth
  • Throughput
  • Baudrate

44. איזה הודעה נשלח על מנת לבצע PING?

  • הודעת IP פשוטה, כאשר ה – Source הוא כמו ה – Destination (וכך ההודעה חוזרת לנקודת ההתחלה)
  • הודעת ICMP ECHO
  • הודעת SNMP GET-REQUEST לקבלת הערך של 1.3.6.1.4.6
  • הודעת IP עם ערך פרוטוקול של 23 (פרוטוקול PING)

45. SSL הוא:

  • משחק מתוך ה accessories\games
  • ששששש… באנגלית
  • Secure protocol
  • Super Sexy Lingerie

46. האם אפשר לממש שער NAND באמצעות שערי AND בלבד? ולהיפך?

  • כן, כן
  • כן, לא
  • לא, כן
  • לא, לא

47. אם g(x, y) = f(f(x,y), f(x,y)), מה לא יכול להיות?

  • f=AND, g=AND
  • f=NAND, g=NAND
  • f=NAND, g=AND
  • f=NOR, g=OR

48. מה המשמעות של:
0100001101101111011001000110010101000111011101010111001001110101

  • המספרבבינארית
  • קדימון למטריקס 4
  • המספר 8 בבסיס 4
  • CodeGuru

49. בספר "המדריך לטרמפיסט בגלקסיה", המחשב Deep thought קובע שהתשובה לשאלת כל השאלות היא 42. בספר ההמשך "המסעדה בקצה היקום" מתגלה ששאלת כל השאלות היא "כמה זה 6 כפול 9".
באיזה בסיס ספירה התשובה 42 היא אכן נכונה?

  • 11
  • 13
  • 14
  • הטענה שקרית. 6 כפול 9 לעולם יהיה גדול מ – 42

50. מה פרוש המחרוזת הבאה:
Q29kZUd1cnU=

  • הגדרה ב – win.ini
  • שם תחרות ב – Base64
  • תוכנית מיון ב – C++
  • התחלה של קובץ CPL

51. מה יהיה ערכו של המספר 3.141 (IEEE 754) בזיכרון בתור מספר ארוך (ulong)?

  • 0x4013f7cf
  • 0x3f00fa00
  • 0x40490625
  • 0x44a80798

52. נתון קטע הקוד הבא:

float a=12345678901234567890f, x=0;
for (x=0; x<a; x++);

  • הלולאה לא תסתיים לעולם
  • הלולאה תסתיים אחרי הרבה מאוד זמן
  • הלולאה לא תרוץ אפילו פעם אחת
  • משתנה מסוג float אינו יכול להכיל מספר גדול כ a

53. מה עושה קוד האסמבלי 80×86 הבא:

neg eax
not eax

  • מוסיף 1 ל – eax
  • מחסר 1 מ – eax
  • לא משנה את eax
  • ערך מוחלט ל – eax

54. כמה פקודות לפחות צריך בשביל לחשב באסמבלי 80486 את הביטוי:
y = 3x + 5

  • 1
  • 4
  • 5
  • 9

55. נתון כי AX מאופס. איזה פקודה מבין הפקודות הבאות היא הפקודה הכי קצרה אשר תאפס את DX?

  • MOV DX, AX
  • AND DX, 0
  • CWD
  • DAA

56. מה מבצע הקטע הבא?

CWD
XOR AX,DX
SUB AX,DX

  • מחבר את AX ו – DX תוך שימוש בפעולות לוגיות בלבד
  • מחשב מי יותר גדול מבין AX ו – DX
  • מבצע ערך מוחלט
  • מוצא את הממוצע של AX ו – DX

57. מה נכון לומר על הערך של AX לאחר הרצת הקוד הבא:

NEG AX
DEC AX
SBB BX,BX
XOR AX,BX

  • הערך ישתנה תמיד
  • הערך ישתנה עבור כמחצית מהערכים שניתן לשים ב – AX
  • הערך כמעט תמיד לא ישתנה
  • הערך תמיד לא ישתנה

58. איזה פקודה יותר קצרה מבחינת גודל בבתים: XOR AL, 0 או XOR DH, 0?

  • הראשונה בגלל שהאסמבלר מתרגם אותה לפקודה בגודל בית אחד
  • השנייה, בגלל שלא צריך את בית ה – ModR/M
  • הראשונה בגלל שלא צריך את בית ה – ModR/M
  • הראשונה בגלל שאי-אפשר לעשות פעולת XOR על אוגר בגודל 8 סיביות

59. מה קורה אם הפונקציה הבונה היחידה של מחלקה מוגדרת כ – private:

  • ייווצר default constructor
  • לא ניתן להגדיר פונקציה בונה כ – private
  • ניתן יהיה ליצור אובייקט מסוג זה רק מתוך פונקציה סטטית של אותה המחלקה
  • לא ניתן יהיה לרשת ממחלקה זו, ואי אפשר יהיה ליצור אובייקט מסוג זה בכלל

60. מה יודפס לאחר ביצוע קוד C הבא?

int arr[4] = {100,
132,
012,
412};
printf("%d", arr[2]);

  • 132
  • 12
  • 10
  • 4

61. איזה פונקציה מאפשרת להקצות זיכרון על גבי המחסנית בשפת C?

  • malloc
  • _alloca
  • calloc
  • אין כזה דבר

62. איזה מבין התכונות הבאות לא מובנית לתוך שפת Java?

  • הורשה
  • Interfaces
  • פונקציות סטטיות
  • הורשה מרובה

63. כיצד נשחרר מערך שהוקצה ב – C++ בעזרת new?

  • delete []
  • delete
  • free
  • הזיכרון משוחרר אוטומטית

64. איזה מבין השפות העיליות הבאות תומכת בפקודות האסמבלי ROL/ROR?

  • C++
  • Pascal
  • C#
  • אף תשובה לא נכונה

65. Lilo & Grub הם:

  • OS Loaders
  • שחקני קולנוע
  • דמויות ממאטריקס
  • תוכנות אינטרנט

66. איזה מבין הבאים הוא סדר פעולות נכון בעבודה עם אזור בזיכרון הווירטואלי בWin32?

  • Commit, Reserve, Decommit, Free
  • Commit, Reserve, Free
  • Decommit, Reserve, Commit, Free
  • Reserve, Commit, Free

67. בכמה מגה-בתים תומך FAT12 לכל היותר?

  • 8
  • 12
  • 16
  • 32

68. בכמה מגה-בתים תומך FAT16 לכל היותר?

  • 512
  • 1024
  • 2048
  • 4096

69. מה גודל ה – cluster הכי גדול ש – FAT32 תומך בו?

  • 4KB
  • 8KB
  • 32KB
  • 96KB

70. איזה פסיקה בלינוקס שקולה לפסיקה מספר 0x21 של DOS?

  • 0x10
  • 128
  • 7fh
  • $50

71. איזה פסיקה ב – DOS משמשת ל – IPX?

  • 0x14
  • 0x2f
  • 0x21
  • 0x7a

72. באיזה מהבאים Windows איננו משתמש כדי לבצע ring transition (מעבר מ – kernel mode ל – user mode)?

  • SYSENTER
  • SYSEXIT
  • INT 2E
  • INT 21

73. במקום Polling עדיף:

  • לדחוס את הדיסק
  • לבצע Multicast
  • לבצע החלטות בצורה מבוזרת
  • להשתמש במנגנון הפסיקות

74. נבצע profiling כדי:

  • לשפר את מהירות התכנית
  • לאפשר לכמה משתמשים להשתמש באותו מחשב
  • להשוות בין קבצים
  • להעתיק ולתייק קבצים

75. נשתמש ב – CCD כדי:

  • להאיץ גרפיקה
  • לשלוח אימייל
  • לצלם תמונות
  • להאריך את חיי הסוללה של PentiumM

76. Prescott:

  • היה ממציא דגול
  • היה שחקן בייסבול
  • הוא מיקרופרוססור חדש
  • הוא שם קוד לטכנולוגיה חדשה של מיקרוסופט

77. אנו רואים קשת בענן הודות ל –

  • תופעת אי הודאות
  • חוק סנל
  • גרביטציה
  • כל התשובות נכונות

78. נתונות שתי גיטרות, אחת באורך מטר והשנייה באורך מטר וחצי. גיטרה היכולה לנגן את כל הצלילים של שתי הגיטרות הראשונות צריכה להיות בעלת אורך:

  • חצי מטר
  • מטר
  • מטר וחצי
  • שלושה מטרים

79. השמים כחולים היות ו –

  • הים כחול
  • הקרינה הקוסמית מכיוון השמש כחולה
  • השכבה העליונה של האטמוספרה כחולה
  • פיזור האור הכחול המגיע מהשמש

80. הים כחול כי:

  • השמים כחולים
  • קרקעית הים כחולה
  • מתקיים חוק סנל
  • מי הים המלוחים כחולים

81. הכוכבים בשמים נוצצים היות ו –

  • הכוכבים לא נוצצים, זו אשליה אופטית של העין האנושית
  • מדי פעם מסתירים אותם גרמי שמים אחרים
  • לחץ האוויר באטמוספרה לא קבוע
  • עוצמת הכוכבים אינה קבועה בזמן

82. מה עושה קטע הקוד הבא?

mov cx, 1
start:
xchg ax, cx
test bx, bx
jz end
mov di, cx
shr bx, 1
sbb si, si
and di, si
add di, si
inc di
mul di
xchg ax, cx
mul ax
jmp start
end:

  • ריבוב שני אוגרים (על פי אוגר שלישי)
  • העלאה בחזקה
  • פרמוטציה ביטית של אוגר יחיד (לפי האינדקס הלקסיקוגרפי של הפרמוטציה)
  • אף תשובה אינה נכונה

83. ברשותך קערה ובה N כדורים. לכל כדור צבע אחר. בכל שניה נבחרים שני כדורים באקראי, הכדור השני נצבע בצבע של הכדור הראשון והם מוחזרים לקערה. תוך כמה שניות צפויים כל הכדורים להיות באותו הצבע?

שאלון קודגורו 5 – שלב א'

רשומה רגילה

1. מה זה "כרוכית"?

  • &
  • @
  • ©
  • כל התשובות נכונות

2. סדר את שלושת הגדלים על פי הסדר, מהקטן לגדול: גרגירי אורז בק"ג אורז, פיקסלים במסך טלוויזיה, מספר הטרנזיסטורים במעבד פנטיום.

  • גרגרים, פיקסלים, טרנזיסטורים
  • פיקסלים, טרנזיסטורים, גרגרים
  • טרנזיסטורים, גרגרים, פיקסלים
  • כולם שווים

3. מה עושה קוד האסמבלי 80×86 הבא:

not eax
neg eax

  • מוסיף 1 ל eax
  • מחסר 1 מ eax
  • לא משנה את eax
  • ערך מוחלט ל eax

4. מה היא הצורה הגיאומטרית של המשוואה 3x2-y2 =3?

  • מעגל
  • אליפסה
  • משולש
  • היפרבולה

5. מה ידפיס הקטע בשפת C הבא?

int a = 1, b = 2, c = 3, d = 4;
a,b,c,d = d,c,b,a;
printf("%d-%d-%d-%d", a, b, c, d);

  • 4-3-2-1
  • 1-2-3-4
  • 4-3-2-4
  • 1-3-2-1

6. כמה פרשים לכל היותר ניתן להציב על לוח שחמט בלי ש אף אחד מהם יאיים על אחר?

  • 4
  • 8
  • 16
  • 32

7. מה מדפיס קטע הקוד הבא?

int j = 5;
while(j-- >= 2)
{
printf("%s\n", "%%%%%%%"); /* we use %s\n to
printf("%s\n", " %%%%% "); * avoid typing
printf("%s\n", " %%% "); * double percentage
printf("%s\n", " % "); * signs, because
if(j == 1) continue; * printf uses %
printf("%s\n", " %%% "); * as an escape code
printf("%s\n", " %%%%% "); */
printf("%s\n", "%%%%%%%");
printf("\n");
}

  • 4 שעוני חול
  • 3 שעוני חול
  • 4 מלבנים
  • 3 שעוני חול ומשולש אחד

8. מהי הצורה הזולה ביותר להדפיס עמוד שחור-לבן כתוב צפוף?

  • הזרקת דיו
  • מדפסת לייזר
  • לשלם שכר מינימום לאדם שיכתוב בכתב יד
  • אין הבדל

9. מה נמדד בערך ה – BaudRate?

  • כמות הביטים שניתן להעביר בשניה (אין הבדל בין buadrate ל bitrate)
  • כמות הבייטים שניתן להעביר בשניה
  • מספר שינויים באות התקשורת בשניה (כגון שינוי בתדר)
  • כמות הזרם שניתן להעביר דרך קו תקשורת מבלי לשרוף את הרכיבים שבו, ומבלי להכניס שגיאות תקשורת לקו

10. מה הבעיה עם תוכנית C הבאה:

main()
{
double x = 2.5, y = 5.0, z = 0;
double *px = &x, *py = &y, *pz = &z;
*pz=*py/*px;
}

  • יעוף כי יש חלוקה ב 0
  • לא יעבור הידור כי חסר תו-רווח
  • קדימות אופרטורים
  • אין בעיה

11. במה הגדלת רוחב פס לשני הכיוונים לא עוזרת:

  • הורדת מידע מהירה יותר
  • אפשרות לאחסן קבצים גדולים יותר
  • העלאת מידע מהירה יותר
  • שליחת דואר מהירה יותר

12. חבילת SAMBA ביוניקס:

  • מבצעת תזמון תהליכים אדפטיבי
  • מאפשרת שיתוף קבצים ומדפסות בין רשתות יוניקס ומיקרוסופט
  • אחראית על הפצת שמות משתמשים וסיסמאות ברשת המקומית
  • מאפשרת הקמת אתרי אינטרנט

13. מהו זמן הריצה שדרוש כדי לגלות האם קיימים שני מספרים בסדרת קלט של n איברים שסכומם אי-זוגי?

  • (O(1
  • ((O(sqrt(n
  • (O(n
  • (O(n2

14. מה עושה הקוד האסמבלי 80×86 הבא:

neg eax
sbb eax, eax
neg eax

  • ממיר ממספר שלם לערך בוליאני
  • מאפס את ערך האוגר eax
  • משנה את eax ל 1
  • ממיר מספר שלם לערך הנגדי

15. מה מהבאים לא נכון לומר על רשימות מקושרות?

  • כל איבר ברשימה מכיל מצביע לאיבר הבא אחריו
  • ברשימה מקושרת דו-כיוונית יש לכל איבר 2 מצביעים
  • כל רשימה מקושרת(חד כיוונית) היא למעשה מקרה פרטי של עץ בינארי
  • הגישה לאיבר הN ברשימה מתבצעת בסיבוכיות זמן קבועה, בלי תלות ב – N

16. מה מהבאים איננו פיתוח של חברת Sun Microsystems?

  • Solaris
  • Java
  • פרוטוקול NFS
  • Javascript

17. *עבור אילו ערכי BX, יודפס התו 'y' לאחר הרצת קוד האסמבלי 80×86 הבא?

MOV AH,02
MOV DL,'y'
NEG BX
JNO PRINT
MOV DL,'n'
PRINT:
INT 21

  • כל הזוגיים
  • כל השליליים
  • רק איבר אחד
  • קיימים שבעה ערכים

18. בפרוטוקול התקשורת "TCP", מה קורה כאשר הTTL בכתובת IP מגיעה ל0:

  • תשלח הודעת ICMP Destination host unreachable
  • תשלח הודעת Time Exceeded
  • ההודעה תיזרק ללא שום הודעה, שכן שכבה 3 איננה מבטיחה אמינות
  • הTTL יחזור חזרה ל255, ויודלק ביט מיוחד המעיד על Overflow

19. מה זה Heap?

  • מבנה נתונים שמאפשר להכניס נתונים ולשלוף את האיבר המינימלי
  • אזור בזיכרון שמתבצעות בו הקצאות דינמיות
  • מימוש של תור-קדימויות
  • כל התשובות נכונות

20. Java ל Sun, זה כמו C# ל:

  • תפוד
  • מיקרוספט
  • סטיבי וונדר
  • מדפסות
  • 21. *האם ניתן לממש רשימה דו-מקושרת באמצעות מצביע בודד בכל איבר?
  • כן, אבל אז צעידה אחורה חייבת להיות בזמן ליניארי
  • לא, מכיוון שהקשר לאיבר הקודם אובד ולא ניתן לשחזרו
  • כן, צעידה לשני הכיוונים יכולה להתממש בזמן קבוע ע"י שימוש בשני איטרטורים
  • כן, באמצעות שמירת מצביע לסוף הרשימה

22. באיזה שנה הומצא הטרנזיסטור הראשון?

  • 1906
  • 1947
  • 1953
  • 1976

23. מהו המספר המינימאלי של השוואות שמספיק כדי למצוא את גם המינימום וגם את המקסימום מבין 2004 מספרים?

  • 3004
  • 4008
  • 12
  • 3006

24. המשך את הסדרה:

Pascal, readln, println, C, scanf,…

  • 101
  • writeln
  • ++C
  • Bsd UNIX

25. מנגנון ה garbage collection נועד:

  • לנקות את ספרית TEMP במערכת הפעלה חלונות
  • לשחרר את הזיכרון הדינאמי שלא נותרו אליו מצביעים
  • למנוע שליחת חבילות IP כפולות ברשת
  • לסנן דואר זבל בתוכנת "Outlook"

26. המעבדים המודרניים משתמשים בזיכרון מטמון על מנת:

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

27. המחשב שלך תקין לחלוטין , אבל אין לך שליטה על העכבר , וישנה פעילות מוזרה בפורט 12345 , כנראה:

  • DOOM רץ ברגע, לכן אין שליטה בעכבר
  • הפסקת חשמל בין ה-CPU לזיכרון
  • מקש לחוץ במקלדת מרגע הדלקת-המחשב
  • פרצו אליך בעזרת אחד ויש לך סוס טרויאני פעיל במערכת

28. כיצד נשחרר מערך שהוקצה בjava בעזרת new?

  • delete
  • free
  • dealloc
  • הזיכרון משוחרר אוטומטית

29. מה יהיה ערכו של Y לאחר קוד ה-C הבא:

Y = 1;
Y += (Y = 0 ? 5 : 2);

  • 5
  • 4
  • 6
  • 3

30. נשתמש בטכנולוגית השן הכחולה כדי

  • להתחבר לאינטרנט דרך ADSL
  • לתקשר אלחוטית לטווח קצר
  • להקרין תמונה על קיר
  • לשדר אינפורמציה בין יבשות

31. מה משותף ל 0x72, 0x74, 0x76, 0x70?

  • כולם אותיות קטנות ב ASCII
  • כולם קפיצות מותנות באסמבלי של 80×86
  • כולם מספרים פריקים
  • כל התשובות נכונות

32. איזה מהפעולות הבאות תבצע כפל של מספרים בייצוג fixed point 16.16?

  • x>>16)*(y>>16))<<16))
  • x*y)>>16)
  • x>>16)*y)
  • x*y

33. *מה יותר גדול – המשכורת הממוצעת בעולם, או ממוצע המשכורת הממוצעת בכל מדינה?

  • תמיד המשכורת הממוצעת
  • תמיד ממוצע הממוצעים
  • תמיד שווים
  • תלוי בגדלי המדינות

34. מה מחשבת הנוסחה הבאה עבור x שלם בן 32 סיביות:

x - x/2 - x/4 – x/8 – x/16 – x/32 - … - x/232

  • תמיד אפס
  • זוגיות מספר הסיביות הדלוקות
  • מספר הסיביות הדלוקות
  • זוגיות מספר הסיביות הכבויות

35. כשנתחבר לשרת אי-מייל בפרוטוקול SMTP בשביל לשלוח אי-מייל, הדבר הראשון שנשלח הוא:

  • HELO
  • WELCOME
  • SHALOM
  • WYSIWYG

36. מה הבעיה בקוד C הבא:

struct s{
char *x;
int y;
};

struct s list[] = {{"hello", 5}, {"test", 4}, {"end", 3}};
for (int i = 0; i < sizeof(list); i++) {
if (list[i].y > 0) printf("%s(%d)", list[i].x, list[i].y);
}

  • המשתנה i מוגדר ב – scope לא נכון
  • sizeof זה מאקרו שלא מתחשב באיטרטורים
  • list היא מילה שמורה בשפת C
  • בזמן ריצה תהיה חריגה מהמערך

37. התיקון לשאלה הקודמת יהיה:

  • להגדיר "int i;" בשורה חמישית
  • (define sizeof(13 #
  • לשנות מ – list ל – mist
  • (sizeof(list)/sizeof(s

38. מה עושה הביטוי (0xa08a28ac & (1 << x ?

  • בודק האם מספר בן 5 סיביות הוא ראשוני
  • מחלץ פיקסל מתמונה של נגטיב של חתול
  • בודק, לפי אינדקס מצד ימין, האם flag מסוים הוא flag אריתמטי
  • בודק האם x מצביע לזיכרון שהוא "paged-in"

39. כמה זמן ברציפות יכולה סוללה רגילה של 9 וולט להפעיל נורית של 2 וואט?

  • שניות ספורות
  • שעות ספורות
  • ימים ספורים
  • שנים ספורות

40. הרצת "df" ביוניקס:

  • תדפיס את המקום החופשי על ההתקנים במחשב
  • תבצע איחוי לדיסק הקשיח
  • תדפיס את רשימת התהליכים שרצים ברקע
  • תדפיס הודעת שגיאה

41. מה יהיה ערכו בקירוב של הערך 0x4313756D בתור float בסטנדארט IEEE 754?

  • 147.458
  • 123.321
  • 431.375
  • 228.149

42. סיבוכיות מיון אלפא-בתי של n מילים בעלות גודל משתנה הוא לכל הפחות:

  • (O(10*n
  • (O(n*logn
  • (O(logn
  • (O(n2

43. נשתמש בעץ בינארי מאוזן כדי:

  • לבצע חיפוש בסיבוכיות (O(logn
  • להכפיל מספרים ממשיים ביעילות
  • לממש תוכנית שתפקידה חישוב חזקות של מספרים ממשיים
  • לשמור נתונים שאח"כ נצטרך לגשת אליהם בצורה סדרתית

44. פרוטוקול SSL משתמש:

  • בהצפנה סימטרית
  • בהצפנה אסימטרית
  • א ו-ב נכונות
  • בהצפנה קוונטית

45. בסוף הפונקציה (f(long a, long b תתבצע פקודת האסמבלי: RET 8  וזאת על מנת להוריד את שני המשתנים a ו – b מהמחסנית. הפונקציה printf לעומת זאת, יכולה לקבל מספר משתנה של פרמטרים.
כיצד אם כן יודע הקומפיילר איזה ערך לשים בפקודה RET N?

  • הערך נקבע על פי הפרמטר הראשון שמועבר לprintf
  • הפונקציה שקוראת לprintf תתטפל בניקוי המחסנית
  • עבור כל קריאה לprintf, הקומפיילר יודע להכין פונקציה שונה
  • הקומפיילר משתמש בטכניקות של קוד המשנה את עצמו, על מנת לעדכן את הקוד בזמן ריצה

46. מה תפקידה של טבלת ARP?

  • לקשר בין כתובת IP לכתובת פיזית
  • טבלת Gateways
  • טבלת סטטיסטיקה על קצב התקשורת
  • לקשר בין שם Host לבין כתובת הIP

47. מה הבעיה בקטע קוד C הבא?

struct sockaddr_in sin;
int s;
s = socket(AF_INET, SOCK_DGRAM, 0);
sin.sin_port = 8000;
sin.sin_addr.s_addr = INADDR_ANY;
bind(s, (struct sockaddr *) &sin, sizeof(sin));

  • מספר Port של TCP על גבי UDP
  • שימוש ב – AF_INET במקום AF_TCPIP
  • חוסר פורטביליות בין מעבדים
  • sizeof על struct שגודלו נקבע בזמן ריצה

48. מהי עלות החשמל להשאיר מחשב אישי דלוק משך לילה שלם

  • אגורות ספורות
  • שקלים ספורים
  • יותר ממאה ₪
  • תלוי ב screen-saver

49. מה עושה קטע הקוד הבא בשפת 80×86?

XOR AX,AX
XOR DH,DH
TRY: CMP CL,1
JBE LASTA
MOV DL,[SI]
SUB DL,"0"
ADD AX,DX
MOV BX,AX
SHL AX,1
SHL AX,1
SHL AX,1
ADD AX,BX
ADD AX,BX
INC SI
LOOP TRY
LASTA: MOV DL,[SI]
SUB DX,"0"
ADD AX,DX
RET

  • סופר סכום ספרות
  • מבצע כפל של מספרים גדולים
  • ממיר מחרוזת מספרית למספר
  • ממיר מבסיס עשרוני לבסיס אוקטלי

50. ככותב קטע הקוד בחר להשתמש בפקודה XOR DH, DH, שכן הערך בDL משתנה מיידית, ואין צורך לאפסו.
האם במקרה זה XOR DH, DH היא הפקודה הכי קצרה אשר מאפסת את DH(ושאינה פוגעת בתפקוד התוכנית)?

  • כן, וזוהי גם הפקודה הכי מהירה.
  • כן, שכן פעולות אחרות דורשות אופרנד מיידי של בית אחד או יותר
  • לא, עדיף להשתמש בMOV DH, 0
  • לא, ישנה פקודה קצרה יותר אשר תאפס את DH

51. מה הספרות הבאות בסדרה … ,0,1,1,0,1,1,1,0,0,1,0,1,1,1,0,1,1,1,1 ?

  • 0,0,0
  • 0,1,1
  • 1,0,1
  • 1,1,0

52. * באיזה מקום בסדרה לעיל יופיעו לראשונה עשרה אפסים רצופים?

  • בערך 100
  • בערך 1,000
  • בערך 10,000
  • לעולם לא

53. מה יהיה x כדי שיודפס "ok" בקוד Python הבא:

if type(x) == type(int): print "ok"

  • 0
  • (int(0
  • 0L
  • types.IntType

54. שאלת בונוס בשירה עברית, השלם את המשפט: "… כמו אבן מתגלגלת"

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

שאלון קודגורו 6 שלב א'

רשומה רגילה

1. באיזו תצורת תקשורת פועלת תוכנת Kazaa?

  • server-based
  • peer-to-peer
  • ring topology
  • bus topology
2. מה עושה הפונקציה הבאה:ב – C:

int f(int n)
{
	int k = sqrt(n);
	int i;
	for (i = 2; i <= k; i++)
		if (!(n%i))
			return 0;
	return 1;
}

בפסקל:

function f(n : integer) : boolean;
var
	k, i : integer;
begin
	k := trunc(sqrt(n));
	f := true;
	for i := 2 to k do
		if (n mod i) = 0 then
			f := false;
end;
  • בודקת האם מספר הוא מספר מושלם
  • בודקת האם מספר הוא חזקה של 2
  • בודקת האם מספר הוא ריבוע שלם
  • בודקת האם מספר הוא ראשוני
3. בכיתה של יוסי יש 17 תלמידים. מה יש יותר: בנים או בנות?

  • בנים
  • בנות
  • אותו דבר
  • ג' לא נכון
4. מהו מספר ההשוואות המינימלי הנחוץ לשם מיון מערך בן 4 איברים?
5. למה קשור המושג PageRank?

  • פרס "אתר השנה" האמריקאי
  • שרתי פרוקסי
  • מנוע חיפוש
  • Spyware ו – Adware
6. על מנת להעריך את מספר הילדים הממוצע במשפחה חושב 1+ ממוצע מספר האחים של כל התלמידים בבית ספר גדול. האם התוצאה מדוייקת?

  • כן, כי בית הספר גדול
  • כן, כי מספר הילדים הוא 1+ מספר האחים
  • לא, כי אין ייצוג למשפחות ללא ילדים
  • תלוי בכמות המשפחות החד-הוריות
7. מה עושה הפונקציה הבאה:ב – C:

void f(int n)
{
	int i, s;
	for(s = i = 1; i <= n; i++) {
		printf("%d\n", s);
		s += 2*i+1;
	}
}

בפסקל:

procedure f(n : integer);
var
	i, s : integer;
begin
	s := 1;
	for i := 1 to n do
	begin
		writeln(s);
		s := s + 2*i+1;
	end;
end;
  • מדפיסה סדרה חשבונית
  • מדפיסה מספרים מהצורה: 2n-1
  • מדפיסה ריבועים עוקבים
  • מדפיסה סדרה הנדסית
8. * מהו מספר ההשוואות המינימלי הנחוץ למציאת האיבר השני בגודלו במערך בן 8 איברים?
9. רוצים לצרוב מידע על תקליטור בסקטורים של 1024 ביט. ככל שאיכות החומר ממנו הוא עשוי תהיה נמוכה יותר, כך הוא יהיה זול יותר, אבל הסיכוי לשגיאות יהיה רב יותר. מהו המספר המקסימלי של ביטים שגויים לסקטור שאפשר להרשות, כדי שניתן יהיה לצרוב ואז לקרוא בצורה אמינה לחלוטין את המידע שנצרב?
10. למה משמש הסימן | בפקודות unix?

  • המתנה ללחיצת מקש בכל פעם שהפלט ממלא את המסך
  • חילוץ שדות המופרדים באמצעות מרווח-לבן
  • הפעלת שתי פקודות (או יותר) בשורה אחת
  • העברת הפלט כקלט של פקודה נוספת
11. אבטיח מכיל 97 אחוזי מים ושלושה אחוזי קליפה. הכיצד?

  • זה לא יכול להיות
  • יש מים גם בקליפה
  • לסוכר משקל שלילי
  • יש גם גרעינים
12. * הפונקציה הבאה אמורה להחזיר את המיקום של האיבר הגדול ביותר במערך, אבל יש בה באג:ב – C:

unsigned int find_max(unsigned int A[20])
{
	unsigned int max = 0;
	unsigned int imax;
	int i;
	for (i = 0; i < 20; i++) { if (A[i]> max) {
			imax = i;
			max = A[i];
		}
	}
	return imax;
}

בפסקל:

type
	word20 = array[0..19] of word;
function find_max(A : word20) : word;
var
	max, imax : word;
	i : integer;
begin
	max := 0;
	for i := 0 to 19 do
	begin
		if A[i] > max then
		begin
			imax := i;
			max := A[i];
		end;
	end;
	find_max := imax;
end;

כמה מערכים קיימים, עבורם היא תחזיר תשובה לא נכונה?

13. 10 אנשים עומדים בתור כדי למלא את כדי המים שלהם. לכל אחד כד בגודל שונה ולכן מילויו לוקח זמן שונה. הזמן שאיש מסוים מחכה מוגדר כזמן בין הרגע בו מתחיל הראשון בתור למלא את הכד שלו, עד שהאיש מסיים למלא את הכד שלו ויכול ללכת הביתה.באיזה סדר צריכים האנשים לעמוד כדי שהזמן הממוצע שמחכה איש יהיה קטן ככל האפשר?

  • מבעל הכד הגדול (שימלא ראשון) ועד לבעל הכד הקטן (שימלא אחרון)
  • מבעל הכד הקטן (שימלא ראשון) ועד לבעל הכד הגדול (שימלא אחרון)
  • הסדר לא משנה, הזמן הממוצע יישאר זהה
  • מסתדרים לפי גודל הכדים ואז לוקחים אחד מההתחלה ואחד מהסוף לסירוגין
14. סכום הזויות במשולש על גבי כדור הוא:

  • תמיד קטן מ 200 מעלות
  • 200 מעלות
  • תמיד גדול מ 180 מעלות
  • 270 מעלות
15. בחר את השלשה המתאימה לשלשה: python, c++, java

  • interpreted, byte code, machine code
  • byte code, interpreted, machine code
  • interpreted, machine code, byte code
  • byte code, machine code, interpreted
16. בשמיים ישנן 3 דלתות. אחת מהדלתות מובילה לגן עדן ושתי הדלתות האחרות מובילות לגיהינום. השטן, שיודע לאן מובילה כל דלת, טוען שדלת מספר 2 מובילה לגיהינום. ידוע לכל כי השטן משקר בהסתברות 1/4. מה ההסתברות שדלת מספר 1 מובילה לגן עדן?

  • 1/4
  • 1/2
  • 0
  • 3/8
17. עבור כמה ערכים של n הפונקציה הבאה תסתיים (בסביבת 16bit):ב – C:

void be_useless(unsigned int n)
{
	while (n) n *= n;
}

בפסקל:

procedure be_useless(n : word);
begin
	while (n <> 0) do n := n * n;
end;
18. מה משמעות הביטוי הבא:

y1*x2-y2*x1 > 0
  • חישוב היקף של מקבילית
  • בדיקה האם וקטורים נמצאים באותו הרביע
  • בדיקת כיוון של פניה
  • השוואה בין גדלי וקטורים
19. כמה פתרונות טבעיים יש למשוואה הבאה:

(15 * X) mod 17 = 1
  • פתרון יחיד
  • אינסוף פתרונות
  • אין פתרונות בכלל – כי 15 > 1
  • אין פתרונות כי Z17 אינו שדה
20. מה היה שוק המניות האלקטרוני הראשון בעולם?

  • NASDAQ
  • הבורסה בטוקיו
  • NYSE
  • הבורסה בת"א
21. אם כוס שוקו שהוכנסה לחלקו הקדמי של מיקרוגל מסתובב הופיעה בצידו השמאלי לאחר 15 שניות, להיכן הייתה מגיעה לאחר 30 שניות?

  • לחלק הקדמי
  • לחלק האחורי
  • לחלק הימני
  • תלוי בכיוון הסיבוב
22. מה עושה הקוד הבא באסמבלי 80×86, תחת DOS:

mov ax, 3
int 10
  • מאתחל התקשרות סיריאלית
  • מקצה מערך בגודל 30 בתים
  • מקצה מערך בגודל 3 בתים
  • עובר למצב טקסט
23. (מחווה לאייזק אסימוב): אם 1.5 תרנגולות מטילות 1.5 ביצים ב-1.5 יום, אז כמה תטילנה 9 תרנגולות ב-9 יום?

  • 27
  • 54
  • 81
  • 108
24. האם ניתן לכתוב תוכנית מחשב בשפת C שהפלט שלה היא התוכנית עצמה? ובשפת פסקל?

  • כן, כן
  • כן, לא
  • לא, כן
  • לא, לא
25. באיזו שפה כתובה השורה הבאה:

/codeguru6/stage_a/contestant[@score>55]
  • Python
  • TCShell
  • XPath
  • Perl
26. בשתי פינות נגדיות של אולם מלבני שגודלו 9×10 מ2 בנו ארון על ריבוע שאורך כל צלע שלו הוא 0.5 מ'. "שלמה הרצף" אמור לרצף (לכסות את כל שטח האולם – לא כולל שטח שני הארונות – בלי לשבור אף אריח ובלי שאריחים יחפפו זה לזה), באריחי שיש שגודלם 1.0×0.5 מ2. בקצב הנחת אריחים של 2.47 אריחים בשעה, הוא יסיים את הריצוף תוך:

  • יותר מ – 140 שעות עבודה
  • פחות מ – 53 שעות עבודה
  • אף פעם
  • אף אחת מהתשובות א'-ג' אינה נכונה
27. מה עושה הקוד הבא בשפת אסמבלי 80×86:

xor ax, bx
xor bx, ax
xor ax, bx
  • מפעיל פונקציית גיבוב פשוטה
  • שוזר את ax ו – bx
  • מחליף בין ערכי אוגרים
  • מבצע פעולת איפוס מהירה
28. מהי הנגזרת של xx?

  • xxln(x + 1)
  • xx(ln(x) + 1)
  • xln(x + 1)
  • x(ln(x) + 1)
29. טבעת המונחת על האדמה והאוקיאנוסים מקיפה את כל כדור הארץ. יש להוסיף לה תוספת שתאפשר לחתול שגובהו 30 ס"מ לעבור תחתיה בלי להתכופף, תוך שמירה על צורתה העגולה של הטבעת. מה אורך הקטע שיש להוסיף לטבעת?

  • בערך 30 ס"מ
  • בערך 2 מטר
  • בערך 900 מטר
  • בערך 12 ק"מ
30. כיצד מתבצע תיקון השגיאות ב-CD?

  • בעזרת קודי האפמן (Huffman Coding)
  • בעזרת קודי ריד-סולומון (Reed-Solomon Coding)
  • בעזרת קוד אריתמטי (Arithmetic Coding)
  • בעזרת קוד דה-וינצ'י (Da-Vinci Code)
31. מה קרה למשפט הבא?

רבםו חציקטצ בםגקעורו
  • אצבעות זזו בכתיבה עיוורת
  • ביט lsb התהפך
  • כתיבת אנגלית באותיות עבריות
  • לכל מילה תשובה אחרת
32. כמה כוכביות ידפיס הקוד הבא בשפת C:

unsigned char i;
for (i = 0; i <= 255; i++)
	printf("*");
  • 255
  • 256
  • אינסוף
  • 0
33. מהו המספר הבא בסדרה:

8, 49, 216, 625, 1024, 729, ..
34. מה מהבאים נכון לומר על פונקציות סטטיות:

  • לא ניתן לשנות את הקוד שלהן בזמן ריצה
  • הן מפחיתות את כמות הזכרון המוקצה להחזקת קוד
  • הן אינן יכולות לשנות את הפרמטרים המוכנסים אליהן
  • הן אינן יכולות לגשת למשתנים חברים במחלקה שלהן
35. ברזולוציית מסך של 320×200, פלטתי 64000 פיקסלים, כל אחד במקום אקראי. מהו הסיכוי שמילאתי את כל המסך?

  • 1 ל – 64000
  • 1 ל – 64000!
  • 1 ל – 6400064000
  • 64000! ל – 6400064000
36. מה עושה הפונקציה הבאה:ב – C:

struct node {
	node* left;
	node* right;
	int val;
};
int traverse(node* root)
{
	int current_max = root->val;
	if (root->left != NULL)
		current_max = max(current_max, traverse(root->left));
	else if (root->right != NULL)
		current_max = max(current_max, traverse(root->right));
	return current_max;
}

בפסקל:

type
	nodeptr = ^node;
	node = 	record
			left, right : nodeptr;
			val : integer;
		end;
function traverse(root : nodeptr) : integer;
var
	current_max : integer;
begin
	current_max := root^.val;
	if root^.left <> NIL then
		current_max := max(current_max, traverse(root^.left))
	else if root^.right <> NIL then
		current_max := max(current_max, traverse(root^.right));
	traverse := current_max;
end;
  • מוצאת את הערך המקסימלי בעץ בינארי
  • מוצאת את הצומת השמאלי ביותר מבין הצמתים שערכם מקסימלי
  • מוצאת את הערך המקסימלי במעטפת הימנית של עץ בינארי
  • אף אחת מהתשובות הקודמות אינה נכונה
37. האם יכול להיות קצב ירידת המים באסלה גדול משמעותית מקצב אספקת המים לשירותים?

  • לא, משום שחלק מהמים מתאדה (בדומה לחוסר יעילות בתכנות)
  • לא, כי תוספת הנוזלים הנובעת מהשימוש בשירותים זניחה
  • כן (זמנית), בגלל מתקני ה"ניאגרה" (או בעברית: מיכלי ההדחה) המתפקדים כחוצצים (buffers)
  • כן (באופן מתמשך), כפי שאפשר לשחרר יותר זיכרון מאשר הוקצה
38. מהי הדרך הטובה ביותר להשתמש בגרביים כדי להבטיח שימוש אחיד ככל האפשר?

  • להכניסם מהכביסה בצד שמאל של המגרה ולהוציא מצד ימין (כמו תור)
  • להכניסם מהכביסה בצד שמאל של המגרה ולהוציא מצד שמאל (כמו מחסנית)
  • להכניסם מהכביסה בצד שמאל של המגרה ולהוציא באופן מקרי
  • להכניסם מהכביסה באופן מקרי ולהוציאם באופן מקרי
39. נתונה הפונקציה הבאה על רשימות מקושרות:ב – C:

struct node {
	int data;
	node* next;
};
int f(node* h, int c)
{
	node* p = h;
	int i;
	while (1) {
		for (i = 0; i < c; i++) { if (p == NULL) return h->data;				
			p = p->next;
		}
		h = h->next;
	}	
}

בפסקל:

type
	nodeptr = ^node;
	node = record
 data : integer;
		 next : nodeptr;
	 end;
function func(h : nodeptr; c : integer) : integer;
var
	p : nodeptr;
 i : integer;
begin
	p := h;
	while true do
	begin
		for i := 0 to c-1 do
		begin
			if p = NIL then
			begin
				func := h^.data;
				exit;
			end;
			p := p^.next;
		end;
		h := h^.next;
	end;
end;

מהו הביטוי המקביל על המערך A שמוגדר כך:
ב – C:

int A[N];

בפסקל:

var
	A : array[0..N-1] of integer;
  • ב – C: A[N%c], בפסקל: A[N mod c]
  • ב – C: A[N-c], בפסקל: A[N-c]
  • ב – C: A[N/c], בפסקל: A[N div c]
  • ב – C: A[c%N], בפסקל: A[c mod N]
40. חברת "מאכלים" מצרפת מספר לכל מוצר, ומחלקת פרסים לכל מי שיקנה מוצרים כך שסכום המספרים יהיה 111. כיצד יכולה החברה לוודא שלא יהיו יותר מדי זוכים?

  • להשתמש רק במספרים דו ספרתיים נמוכים
  • לוודא שרק מעט מבין המספרים יתחלקו ב – 37
  • לוודא שרק מעט מבין המספרים לא יתחלקו ב – 13
  • לשים את המספר 111 בעשרה מוצרים בלבד
41. אבטיח מקולף התייבש יומיים כך שאחוז המים בו ירד מ 99 אחוז ל 98 אחוז. כמה איבד ממשקלו?

  • כמעט אחוז אחד
  • אחוז אחד
  • כשלושים אחוז
  • חמישים אחוז
42. מכונת קולה מופעלת על מטבעות של שקל אחד. מחיר פחית הוא 4.30 והמכונה לא מחזירה עודף, אלא זוכרת את העודף לקניה הבאה. לאחר שימוש ממושך במכונה, מה יהיה העודף השכיח?

  • 30 אגורות
  • או 0 או 50 אגורות
  • 70 אגורות
  • כל עשרת האפשרויות שוות הסתברות
43. אם יש 15 אפשרויות שונות לאורכן של צלעות מלבן, כמה ביטים דרושים על מנת לייצג את השטח?

  • 225, כי שטח הוא כפולת אורך ברוחב
  • 15, כי x כפול y = y כפול x
  • 8, כי אפשר לייצג 2x אפשרויות ב x ביטים
  • 7, כי 120 קטן מ 128
44. 98 אחוז מהבנות בכיתה של יהושוע אינן ג'ינג'יות. כמה ג'ינג'יות יש בכיתה?

  • לפחות 4, כי יש גם בנים בכיתה
  • בדיוק 2, כי 100-98=2
  • לכל היותר 2, כי יהושוע הוא בן
  • אפס, כי אין כיתה מעל 50 תלמידים
45. במערכת שמש כלשהי ישנם שלושה כוכבי לכת אשר מסתובבים סביב השמש. לשלושת הכוכבים מחזורי סיבוב של שנה, חמש שנים, ו- פאי שנים בהתאמה. בראש השנה של שנת 0 כל שלושת הכוכבים נמצאו על קו אחד עם השמש. באיזה שנה יפגשו שוב על קו אחד עם השמש?

  • בין שנת 0 לשנת 314
  • בין שנת 314 לשנת 5000
  • בשנת התשס"ה
  • לעולם לא
46. שמש וירח גדולים יותר בשעת זריחה או שקיעה. מדוע?

  • שכבת האטמוספרה העבה יותר קרוב לאופק משמשת כעדשה המגדילה את מראה השמש והירח
  • בגלל הכבידה השמש והירח גדלים כאשר הם מתקרבים לאדמה
  • זה סתם נדמה לנו. הם לא באמת נראים גדולים יותר – הכל פסיכולוגיה!
  • העין שלנו רואה גופים בעלי גוון אדמדם כגדולים יותר
47. ** נתון בניין בן 129 קומות. הקומה הקריטית בבניין היא הקומה שהטלת ביצה ממנה ומעלה תביא לשבירתה ולעומת זאת, הטלה מכל קומה נמוכה יותר לא תביא לשבירת הביצה.לרשותך עומדות שלוש ביצים אשר ניתן להטיל כל אחת מהן מכל קומה אפשרית כל עוד לא נשברה. משימתך היא לגלות את הקומה הקריטית (אם קיימת), במספר מינימלי של הטלות ביצים.
מהו מספר ההטלות הנמוך ביותר שניתן להתחייב לא לחרוג ממנו (כאשר נוקטים באסטרטגיה אופטימלית)?
48. ** בהמשך לשאלה הקודמת, מאיזה קומה יש להטיל בפעם הראשונה, כדי להיות מסוגל להתחייב על מספר ההטלות המינימלי?
49. מי אמר: אך מוזר ונבער מדעת הוא האדם בעיני התולעת
על כי את ספריו לא יכרסם

  • חיים נחמן ביאליק
  • רבינדרנט טאגור
  • סמואל בקט
  • שאול טשרניחובסקי

 

שאלון קודגורו 6 שלב ב' – נוסח מבוטל

רשומה רגילה

1. מה המשמעות המקובלת בתכנות של המילה VOID?

  • מולטימדיה מאוד חכמה
  • חלל או ריק
  • טיפוס לא מוגדר
  • בדיקה של עמידות

2. מה המשמעות המקובלת בתכנות של int?

  • לייצג מספרים שלמים
  • להגדרות בינלאומיות
  • לצורכי בנקאות מקוונת
  • לארגון הבריאות העולמי
3. (*) מהו מספר ההשוואות המינימלי הנחוץ, במקרה הקשה ביותר, למיון מערך בן 5 איברים שונים?
4. (**) רוצים למיין מערך במספר גדול ככל האפשר של השוואות, אבל אסור להשוות בין שני איברים אם ניתן להסיק את היחס ביניהם מהשוואות קודמות. מהו המספר הגדול ביותר של השוואות אליו ניתן להגיע במיון של 5 איברים שונים?

5. נתונה הפונקציה הבאה, בסביבת 16bit:ב – C:

int f(unsigned char a, unsigned char b, unsigned char c)
{
	return ((a*b)/c) == (a*(b/c));
}

בפסקל:

function f(a, b, c : byte) : boolean;
var
	a0, b0, c0 : word;
begin
	a0 := a; b0 := b; c0 := c;
	f := ( ((a0*b0) div c0) = (a0*(b0 div c0)) );
end;

פונקציה זו תחזיר "אמת" אם ורק אם:

  • a=1 או (b mod c) = 0 או a=0
  • a*(b mod c) < c
  • (b mod c) = 0
  • תחזיר אמת תמיד
6. (*) במדינה שמספר תושביה עצום יש שני מתמודדים על הנשיאות ו – 50 ערים שגודלי אוכלוסיותיהן שווים. הבחירות נערכות בכל עיר בנפרד, והמתמודד שניצח ברב הערים הוא הזוכה בבחירות. דני ניצח בבחירות עם כמות הקולות המינימלית המאפשרת ניצחון. כמה קולות קיבל בממוצע במדגם אקראי של 3600 בוחרים מרחבי המדינה (עגל למספר השלם הקרוב ביותר)?

7. דני ניסה לחשב ממוצע של רשימה של N מספרים (N > 2) בצורה הבאה: הוא חישב את הממוצע של שני המספרים הראשונים, ואז את הממוצע של התוצאה עם המספר השלישי, ואת הממוצע של התוצאה החדשה עם המספר הרביעי וכך הלאה. למרות ששיטה זו לחישוב ממוצע אינה נכונה בעוד שלדני לא היו טעויות חישוב, המורה (שיודע לחשב ממוצע בצורה נכונה) בדק את התוצאה ושיבח את דני על התשובה הנכונה. דני, שחשד שהשיטה שלו אינה נכונה עבור המקרה הכללי, החליף את אחד המספרים במספר אחר (וסיפר על כך למורה), חישב את הממוצע החדש (בדרכו השגויה), וביקש מהמורה שיבדוק את התוצאה. אך איזה פלא – שוב שיבח המורה את דני על התוצאה הנכונה! איזה טענה נכונה בהכרח?

  • אם יוציאו את המספר שהוחלף, יהיה בין המספרים שנותרו מספר מספר השווה לממוצע של שאר המספרים (ללא המספר שהוצא)
  • N הוא 4, 5 או 8
  • המספר שהוחלף הוא המספר ה – lg(N)-י מסוף הרשימה (כאשר lg מייצג לוגריתם בבסיס 2)
  • המצב המתואר אינו אפשרי

8. על גבי תמונה ברזולוציה של 8×8, פלטתי 64 פיקסלים, כל אחד במקום אקראי ובלתי תלוי. מהו הסיכוי שמילאתי בדיוק מחצית מהפיקסלים שבתמונה?

  • פחות מ – 1 למיליון
  • בערך 1 ל – 2,500
  • בערך 1 ל – 100
  • בדיוק 1 ל – 2

9. נתון הפסאודו-קוד הבא (עם שלוש פונקציות חסרות):

א <- 1000000000
כל-עוד (אמת) בצע:
 אם ק, אזי:
 א <- 1000000000
 בצע פ
 אם א שווה ל - 0, אזי:
 בצע ס
 א <- 1-א

למה סביר להניח שהוא מיועד:

  • הקצאת מספרים סידוריים
  • פירוק מספרים גדולים לגורמים
  • תפעול דלת הזזה אוטומטית
  • הגרלת מספרי לוטו

10. (*) הפונקציה הבאה אמורה להחזיר את המיקום של האיבר שערכו x במערך A שמכיל N איברים ממוינים בסדר עולה (ומכיל איבר שערכו x). אבל יש בה באג.ב – C:

int get_index(int x, int A[], int N)
{
	int L = 0, H = N-1;
	while (L != H) {
		int M = (L+H)/2;
		if (x >= A[M])
			L = M;
		else
			H = M-1;
	}
	return L;
}

בפסקל (כאשר האיבר הראשון במערך A הוא האיבר במיקום ה – 0):

function get_index(x : integer; A : array of integer; N : integer) : integer;
var
	L, H, M : integer;
begin
	L := 0; H := N-1;
	while L <> H do
	begin
		M := (L+H) div 2;
		if x >= A[M] then
			L := M
		else
			H := M-1;
	end;
	get_index := L;
end;

עבור כמה ערכים של N, הפונקציה, בכל זאת, תחזיר תשובה נכונה תמיד?

11. מה עושה קטע הקוד הבא בשפת אסמבלי בסביבת 16bit?:

	mov bx, offset var_ptr
	xor ax, ax
l:
	xchg [bx], ax
	or ax, ax
	jz l
  • מחשב את שורש שלוש
  • תופס בעלות על משאב
  • מבצע מיון בועות
  • הופך רשימה מקושרת

12. מה עושה קטע הקוד הבא בשפת אסמבלי בסביבת 32bit?:

	xor ebx, ebx
start:
	test eax, eax
	jz end
	xchg ebx, [eax]
	xchg ebx, eax
	jmp start
end:
  • מחשב את שורש שלוש
  • תופס בעלות על משאב
  • מבצע מיון בועות
  • הופך רשימה מקושרת

13. מהן שלוש הפונקציות הבאות בשפת C:

void a(type1* s)
{
	p[0] = (type2*) malloc(sizeof(type2));
	p[1] = (type2*) malloc(sizeof(type2));
	p[0].a = p[1]; p[1].a = p[0];
	p[1].b = s;
}
void b(type1* s)
{
	type2* n = (type2*) malloc(sizeof(type2));
	p[0].b = s;
	n.a = p[0]; p[0].a = p[1]^n;
	p[1] = p[0]; p[0] = n;
}
int c(int d)
{
	if (p[!d].a != p[d]) {
		p[d] ^= p[!d].a;
		swap(p[d], p[!d]);
		return 1;
	}
	return 0;
}
  • מערכת Undo ו – Redo
  • מימוש של ערימה
  • מנגנון garbage collection
  • בינה מלאכותית ל – "ארבע בשורה"
14. (*) הוטל עליך לתכנן מערכת תקשורת רציפה בין רכיב כותב לרכיב דוגם. התקשורת מתבצעת דרך בלוקים של 64000 בתים. בזמן נתון, כל בלוק יכול להיות במצב "כתיבה" או במצב "קריאה" (אך לא בשניהם בו-זמנית). בכל פעם שהרכיב הדוגם מסיים לעבד בלוק, הוא מעוניין לקרוא את הבלוק האחרון שנכתב במלואו.מהו מספר הבלוקים המינימלי ההכרחי כדי למנוע מצב בו רכיב אחד מחכה לסיום פעולתו של הרכיב השני?
15. (**) דני מביט, ממרחק של מטר, במחיצת קרטון ממנה גזרו פס צר. דרך הפס הוא יכול לראות חלק קטן מכרזת פרסומת לקודגורו 6. הנקודה הנראית לדני כשמאלית ביותר בפס נמצאת במרחק של 260 ס"מ מהמחיצה. הנקודה הנראית לדני כימנית ביותר בפס נמצאת במרחק של 440 ס"מ מהמחיצה. המרחק בין שתי נקודות אלו הוא שני מטרים. מהו המרחק בסנטימטרים בין הנקודה הנראית לדני בצדו השמאלי של הפס לבין הנקודה הנראית לו במרכז הפס?

16. למה משמשות שלוש הפונקציות הבאות:

בשפת C
בשפת פסקל

void a()
{
	x1 = x2 = 0;
}
procedure a;
begin
 x1 := 0;
 x2 := 0;
end;
int b()
{
	if (x1) return F[--x1];
	return x2++;
}

 

function b : integer;
begin
 if x1 <> 0 then
 begin
 x1 := x1 - 1;
 b := F[x1];
 end
 else
 begin
 b := x2;
 x2 := x2 + 1;
 end;
end;
void c(int x)
{
	F[x1++] = x;
}
procedure c(x : integer);
begin
 F[x1] := x;
 x1 := x1 + 1;
end;
  • מימוש של תור מעגלי
  • התמרת פוריה בדידה
  • פעולות על מספרים גדולים
  • טיפול יעיל בהקצאת זיכרון

17. (*) נתונה הפונקציה הבאה בסביבת 32bit:ב – C:

unsigned int div_by_17(unsigned int a)
{
	return (MUL*a)>>SHIFT;
}

ניתן למצוא ערכים של MUL ו – SHIFT עבורם ערך החזרה של הפונקציה יהיה a חלקי 17 (מעוגל כלפי מטה), בהנחה ש – 16 הביטים העליונים של a כבויים.
מצא ערך מתאים של MUL:

18. (*) בהמשך לשאלה הקודמת, מצא ערך של SHIFT המתאים לערך של MUL שמצאת:

19. (**) המורה של דני השתמש בשיטה הבאה כדי לכווץ הודעה המורכבת מ – 26 אותיות ה – ABC (אותיות גדולות בלבד):

הגדרה:
	מילון0 הוא מילון היודע לקחת מחרוזת ולמצוא מספר שהותאם לה קודם לכן
	(או להגיד שעדיין לא הותאם לה מספר)
עבור כל אות מה - ABC, בצע:
	התאם למחרוזת המכילה את האות הזו בלבד את האינדקס שלה ב - ABC
	(כלומר, ל - "A" יותאם 1 ול - "Z" יותאם 26)
הכנס למשתנה קוד0 את המספר 26
קרא את התו הראשון מהמסר ושמור אותו ב - מחרוזת0
כל עוד ישנם עדיין תווים במסר שלא נקראו, בצע:
	קרא את התו הבא מהמסר ושמור אותו ב - תו0
	הכנס ל - מחרוזת1 את מחרוזת0 עם תו0 משורשר בסופה
	אם כבר הותאם מספר ל - מחרוזת1 ב - מילון0 אזי:
		החלף את הערך של מחרוזת0 בערך של מחרוזת1
	אחרת:
		פלוט את המספר שהותאם ל - מחרוזת0 לפי מילון0
		הוסף אחד לערך של קוד0
		התאם במילון0 את המספר קוד0 למחרוזת מחרוזת1
		החלף את הערך של מחרוזת0 בערך של תו0
פלוט את המספר שהותאם למחרוזת0 לפי מילון0 

המסר המכווץ נראה כך (משמאל לימין):

3, 7, 27, 24, 29, 31, 7

דני רוצה לפענח את המסר, בתקווה שמשמעותו היא שהמורה מבטל את השיעור הקרוב. עזרו לדני!
מהו המסר המקורי אותו כיווץ המורה?

20. נתונות שתי דרכים לממש פונקציה מסוימת:ב – C:

unsigned int f1(unsigned int n)
{
	unsigned int x = 1;
	for (unsigned int i = 1; i <= n; i++) {
		x *= i;
	}
	return x;
}
unsigned int f2(unsigned int n)
{
	if (n == 0) return 1;
	return n*f2(n-1);
}

בפסקל:

function f1(n : word) : word;
var
 x, i : word;
begin
 x := 1;
 for i := 1 to n do x := x*i;
 f1 := x;
end;
function f2(n : word) : word;
begin
 if n = 0 then f2 := 1
 else f2 := n*f2(n-1);
end;

בחר את הטענה הנכונה:

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

21. מה הקשר בין d – ממוצע הזמן בדקות בין פגיעת שני מטאורים, לבין m – ממוצע מספר המטאורים הפוגעים בדקה?

  • תמיד מתקיים m = d
  • יכול להיות ש m = 1/d
  • אף פעם לא d = 1/m
  • כל התשובות נכונות

22. אם תוכנת המגב (וישר) של מכונית פועלת על ידי מצמוץ אם ורק אם מספר השניות מאז 1.1.1970 מתחלק ב-d, כאשר d הוא מספר שלם בין 1 ל-10 הניתן לכיוונון על ידי הנהג. מהו קצב המצמוץ האיטי ביותר שניתן להשיג אם הנהג יכול לשנות את d כל שניה?

  • 10 שניות
  • 42 דקות
  • 42 יום
  • אינסוף

23. אני מחפש ספגטי מסוים בסופרמרקט, יש לי את ה-Bar-Code שלו ואני מנסה להשוות מול המוצרים שעל המדף. איזו שיטה יעילה יותר?

  • לבדוק את הספרה הראשונה (msb) ורק אם מתאימה לבדוק את הספרות הבאות
  • לבדוק את הספרה האחרונה (lsb) ורק אם מתאימה לבדוק את הספרות הבאות
  • תלוי איזה רוטב אני מעדיף
  • כל התשובות נכונות

24. ולמה?

  • כי הספרות האחרונות הם ספרות ביקורת
  • כי הספרות הראשונות קבועות למוצרים רבים
  • כי יש קשר בין הרוטב המועדף ל-Bar-Code
  • כל התשובות נכונות

25. להלן אלגוריתם הפעולה של מיקרוגל

start:
 time = 0
loop:
 if (time == 0 and program_time) time = user_input
 if (time > 0) {heat; time--; wait_a_second; if (time == 0) beep_end}
 goto loop
 
On cancel_pressed Interrupt:
 if (time>0) beep_abort; time=0
 goto loop

האם ניתן לעצור את המיקרוגל מרגע שהחל לחמם מבלי לצפצף?

  • לא, כי סיום הזמן או הפסקה לפני סיום גורמת לצפצוף
  • קימת שנייה בה ניתן לעשות זאת
  • רק אם time הוא בן 32 ביט
  • על ידי תכנות הזמן מחדש באמצע חימום

26. האם יכול להיות ש-30% מהגברים בגילאים 30 עד 40 הם רווקים ו-40% מהגברים בגילאי 40 עד 50 הם רווקים?

  • לא, כי יציאה מרווקות היא תהליך בלתי הפיך (אלמן וגרוש אינם רווקים)
  • לא, כי 50% מהאוכלוסייה הן נשים (ו 30+40 > 50)
  • כן, כי המצב לא חייב להיות יציב (עוד 10 שנים המספרים ישתנו)
  • כן, אבל רק אם מתמקדים באוכלוסיית תל-אביב בלבד

27. לפני קו עצירה של רמזור יש מספר גלאי מתכת. מה יקרה אם תוכנת הרמזור מתחשבת רק בגלאי המרוחק ביותר מהרמזור המגלה מתכת?

  • נהגים שיעצרו רחוק מהרמזור יקבלו ירוק מהר יותר
  • תנועת המכוניות תהיה רגישה פחות לשגיאות מדידה
  • הרמזור עלול ל"התקע" לנצח באור ירוק
  • כל התשובות נכונות

28. מה מחשבת הנוסחא הבאה?

(x0*y1-x1*y0)/sqrt((x0*x0+y0*y0)*(x1*x1+y1*y1))
  • אורך של אלכסון במחומש משוכלל
  • חוצה זווית של משולש שווה שוקיים
  • מרחק ממנו רואים פסל בזוית מירבית
  • קוסינוס של זוית שקודקודה בראשית

29. מה מחשב הקטע הבא

xm=0
for x = 0 to 100 {
	xx = x*(y2-y1)/sqrt((x*x+y1*y1)*(x*x+y2*y2))
	if (xx > xm) xm = xx; a=x
}
  • אורך של אלכסון במחומש משוכלל
  • חוצה זווית של משולש שווה שוקיים
  • מרחק ממנו רואים פסל בזוית מירבית
  • קוסינוס של זוית שקודקודה בראשית

30. נתון קטע הקוד (החסר) הבא בשפת C++:

class A { ... };
class B { ... };
class C { ... };
class Container {
	Container() : a(), c(), b() {
		c.start();
		b.start();
		a.start();
	}
	A a;
	B b;
	C c;
};

כאשר יוצרים מופע של המחלקה Container, באיזה סדר ייקראו הבונים (constructors) של האובייקטים המוכלים a, b, c?

  • קודם a, אח"כ b ולבסוף c
  • קודם c, אח"כ b ולבסוף a
  • קודם a, אח"כ c ולבסוף b
  • קודם b, אח"כ a ולבסוף c

31. כיצד ניתן לבצע TLB Priming?

  • לקרוא את המילה האחרונה של העמוד ממנו רוצים לקרוא ומיד לקרוא את העמוד מתחילתו ועד סופו
  • לקרוא מילה כלשהי מעמוד אותו רוצים לקרוא, ואז לעבוד על זיכרון אחר לפני שניגשים לעמוד הנ"ל
  • לקרוא עמוד בצרור (burst) מתחילתו ועד סופו, ואז לעבור עליו מסופו לתחילתו
  • לקרוא מילה אחת מכל שורת מטמון (cache line) בעמוד לפני שעוברים עליו

32. (*) מה תחזיר התוכנית הבאה?ב – C:

int f(int p, int p1)
{
	int i,j,i1,j1;
	i =p >>3; j =p &7;
	i1=p1>>3; j1=p1&7;
	return (i-i1)*(i-i1)+(j-j1)*(j-j1) == 5;
}

בפסקל:

function f(p, p1 : integer) : boolean;
var
 i, j, i1, j1 : integer;
begin
 i := p shr 3; j := p and 7;
 i1 := p1 shr 3; j1 := p1 and 7;
 f := (i-i1)*(i-i1)+(j-j1)*(j-j1) = 5;
end;
  • האם p גדול מ p1 כמספרים מרוכבים
  • האם אפשר להגיע במהלך פרש מ – p אל p1
  • האם p ניתן לייצוג כ p1 ספרות בבסיס 7
  • כל התשובות נכונות

33. (**) מה תחזיר התוכנית הבאה?

int s(unsigned __int64 x){return (!x || x&(x-1));}
int r()
{
	unsigned __int64 i,m1,m2;
	int r = 0;
	int j;
	for (i=1; i; i++,r+=j==8)
		for (j=0,m1=0xff,m2=0x101010101010101; j<8; j++,m1<<=8, m2<<=1)
			if (s(i&m1) || s(i&m2)) break;
	return r;
}

34. מה ספרת העשרות הנפוצה בין מליון חזקות 2 הראשונות?

  • 1
  • 2
  • 9
  • כולן מופיעות בערך בשכיחות שווה

35. מה הספרה הנפוצה ביותר כספרה ראשונה (Most Significant) בין מיליון חזקות 2 הראשונות?

  • 1
  • 2
  • 9
  • כולן מופיעות בערך בשכיחות שווה

36. מה מיוחד במספר 26334878?

  • כשמתרגמים אותו לאוקטלית, לא מכיל את הספרות 0 ו-7
  • תרגום של שם התחרות מאנגלית לספרות
  • מכפלה של שני מספרים ראשוניים
  • כל התשובות נכונות

37. מדוע השורה הבאה בשפת C גורמת לתוכנית לקרוס בארכיטקטורת x86?

void*x=(*((void*(*)())&(x=(void*)0xfdeb58)))();
  • Access Violation
  • Stack Underflow
  • Invalid Opcode
  • ביט Mod R/M משובש

38. מה זה 2001:0db8:85a3:08d3:1319:8a2e:0370:7334?

  • כתובת בפרוטוקול IPv6
  • נגטיב של חתול
  • המספר הראשוני הגדול ביותר הידוע כיום, בייצוג הקסדצימלי
  • בקשה לסנכרון, בפרוטוקול V.42 (מודם)

39. איזו מהאפשרויות הבאות אינה מבנה נתונים ידוע?

  • ערימה בינארית
  • ערימה מקושרת
  • ערימה בינומית
  • ערימת פיבונאצ'י
40. (*) צריח נע על לוח שח-מט סטנדרטי מהפינה השמאלית-עליונה אל הפינה הימנית-תחתונה. בכל צעד, הצריח יכול לזוז משבצת אחת ימינה או משבצת אחת למטה. כמה מסלולים אפשריים יש לצריח?

41. מה המקור של הביטוי SPAM?

  • דואר זבל זה מגעיל כמו בשר משומר
  • Shit Posing As Mail
  • סקיצה של "מונטי פייטון"
  • אף תשובה אינה נכונה

42. לאחר הרצת הקוד הבא בשפת C:

FILE* fp = fopen("1.txt", "w");
char ch = 0xa;
fwrite(&ch, sizeof(ch), 1, fp);
fclose(fp);

גודל הקובץ שנוצר היה שני בתים ולא בית אחד, מדוע?

  • מכיוון ש – fwrite מיועד לכתיבת בלוקים
  • מכיוון ש – fclose מוסיף בית מסיים
  • מכיוון שהקובץ נפתח במצב כתיבה טקסטואלי
  • מכיוון שהקוד רץ על מעבד AMD

43. (***) מה עושה הפונקציה הבאה, למה זה שימושי?ב – C:

int B[1<<7];
void f()
{
	int c, i, j;
	for (c = 0; c < (1<<7); c++) {
		if (B[c] == 0) {
			printf("%d\n", c);
			B[c] = 1;
			for (i = 1<<6; i != 0; i>>= 1) {
				for (j = 1<<6; j != 0; j>>= 1) {
					B[c^(i|j)] = 1;
				}
			}
		}
	}
}

בפסקל:

var
	b : array[0..(1 shl 7)] of integer;
procedure f;
var
	i, j, c : integer;
begin
	for c := 0 to (1 shl 7)-1 do
	begin
		if B[c] = 0 then
		begin
			writeln(c);
			B[c] := 1;
			i := 1 shl 6;
			while i <> 0 do
			begin
				j := 1 shl 6;
				while j <> 0 do
				begin
					B[c xor (i or j)] := 1;
					j := j shr 1;
				end;
				i := i shr 1;
			end;
		end;
	end;
end;

44. (****) מה עושה הפונקציה הבאה:ב – C:

int O[4] = {1, -1, 128, -128};
void f(unsigned char A[1<<14], int B[1<<14])
{
	int C[1<<8] = {0x3F7E};
	unsigned char X = 0, Y = 1;
	int j, m;
	for (j = 0; j < 1<<14; j++)
		B[j] = -1;
	while (X != Y) {
		int c = C[X++];
		for (j = 0; j < 4; j++) {
			m = c + O[j];
			if ((A[m] == 0) && (B[m] == -1) && (m != B[c]))
				{B[m] = c; C[Y++] = m; }
		}
	}
}

בפסקל:

const
 O : array[0..3] of integer = (1, -1, 128, -128);
type
 typeA = array[0..(1 shl 14)-1] of byte;
 typeB = array[0..(1 shl 14)-1] of integer;
procedure f(var a : typeA; var b : typeB);
var
 C : array[0..(1 shl 8)-1] of integer;
 X, Y : byte;
 j, m, k: integer;
begin
 C[0] := $3F7E;
 X := 0; Y := 1;
 for j := 0 to (1 shl 14)-1 do
 B[j] := -1;
 while (X <> Y) do
 begin
 k := C[X]; X:=X+1;
 for j := 0 to 3 do
 begin
	 m := k + O[j];
	 if (A[m] = 0) and (B[m] = -1) and (m <> B[k]) then
 begin
		 B[m] := k; C[Y] := m; Y:=Y+1;
 end;
	 end;
 end;
end;

 

שאלון קודגורו 6 שלב ב' – סופי

רשומה רגילה

1. מה המשמעות המקובלת בתכנות של המילה VOID?

  • מולטימדיה מאוד חכמה
  • חלל או ריק
  • טיפוס לא מוגדר
  • בדיקה של עמידות

2. מה המשמעות המקובלת בתכנות של int?

  • לייצג מספרים שלמים
  • להגדרות בינלאומיות
  • לצורכי בנקאות מקוונת
  • לארגון הבריאות העולמי
3. (*) מהו מספר ההשוואות המינימלי הנחוץ, במקרה הקשה ביותר, למיון מערך בן 5 איברים שונים?
4. (**) רוצים למיין מערך במספר גדול ככל האפשר של השוואות, אבל אסור להשוות בין שני איברים אם ניתן להסיק את היחס ביניהם מהשוואות קודמות. מהו המספר הגדול ביותר של השוואות אליו ניתן להגיע במיון של 5 איברים שונים?

5. נתונה הפונקציה הבאה, בסביבת 16bit:ב – C:

int f(unsigned char a, unsigned char b, unsigned char c)
{
	return ((a*b)/c) == (a*(b/c));
}

בפסקל:

function f(a, b, c : byte) : boolean;
var
	a0, b0, c0 : word;
begin
	a0 := a; b0 := b; c0 := c;
	f := ( ((a0*b0) div c0) = (a0*(b0 div c0)) );
end;

פונקציה זו תחזיר "אמת" אם ורק אם:

  • a=1 או (b mod c) = 0 או a=0
  • a*(b mod c) < c
  • (b mod c) = 0
  • תחזיר אמת תמיד
6. (*) במדינה שמספר תושביה עצום יש שני מתמודדים על הנשיאות ו – 50 ערים שגודלי אוכלוסיותיהן שווים. הבחירות נערכות בכל עיר בנפרד, והמתמודד שניצח ברב הערים הוא הזוכה בבחירות. דני ניצח בבחירות עם כמות הקולות המינימלית המאפשרת ניצחון. כמה קולות קיבל בממוצע במדגם אקראי של 3600 בוחרים מרחבי המדינה (עגל למספר השלם הקרוב ביותר)?

7. דני ניסה לחשב ממוצע של רשימה של N מספרים (N > 2) בצורה הבאה: הוא חישב את הממוצע של שני המספרים הראשונים, ואז את הממוצע של התוצאה עם המספר השלישי, ואת הממוצע של התוצאה החדשה עם המספר הרביעי וכך הלאה. למרות ששיטה זו לחישוב ממוצע אינה נכונה בעוד שלדני לא היו טעויות חישוב, המורה (שיודע לחשב ממוצע בצורה נכונה) בדק את התוצאה ושיבח את דני על התשובה הנכונה. דני, שחשד שהשיטה שלו אינה נכונה עבור המקרה הכללי, החליף את אחד המספרים במספר אחר (וסיפר על כך למורה), חישב את הממוצע החדש (בדרכו השגויה), וביקש מהמורה שיבדוק את התוצאה. אך איזה פלא – שוב שיבח המורה את דני על התוצאה הנכונה! איזה טענה נכונה בהכרח?

  • אם יוציאו את המספר שהוחלף, יהיה בין המספרים שנותרו מספר מספר השווה לממוצע של שאר המספרים (ללא המספר שהוצא)
  • N הוא 4, 5 או 8
  • המספר שהוחלף הוא המספר ה – lg(N)-י מסוף הרשימה (כאשר lg מייצג לוגריתם בבסיס 2)
  • המצב המתואר אינו אפשרי

8. על גבי תמונה ברזולוציה של 8×8, פלטתי 64 פיקסלים, כל אחד במקום אקראי ובלתי תלוי. מהו הסיכוי שמילאתי בדיוק מחצית מהפיקסלים שבתמונה?

  • פחות מ – 1 למיליון
  • בערך 1 ל – 2,500
  • בערך 1 ל – 100
  • בדיוק 1 ל – 2

9. נתון הפסאודו-קוד הבא (עם שלוש פונקציות חסרות):

א >- 1000000000
כל-עוד (אמת) בצע:
	אם ק, אזי:
		א >- 1000000000
		בצע פ
	אם א שווה ל - 0, אזי:
		בצע ס
	א >- 1-א

למה סביר להניח שהוא מיועד:

  • הקצאת מספרים סידוריים
  • פירוק מספרים גדולים לגורמים
  • תפעול דלת הזזה אוטומטית
  • הגרלת מספרי לוטו

10. (*) הפונקציה הבאה אמורה להחזיר את המיקום של האיבר שערכו x במערך A שמכיל N איברים ממוינים בסדר עולה (ומכיל איבר שערכו x). אבל יש בה באג.ב – C:

int get_index(int x, int A[], int N)
{
	int L = 0, H = N-1;

	while (L != H) {
		int M = (L+H)/2;
		if (x >= A[M])
			L = M;
		else
			H = M-1;
	}

	return L;
}

בפסקל (כאשר האיבר הראשון במערך A הוא האיבר במיקום ה – 0):

function get_index(x : integer; A : array of integer; N : integer) : integer;
var
	L, H, M : integer;
begin
	L := 0; H := N-1;

	while L <> H do
	begin
		M := (L+H) div 2;
		if x >= A[M] then
			L := M
		else
			H := M-1;
	end;
	get_index := L;
end;

עבור כמה ערכים של N, הפונקציה, בכל זאת, תחזיר תשובה נכונה תמיד?

11. מה עושה קטע הקוד הבא בשפת אסמבלי בסביבת 16bit?:

	mov bx, offset var_ptr
	xor ax, ax
l:
	xchg [bx], ax
	or ax, ax
	jz l
  • מחשב את שורש שלוש
  • תופס בעלות על משאב
  • מבצע מיון בועות
  • הופך רשימה מקושרת

12. מה עושה קטע הקוד הבא בשפת אסמבלי בסביבת 32bit?:

	xor ebx, ebx
start:
	test eax, eax
	jz end
	xchg ebx, [eax]
	xchg ebx, eax
	jmp start
end:
  • מחשב את שורש שלוש
  • תופס בעלות על משאב
  • מבצע מיון בועות
  • הופך רשימה מקושרת

13. מהן שלוש הפונקציות הבאות בשפת C:

void a(type1* s)
{
	p[0] = (type2*) malloc(sizeof(type2));
	p[1] = (type2*) malloc(sizeof(type2));
	p[0].a = p[1]; p[1].a = p[0];
	p[1].b = s;
}
void b(type1* s)
{
	type2* n = (type2*) malloc(sizeof(type2));
	p[0].b = s;
	n.a = p[0]; p[0].a = p[1]^n;
	p[1] = p[0]; p[0] = n;
}
int c(int d)
{
	if (p[!d].a != p[d]) {
		p[d] ^= p[!d].a;
		swap(p[d], p[!d]);
		return 1;
	}
	return 0;
}
  • מערכת Undo ו – Redo
  • מימוש של ערימה
  • מנגנון garbage collection
  • בינה מלאכותית ל – "ארבע בשורה"

14. (*) הוטל עליך לתכנן מערכת תקשורת רציפה בין רכיב כותב לרכיב דוגם. התקשורת מתבצעת דרך בלוקים של 64000 בתים. בזמן נתון, כל בלוק יכול להיות במצב "כתיבה" או במצב "קריאה" (אך לא בשניהם בו-זמנית). בכל פעם שהרכיב הדוגם מסיים לעבד בלוק, הוא מעוניין לקרוא את הבלוק האחרון שנכתב במלואו.מהו מספר הבלוקים המינימלי ההכרחי כדי למנוע מצב בו רכיב אחד מחכה לסיום פעולתו של הרכיב השני?

15. (**) דני מביט, ממרחק של מטר, במחיצת קרטון ממנה גזרו פס צר. דרך הפס הוא יכול לראות חלק קטן מכרזת פרסומת לקודגורו 6. הנקודה הנראית לדני כשמאלית ביותר בפס נמצאת במרחק של 260 ס"מ מהמחיצה. הנקודה הנראית לדני כימנית ביותר בפס נמצאת במרחק של 440 ס"מ מהמחיצה. המרחק בין שתי נקודות אלו הוא שני מטרים. מהו המרחק בסנטימטרים בין הנקודה הנראית לדני בצדו השמאלי של הפס לבין הנקודה הנראית לו במרכז הפס?

16. למה משמשות שלוש הפונקציות הבאות:

בשפת C
בשפת פסקל

void a()
{
	x1 = x2 = 0;
}
procedure a;
begin
 x1 := 0;
 x2 := 0;
end;
int b()
{
	if (x1) return F[--x1];
	return x2++;
}

 

function b : integer;
begin
 if x1 <> 0 then
 begin
 x1 := x1 - 1;
 b := F[x1];
 end
 else
 begin
 b := x2;
 x2 := x2 + 1;
 end;
end;
void c(int x)
{
	F[x1++] = x;
}
procedure c(x : integer);
begin
 F[x1] := x;
 x1 := x1 + 1;
end;
  • מימוש של תור מעגלי
  • התמרת פוריה בדידה
  • פעולות על מספרים גדולים
  • טיפול יעיל בהקצאת זיכרון

17. (*) נתונה הפונקציה הבאה בסביבת 32bit:ב – C:

unsigned int div_by_17(unsigned int a)
{
	return (MUL*a)>>SHIFT;
}

ניתן למצוא ערכים של MUL ו – SHIFT עבורם ערך החזרה של הפונקציה יהיה a חלקי 17 (מעוגל כלפי מטה), בהנחה ש – 16 הביטים העליונים של a כבויים.
מצא ערך מתאים של MUL:

18. (*) בהמשך לשאלה הקודמת, מצא ערך של SHIFT המתאים לערך של MUL שמצאת:

19. (**) המורה של דני השתמש בשיטה הבאה כדי לכווץ הודעה המורכבת מ – 26 אותיות ה – ABC (אותיות גדולות בלבד):

הגדרה:
	מילון0 הוא מילון היודע לקחת מחרוזת ולמצוא מספר שהותאם לה קודם לכן
	(או להגיד שעדיין לא הותאם לה מספר)

עבור כל אות מה - ABC, בצע:
	התאם למחרוזת המכילה את האות הזו בלבד את האינדקס שלה ב - ABC
	(כלומר, ל - "A" יותאם 1 ול - "Z" יותאם 26)

הכנס למשתנה קוד0 את המספר 26

קרא את התו הראשון מהמסר ושמור אותו ב - מחרוזת0

כל עוד ישנם עדיין תווים במסר שלא נקראו, בצע:
	קרא את התו הבא מהמסר ושמור אותו ב - תו0
	הכנס ל - מחרוזת1 את מחרוזת0 עם תו0 משורשר בסופה
	אם כבר הותאם מספר ל - מחרוזת1 ב - מילון0 אזי:
		החלף את הערך של מחרוזת0 בערך של מחרוזת1
	אחרת:
		פלוט את המספר שהותאם ל - מחרוזת0 לפי מילון0
		הוסף אחד לערך של קוד0
		התאם במילון0 את המספר קוד0 למחרוזת מחרוזת1
		החלף את הערך של מחרוזת0 בערך של תו0
פלוט את המספר שהותאם למחרוזת0 לפי מילון0 

המסר המכווץ נראה כך (משמאל לימין):

3, 7, 27, 24, 29, 31, 7

דני רוצה לפענח את המסר, בתקווה שמשמעותו היא שהמורה מבטל את השיעור הקרוב. עזרו לדני!
מהו המסר המקורי אותו כיווץ המורה?

20. נתונות שתי דרכים לממש פונקציה מסוימת:ב – C:

unsigned int f1(unsigned int n)
{
	unsigned int x = 1;
	for (unsigned int i = 1; i <= n; i++) {
		x *= i;
	}
	return x;
}

unsigned int f2(unsigned int n)
{
	if (n == 0) return 1;
	return n*f2(n-1);
}

בפסקל:

function f1(n : word) : word;
var
 x, i : word;
begin
 x := 1;
 for i := 1 to n do x := x*i;
 f1 := x;
end;

function f2(n : word) : word;
begin
 if n = 0 then f2 := 1
 else f2 := n*f2(n-1);
end;

בחר את הטענה הנכונה:

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

21. מה הקשר בין d – ממוצע הזמן בדקות בין פגיעת שני מטאורים, לבין m – ממוצע מספר המטאורים הפוגעים בדקה?

  • תמיד מתקיים m = d
  • יכול להיות ש m = 1/d
  • אף פעם לא d = 1/m
  • כל התשובות נכונות

22. אם תוכנת המגב (וישר) של מכונית פועלת על ידי מצמוץ אם ורק אם מספר השניות מאז 1.1.1970 מתחלק ב-d, כאשר d הוא מספר שלם בין 1 ל-10 הניתן לכיוונון על ידי הנהג. מהו קצב המצמוץ האיטי ביותר שניתן להשיג אם הנהג יכול לשנות את d כל שניה?

  • 10 שניות
  • 42 דקות
  • 42 יום
  • אינסוף

23. אני מחפש ספגטי מסוים בסופרמרקט, יש לי את ה-Bar-Code שלו ואני מנסה להשוות מול המוצרים שעל המדף. איזו שיטה יעילה יותר?

  • לבדוק את הספרה הראשונה (msb) ורק אם מתאימה לבדוק את הספרות הבאות
  • לבדוק את הספרה האחרונה (lsb) ורק אם מתאימה לבדוק את הספרות הבאות
  • תלוי איזה רוטב אני מעדיף
  • כל התשובות נכונות

24. ולמה?

  • כי הספרות האחרונות הם ספרות ביקורת
  • כי הספרות הראשונות קבועות למוצרים רבים
  • כי יש קשר בין הרוטב המועדף ל-Bar-Code
  • כל התשובות נכונות

25. להלן אלגוריתם הפעולה של מיקרוגל

start:
 time = 0
loop:
 if (time == 0 and program_time) time = user_input
 if (time > 0) {heat; time--; wait_a_second; if (time == 0) beep_end}
 goto loop
 
On cancel_pressed Interrupt:
 if (time>0) beep_abort; time=0
 goto loop

האם ניתן לעצור את המיקרוגל מרגע שהחל לחמם מבלי לצפצף?

  • לא, כי סיום הזמן או הפסקה לפני סיום גורמת לצפצוף
  • קימת שנייה בה ניתן לעשות זאת
  • רק אם time הוא בן 32 ביט
  • על ידי תכנות הזמן מחדש באמצע חימום

26. האם יכול להיות ש-30% מהגברים בגילאים 30 עד 40 הם רווקים ו-40% מהגברים בגילאי 40 עד 50 הם רווקים?

  • לא, כי יציאה מרווקות היא תהליך בלתי הפיך (אלמן וגרוש אינם רווקים)
  • לא, כי 50% מהאוכלוסייה הן נשים (ו 30+40 > 50)
  • כן, כי המצב לא חייב להיות יציב (עוד 10 שנים המספרים ישתנו)
  • כן, אבל רק אם מתמקדים באוכלוסיית תל-אביב בלבד

27. לפני קו עצירה של רמזור יש מספר גלאי מתכת. מה יקרה אם תוכנת הרמזור מתחשבת רק בגלאי המרוחק ביותר מהרמזור המגלה מתכת?

  • נהגים שיעצרו רחוק מהרמזור יקבלו ירוק מהר יותר
  • תנועת המכוניות תהיה רגישה פחות לשגיאות מדידה
  • הרמזור עלול ל"התקע" לנצח באור ירוק
  • כל התשובות נכונות

28. מה מחשבת הנוסחא הבאה?

(x0*y1-x1*y0)/sqrt((x0*x0+y0*y0)*(x1*x1+y1*y1))
  • אורך של אלכסון במחומש משוכלל
  • חוצה זווית של משולש שווה שוקיים
  • מרחק ממנו רואים פסל בזוית מירבית
  • קוסינוס של זוית שקודקודה בראשית

29. מה מחשב הקטע הבא

xm=0
for x = 0 to 100 {
	xx = x*(y2-y1)/sqrt((x*x+y1*y1)*(x*x+y2*y2))
	if (xx > xm) xm = xx; a=x
}
  • אורך של אלכסון במחומש משוכלל
  • חוצה זווית של משולש שווה שוקיים
  • מרחק ממנו רואים פסל בזוית מירבית
  • קוסינוס של זוית שקודקודה בראשית

30. נתון קטע הקוד (החסר) הבא בשפת C++:

class A { ... };
class B { ... };
class C { ... };

class Container {
	Container() : a(), c(), b() {
		c.start();
		b.start();
		a.start();
	}
	A a;
	B b;
	C c;
};

כאשר יוצרים מופע של המחלקה Container, באיזה סדר ייקראו הבונים (constructors) של האובייקטים המוכלים a, b, c?

  • קודם a, אח"כ b ולבסוף c
  • קודם c, אח"כ b ולבסוף a
  • קודם a, אח"כ c ולבסוף b
  • קודם b, אח"כ a ולבסוף c

31. כיצד ניתן לבצע TLB Priming?

  • לקרוא את המילה האחרונה של העמוד ממנו רוצים לקרוא ומיד לקרוא את העמוד מתחילתו ועד סופו
  • לקרוא מילה כלשהי מעמוד אותו רוצים לקרוא, ואז לעבוד על זיכרון אחר לפני שניגשים לעמוד הנ"ל
  • לקרוא עמוד בצרור (burst) מתחילתו ועד סופו, ואז לעבור עליו מסופו לתחילתו
  • לקרוא מילה אחת מכל שורת מטמון (cache line) בעמוד לפני שעוברים עליו

32. (*) מה תחזיר התוכנית הבאה?ב – C:

int f(int p, int p1)
{
	int i,j,i1,j1;
	i =p >>3; j =p &7;
	i1=p1>>3; j1=p1&7;
	return (i-i1)*(i-i1)+(j-j1)*(j-j1) == 5;
}

בפסקל:

function f(p, p1 : integer) : boolean;
var
 i, j, i1, j1 : integer;
begin
 i := p shr 3; j := p and 7;
 i1 := p1 shr 3; j1 := p1 and 7;
 f := (i-i1)*(i-i1)+(j-j1)*(j-j1) = 5;
end;
  • האם p גדול מ p1 כמספרים מרוכבים
  • האם אפשר להגיע במהלך פרש מ – p אל p1
  • האם p ניתן לייצוג כ p1 ספרות בבסיס 7
  • כל התשובות נכונות

33. (**) מה תחזיר התוכנית הבאה?

int s(unsigned __int64 x){return (!x || x&(x-1));}

int r()
{
	unsigned __int64 i,m1,m2;
	int r = 0;
	int j;
	for (i=1; i; i++,r+=j==8)
		for (j=0,m1=0xff,m2=0x101010101010101; j<8; j++,m1<<=8, m2<<=1)
			if (s(i&m1) || s(i&m2)) break;
	return r;
}

 

34. מה ספרת העשרות הנפוצה בין מליון חזקות 2 הראשונות?

  • 1
  • 2
  • 9
  • כולן מופיעות בערך בשכיחות שווה

35. מה הספרה הנפוצה ביותר כספרה ראשונה (Most Significant) בין מיליון חזקות 2 הראשונות?

  • 1
  • 2
  • 9
  • כולן מופיעות בערך בשכיחות שווה

36. מה מיוחד במספר 26334878?

  • כשמתרגמים אותו לאוקטלית, לא מכיל את הספרות 0 ו-7
  • תרגום של שם התחרות מאנגלית לספרות
  • מכפלה של שני מספרים ראשוניים
  • כל התשובות נכונות

37. מדוע השורה הבאה בשפת C גורמת לתוכנית לקרוס בארכיטקטורת x86?

void*x=(*((void*(*)())&(x=(void*)0xfdeb58)))();
  • Access Violation
  • Stack Underflow
  • Invalid Opcode
  • ביט Mod R/M משובש

38. מה זה 2001:0db8:85a3:08d3:1319:8a2e:0370:7334?

  • כתובת בפרוטוקול IPv6
  • נגטיב של חתול
  • המספר הראשוני הגדול ביותר הידוע כיום, בייצוג הקסדצימלי
  • בקשה לסנכרון, בפרוטוקול V.42 (מודם)

39. איזו מהאפשרויות הבאות אינה מבנה נתונים ידוע?

  • ערימה בינארית
  • ערימה מקושרת
  • ערימה בינומית
  • ערימת פיבונאצ'י
40. (*) צריח נע על לוח שח-מט סטנדרטי מהפינה השמאלית-עליונה אל הפינה הימנית-תחתונה. בכל צעד, הצריח יכול לזוז משבצת אחת ימינה או משבצת אחת למטה. כמה מסלולים אפשריים יש לצריח?

41. מה המקור של הביטוי SPAM?

  • דואר זבל זה מגעיל כמו בשר משומר
  • Shit Posing As Mail
  • סקיצה של "מונטי פייטון"
  • אף תשובה אינה נכונה

42. לאחר הרצת הקוד הבא בשפת C:

FILE* fp = fopen("1.txt", "w");
char ch = 0xa;
fwrite(&ch, sizeof(ch), 1, fp);
fclose(fp);

גודל הקובץ שנוצר היה שני בתים ולא בית אחד, מדוע?

  • מכיוון ש – fwrite מיועד לכתיבת בלוקים
  • מכיוון ש – fclose מוסיף בית מסיים
  • מכיוון שהקובץ נפתח במצב כתיבה טקסטואלי
  • מכיוון שהקוד רץ על מעבד AMD

43. (***) מה עושה הפונקציה הבאה, למה זה שימושי?ב – C:

int B[1<<7];

void f()
{
	int c, i, j;
	for (c = 0; c < (1<<7); c++) {
		if (B[c] == 0) {
			printf("%d\n", c);
			B[c] = 1;
			for (i = 1<<6; i != 0; i>>= 1) {
				for (j = 1<<6; j != 0; j>>= 1) {
					B[c^(i|j)] = 1;
				}
			}
		}
	}
}

בפסקל:

var
	b : array[0..(1 shl 7)] of integer;

procedure f;
var
	i, j, c : integer;
begin
	for c := 0 to (1 shl 7)-1 do
	begin
		if B[c] = 0 then
		begin
			writeln(c);
			B[c] := 1;
			i := 1 shl 6;
			while i <> 0 do
			begin
				j := 1 shl 6;
				while j <> 0 do
				begin
					B[c xor (i or j)] := 1;
					j := j shr 1;
				end;
				i := i shr 1;
			end;
		end;
	end;
end;

44. (****) מה עושה הפונקציה הבאה:ב – C:

int O[4] = {1, -1, 128, -128};

void f(unsigned char A[1<<14], int B[1<<14])
{
	int C[1<<8] = {0x3F7E};
	unsigned char X = 0, Y = 1;
	int j, m;
	for (j = 0; j < 1<<14; j++)
		B[j] = -1;
	while (X != Y) {
		int c = C[X++];
		for (j = 0; j < 4; j++) {
			m = c + O[j];
			if ((A[m] == 0) && (B[m] == -1) && (m != B[c]))
				{B[m] = c; C[Y++] = m; }
		}
	}
}

בפסקל:

const
 O : array[0..3] of integer = (1, -1, 128, -128);

type
 typeA = array[0..(1 shl 14)-1] of byte;
 typeB = array[0..(1 shl 14)-1] of integer;

procedure f(var a : typeA; var b : typeB);
var
 C : array[0..(1 shl 8)-1] of integer;
 X, Y : byte;
 j, m, k: integer;
begin
 C[0] := $3F7E;
 X := 0; Y := 1;
 for j := 0 to (1 shl 14)-1 do
 B[j] := -1;
 while (X <> Y) do
 begin
 k := C[X]; X:=X+1;
 for j := 0 to 3 do
 begin
	 m := k + O[j];
	 if (A[m] = 0) and (B[m] = -1) and (m <> B[k]) then
 begin
		 B[m] := k; C[Y] := m; Y:=Y+1;
 end;
	 end;
 end;
end;

 

שאלון קודגורו 7 שלב א'

רשומה רגילה
1. ב – ‏C++‎, אם נצהיר על מתודה כ – pure virtual וגם נממש אותה:

  • נקבל שגיאת קומפילציה – אסור לממש פונקציות pure
  • נקבל שגיאת ריצה – אם תהיה קריאה לפונקציה ה – runtime יזרוק exception
  • יתקמפל וירוץ בלי בעיות, אך מהדרים מסוימים יזרקו warning – לעולם לא ניתן להריץ את הפונקציה
  • שימושי במקרים מסוימים, אין שגיאות בזמן קומפילציה או בזמן ריצה
2. מה עושה הקוד הבא:

int f(unsigned int x)‎
‎{‎
‎ if (x == 0) return 0;‎
‎ return (f(x/2) + (x%2));‎
‎}‎

  • מחזיר כמה ספרות זוגיות יש במספר
  • מחזיר את מספר הביטים הדלוקים
  • מחזיר את מספר הביטים הכבויים
  • מחזיר האם המספר מתחלק בשתיים ללא שארית
3. מה לא בסדר הקוד הבא בשפת C++ (הניחו שקיימים ה-include-ים המתאימים):

int rand(void)‎
‎{‎
‎	std::auto_ptr<char> arr = new char[100];‎
‎	int i;‎
‎	for (i = 0; i < 100; ++i)‎
‎	{‎
‎		arr[i] = rand();‎
‎	}
‎ ‎
‎	for (i = 0; i < 100; ++i)‎
	{‎
		std::cout<<int(arr[i])<<std::endl;‎
	}‎
‎}‎
  • יש חריגה מתחום המערך – באחת מלולאות ה – for
  • יש דליפת זיכרון – אסור להחזיק מערכים ב-auto_ptr
  • אסור להכניס ints למשתנה char ללא type-cast – זה זורק מידע
  • אסור להדפיס משתנה char כ-int – המידע החסר לא מוגדר
4. אילו מהצעדים הבאים נחוץ כדי להשתמש ב – dynamic_cast ב-C++‎:

  • קיום מתודה וירטואלית כלשהי ב-class האב
  • קיום destructor וירטואלי
  • קיום constructor וירטואלי
  • אף אחד, ניתן להשתמש ב-dynamic_cast על כל אובייקט
5. מה עושה הקוד הבא:

bool f(unsigned int x) {‎
‎ if (x == 0) return false;‎
‎ return ((x & (x-1)) == 0);‎
‎}‎
  • בודק האם X הוא חזקה של 2
  • בודק האם ב-X יש שני ביטים דולקים צמודים
  • בודק האם ל-X יש ביט אחד דולק לפחות
  • בודק האם ל-X יש מספר זוגי של ביטים דולקים
6. מה התפקיד של INT 3h במחשבי PC של IBM?

  • זה ה- Video Interrupt
  • זה ה- Keyboard Interrupt
  • זה ה- Disc Interrupt
  • זה ה-Breakpoint Interrupt ‎
7. מה ההבדל בין Intel Assembly ל- AT&T Assembly?

  • יש Opcodes שונים
  • תחביר שונה
  • יש אוגרים שונים
  • מיועדות למעבדים שונים
8. איזה קוד שקול לפעולה של הפקודה LEAVE?

  • NOP; POP EBP
  • MOV ESP, EBP; POP EBP‎
  • MOV EBP, ESP; POP ESP
  • LEA EBP, [EBP]; POP EBP‎
9. אם ‎[EBP-4]‎ הנו המשתנה המקומי הראשון בפונקצית C, מה זה ‎[EBP+4]‎?

  • כתובת חזרה
  • משתנה גלובלי ראשון
  • פרמטר ראשון לפונקציה
  • Saved EBP
10. בשביל שהתוכנית הבאה תפעל באופן תקין, השלם את החסר.

‎.DATA‎
	HelloWorld DB "HelloWorld", 0x0‎
‎.TEXT‎
	MOV ESI, HelloWorld
	MOV EDI, ESP
	‎???‎
	CHAR_LOOP:‎
		LODSB
		CMP AL, 0x0‎
		JE _EOF
		STOSB
		JMP CHAR_LOOP
	‎_EOF:‎
		RET
  • MOV ESI, 0‎
  • CLD
  • STD
  • XOR EDI, EDI
11. יש שתי מעטפות, באחת יש פי שתיים יותר כסף מהשנייה. פתחת מעטפה אחת ואתה רואה בתוכה ‏1000 שקל, האם כדאי לעבור למעטפה שנייה?

  • כן, כי יש במעטפה השנייה 500 שקל או 2000 שקל ולכן תוחלת הרווח היא חיובית
  • רק אם השיקולים שלך הם להרוויח כמה שיותר כסף, לא משנה באיזה סיכוי
  • אפשר לעבור ואפשר לא לעבור, זה לא משנה
  • רק אם משחקים יותר מאיטרציה אחת של המשחק (אבל כל פעם הסכומים במעטפות מוגרלים מחדש)
12. יש תחנת אוטובוסים שבתחילת כל דקה יוצא ממנה אוטובוס בהסתברות 1/6. מה הפרש הזמנים בתוחלת בין יציאה של שני אוטובוסים סמוכים?

  • 6 דקות
  • 5 דקות
  • 12 דקות
  • 10 דקות
13. הגעת לאותה תחנת אוטובוסים באמצע דקה כלשהי. מה הפרש הזמנים בתוחלת בין האוטובוס שיצא לפני שהגעת לאוטובוס הבא שיגיע?

  • 6 דקות
  • 5 דקות
  • 12 דקות
  • 10 דקות
14. מה מודדים ביחידות וואט (w)?

  • מתח
  • התנגדות
  • הספק
  • זרם
15. מה תפקיד הפקודה הבאה הרשומה בשפת HTML:

‎<marquee direction="right"> HELLO </marquee>‎
  • הפקודה מציגה על המסך את המילה HELLO כאשר המילה נטוייה לצד ימין
  • הפקודה מציגה בצד ימין של המסך את המילה HELLO
  • הפקודה מציגה על המסך את המילה HELLO כאשר המילה נעה משמאל לימין
  • הפקודה מציגה על המסך את המילה HELLO כאשר המילה נעה מימין לשמאל
16. מה יציג הדפדפן עבור הקטע הבא בשפת HTML:

‎<body>‎
‎	<script language="javascript">‎
		Window.alert("Good Luck");‎
	</script>‎
‎</body> ‎
  • הדפדפן יציג הודעת שגיאה למשתמש מפני שהקטע לא תקין
  • הדפדפן יפתח הודעה למשתמש שבה רשום Good Luck
  • הדפדפן יפתח חלון חדש שבו רשום Good Luck בצבע שחור
  • הדפדפן לא יעבוד עד שהמשתמש לא יקליד Good Luck
17. מה פירוש המילה ASP?

  • Active Search Pages
  • Active Support Pages
  • Active System Pages
  • Active Server Pages
18. איזה מהבאים הוא אינו‎ ‎טופולוגיה המגדירה חיבור של מחשבים ברשת?

  • BUS
  • SQUARE
  • STAR
  • RING
19. איזה מהבאים הוא אינו סוג של כבל תקשורת?

  • Twisted Pair
  • Coaxial
  • RJ45‎
  • Optic Fiber
20. מה פירוש ראשי התיבות SMC בשפה Assembly?

  • Self Machine Check
  • Self Modifying Code
  • Single Machine Connection
  • Single Machine Circle
21. כמה פעמיים תתבצע הלולאה הבאה?

MOV EAX, 6
MOV EBX, 5‎
MOV ECX, 4‎
MOV EDX, 3‎
MOV ESI, 2‎
MOV EDI, 1‎

LOOP_ME:‎
 	DEC EAX
 	DEC EBX
 	DEC ECX
 	DEC EDX
 	DEC ESI
 	DEC EDI
	LOOP LOOP_ME
  • 1
  • 4
  • 3
  • 2
22. במקום LOOP, נשתמש ב LOOPZ ‎. כמה פעמיים עכשיו הלולאה תבצע?

  • 0
  • 1
  • 3
  • אין סוף
23. באיזה אוגר משתמשים להעברת ערך חזרה ‎(Return Value)‎ בקוד שנכתב בשפת C?

  • EDX
  • ESI
  • ECX
  • EAX
24. מה הערך של האוגר AH בקוד הבא?

MOV EAX, 0xabcddcba
PUSH 0x1‎
POP EAX
  • הערך ‎0xBA
  • הערך ‎0x0‎
  • הערך ‎0x1‎
  • הערך ‎0xB1‎
25. באיזה מדינה פותח וירוס המחשב הראשון – ‎"brain virus"‎ ?

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

  • 1962
  • 1946
  • 1989
  • 1950
27. לאיזה מהרכיבים הבאים רוחב פס הנתונים ‎(DATA BUS)‎ הוא 16 סיביות?

  • 8051
  • 8086
  • 8088
  • כל התשובות נכונות
28. איך ניתן לדעת שהמספר 0010 הרשום בצורה בינארית הוא זוגי?

  • עפ"י סיבית שמאלית כאשר היא '0' לוגי
  • עפ"י סכום שתי הסיביות השמאליות כאשר הוא '0' לוגי
  • כאשר מספר '0' לוגי במספר יותר גדול ממספר '1' לוגי
  • עפ"י סיבית ימנית כאשר היא '0' לוגי
29. מהו תפקיד הסיכוך העוטף את כבל התקשורת?

  • לחזק את הכבל
  • לאפשר העברת מידע רב ומהיר בכבל
  • לספוג רעשים הנוצרים על הכבל ולהגן על המידע
  • להגדיל את התנגדות הכבל ובכך להחליש את כמות המידע בכבל
30. במודל שבע השכבות ‎(OSI)‎, איזו שכבה נמצאת מתחת לשכבת ה- Transport?

  • Network
  • Application
  • Presentation
  • Physical
31. איזו העברת נתונים מהירה יותר, העברה מקבילית או העברה טורית?

  • העברה מקבילית
  • העברה טורית
  • שני סוגי ההעברות שוות בזמן
  • תלוי בגודל המידע שרוצים להעביר
32. מה עושה התוכנית הבאה בשפת מיקרו 8086 הבאה:

Mov CX, 10 ‎ ‎ ‎
Mov SI, 2000h ‎ ‎
Mov DI, 1000h ‎ ‎ 
Again: Mov AL, [DI]‎
‎ Mov BL, [SI]‎
‎ Mov [DI], BL‎
‎ Mov [SI], AL‎
‎ Inc SI‎
‎ Inc DI‎
‎ Loop Again
  • התוכנית מעבירה בלוק נתונים בגודל 10 מכתובת ‎1000h לכתובת ‎2000h
  • התוכנית מחליפה בלוק נתונים בגודל 10 בין כתובת ‎1000h לבין כתובת ‎2000h
  • התוכנית מעבירה בלוק נתונים בגודל 10 מכתובת ‎2000h לכתובת ‎1000h
  • התוכנית מחליפה בלוק נתונים בגודל 10 בין כתובת ‎1009h לבין כתובת ‎2009h
33. מה ישתנה לאחר שינוי ערך אוגר CX ל- ‎10h?

  • התוכנית לא תשתנה כלל
  • גודל בלוק הנתונים ישתנה ל- 16 תאים
  • התוכנית תשנה את הכתובות ל- ‎1010h ול- ‎2010h
  • התוכנית לא תעבוד מפני שזיכרון המעבד לא מכיר בלוק נתונים בגודל ‎10h
34. נתונה התוכנית הבאה בשפת פסקל:

x:= 0;‎
writeln('Enter a number');‎
readln(num);‎
while num<>0 do‎
begin
‎ x:= x*10+(num mod 10);‎
‎ num:= num div 10;‎
end;‎

מה תפקיד התוכנית הבאה?

  • התוכנית מחשבת את סכום הספרות של המספר num
  • התוכנית מחשבת את סכום ספרת העשרות והאחדות של המספר num
  • התוכנית מפרקת את המספר num לחצי
  • התוכנית מסדרת את המספר num בסדר ספרות הפוך
35. בתוך המעבד ישנה יחידה הנקראת ALU. מה הפירוש של יחידה זו?

  • Arithmetic Large Unit
  • Arithmetic Logic Unit
  • Arithmetic License Unit
  • Arithmetic Login Unit
36. מה ההבדל בין הזיכרונות ROM ו- RAM?

  • ROM זהו זיכרון פנימי, RAM זהו זיכרון חיצוני
  • ROM זהו זיכרון שניתן לכתוב אליו ולקרוא ממנו, RAM זהו זיכרון שניתן לקרוא ממנו בלבד
  • ROM זהו זיכרון שניתן לקרוא ממנו בלבד, RAM זהו זיכרון שניתן לכתוב אליו ולקרוא ממנו
  • ROM זהו זיכרון לכתובות בלבד, RAM זהו זיכרון לנתונים בלבד
37. LED מוגדר כרכיב…?

  • נועל – Latch
  • קלט – Input
  • חוצץ – Buffer
  • פלט – Output
38. בתוכנת WORD, איזה קיצור מבצע בחירת כל המסמך?

  • Alt + S
  • Ctrl + Z
  • Ctrl + A
  • Alt + W
39. בתוכנת EXCEL, כדי לפתוח מסמך שמור משתמשים בקיצור?

  • Ctrl + P
  • Ctrl + O
  • Ctrl + N
  • Ctrl + M
40. על איזו מערכת הפעלה מבוסס מנוע החיפוש של Google?

  • Windows
  • Linux
  • Macintosh
  • מנוע החיפוש עובד ללא שום מערכת הפעלה
41. מה מסתתר תחת השם OLS?

  • מערכת הפעלה
  • שפת תכנות
  • כרטיסייה בתוך המעבד
  • כנס לינוקס המתקיים מדי שנה בקנדה
42. מה זה PHP?

  • מכונה להעשרת אורניום
  • חבילת יישומים של office
  • שפה לבניית אתרים דינאמיים
  • מחלקה מחברת המחשבים HP
43. למה משמש הכלי rsync?

  • סנכרון המחשב עם מכשיר חיצוני (לדוגמא מדפסת)
  • העברה יעילה של קבצים ברשת
  • עוזר בתקנה של מערכת ההפעלה
  • מנוע חיפוש חזק ברשת
44. מה עושה הקוד הבא:

mov cx, 2‎
start:‎
xor dx, dx
div cx
push dx
and ax, ax
jz next
call start
next:‎
pop ax
add al, 30‎
int 29‎
ret
  • מדפיס מספר בבסיס 10
  • מדפיס מספר בביס בינארי
  • פונקציה רקורסיבית שבודקת אם מספר אי זוגי
  • פונקציה רקורסיבית שמדפיסה מספר ראשוני
45. מה היתרון של passive FTP?

  • האנטי-וירוס לא יזהה וירוסים אשר יעברו דרך passive FTP
  • הוא יותר מהיר
  • הוא יותר אמין (תיקון שגיאות)
  • הוא עובד מאחורי firewalls
46. למה צריך את TFTP?

  • אם FTP נחסם בfirewall
  • מימוש פשוט של FTP (במגבלות גודל קוד וזיכרון)
  • הוא יותר יעיל בהעברת קבצים קטנים
  • כדי לבצע העברת קבצים בין שני שרתים מרוחקים
47. למה משמש פורט 443?

  • לתעבורת HTTP מעל SSL
  • נעשה בו שימוש ב OpenSSL
  • לתעבורת RPC
  • לתעבורת HTTP Proxy
48. באיזה הקשר משתמשים במונח IRQL:

  • קוד אשר מטפל בפסיקות
  • פיתוח קוד פתוח בליבה של לינוקס
  • הפונקציה אשר גורמת ל blue screen of death בחלונות
  • קוד של מנהלי התקנים‎ ‎(דרייברים)
49. כשמרימים לחיים במשתה בין עשרה אנשים, כל בן אדם הרים לחיים עם כל האחרים, כמה נקישות בין הכוסות היו סה"כ?

  • 45
  • 35
  • 100
  • !10
50. מה ידפיס קטע הקוד הבא כאשר הוא מורץ ע"י מעבד SPARC?

long a[] = {1, 2, 3, 4};‎
char*p = a;‎
for (int i = 0; i < sizeof(a); i++)‎
‎ printf("%d, ", *(p + i));‎
  • ‎1, 2, 3, 4,‎
  • ‎1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0,‎
  • ‎0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3,‎
  • ‎4, 3, 2, 1,‎
51. מה ידפיס קטע הקוד הבא כאשר הוא מורץ ע"י מעבד PowerPC?

char a[] = {1, 2, 3, 4};‎
long *p = a;‎
for (int i = 0; i < sizeof(a) / sizeof(long); i++)‎
‎ printf("%x, ", *(p + i));‎
  • ‎01, 02, 03, 04‎
  • ‎1020304,‎
  • ‎4030201,‎
  • ‎04, 03, 02, 01‎
52. כמה אוגרים כלליים יש במעבד AMD64‎ (x86-64‎)?

  • 8
  • 16
  • 32
  • 64
53. דיסאסמבלר הינו כלי שמטרתו:

  • לקמפל קוד אסמבלי לשפת מכונה
  • להריץ קוד מכונה בסימולציה
  • לתרגם קוד מכונה לשפת אסמבלי
  • לבדוק תקינות ריצה של תוכנית אסמבלי
54. Rootkit הינו:

  • וירוס מחשב שמופץ דרך האינטרנט
  • תוכנה זדונית שמטרתה להיות מוסתרת
  • סט כלים שנמצא בידי שימוש אדימיניסטרטור בלינוקס
  • שם של חברת אבטחה הודית
55. מה עושה הקוד C הבא:

unsigned long f(unsigned long a, unsigned long b)‎
‎{‎
‎ long d1 = b - a;‎
‎ long d2 = (d1 & (d1 >> 31)) << 1;‎
‎ return d1 - d2;‎
‎}‎
  • מחזיר את המרחק בין שני המספרים
  • מחזיר את המספר הנמוך מבין השניים
  • מחזיר את המספר הגבוה מבין השניים
  • מחזיר את סכום שני המספרים בלי לגרום לגלישה
56. מה עושה הקוד אסמבלי הבא:

ADD EAX, 3‎
SHR EAX, 2‎
  • מוסיף לאוגר 3 ומחלק אותו בשתיים
  • מחלק את האוגר ב-4, התוצאה מעוגלת כלפי מעלה
  • מוסיף לאוגר 3 ומכפיל אותו בארבע
  • מחלק את האוגר ב-3, מעוגל כלפי מטה
57. מה עושה הקוד אסמבלי הבא:

MOV DX, AX
MOV CL, 15‎
SAR DX, CL
SUB AX, DX
SAR AX, 1‎
  • מחלק מספר signed ב-2
  • מחלק מספר unsigned ב-2
  • מחלק מספר signed ב-2 ומעגל כלפי ה-0
  • מחלק מספר unsigned ב-2 ומעגל כלפי מינוס אינסוף
58. מה זה x-mas פקט‎?‎

  • פקטה שבה כל האופציות בדגלים של פקטת TCP דלוקות
  • פקטה ששולחים בתחילת כל שנה ל ‎ www.times.com
  • פקטת authentication שנשלחת בין רכז (hub) אחד לאחר
  • סוג של וירוס שנשלח מעל רשתות Wireless LAN
59. מה זה QOS?

  • שביעות רצון הצרכן של חברות ספקי אינטרנט
  • פרוטוקול לסינכרון מידע בין נתבים
  • הרכיב של DNS שאחראי על מטמון
  • פרוטוקול תיעדוף בין פקטות בנתבים
60. מה זה ECC?

  • Error Correction Code
  • Elliptic Curve Cryptography
  • תשובות א+ב נכונות
  • אף תשובה לא נכונה
61. למה בבקשת HTTP יש פרמטר HOST?

  • כדי שהאתר יוכל לעשות סטטיסטיקה פנימית
  • אם יש כמה אתרים על אותה הכתובת
  • כדי שהאתר יידע שרצו לפנות אליו אם הייתה בעיה בDNS
  • לצורך אבטחה ברמת הפרוטוקול בשילוב עם RSA
62. למה בVOIP משתמשים בפרוטוקול UDP מאשר TCP?

  • האמינות בפרוטוקול פחות חשובה ולכן כדי שהפקטות יגיעו מהר משתמשים בUDP
  • UDP לא עושה checksum על פקטות וכך הן תמיד יגיעו ליעדן גם עם קשיים בתקשורת
  • TCP לא יכול לעמוד במהירות שצריך בכדי לשלוח פקטות בפרוטוקולי VOIP
  • חברות התקשורת ישלמו יותר אם התעבורה תהיה אמינה ולכן משתמשים בUDP
63. מהי התזה של צ'רץ'?

  • יש בעיות שהן בלתי פתירות
  • יש עובדות שאי-אפשר לדעת אם הן נכונות או לא
  • ניתן לממש כל אלגוריתם שעובד עם מספרים באמצעות שפת C
  • ניתן לכתוב תוכנת מחשב שאם תדבר איתה לא תדע להבדיל אם זה מחשב או בן אדם
64. מי ידוע כתוכניתן הראשון:

  • קובול
  • אדה
  • פסקל
  • ליספ
65. מה עושה הקוד הבא בשפת אסמבלי ‎80×86‎?

ADD EAX, 3‎
AND EAX, -4‎
  • מעגל מספר כלפי מטה לכיוון האפס
  • מיישר (align) את המספר כך שיתחלק ב 4
  • בודק האם מספר מתחלק ב 4
  • מחסיר מ EAX את הערך ‎-1‎
66. מה משמעות ראשי התיבות SP?

  • Stack pointer בשפת סף
  • Service Pack של מערכת הפעלה
  • Short Play בווידאו
  • כל התשובות נכונות
67. בכמויות גדולות, מה יותר זול: קניה ללא מע"מ או קנה אחד וקבל את השני בהנחה של שליש?

  • קניה ללא מע"מ
  • קנה אחד וקבל את השני בהנחה של שליש
  • אותו הדבר
  • התשובה השתנתה עם הורדת המע"מ מ-17 ל-16.5 אחוז
68. בטקס סיום שכבה ח' בבית ספר יסודי השתתפו מאה תלמידים. לשמונה מהם היו אחים בכיתה א' שבאו לברך אותם .לכמה אחוזים מהמשפחות (בערך) יש שני אחים בהפרש של שבע שנים זה מזה ?

  • 4 אחוז
  • 8 אחוז
  • 12 אחוז
  • 16 אחוז
69. אם בשבוע הספר מוכרים עשרה אחוז ממכירת הספרים השנתית, פי כמה גדולה מכירת הספרים בשבוע הספר מאשר בשבוע רגיל ?

  • פי 1.1
  • פי 5.1
  • פי 5.7
  • פי 10
70. אם רוב הכסאות בכיתה הם ורודים, ורוב התלמידים בכיתה הם בנים אז

  • קיים בן שיושב על כיסא ורוד
  • כל הבנות יושבות על כיסאות ורודים
  • אין שני כסאות כחולים צמודים
  • כל התשובות נכונות
71. זכרון מטמון זה כמו

  • המים הקרים שיוצאים בתחילת המקלחת עד אשר המי החמים מגיעים
  • הספרים האחרונים שקראת ושהולכים לאיבוד כי לא החזרת אותם לספריה
  • מורה שזוכר את שמות התלמידים שהצביעו לאחרונה ולא שואל אותם לשמם
  • הריבית הגבוהה המשולמת למי שזוכר להפקיד כספו בפק"ם בתחילת החודש
72. האם ניתן לשלם עשרה שקלים על ידי החלפת שטרות בלבד ?

  • בלתי אפשרי
  • משתמשים בשטר של שני דולר
  • שטר ישן של אלף לירות
  • אפשר
73. המשמעות של PERL היא:

  • Programmer Efficient Runtime Library
  • Practical Extraction and Reporting Language
  • Partial Equation Resolution Library
  • Productive Execution Runtime Language
74. במערכת WINNT, תוכניות רבות נתקעות בעת הפעלתן, ובעיקר תוכנות התקנה. מה יכולה להיות הסיבה ?

  • הכניסה HKEY_LOCAL_MACHINE\Software\Microsoft\Installer לא מוגדרת כמו שצריך
  • ספריית My Documents אינה קיימת
  • חסר קובץ Install.dll
  • משתני הסביבה TEMP ו-TMP מוגדרים לספריה שלא קיימת
75. איזו מבין מערכות ההפעלה להלן הכי פחות וותיקה ?

  • OpenBSD
  • Linux
  • FreeBSD
  • Windows 95
76. מה הוצע במסמך RFC 2550 שיצא באפריל 1999 ?

  • שיטה לייצוג תאריכים התומכת במיליארדי שנים קדימה
  • פרוטוקול תקשורת מאובטח
  • מערכת קבצים חסכונית, המאפשרת ניצול מיטבי של נפח הדיסק
  • תקן IEEE 2550, המציע אופטימיזציות לקומפיילרים של שפת C++x
77. MX RECORD הוא:

  • שיא העולם בהכפלת מטריצות בשיטת MX (Multiplicative eXtraction)
  • רשומת DNS המציינת את כתובת שרת הדואר של דומיין מסוים
  • רכיב תוספת למעבדי פנטיום, המאיץ ומשפר את ביצועי המעבד
  • שמה של רשומת המפתח בבסיסי נתונים מסוג Mysql-X
78. פורט תקשורת 27015 משמש ל:

  • המשחק Half-Life
  • שיתוף קבצים ב Windows
  • Battle Net של Blizzard
  • פורט לא קיים
79. מה תדפיס התוכנית הבאה:

for (i = 0; i < 10; i++)
 i <<= 1;
printf("%d", i);
  • 10
  • 15
  • 16
  • 17
80. כתבתי והרצתי את התוכנית הבאה במערכת יוניקס. מה יודפס ?

#include <stdio.h>
#include <unistd.h>
int main () {
 int rc;
 while (rc = fork()) {
 printf("%d\n", rc);
 }
}
  • מספר סופי של ערכים זהים
  • מספר סופי של ערכים שונים (לא זהים)
  • מספר אינסופי של ערכים שונים (לא זהים)
  • אף אחת מהתשובות הנ"ל אינה נכונה
81. בכמה ימים בשנה מעוברת אפשר לטעות בין תאריך dd-mm לבין תאריך mm-dd?

  • 31
  • 132
  • 144
  • 366
82. מה הסיכוי שבמספר מכונית מקרי כל הספרות תהיינה שונות?

  • בערך 1 ל-2000
  • בערך 1 ל-16
  • בערך 1 ל-7
  • בערך 3 ל-4
83. לכמה מהחלטות של מועצת הביטחון של האו"ם בשנת 2004 יש שלוש ספרות שונות במספר?

  • 22
  • 24
  • 27
  • 29
84. לאזעקת הרכב שלי יש ארבעה לחצנים עליהם כתוב 1/2/3 4/5 6/7 8/9/0. אני בוחר את קוד האזעקה על ידי בחירת מספר ארבע ספרתי מקרי ולחיצת ארבעת המקשים בהתאמה. האם כל הקודים נבחרים בהסתברות שווה?

  • כן, כי בחרתי מספר מקרי.
  • לא, כי 10,000 לא מתחלק ב 256.
  • כן, פרט לקוד 0000.
  • תלוי בסוג הרכב.
85. האם SSH tunelling לבדו מאפשר לבנות VPN?

  • כן, על-ידי שימוש ב-port forwarding
  • כן, אבל רק בנתב Cisco
  • לא, כי אינו מאובטח דיו
  • לא, כי הוא שירות ברובד ה-TCP, ו-VPN דורש ניתוב IP
86. איזה מהפרוטוקולים הבאים מכיל פונקציונליות מלאה של ניהול קבצים בדיסק מרוחק?

  • SNMP
  • POP
  • Kerberos
  • IMAP

שאלון קודגורו 7 שלב ב'

רשומה רגילה
1. איזו חברה הואשמה בהשתלת rootkit על דיסק מוזיקה?

  • Microsoft
  • IBM
  • Sony
  • Real
2. איזו מהאפשרויות הבאות אינה שם של רכיב במערכת ההפעלה החדשה Windows Vista?

  • Avalon
  • Indigo
  • Aero Glass
  • Blackcomb
3. איזו חברה תבעה את IBM לפני מספר שנים בטענה ש-IBM תרמו ל – Linux קוד Unix שלהם ללא רשות?

  • SCO
  • Intel
  • Novell
  • AT&T
4. כש – Google הודיעה על Gmail ב – 1 לאפריל 2004, אנשים חשבו שזו בדיחה. מה הייתה הבדיחה?

  • ג'יגה של מקום אחסון
  • מקומות עבודה בגוגל על הירח
  • TCP/IP מעל יוני דואר
  • קניית גוגל ע"י מיקרוסופט
5. מה זה Message Pump?

  • אובייקט ששולח הודעות למחשבים אחרים ברשת
  • תוכנה שמורידה דואר אלקטרוני באופן אוטומטי
  • קטע קוד שמקבל signals שנשלחים לכל ה – processes שרצים ברקע
  • לולאה שמטפלת ב – Windows Messages הנשלחים ל – thread הנוכחי
6. קראתי קובץ מדיסקט באמצעות פונקציות API של Win32. הפונקציה ReadFile נכשלה עם קוד שגיאה 23. מהי ככל הנראה הבעיה?

  • הקובץ נפתח לכתיבה בלבד ולא ניתן לקרוא ממנו
  • אין בעיה – קוד שגיאה 23 מציין סוף קובץ
  • הדיסקט פגום ולא ניתן לקרוא ממנו
  • נסיון לקרוא קובץ Unicode לתוך זיכרון ASCII
7. כל פעם שתוכנית מסוימת טוענת DLL שכתבתי, פונקצית ה – DllMain נקראת 5 פעמים. אפשר למנוע את זה?

  • כן, ע"י החזרת ערך שלילי בקריאה הראשונה
  • לא, הפונקציה תיקרא פעם אחת לכל thread חדש ואי אפשר לבטל את זה
  • כן, ע"י קריאה לפונקציית API מתאימה
  • לא, התוכנית טוענת את ה -DLL מחדש 5 פעמים ולכן DllMain חייבת להיקרא
8. איזו הודעה נשלחת כשלוחצים על כפתור ה-X בפינת החלון?

  • WM_QUIT
  • WM_CLOSE
  • WM_DESTROY
  • WM_XBUTTONDOWN
9. איזו מהאפשרויות הבאות מתארת הבדל בין HKEY_LOCAL_MACHINE לבין HKEY_CURRENT_USER?

  • לאחד מהם יש עותק יחיד לכל המערכת, ולשני יש עותק נפרד לכל משתמש
  • אחד מהם נשמר תמיד על המחשב המקומי, והשני נשמר תמיד ברשת
  • אחד מהם מכיל הגדרות תוכנה, והשני מכיל הגדרות חומרה
  • אחד מהם סטטי ולא משתנה אחרי ההתקנה, והשני דינאמי ויכול להשתנות בכל עת
10. מה המשמעות של PE?

  • Partial Encapsulation (מושג בתכנות מונחה-עצמים)
  • Portable Executable (פורמט קובץ בר-הרצה)
  • Physical Entrance (לוגין שמבוצע פיזית עם מקלדת ולא מרחוק)
  • Port Enumerator (תוכנה שמציגה פורטים פתוחים)
11. ידוע שמטבע מזוייף קצת יותר קל ממטבע אמיתי.בהינתן 9 מטבעות, שאחד מהם מזוייף והשאר אמיתיים, אפשר למצוא את המטבע המזוייף ב-2 שקילות.
כמה שקילות יידרשו כדי למצוא את המטבע המזוייף מבין 81 מטבעות, שאחד מהם מזוייף והשאר אמיתיים?

  • 4
  • 8
  • 9
  • 18
12. לאזרחים של מדינה כלשהי 7 ספרות במספר תעודת הזהות.הספרה הראשונה היא 1, 2 או 3.
הספרה האחרונה היא ספרת האחדות של סכום הספרות הקודמות .
הספרה לפני האחרונה היא ספרת האחדות של מכפלת הספרות הקודמות.
כמה אזרחים יש במדינה?

  • 3,000 או פחות
  • 30,000 או פחות
  • 300,000 או פחות
  • 3,000,000 או פחות
13. ב – UNIX, איזה מהפקודות הבאות תדפיס למסך את רשימת כל הקבצים בספריה הנוכחית ותתי הספריות המוכלות בה, כמו גם את כל הספריות שהגישה אליהן אסורה?

  • ls -ra *.all
  • ls -v | grep [^d] | head -n 1000
  • find ./
  • find ./ |& grep -V "permission denied"
  • find ./ | xargs cat
  • cat `where chmod`
14. ב – DOS, בעת כתיבת קבצי אצווה (batch), מה המשמעות של הביטויים %1, %2 , %3?

  • הקבועים 1, 2, 3
  • הפרמטרים הראשון, השני והשלישי שהועברו לתוכנית
  • האם להריץ את הקובץ אצווה כקובץ compiled, interpreted או obfuscated
  • מצביעים למשתנה הראשון, השני והשלישי של המחסנית
15. ב – Windows, מה ההבדל בין cmd ל – command?

  • command קיים בגרסאות Win98 ו – WinME ו – cmd ב – Win2000 ו – WinXP
  • command הוא של מיקרוסופט ו – cmd הוא open-source
  • command הוא טקסטואלי ו – cmd בעל ממשק חלונאי
  • כל התשובות נכונות
16. ב – Windows, מה ההבדל בין ריצה רגילה לריצה במצב safe-mode?

  • ב – safe-mode ישנה הגנה חזקה יותר על סיסמת הכניסה של המשתמש
  • ב – safe-mode אפליקציות מורצות במצב "כספת", כך שאינן יכולות לבצע נזק למחשב
  • ב – safe-mode ה – FIREWALL מונע סוגים רבים יותר של תעבורת אינטרנט
  • ב – safe-mode נטען רק סט מצומצם של דרייברים בעת עליית המחשב
  • ב – safe-mode יש להקיש סיסמה בעת ביצוע שינויי קונפיגורציה
  • ב – safe-mode מתאפשרת ריצת אפליקציות DOS ישנות על גבי Windows
17. איזה מהפקודות הבאות אינה פקודת UNIX?

  • fsck
  • iptables
  • bash
  • mount
  • awk
  • head
  • bgp
  • sed
  • pico
18. מה מכניסים ל- RIMM SLOT?

  • זיכרון
  • כרטיס מסך
  • כרטיס קול
  • מעבד
19. כיצד ניתן להגדיר בגדול את מודל המחשב?

  • חומרה, שפת סף, שפת מכונה, שפה עילית
  • חומרה, שפה עילית, שפת סף, שפת מכונה
  • חומרה, שפת מכונה, שפת סף, שפה עילית
  • חומרה, שפת סף, שפה עילית, שפת מכונה
20. כאשר נרצה לחבר מדפסת קרובה למחשב, באיזה סוג תקשורת נשתמש?

  • תקשורת מקבילית, כי אין הפרעה אלקטרומגנטית בין כבלים סמוכים
  • תקשורת מקבילית, כי בכל מחזור שעון מעבירים 8 ביטים
  • תקשורת טורית, כי פענוח המידע בצד המחשב קל יחסית
  • תקשורת טורית, כי בכל מחזור שעון מעבירים ביט אחד
21. מהו רוחב פס הכתובות של 8051?

  • 8-ביט
  • 16-ביט
  • 32-ביט
  • 64-ביט
22. איזה מהמושגים הבאים אינו שם של ארכיטקטורת מעבדים?

  • CISC
  • EPIC
  • RISC
  • VLSI
23. גיל רצה לתרגם את הקוד הבא משפת C לשפת סף (80×86):

bool f(unsigned char x)
{
	if (x & 0x80) return 1;
	return 0;
}

הוא כתב 4 פיסות קוד שונות שאמורות לפעול בהתאם לפונקציה f.
כמה מהן עובדות כנדרש?

1)
	mov al, [esp+4]
	or al, al
	sets al
	ret
2)
	mov al, [esp+4]
	movzx eax, al
	cmp eax, 0x80
	setz al
	ret
3)
	mov eax, [esp+4]
	and eax, 0x80
	setnz al
	ret
4)
	mov eax, [esp+4]
	mov ebx, 1
	shl ebx, 31
	movsx eax, al
	and eax, ebx
	cmp eax, 0
	je ret0
	mov al, 1
	ret
ret0:
	mov al, 0
	ret
  • 1
  • 2
  • 3
  • 4
24. האם DLL במערכת ההפעלה חלונות יכול לייצא מידע מלבד פונקציות?

  • ניתן לייצא פונקציות בלבד
  • ניתן לייצא רק משתנים גלובליים ופונקציות
  • ניתן לייצא כל סוג מידע
  • ניתן לייצא פונקציות בלבד, פרט ל – DLL של COM שיכול לייצא גם מחלקות
25. אורן השתמש ב – Turbo Pascal תחת DOS והריץ את הקוד האסמבלי הבא בלבד:

	mov ax, 13h
	int 10h

לפתע השחיר המסך, ומאותו רגע, הכול נראה גרוע, מה קרה?

  • אורן שינה את רזולוזציית כרטיס המסך
  • אורן שיכתב את ה MBR
  • אורן חולם, אי-אפשר להריץ קוד אסמבלי תחת פסקל
  • כל קוד שנכתב ישירות באסמבלי משבש את פעולת מערכת ההפעלה DOS
  • אורן שינה את המצביע לגופן ברירת המחדל ב – BIOS
  • אורן עשה cold reboot למחשב
26. מה עושה הקוד הבא בשפת אסמבלי 80×86?

	xor eax, eax
	mov ecx, 32
label:
	ror ebx, 1
	rcl eax, 1
loop label
  • מעתיק את ebx ל eax דרך ה carry-flag
  • מגבה את ebx, ואז מעתיק את eax ל ebx
  • מעתיק את ebx ל eax בסדר הפוך דרך ה carry-flag
  • ערכם של eax ו ebx נשאר מקורי, כי זה ror של 32
27. מה עושה הקוד הבא בשפת אסמבלי 80×86?

	fldz
	fldpi
	fmul
	fld [esp+4]
	fcomp st(1)
	fnstsw ax
	test ah, 0x41
	setz al
  • בודק האם הפרמטר הראשון במחסנית גדול מפיי
  • בודק האם הפרמטר הראשון במחסנית קטן מפיי
  • בודק האם הפרמטר הראשון במחסנית גדול מ 0
  • בודק האם הפרמטר הראשון במחסנית קטן מ 0
28. לפניך תוכנית בשפת אסמבלי 8051:

 P: SETB P1.0
 LCALL DELAY
 CLR P1.0 
 RETI 
 DELAY: MOV R7,#04H
 AGAIN: DJNZ R7,AGAIN
 RET

מה מבצעת התוכנית?

  • התוכנית בודקת את ערך ההדק P1.0 ומפעילה בהתאם השהיה
  • התוכנית יוצרת דופק שעון בהדק P1.0 בהתאם להשהיה
  • התוכנית מציבה את הערך הבינארי של 04h בהדקP1.0 בהתאם להשהיה
  • התוכנית יוצרת ארבע תנודות בהדק P1.0 בהתאם להשהיה
29. לפניך רצף פקודות בשפת אסמבלי 8051:

 MOV R0,#1000H
 MOV R1,#2000H
 MOVX A,@R0
 XCH A,@R1

מה יהיה תוכן האוגר A לאחר הרצת הפקודות הנ"ל?

  • תוכן אוגר A יהיה תוכן הכתובת הראשונה בזיכרון החיצוני
  • תוכן אוגר A יהיה תוכן הכתובת שעליה מצביע אוגר R0
  • תוכן אוגר A יהיה תוכן הכתובת שעליה מצביע אוגר R1
  • תוכן אוגר A יהיה תוכן הכתובת הראשונה בזיכרון הפנימי
30. מה פירוש הפקודה LEA בשפת אסמבלי 80×86?

  • Little Endian Adjust
  • Lock Exclusion Attributes
  • Leave Environment Application
  • Load Effective Address
31. נתונות הפקודות הבאות בשפת JavaScript:

name="Israel";
ch=name.charAt(3);

למה יהיה שווה המשתנה ch לאחר הרצת הפקודות הנ"ל?

  • s
  • a
  • r
  • e
32. מתי נרצה להשתמש באובייקט Application בשפת ASP?

  • כאשר נרצה לעבוד עם משתנים זרים
  • כאשר נרצה לשמור על נתונים בעת מעבר מדפדפן לדפדפן
  • כאשר נרצה להגדיר משתנים עבור כל משתמש בנפרד
  • כאשר נרצה לאחסן ערכים קבועים ברמת היישום
33. בשפת HTML רשומה הפקודה הבאה:

<marquee direction="right" width="20%" scrollamount="20">
	HELLO
</marquee>

מהי משמעות התכונה scrollamount?

  • מהירות התזוזה של הטקסט
  • רוחב שורת הגלילה
  • משך ההשהייה בין תזוזות של הטקסט
  • גודל קפיצה בודדת של הטקסט
34. מה זה ARJ?

  • שיטת אפנון
  • שיטת דחיסה
  • שיטת בקרת שגיאות
  • שיטת ריבוב
35. מהו MDA?

  • כרטיס קול
  • כרטיס מסך
  • כרטיס רשת
  • כרטיס מולטימדיה
36. מהו החידוש שסיפקו רכיבי SDRAM?

  • מהירות גבוהה יותר
  • זיכרון גדול יותר
  • רוחב פס גדול יותר
  • חסכון במקום פיזי
37. מהו רוחב המילה של DIMM?

  • 32bit
  • 128bit
  • 16bit
  • 64bit
38. באיזה אפיק משתמש בקר EIDE המותקן בלוח אם?

  • BIOS
  • ISA
  • PCI
  • PNP
39. כמה זה BPS לחלק ב – Hz?

  • 1-bit
  • 1-nibble
  • 1-byte
  • 1-word
40. מה נכון לומר על בעיות NP-Complete?

  • פתרת אחת בזמן פולינומיאלי – פתרת את כולן בזמן פולינומיאלי.
  • ידוע כי ניתן לוודא נכונות של פתרון נתון אליהן בזמן פולינומיאלי.
  • כולן NP-קשות.
  • כל התשובות נכונות
41. מה עושה הקוד הבא בשפת C בסביבת 32bit?

unsigned f(unsigned long val) {
 unsigned long temp, g = 0, b = 0x8000, bs = 15;
 do {
 if (val >= (temp = (((g << 1) + b)<<bs--))) {
 g += b;
 val -= temp;
 }
 } while (b >>= 1);
 return g;
}
  • מחשב שורש ריבועי
  • מבצע מיון בועות
  • מחשב hash מושלם
  • סוכם nibble-ים
42. מה עושה הקוד הבא בשפת C בסביבת 32bit?

x^=(x^=(x^=(x^=(x^=(x)>>1)>>2)>>4)>>8)>>16
  • מבצע קידום בבלוק של Linear Feedback Shift Register
  • מוצא מיקום של איבר ב – Binary-Reflected Gray-Code
  • מחשב את האיבר הבא ב – Pseudorandom Number Sequence
  • מרכיב, בהרצה איטרטיבית, סוג של de-Bruijn Sequence
43. מה עושה הקוד הבא בסביבת 32bit?

unsigned int f(unsigned int x)
{
	unsigned int i = 0xCAFEBABE;
	while (i--) {x = (x/8)+(x%8); }
	return x;
}
  • סופר ביטים דולקים
  • מחשב שארית מחלוקה ב – 7
  • מייצר חתימת Java
  • ממיין שלשות ביטים
44. נתונה הפונקציה הבאה המקבלת את מצב הלוח בדמקה ומוצאת מהלך שכדאי לבצע:

function GetBestNextPosition:
	Input:
		CurrentPosition of type PositionType
		ResidualDepth, BestMark, WorstMark of type Integer
	Output:
		BestNextPosition of type PositionType
		CurrentPositionMark of type Integer
	Local Variables:
		BestPositionSoFar, Position of type PositionType
		Mark of type Integer
	Body:
		if ResidualDepth = 0 or GameEnded(CurrentPosition):
			return:
				BestNextPosition = None
				CurrentPositionMark = EvaluatePosition(CurrentPosition)
		
		for each Position in NextPositions(CurrentPosition):
			????
			if (Mark > BestMark):
				BestPositionSoFar = Position
				BeskMark = Mark
			if (Mark < Worst):
				return:
					BestNextPosition = BestPositionSoFar
					CurrentPositionMark = BestMark

		return:
			BestNextPosition = BestPositionSoFar
			CurrentPositionMark = BestMark

איזה שורה צריכה לבוא במקום סימני השאלה?

  • Mark = GetBestNextPosition(Position, ResidualDepth – 1, BestMark, WorstMark).CurrentPositionMark
  • Mark = GetBestNextPosition(Position, ResidualDepth – 1, -BestMark, -WorstMark).CurrentPositionMark
  • Mark = -GetBestNextPosition(Position, ResidualDepth – 1, BestMark, WorstMark).CurrentPositionMark
  • Mark = -GetBestNextPosition(Position, ResidualDepth – 1, -BestMark, -WorstMark).CurrentPositionMark
  • Mark = GetBestNextPosition(Position, ResidualDepth – 1, WorstMark, BestMark).CurrentPositionMark
  • Mark = GetBestNextPosition(Position, ResidualDepth – 1, -WorstMark, -BestMark).CurrentPositionMark
  • Mark = -GetBestNextPosition(Position, ResidualDepth – 1, WorstMark, BestMark).CurrentPositionMark
  • Mark = -GetBestNextPosition(Position, ResidualDepth – 1, -WorstMark, -BestMark).CurrentPositionMark
45. מה עושה הקוד הבא בשפת C?

x = m & -m;
m += x;
y = m & -m;
m |= (y/x - 1) >> 1;
  • מחשב את המספר הבא בעל אותה כמות של ביטים דולקים
  • משחק מהלך אחד במשחק "מגדלי האנוי"
  • הולך צעד אחד על עקומת הילברט הבדידה
  • מחשב קירוב ל – logmx
46. איזה מהביטויים הבאים בשפת C הופך את רצף הביטים הזהים בצד הפחות משמעותי של x?

  • x ^= x&(~x-1)
  • x ^= (x-1)&(~x)
  • x ^= -((x+1)|(-x))
  • x ^= (x+1)^(x-1)
47. נתונים המקרואים A ו – B בשפת C:

#define A(x) ((x)+(x))
#define B(x) (2*(x))

באיזה מהמקרים הבאים נראה הבדל בין A ל – B?

  • A(0) לעומת B(0)
  • A(2*x) לעומת B(2*x)
  • A(x++) לעומת B(x++)
  • A(x=5) לעומת B(x=5)
48. ב – C++, מחלקה B מגדירה פונקציה וירטואלית ומחלקה A יורשת ממחלקה B, לאיזו מחלקה תהיה טבלה וירטואלית?

  • לאף אחת מהן
  • רק ל – A
  • רק ל – B
  • לשתיהן
49. מה הבעיה בקוד הבא בשפת C++?

class A {
	unsigned char* bufA;
public:
	A() {
		bufA = new char[100];
	}
	~A() {
		delete[] bufA;
	}
};

class B {
	unsigned char* bufB;
public:
	B() {
		bufB = new char[100];
	}
	~B() {
		delete[] bufB;
	}
};
  • חסר delete[]
  • חסר virtual
  • [] מיותר
  • public מיותר
50. כמה מספרים ראשוניים יש בין 1 ל – 20,062,006?

  • בערך 10,000
  • בערך 100,000
  • בערך 1,000,000
  • בערך 10,000,000
51. לאיזה מהאלגוריתמים הבאים סיבוכיות זמן הריצה הממוצעת הטובה ביותר?

  • Quick Sort
  • Merge Sort
  • Heap Sort
  • לכולם סיבוכיות זהה
52. מה מהבאים מבדיל בין C# ל – Java?

  • Java פועל מעל virtual machine ו- C# לא
  • ב – C# יש מנגנון מובנה של serialize וב – Java לא
  • ב – C# כל האובייקטים יורשים ממחלקת object וב – Java לא
  • ב – C# יש טיפוסים מסוג signed ו- unsigned וב – Java יש רק signed
53. איזו מהקבוצות הבאות מכילה רק אופרטורים שניתן להעמיס ב- C++?

  • [], ==, /, ->
  • .*, !, &, #
  • new, .*, ::, []
  • *, ##, ?:, =
54. נתונה התוכנית הבאה ב – C++:

#include <string.h>
int main()
{
	int* ptr = new int [3.7];
	ptr = NULL;
	delete ptr;
	return 2;	
}

למה התוכנית תקרוס?

  • כי עושים delete ל – null
  • כי מנסים להקצות מערך בגודל לא שלם
  • כי היה צריך לקרוא ל – delete[] ולא ל – delete
  • כי main חייבת להחזיר 0
  • התכנית לא תקרוס
55. כתבת תוכנית והיא קורסת, מה מבין הכלים הבאים *לא* יעזור לך על מנת לאתר את המקום הבעייתי בקוד?

  • breakpoint
  • watch
  • ICE (InCircuit Emulator)
  • הדפסות ל – log מתוך הקוד
  • core dump
  • העלאת רמת האופטימיזציה
56. איזה מבין הכלים הבאים לא ניתן למצוא בחבילת gcc?

  • קומפיילר
  • לינקר
  • make
  • אסמבלר
  • objdump
  • sed
57. מה עושה makefile?

  • מקמפל קבצי PERL ביעילות
  • יוצר קבצים ריקים
  • מאגד הוראות לתהליך בניית פרוייקט
  • מתרגם XML מ – ASCII ל – Unicode
58. נתונה המחלקה הבאה:

class UberMathenCalculater
{
public:
	virtual int Add(int a, int b);
	static int Mul(int a, int b);
private:
	int Sub(int a, int b);
	static int Div(int a, int b);
};

כמו כן מוגדר מצביע לפונקציה:
int (*funcptr) (int a, int b);
לאיזו מבין הפונקציות הבאות funcptr יכול להצביע?

  • Add
  • Mul
  • Sub
  • Div
  • Add ו – Mul
  • אף אחת מהן
  • כולן
59. נתונה פונקציה בסביבת 32bit:

int what (int a, int b)
{
	int x = 0;
	for (int i = 0; i < 32; i++)
		x += (a & (1 << i)) + (b & (1 << i));
	return x;
}

איזה שם היית נותן לפונקציה במקום what?

  • Add
  • Sub
  • Mul
  • Divide
  • DivideAndConquer
  • CountBitsInAAndB.
60. מה הסיבוכיות של קטע הקוד הבא, בתלות ב – N?

char Str[N * 8 +1] = "";
char Str2 = "Codeguru";
for(int i = 0; i < N; i++)
{
	strcat(str,str2);
}
  • O(logN)
  • O(N)
  • O(N2)
  • O(2n)
  • O(1)
  • O(NlogN)
61. האם ניתן לשפר את הסיבוכיות?

  • לא.
  • כן ל – O(logN)
  • כן ל – O(N)
  • כן ל – O(N2)
  • כן ל – O(NlogN)
  • כן ל – O(1)
62. איך נקבע Sequence Number בפרוטוקול TCP?

  • מתחיל מערך אקראי בכל Session וקטן בערך אקראי בכל פקטה
  • מתחיל מערך קבוע בכל Session וגדל בערך אקראי בכל פקטה
  • מתחיל מערך אקראי בכל Session וקטן ב – 1 בכל פקטה
  • מתחיל מערך קבוע בכל Session וגדל ב – 1 בכל פקטה
  • מתחיל מערך אקראי בכל Session וגדל לפי מספר הבתים שנשלחו בכל פקטה
  • מוגרל באופן אקראי עבור כל פקטה
63. כיצד מזוהה תקלה בשליחת הודעת אתרנט?

  • CRC 32bit
  • CRC 16bit
  • Checksum 16bit
  • Parity bit
64. ריבוב TDM חולק תווך תקשורת על ידי:

  • הקצאת חלון זמן שידור לכל משדר
  • הקצאת תדר שונה לכל משדר
  • Collision detection – שידור ובדיקה האם הייתה התנגשות בערוץ
  • Collision avoidance – בדיקה לפני שידור: האם הערוץ פנוי
65. כמה ריבועים יש בלוח השחמט המקובל בגודל 8×8?

  • 64
  • 114
  • 115
  • 204
66. זורקים קובייה רגילה שעליה המספרים 1 – 6, עד שהסכום המצטבר גדול מ – 12. מה הסכום המצטבר הסביר ביותר?

  • 13
  • 14
  • 15
  • 16
67. נתון הקטע קוד הבא ב – C#:

foreach(string str in months)
 Console.WriteLine(str + "\n ");

על מנת שהקטע יוכל לרוץ, מה מהבאים *חייב* להתקיים?

  • months הוא מערך
  • months הוא רשימה מקושרת
  • months מממש Collection מתוך System.Collections
  • months מממש את IEnumerable
  • הקוד רץ על C# 2005
  • התוכנית מקומפלת עם foreachable flag
68. מה ידפיס קטע הקוד הבא?

#define PRINT(x,y) cout << hex << x << y;
void f()
{
 int x = 1;
 int y = 2;
 PRINT(x << 5, y << 2)
}
  • 12
  • 324
  • 328
  • 1522
  • 208
  • תודפס שגיאה
69. יירטת חבילת IP באמצעות Sniffer, וראית שהבית הראשון של כותרת הIP הוא 0x45.מה תוכל לומר על הפקטה?

  • אורכה 0x45 בתים
  • אורך הכותרת 0x45 בתים
  • אורך הכותרת 5 בתים
  • אורך הכותרת 20 בתים
  • מדובר בהודעת IPv6
  • זוהי הודעת ICMP
70. מתי יקרה Page fault?

  • כאשר מתגלה Corruption בזכרון הראשי
  • כאשר פונים לכתובת בזכרון שאיננה נמצאת ב – Cache
  • כאשר מנסים לפנות ישירות לזכרון ה – Cache במקום לזכרון הראשי
  • כאשר פונים לכתובת בזכרון שאיננה ממופת לכתובת בזכרון הפיסי
  • כאשר נתקע או נקרע דף במדפסת
  • בעליית המחשב בלבד, על מנת לאתחל את הזכרון הראשי
71. נתונה טבלה של מקומות בארץ, גובהם ומידע נוסף עליהם.http://www.10doch.co.il/HeightTable.asp
על מנת לתת תחזית לשלג במקומות הגבוהים, עלייך למצוא כמה עמודות בטבלה נמצאות בגובה של 800 מטר יותר.

  • בערך 20
  • בערך 60
  • בערך 90
  • בערך 150
72. מה נפח התוכן של 195-65R15H כשהוא מלא כמומלץ?

  • בערך 5 ליטר
  • בערך 10 ליטר
  • בערך 20 ליטר
  • בערך 40 ליטר
73. במשחק LIFE, פי כמה יכול לקטון מספר המשבצות המליאות תוך דור אחד?

  • פחות מפי 2
  • פי 3
  • פי 8
  • יותר מפי 9
74. כמה משבצות מליאות תהיינה לאחר 2006 דורות אם בהתחלה יש שלוש משבצות?

  • אחת או שלוש
  • אפס או שלוש או ארבע
  • בין אפס לשלוש
  • 2006
75. אם שמנת מתוקה עולה 6.42 ש"ח, והמחיר הכולל מעוגל לחמש אגורות הקרובות. אז מי שקונה מספר דו ספרתי מקרי של שמנות מתוקות בממוצע

  • יפסיד שתי אגורות
  • יפסיד אגורה
  • לא יפסיד ולא ירוויח
  • ירוויח אגורה
76. לכמה מהחלטות מועצת הביטחון של האו"ם בשנת 2005 יש שלוש ספרות שונות במספר?

  • 22
  • 24
  • 27
  • 29
77. f הנה פונקציה המקיימת f(x)=y.נתון ש:

given x, it is easy to compute y
given y, it is hard to compute x such that f(x)=y
given x, it is hard to find x' such that f(x)=f(x')

f היא פונקציה מסוג:

  • Encryption
  • Public key
  • Basic zero-knowledge
  • Hash
78. אליס ובוב מעוניינים לדבר באופן מוצפן. לאליס יש את המפתח הציבורי של בוב, ולבוב אין את המפתח הציבורי של אליס. לכן:

  • הם יכולים, באמצעות המפתח הציבורי של בוב, לתאם מפתח סימטרי שישמש להצפנה דו-כיוונית
  • הם לא יכולים לדבר באופן מוצפן, כי לא ניתן לתאם מפתח סימטרי עם מפתח ציבורי (=אסימטרי)
  • הם יכולים לדבר באופן מוצפן, אבל רק בכיוון אחד, מכיוון שהמפתח הציבורי הוא אסימטרי
  • מאחר ולאליס יש מפתח פרטי, ולבוב יש מפתח פרטי, הם יכולים לדבר באופן מוצפן ללא תיאום נוסף
79. Packer יכול לשמש ל:

  • התמודדות כנגד Reverse engineering
  • עקיפת אנטי-וירוסים
  • כיווץ מידע
  • כל התשובות נכונות
80. RSA יכול לשמש ל:

  • Reverse system architecture
  • ניסיון להסרת ה- Service pack העדכני ממערכת Windows
  • Random security assesment
  • הצפנת מידע
81. הוספת יכולת של stateful packet inspection ל- Firewall תעזור בעיקר כנגד:

  • Crypto-analysis
  • Packet spoofing
  • גישה מ- Port שאינו מורשה
  • Network address translation
82. מי מבין הבאים לא סביר שיהיה מוסתר ע"י Rootkit:

  • קובץ
  • תהליך
  • שורה ב- Log
  • קלט מהמקלדת
83. הסוס הטרויאני המקורי נבנה ע"י:

  • אודיסאוס
  • רות האפרתי
  • האנלייזר
  • קווין מיתניק
84. אילו מן הבאים לא משמש בדרך-כלל מערכות זיהוי ביומטריות:

  • קול
  • DNA
  • מבנה פנים
  • חתימה
85. אילו מהפונקציות הבאות נחשבות רגישות לתקיפות Buffer overflow?

  • strncpy
  • printf
  • strcpy
  • Cout
86. מי מהבאים אינו נכון:

  • IPSec משמש להצפנת הודעות
  • IPSec משמש לזיהוי הודעות
  • IPSec עובד בשכבת הרשת
  • IPSec חוסם ערוצים סמויים
87. מה מחזירה הפונקציה הבאה:ב – C:

int f(int a, int b)
{
	if (b > a) return 1 + f(a+1, b);
	else if (a > b) return f(a-1, b) + 1;
	else return 0;	
}
  • a+b
  • |a-b|
  • a-b
  • b-a
  • a%b
  • a*b
88. מה משמעות המושג "reference counting"?

  • ספירת ה – memory blocks המוקצים על ה – heap
  • משתנה של הקומפיילר הסופר את מספר המחלקות המוגדרות במערכת כולה
  • טכניקת profiling הסופרת את מס' ההופעות של אופרטור הכתובת (&) בקוד C בכדי להעריך ביצועים
  • ספירת מס' ה – references לאובייקט מסויים בכדי לבצע deallocation כשהדבר אפשרי
  • ספירת ה – task-ים הממתינים על counting semaphore
  • טכניקת profiling המשמשת למיפוי התלויות בין אובייקטים שונים במערכת
89. מה משמעות המושג RTTI?

  • Real Time Tab Indentation
  • Run Time Template Instantiation
  • Relative Truncation and Tabulation Interface
  • Real Time Tick Interval
  • Right on Time Type Instantiation
  • Run Time Type Information
90. מהו קוד reentrant?

  • קוד שעברה קומפילציה, אך עוד לא עבר לינקוג'
  • קוד רקורסיבי
  • קוד המשמש כ – Callback Function
  • קוד שניתן להריצו בכמה מופעים בו זמנית באופן תקין
  • קוד היכול לרוץ על מספר מערכות הפעלה ללא צורך בשינויו
  • כל התשובות נכונות
91. מהו context switch?

  • מתן גישה בלעדית למשאב לתהליך מסוים (למשל באמצעות semaphore)
  • החלפת ה – task/thread הפעיל במערכת מרובת תהליכים
  • יציאה או כניסה לפונקציה בעת שימוש ב – debugger
  • החלפה בין שני משתנים או יותר באופן אטומי
  • החלפת התוכן של שתי הודעות ב – MQ (ללא החלפת פרטי המסגרת)
  • העברת מידע בין pipe אחד ל – pipe שני
92. מהו deadlock?

  • מצב בו קבוצת תהליכים חסומה כתוצאה מהמתנה לאירוע שרק תהליך מאותה הקבוצה יכול לגרום לו
  • תקיפת מחשבים העובדת באמצעות הכנסת תהליכים ממערכת הפעלה למצב pending
  • כניסה של קוד ללולאה אינסופית כתוצאה מדריכה על משתנים שלו על-ידי קוד אחר
  • absolute lock על mutex
  • מצב בו מערכת מרובת תהליכים קורסת כתוצאה מעומס יתר על ה – scheduler
  • קטע קוד הנמצא ב – interrupt lock
93. מה עושה פונקציית fork() של POSIX?

  • גורמת לתעדוף מחדש של התהליך בו היא מורצת באמצעות דיווח על כשלון ל – kernel
  • מקצה מחדש זיכרון עבור מקטעי הקוד בתוכנית בה היא מורצת ומעבירה אותם אל מקומותיהם החדשים
  • פותחת תהליך חדש עם אותו ה – entry point של התהליך ממנו נקראה פונקציית fork
  • ממשיכה להריץ את הפונקציה ממנה היא נקראה בתהליך חדש מאותו המקום
  • מריצה מחדש את התהליך הנוכחי באזור אחר בזכרון החל מה – entry point המקורי
  • מבצעת explicit context switch במערכת הפעלה non-preemptive
94. מה מאפשרת טכנולוגיית Crossfire של ATI?

  • לבצע חישובים פיסיקליים מדוייקים במהירות גבוהה (ע"י האצת חומרה)
  • לבצע Fine Tuning מאוד עדין להגדרות כרטיסי המסך מבוססי Radeon
  • להשתמש ביותר מכרטיס גרפי אחד על גבי לוח האם על מנת לקבל ביצועים טובים יותר
  • להגביר את קצב תחלופת המידע בין הזכרון הפנימי של כרטיס המסך לבין הזכרון RAM של המחשב
  • להפעיל אפקטים גרפיים מיוחדים מן הדור החדש ע"י האצת החומרה של הכרטיס
  • תכנות Geometry Shading ע"י HLSL לכרטיסי מסך Radeon תוך כדי גישה ל-Buffer הפנימי של כרטיס המסך באופן ישיר
95. מהי שמה של מערכת ההפעלה הבאה של Microsoft?

  • Windows XP+
  • Windows Avalon
  • Windows 2007
  • Windows 2008
  • Windows Vista
  • Windows Crossbow
96. אלו ממשחקי המחשב הבאים הוא הכי חדש?

  • Pacman
  • Half-Life
  • Battlefield Vietnam
  • Civilization 3
  • Call of Duty
  • World of Warcraft
97. למה משמש Trigger במסדי נתונים?

  • שליחת ערכים ב – Database בפרקי זמן קבועים אל האפליקציה המשתמשת בו
  • ביצוע פעולות על DB כאשר מתקיים תנאי מסויים
  • אובייקט המטפל בממשק של ה-DB אל תוכנות אחרות
  • וידוא אוטומטי של ערכי ה-DB בהתאם לתבניות מסויימות
  • אתחול ה – DB בעת עלייתו הראשונה
  • פונקציה ב – API-ים המטפלים במסדי נתונים שנקראת מממשק המשתמש של האפליקציה ורצה על טבלאות במסד הנתונים
98. נתונה טבלה Persons עם שדות FirstName ו – LastName. איזה SQL Query ימחק את כל הרשומות בטבלה Persons בהן השם הפרטי שווה ל-'Johhny', ושם המשפחה שווה ל-'BeGood'?

  • DELETE FROM Persons WHERE Exists(Values('Johnny', 'BeGood'))
  • DELETE (*) FROM Persons WHERE FirstName='Johnny' AND LastName='BeGood'
  • DELETE FROM Persons WHERE FirstName='Johnny' AND LastName='BeGood'
  • DELETE Persons WHERE (FirstName LIKE 'Johnny') AND (LastName LIKE 'BeGood')
  • DELETE ROW (FirstName='Johnny') AND (LastName='BeGood') FROM Persons
  • כל התשובות נכונות
99. מי כתב את "תמונות מבית מבשל השיכר"?

  • יצחק בשביס-זינגר
  • אשר ברש
  • חיים הזז
  • אהרון אמיר
100. מה עושה הפונקציה הבאה בשפת C, בסביבת 32bit, עבור 0<=n<=128? איך זה עובד?

int f(unsigned int x, unsigned char n)
{
	return ((((x)-~0UL/255*(n))&~(x)&~0UL/255*128) != 0)
}

שאלון קודגורו 10 שלב א'

רשומה רגילה

<div>2. מי מהבאים לא למד ברשת אורט?</div><ol style="list-style: hebrew;"><li> אהוד ברק (שר הביטחון).</li>
<li> אלישע ינאי (מנכ"ל מוטורולה ישראל).</li>
<li> חמי פרס (בנו של נשיא המדינה).</li>
<li> עמיעז סגיס (לשעבר ראש אט"ל).</li>
</ol>
<div>3. זיכרון <span dir="ltr">DDR (Double Data Rate)</span> משיג קצב העברת מידע כפול. כיצד?</div><ol style="list-style: hebrew;"><li> מכפיל את תדר השעון.</li>
<li> משתמש במהפיכת ריקוד לשם כך.</li>
<li> מכווץ את המידע לפני ההעברה.</li>
<li> משתמש גם בעלייה וגם בירידה של השעון.</li>
</ol>
<div>4. כמה פונקציות בוליאניות בשני משתנים קיימות?</div><ol style="list-style: hebrew;"><li> 2</li>
<li> 4</li>
<li> 8</li>
<li> 16</li>
</ol>
<div>5. בלינוקס, הפקודה top תציג:</div><ol style="list-style: hebrew;"><li> את כל הערכים מלמעלה למטה.</li>
<li> את כל הערכים בשורה העליונה.</li>
<li> את הפקודות האחרונות שכתבת.</li>
<li> את "מנהל המשימות" של לינוקס.</li>
</ol>
<div>6. כתובת LDAP היא:</div><ol style="list-style: hebrew;"><li> סוג שונה של כתובת אי-מייל.</li>
<li> כתובת שבעזרתה ניגשים לאובייקטים בדומיין.</li>
<li> כתובת שעוזרת להקים דומיין.</li>
<li> כתובת אתר אינטרנט שכתוב ב-LDAP.</li>
</ol>
<div>7. יש לי 4 דיסקים קשיחים בגודל 40 ג"יגה, במערך RAID 5. על כונן C, יש לי:</div><ol style="list-style: hebrew;"><li> 160 ג"יגה בייט.</li>
<li> 120 ג"יגה בייט.</li>
<li> 40 ג"יגה בייט.</li>
<li> 80 ג"יגה בייט.</li>
</ol>
<div>8. מה תחזיר הפונקציה הבאה, כאשר <span dir="ltr">MSB(X)</span> הינו מאקרו שמחזיר את ה-Most Significant Bit של x?<br><br/><br><pre><br>int foo(int x) {<br> return ( MSB(x) | MSB(-x) );<br>}<br></pre>
</div><ol style="list-style: hebrew;"><li><span dir="ltr">1</span></li>
<li><span dir="ltr">sign(x)</span></li>
<li><span dir="ltr">-sign(x)</span></li>
<li><span dir="ltr">!!x</span></li>
</ol>
<div>9. האופרטור <span dir="ltr">sizeof()</span> – היכן מתבצע?</div><ol style="list-style: hebrew;"><li> בזמן ריצה.</li>
<li> בזמן קומפילציה.</li>
<li> בשלב ה-Link.</li>
<li> בזמן ה-Pre-Processing.</li>
</ol>
<div>10. איזו מבין הפעולות (מסומנת ב-$) הבאות תשמר מידע על a, כאשר ידועים לך b ו-c?<br/><pre><br>bool a, b, c;<br>c = a $ b;<br></pre>
</div><ol style="list-style: hebrew;"><li> AND</li>
<li> OR</li>
<li> XOR</li>
<li> NAND</li>
</ol>
<div>11. * באסמבלי של 80×86, מה ההבדל בין הפקודה<br><pre><br>jmp ax<br></pre>
<br>לבין רצף הפקודות הבא:<br><pre><br>push ax<br>ret<br></pre>
</div><ol style="list-style: hebrew;"><li> גודל (מספר הבתים).</li>
<li> ההשפעה על המחסנית.</li>
<li> הפקודה הראשונה חוקית רק אחרי 80×86.</li>
<li> כל התשובות נכונות.</li>
</ol>
<div>12. האם יש ערך אנציקלופדי על קודגורו?</div><ol style="list-style: hebrew;"><li> התחרות מופיעה בכל אנציקלופדיה בעולם.</li>
<li> קיים ערך באנציקלופדיה מקוונת.</li>
<li> אין כרגע, אבל ייכתב בקרוב ערך כזה.</li>
<li> אין, ולא יהיה – זה לא מסוג הערכים המתאימים.</li>
</ol>
<div>13. אם מתכנת אומר שהוא מתכנת ב"טיקל", אזי הוא עוסק ב-</div><ol style="list-style: hebrew;"><li> תכנות בשפת סקריפטים.</li>
<li> תכנות מונחה עצמים.</li>
<li> תכנות מונחה אספקטים.</li>
<li> פיתוח יישומי web.</li>
</ol>
<div>14. על גבינה כתוב "מועד אחרון לשימוש 30 פברואר 2009 12:25:55" – הכיצד?</div><ol style="list-style: hebrew;"><li> טעות בזיהוי שנה מעוברת.</li>
<li> חודש אחרי 30 לינואר 2009.</li>
<li> התהפכו החודש והיום.</li>
<li> כל התשובות נכונות.</li>
</ol>
<div>16. הסימנים (-: לחיוך זה כמו 8 ל-</div><ol style="list-style: hebrew;"><li> משקפיים.</li>
<li> שמונה.</li>
<li> אינסוף.</li>
<li>חיוך.</li>
</ol>
<div>17. אם חצי מהאנרגיה הפוטנציאלית של המים הנופלים במפל הגבוה ביותר באירופה הופכים לחום, בכמה בערך עולה טמפרטורתם?</div><ol style="list-style: hebrew;"><li> מיליונית מעלה.</li>
<li> אלפית מעלה.</li>
<li> מעלה.</li>
<li> מאה מעלות.</li>
</ol>
<div>18. מה מיוחד במקום הראשון ברשימה שפרסם מגזין דה-מרקר על ארבעים האנשים הצעירים המשפיעים ביותר לשנת 2008?</div><ol style="list-style: hebrew;"><li> הוא ראשון אלפביתית.</li>
<li> הוא הצעיר ברשימה.</li>
<li> הוא זוכה קודגורו.</li>
<li> כל התשובות נכונות.</li>
</ol>
<div>19. Java Reflection לחלוטין לא יועיל עבור -</div><ol style="list-style: hebrew;"><li> כתיבת Debugger.</li>
<li> כתיבת Plugins.</li>
<li> כתיבת מימוש חלופי ל-Map.</li>
<li> כל התשובות נכונות.</li>
</ol>
<div>20. כתבתי תוכנה בשפת Java, שאינה טוענת מחלקות חדשות תוך כדי ריצה. האם כדי להריץ אותה נדרש <span dir="ltr">JVM (java.exe)</span>?</div><ol style="list-style: hebrew;"><li> כן, רק JVM יודע להריץ קוד Java.</li>
<li> כן, כדי לבדוק, למשל, חריגות במערכים, נדרש קוד זמן ריצה ב-JVM.</li>
<li> לא, ניתן לכתוב קומפיילר ל-Java לשפת מכונה, לקמפל את התוכנה עמו ולהריץ.</li>
<li> לא, גרסאות חדשות של Windows יכולות להריץ Java בלי JVM.</li>
</ol>
<div>21. יוסי העלה את הרעיון לכתוב מנהל התקן (device driver) לכרטיס מסך בשפת Java. מה דעתכם על הרעיון?</div><ol style="list-style: hebrew;"><li> זה לא יעבוד כי ה-JVM מונע גישה לחומרה.</li>
<li> זה אפשרי אבל יהיה מאוד לא יעיל כי ב-Java חסרים כלים לכתיבה יעילה של מנהלי התקנים.</li>
<li> זה לא יעבוד עבור התקן גרפי בגלל ש-Java דורשת גרפיקה כדי לרוץ.</li>
<li> זה רעיון מעולה, היות וכך ניתן לאחד בין מנהלי התקנים תחת מערכות הפעלה שונות.</li>
</ol>
<div>22. ב-C ו-Java יש גם לולאות for וגם לולאות while (וכן do..while).</div><ol style="list-style: hebrew;"><li> ניתן להמיר כל לולאת while בלולאת for (ואולי עוד כמה פקודות שאינן while).</li>
<li> ניתן להמיר כל לולאת for בלולאת while (ואולי עוד כמה פקודות שאינן for).</li>
<li> יש לולאת while שלא ניתן להמיר ללולאת for שקולה.</li>
<li> תשובות 1 ו-2 נכונות.</li>
</ol>
<div>23. נניח שהורדנו משפת C או שפת Java את כל ה-statements המורכבים – switch, if, for, while, האופרטור <span dir="ltr">?</span> (ומ-Java גם throw, except) – אבל נתיר עדיין שימוש בספרייה הסטנדרטית וקריאה לפונקציות. נקרא לשפות המתקבלת C– ו- Java–. מבחינה תיאורטית (ללא הגבלה על כמות הזיכרון הנדרשת). האם ניתן לייצג את הפקודות for ו-if ב-C– ו-Java–?</div><ol style="list-style: hebrew;"><li> for – לא, if – לא</li>
<li> for – כן, if – לא</li>
<li> for – לא, if – כן</li>
<li> for – כן, if – כן</li>
</ol>
<div>24. נניח שהמחלקה B יורשת את A, והמחלקה C יורשת את B. נניח שהמתודה foo מוגדרת בתור<br><pre><br>public class Whatever {<br> B foo(B) {<br> …<br> }<br>}<br></pre>
<br><br>נניח ש-w, a, c הם בהתאמה מופעים של Whatever,A, C, איזו מהקריאות הבאות חוקית:</div><ol style="list-style: hebrew;"><li><span dir="ltr"><br> C result = w.foo(a);<br></span></li>
<li><span dir="ltr"><br> C result = w.foo(c);<br></span></li>
<li><span dir="ltr"><br> A result = w.foo(c);<br></span></li>
<li><span dir="ltr"><br> A result = w.foo(a);<br></span></li>
</ol>
<div>25. מה החסם התיאורטי על הגודל של String ב-Java?</div><ol style="list-style: hebrew;"><li> 65536 תוים – היות והמחרוזות הן מחרוזות Unicode וכל תו מקבל 16 ביט.</li>
<li> 2147483647 תוים – היות ו-length() מחזיר int.</li>
<li> 4294967295 תוים – היות ו-JVM הוא תוכנת 32 ביט.</li>
<li> אין הגבלה.</li>
</ol>
<div>26. למה משמשת המחלקה HashMap בספרייה הסטנדרטית של Java?</div><ol style="list-style: hebrew;"><li> טעינת מפות מאתרים באינטרנט, למשל Google Maps.</li>
<li> לייצג התאמה בין שתי קבוצות של אובייקטים, למשל בין שמות של אנשים למספרי הטלפון.</li>
<li> זה אובייקט שמאפשר למשתמש לחשב פונקציות Hash למטרות אימות.</li>
<li> מדובר במחלקה שמכילה כלים לציור הסימן "#" (שנקרא גם "hash sign").</li>
</ol>
<div>27. * בהינתן המספר<br><pre><br>36146419899623406382850079917709994738<br>80131493688073595954618706493148819648<br>35929902317375502299755625775443998380<br>42125409216559877186658662956700668814<br>53294859252399269963494314685363411520<br>07531729005094209325569880908800</pre>
<br>מה כמות הסיביות הדלוקות בו?</div><ol style="list-style: hebrew;"><li> 137</li>
<li> 152</li>
<li> 161</li>
<li> 184</li>
</ol>
<div>28. * באיזה קידוד מופיעה המחרוזת שבמספר?</div><ol style="list-style: hebrew;"><li> EBCDIC</li>
<li> ASCII</li>
<li> UCS-2</li>
<li> ASCII/ROT13</li>
</ol>
<div>29. מה סכום (מודולו 256) של מספרי ה-ASCII של כל התוים החל מ-&lt; וכלה ב-&gt;, כולל שניהם:<br><blockquote dir="ltr">&lt;And on the pedestal these words appear–"My name is Ozymandias, king of kings–Look at my works, ye Mighty and despair"&gt;</blockquote></div><ol style="list-style: hebrew;"><li> 32</li>
<li> 101</li>
<li> 195</li>
<li> 333</li>
</ol>
<div>30. הפקודה counter &lt;&lt;= 7 ב-C ו-Java שקולה ל:</div><ol style="list-style: hebrew;"><li> counter = counter &lt; 7 ? 0 : 7</li>
<li> counter *= 2 * 2 * 2 * 2 * 2 * 2 * 2</li>
<li> counter &lt;&lt; 7</li>
<li> counter = counter / 128</li>
</ol>
<div>31. הפקודה goto:</div><ol style="list-style: hebrew;"><li> היא מילה שמורה ב-Java, אך אינה ממומשת.</li>
<li> נחשבה למזיקה על-ידי אדסגר וו. דייסקטרה.</li>
<li> שימשה בשפת C לרוב לאותה המטרה כמו ה-exceptions ב-Java.</li>
<li> כל התשבות נכונות.</li>
</ol>
<div>32. למה ב-Java יש גם int וגם Integer?</div><ol style="list-style: hebrew;"><li> מדובר באותו דבר.</li>
<li> Integer הוא גרסה מתקדמת של int ונועד להחליפו.</li>
<li> כדי לחסוך יצירת class instance עבור כל משתנה int.</li>
<li> Integer נועד לתמוך במשתנים בני יותר מ-32 סיביות.</li>
</ol>
<div>33. נניח שאנחנו כותבים ב-Java תוכנית שממשת שפת פקודות פשוטה (למשל "צייר קו", "המתן", וכד"). מן הסתם תהיה בתוכנית זו לולאה שמחכה לפקודה הבאה ומחליטה מה לעשות הלאה, כלומר:<br><pre><br>while( True ) {<br> command = this.read_input();<br> if this.no_more_input_available(command)<br> break;<br> // else<br> if (command == this.DRAW_LINE_COMMAND) {<br> // code that handles line drawing<br> } else if( command == ??????? ) {<br> continue;<br> } else if ( command == &lt;ANOTHER COMMAND&gt;) {<br> // handle another command<br> }<br> // and so on<br>}</pre>
<br>מהי הפקודה שסומנה בסימני שאלה. כלומר, בשביל טיפול באיזו פקודה כנראה נשתמש ב-continue?</div><ol style="list-style: hebrew;"><li> למימוש פקודה שמציירת עיגול.</li>
<li> למימוש פקודה שלא עושה שום דבר.</li>
<li> אין סיבה להשתמש ב-continue בלולאה הזו.</li>
<li> לשחרור זיכרון שהוקצה מראש.</li>
</ol>
<div>34. מה ידפיס קטע הקוד הבא?<br><pre>public class Elementary {<br> public static void main(String[] args) {<br> System.out.println(12345 + 5432l);<br> }<br>}</pre>
</div><ol style="list-style: hebrew;"><li> 66666</li>
<li> 17777</li>
<li> 66661</li>
<li> 0</li>
</ol>
<div>35. אם שליש מהבדואים הם פוליגמים, כמה מהם צריכים להיות נשואים ליותר משתי נשים כדי שאפשר יהיה להוכיח שרוב הגברים יהיו לא נשואים?</div><ol style="list-style: hebrew;"></ol>
<div>36. בנק לאומי דורש שהסיסמא תהיה שש ספרות, לא תתחיל באפס, לא תכיל ארבע ספרות רצופות זהות, ולא תכיל שלוש ספרות עולות רצופות או יורדות רצופות. כמה אפשרויות שונות יש לסיסמא?</div><ol style="list-style: hebrew;"></ol>
<div>1. מכל המלבנים בעלי אותו היקף מיהו בעל השטח המירבי?</div><ol style="list-style: hebrew;"><li>ריבוע.</li>
<li>מלבן ביחס פיבונאצ"י.</li>
<li>תלוי ביחידות המדידה.</li>
<li>כולם זהים.</li>
</ol>
<div>15. מה הפלט של שורת הקוד הבאה?<br><pre>cout << 4["CodeGuru"];</pre>
</div><ol style="list-style: hebrew;"><li>התכנית תדפיס את הכתובת של התו G.</li>
<li>התכנית תקרוס, בשל גישה לא חוקית לזיכרון.</li>
<li>השורה תדפיס G.</li>
<li>השורה תדפיס Guru.</li>
</ol>

שאלון קודגורו 10 שלב ב'

רשומה רגילה
1. מכל המלבנים בעלי אותו שטח מיהו בעל ההיקף המזערי?
  1. ריבוע.
  2. מלבן ביחס פיבונאצ"י.
  3. תלוי ביחידות המדידה.
  4. כולם זהים.
2. מי המציא את שפת התכנות פורטרן?
  1. פורטיס מחברת סי.די.סי.
  2. ג"ון מחברת י.ב.מ.
  3. צוות קוד פתוח.
  4. כל התשובות נכונות.
3. פיצה מהי?
  1. כינוי לאחד מהתקני האחסון ששימשו במחשב מיינפריים מסוג IBM System/370.
  2. מאכל איטלקי מועדף על מתכנתים.
  3. מחשב תעשייתי שטוח להתקנה במסד.
  4. כל התשובות נכונות.
4. מהו, בערך, המחיר לצרכן של כמות המים היורדת על גג בית מגורים בחולון בשנה?
  1. שקל
  2. עשרה שקלים
  3. מאה שקלים
  4. אלף שקלים
5. אחרי עליה של חמישה אחוזים במחיר המניה ביום אחד, וירידה של חמישה אחוזים ביום השני לאן הגיעה המניה?
  1. לאותו המקום
  2. קצת יותר
  3. קצת פחות
  4. תלוי במחיר ההתחלתי
6. באג בתוכנה ששיתק למספר שעות ספינת קרב אמריקאית בסוף שנות ה-90 נבע מ:
  1. חלוקה ב-0.
  2. שימוש במשתנה מטיפוס לא מתאים לערך המוכל בו.
  3. race condition.
  4. נקודה-פסיק חסרה בקוד C.
7. איזו מערכת הפעלה הריצה הספינה?
  1. Linux
  2. OS/2
  3. Windows NT
  4. Windows 95
8. * מה זה?


011111
100000
100000
100000
100000
  1. עיגול
  2. משולש
  3. כוכב
  4. לב
9. מה הפלט של שורת הקוד הבאה?


char *codeguru = "CodeGuru";
cout << 4 + codeguru;
  1. התכנית תדפיס את הכתובת של התו G.
  2. התכנית תקרוס, בשל גישה לא חוקית לזיכרון.
  3. השורה תדפיס G.
  4. השורה תדפיס Guru.
10. בשפת C, מה יקרה בסיום קטע הקוד הבא?


int X = 1;
char c = "\\";
// See if the char is \\
if (c == "\\")
X++;
else
X=0;
  1. X יגדל ב-1 (ויהיה שווה ל-2).
  2. X יהיה שווה ל-0.
  3. הערך של X לא ישתנה.
  4. קטע הקוד לא יתקמפל.
11. מה יהיה ערכו של x לאחר ביצוע קטע הקוד הבא בשפת C?


define INC(num) \\
{ \\
int x=1; \\
num+=x; \\
}

int x = 0;
if (x == 0)
INC(x);
  1. 1
  2. 2
  3. 0
  4. קטע הקוד לא יתקמפל.
12. במידה והתקבלה הודעת TCP עם Seq גבוה מה-Ack האחרון ששלחנו, כיצד מנגנון ה-TCP יגיב?
  1. יניח שההודעה התקבלה שלא בסדרה, ישלח את ה-Ack האחרון התקין שלו שוב ויזרוק את ההודעה החדשה.
  2. יניח שמדובר בזיוף של ההודעה, וישלח RST לצד השני על מנת לסגור את החיבור.
  3. יניח שההודעות הקודמות לא התקבלו עדיין, ישלח את ה-Ack האחרון התקין שלו שוב וישמור את ההודעה החדשה אם היא בגבולות החלון שלו.
  4. יניח שההודעות הקודמות לא התקבלו עדיין, ישמור את ההודעה החדשה ואם יש צורך, ייקצה חלון גדול יותר על מנת לקבל את ההודעה.
13. במידה ויש לנו ציוד קצה ברשת (A) שאינו תומך בעבודה מעל נתבים, כיצד נוכל בכל זאת לגרום לו לתקשר עם רשת מרוחקת דרך נתבים?
  1. נגדיר לנתב הקרוב ל-A כתובת ש-A אמור לדבר איתה, וניתוב של ההודעות לרשת המרוחקת.
  2. נגדיר לנתב הקרוב ל-ARP Proxy A של כתובות ברשת המרוחקת וניתוב אליה.
  3. נגדיר לנתב הקרוב ל-tunnel A לרשת המרוחקת.
  4. נגדיר VPN בין הרשת המרוחקת ל-A בעזרת הנתבים.
14. אילו תכונות נוספות מעבר ל-TCP אין בפרוטוקול SCTP?
  1. בחתימה דיגיטלית למען אבטחת התקשורת.
  2. ריבוב של תתי-ערוצים בתוך אותו חיבור.
  3. כתיבה בחתיכות.
  4. שימוש בכתובות מרובות לאותו מחשב.
15. מהי עוגיית SYN?
  1. מאפה סיני, מכילה פתק המעיד על מזל הנוגס בה
  2. פריט קטן של מידע שנשמר בעת גלישה באינטרנט על הדיסק הקשיח
  3. הצפה של מחשב בחיבורים סתמיים
  4. מנגנון שמונע פתיחה סתמית של חיבורי TCP
16. באג בתוכנה שגרם לכשל השיגור הראשון של הטיל אריאן 5 נבע מ:
  1. חלוקה ב-0
  2. המרה לא נכונה של טיפוס משתנה
  3. race condition
  4. נקודה-פסיק חסרה בקוד C
17. מונה בינארי שסופר מ-0 עד 1337 (כולל) – כמה פעמים יתהפך הביט התחתון?
  1. 1024
  2. 1336
  3. 1337
  4. 1573
18. מה צריך להיות הסכום בריבוע קסם שש על שש המכיל את המספרים מ-65 ועד מאה?
  1. 34
  2. 111
  3. 495
  4. 1514
19. משולש לטריז זה כמו עיגול ל-
  1. גליל
  2. כדור
  3. ביצה
  4. אליפסה
20. 1742123762643437888 הוא
  1. מספר ראשוני גדול.
  2. ייצוג ל-π באחד מהפורמטים התקניים.
  3. 25!
  4. 284
21. מהו ההבדל המשמעותי בין PCI Express בדור 1.1 לדור 2.0?
  1. הרחבת מספר החיבורים החשמליים לחריץ רחב יותר – מאפשר להעביר יותר נתונים בו זמנית.
  2. הגדלת קצב העברת הנתונים באמצעות הערוץ ל-8 ג"יגה בתים לשנייה.
  3. הרחבת מספר ההתקנים האפשריים לחיבור למחשב, בין היתר אנדרואיד של גוגל לצורך סינכרון מהיר במיוחד.
  4. דור 2.0 מאפשר להתקנים מדור 1.1 לעבוד בקצב מהיר פי שניים.
22. ברשותי מעבד אינטל Core2 מרובע ליבות, לאחרונה רכשתי מעבד חדש מסוג iCore7 עם שמונה ליבות. כאשר אריץ קוד מתמטי מאוד מורכב, המנצל את כל הליבות, באיזה מעבד האלגוריתם ירוץ מהר יותר?
  1. בכל מקרה במעבד iCore7 מכיוון שהוא יעיל יותר ומנגנון ה-HyperThreading ייתן שיפור ביצועים.
  2. בארכיטקטורת Core2, מכיוון שבמעבדי iCore7 המתח המגיע למעבד הוקטן על חשבון הביצועים, המעבד אמנם חסכוני יותר, אך מספק פחות ביצועים לאותו תדר שעון.
    במעבד
  3. Core2 בו כל הליבות בעלות יכולות זהות, כאשר ב-iCore7 שמונה הליבות הן וירטואליות אך גורמות ליתירות (overhead) הפוגעת בביצועים.
  4. קשה לומר, מעבד
    iCore7 משפר ביצועים בתחומים מסויימים, אך פוגע באיזורים אחרים. לכן צריך לבדוק את האלגוריתם בקפידה.
23. כמה פעמים ביממה מחוג השניות מהווה חוצה זוית של שני המחוגים האחרים?
  1. 720
  2. 1440
  3. 2856
  4. 86400
24. מהו שטח של כל הדיסקים בעולם?
  1. פחות מפטה-בית.
  2. בערך טרה-בית.
  3. יותר מאקסה-בית.
  4. כל התשובות נכונות.
25. מונה בינארי שסופר מ-0 עד
262
(לא כולל) – כמה פעמים יתהפכו כל הביטים?
  1. 261
  2. 262
  3. 263 – 1
  4. 263
26. מהן המספר הגדול ביותר שניתן לייצג בבית אחד (עם סימן)?
  1. 100
  2. 127
  3. 256
  4. 32767
27. מהו המספר הממשי (dobule) הקטן ביותר שגדול מ-

21023 + 1

  1. 21023 + 1
  2. 21023 + 2511
  3. 21023 + 2972
  4. 21024
28. במוזיקה, מרווחים (ההבדלים ב"גובה" של צלילים) נמדדים בטונים. עליה בחצי טון בצליל שקולה להגדרת התדר פי מספר קבוע p. באוקטבה יש 6 טונים. עליה של אוקטבה שקולה להכפלת התדר. במרווח "טרציה גדולה" יש 2 טונים. מה יחס התדרים בין התווים היוצרים אותה?
  1. 1.2599
  2. 1.7071
  3. 1.7321
  4. 2
29. נניח שיש לנו ריבוע בעל 25 משבצות בגוונים שונים של אפור. אנחנו שולחים קרן אור במישור הריבוע, בזוויות שונות לתוכו, ומודדים את העוצמה שלה כאשר היא יוצאת מהצד השני. כאשר קרן עוברת כל משבצת,
העוצמה שלה נחלשת בתור

q-l * s

, כאשר q הוא קבוע ידוע מראש, l הוא אורך הקרן בתוך המשבצת, ו-s הוא רמת האפור (בין 0 ל-1). אם כל המשבצות אפורות (אף אחת לא מעבירה אור באופן מושלם, ואף אחת לא בולעת את הקרן כך שלא נוכל לקלוט אותה), כמה קרניים נצטרך לשלוח לכל הפחות כדי לדעת את רמות האפור של כל המשבצות?

  1. 1
  2. 25
  3. 50
  4. 51
30. * חיים כתב את התוכנה הבאה בשפת C:


#include <stdio.h>

void f() {
long i = 0;
long p[1] = {0xF00DBEEF};

for(i = 0; i < 0x8; i++) {
printf("%04lx %016lx\\n", i*sizeof(long), p[i]);
}
}

void g() {
f();
}

int main() {
long t[10];

g();
return 0;
}

התקבל (לינוקס, ארכיטקטורת x86_64) הפלט הבא:


0000 00000000f00dbeef
0008 0000000000000001
0010 00007fff6cee0800
0018 000000000040052e
0020 00007fff6cee0860
0028 0000000000400542
0030 0000000000000000
0038 00000000004003ab

בזמן ריצת התוכנית, מה הייתה הערך של p?

  1. 0xf00dbeef
  2. 0x7fff6cee07e0
  3. 0x7fff6cee07f0
  4. 0x7fff6cee0800
31. נתונה התוכנית הבאה בשפת סף של x86:


mov eax,esp
push eax
jmp my_func
lock lahf
My_func:
push ebx
push ecx
rdtsc
retn 8
  1. לא יעבוד אף פעם: הפקודה lock lahf אינה חוקית ב X86
  2. יעבוד רק בחלק מהמעבדים: הפקודה lock lahf חוקית רק במעבדים של AMD
  3. יעבוד רק במעבדים בהם אין תמיכה ב- Non Executable Stack
  4. יעבוד רק מתוך Ring() שכן הפקודה rdtsc הינה Privilaged Instruction
32. נתונה הפונקציה הבאה שמטרתה לחלק את המספר a
ב-
5!:


int fact5(int a)
{
int count = 5;
while (count--) {a/=count;}
return a;
}

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

  1. דני צודק. הפונקציה תעלה שגיאה בעת קומפילציה.
  2. דני צודק. הפונקציה תעלה שגיאה בעת הריצה.
  3. דני צודק. הפונקציה תחזיר ערך שגוי.
  4. דני טועה. אין שגיאה בפונקציה.
33. כיצד נוכל להימנע מזיוף כתובת ה MAC של כתובת IP מסויימת ברשת המקומית בצורה שתפגע כמה שפחות בעבודה ברשת?
  1. לא נקבל ARP reply מכתובת MAC שלא הוגדרה לנו סטטית.
  2. לא נקבל ARP reply מכתובת IP שלא הוגדרה לנו סטטית.
  3. לא נשלח ARP request לכתובת IP שלא הוגדרה לנו סטטית.
  4. לא נקבל ARP reply על request שלא שלחנו.
34. מדעי נוצר בקצב 1kbps משודר דרך ערוץ בעל רעש, שבהסתברות p=90% הופך ביטים (ההסתברות היא בנפרד לכל ביט), בלי תלות באף גורם נוסף. מבלי לשלוח יותר מ-1kbps, באיזו מידה ניתן לשפר את הסיכוי שהצד השני יקבל את המידע הנכון (
כרגע היא
100%-90% = 10%
)?
  1. מבלי לשדר את אותו המידע יותר פעמים (הוספת יתירות), אי אפשר לשפר את המצב.
  2. ניתן להעלות בריבוע את הסיכון לתקלה, ל-81%, אך לא יותר מזה.
  3. ניתן לשפר את הסיכוי ל-10%, אך לא יותר מזה.
  4. ניתן לשפר פי כמה שבא לנו על-ידי שימוש בתיקון שגיאות מקדים (Forward Error Correction)
35. 0571 שקול ל-:
  1. r-xrwx–x
  2. 377
  3. 0x179
  4. כל התשובות נכונות
36. קובץ PAC מכיל:
  1. הגדרות פרוקסי;
  2. המלצות של ועד לפעולה פוליטית;
  3. מיפוי עומק באוקיינוס השקט (Pacific);
  4. פרטי משלוח בפורמט אגודת האורזים הקנדית (Packaging Association of Canada).
37. ** מידע מדעי שנוצר בקצב 1kbps משודר דרך ערוץ בעל רעש, שבהסתברות p=10% הופך ביטים (ההסתברות היא בנפרד לכל ביט), בלי תלות באף גורם נוסף. אנחנו יכולים לשלוח עד 2kbps, עם אותה הסתברות לשגיאה בביט בודד. באיזו מידה ניתן לשפר את הסיכוי שהצד השני יקבל את המידע הנכון ?
  1. אי אפשר לשפר את הסיכוי;
  2. ניתן להעלות בריבוע את הסיכון לתקלה, ל-1%, אך לא יותר מזה;
  3. ניתן לשפר ל-0.31%, בהתאם למשפט שנון;
  4. בתנאים אלה, לכל הסתברות שגיאה גדולה מ-0 קיים מנגנון FEC שמשיג אותה;
38. אם ברצוני לחכות שמשימה כלשהי תתבצע, ב-Java, באיזה טיפוס מהבאים אינו יכול לשמש לזיהוי סיום המשימה?
  1. Object
  2. boolean
  3. CountDownLatch
  4. כולם יכולים
39. האם הקוד הבא מתקמפל ב-Java?


List<String> sl = new LinkedList<String>();
List<Object> ol = sl;
  1. כן, כי כל String הוא Object.
  2. לא, כי לא ניתן להציב LinkedList ב-List.
  3. לא, כי הרשימה הראשונה עלולה להשתבש.
  4. לא, כי Generics לא נמצאים בזמן ריצה.
40. מה ידפיס קטע הקוד הבא?


int i = 255;
byte b = i;
i = b;
System.out.println(i);
  1. לא יתקמפל, כי byte הוא signed.
  2. 127 – כי byte הוא signed.
  3. 255, כי 255 קטן מ-256.
  4. 128, כי byte הוא unsigned.
41. מה ידפיס קטע הקוד הבא?


short x=-32768;
short y;
y = -x;
printf("%d", y);

בהנחה שגודל של short הוא 16bit.

  1. 1
  2. 0
  3. 32768-
  4. 32768
42. מה הבעיה הבקטע הקוד הבא?


List<Integer> l = new LinkedList<Integer>();
l.add(1);
l.add(2);
l.add(3);
l.add(4);
for (int i : l)
if (i % 2 == 0)
l.remove((Integer) i);
  1. i צריך להיות מטיפוס Integer.
  2. ה-cast מיותר כי מתבצע auto-boxing.
  3. נקבל ConcurrentModificationException בגלל שלא השתמשנו ב-Iterator.remove.
  4. מתבצעת קריאה למתודה List.remove לפי אינדקס ולא לפי האובייקט שיש למחוק.
43. למה שימושית, בין היתר, המחלקה WeakReference ב-Java?
  1. להעברת פרמטרים למתודות by-reference ולא by-value.
  2. למימוש מנגנוני cache שקופים למשתמש.
  3. מימוש של מצביעים ב-Java משום שהם לא קיימים בשפה.
  4. הרצת ה-Garbage Collector על אובייקט מסוים שברשותינו.
44. מה הבעיה בקטע ה-Java הבא?


public boolean isOdd(int i) {
return i % 2 == 1;
}
  1. הקטע מחזיר תשובה הפוכה מהמצופה בכל המקרים.
  2. מתבצע auto-boxing שגורם לחישובים להיות שגויים לפעמים.
  3. הקטע מחזיר תשובה לא נכונה עבור חלק מהמספרים השליליים.
  4. אין שום בעיה.
45. * מה זה?


\\u0070\\u0075\\u0062\\u006c\\u0069\\u0063\\u0020\\u0020\\u0020\\u0020
\\u0063\\u006c\\u0061\\u0073\\u0073\\u0020\\u0055\\u0067\\u006c\\u0079
\\u007b\\u0070\\u0075\\u0062\\u006c\\u0069\\u0063\\u0020\\u0020\\u0020
\\u0020\\u0020\\u0020\\u0020\\u0073\\u0074\\u0061\\u0074\\u0069\\u0063
\\u0076\\u006f\\u0069\\u0064\\u0020\\u006d\\u0061\\u0069\\u006e\\u0028
\\u0053\\u0074\\u0072\\u0069\\u006e\\u0067\\u005b\\u005d\\u0020\\u0020
\\u0020\\u0020\\u0020\\u0020\\u0061\\u0072\\u0067\\u0073\\u0029\\u007b
\\u0053\\u0079\\u0073\\u0074\\u0065\\u006d\\u002e\\u006f\\u0075\\u0074
\\u002e\\u0070\\u0072\\u0069\\u006e\\u0074\\u006c\\u006e\\u0028\\u0020
\\u0022\\u0048\\u0065\\u006c\\u006c\\u006f\\u0020\\u0077\\u0022\\u002b
\\u0022\\u006f\\u0072\\u006c\\u0064\\u0022\\u0029\\u003b\\u007d\\u007d
  1. קטע byte-code של תכנית ב-Java.
  2. תכנית שמדפיסה "Hello World".
  3. סימון ל-Java להשתמש בקידוד Unicode.
  4. אוסף של סימנים ללא משמעות.
46. יש צורך לבצע אופטימיזציה בנקודה קריטית בקוד C או Java. בנקודה זו כרגע נמצא switch statement. הערך עליו נעשה ה-switch הוא בן 32 ביט. יש 100 ערכים שונים (שנבדלים בכל הסיביות), מתוכם בזמן הריצה התוכנית תיתקל ב-3 מהם ב-90% מהמקרים.
  1. יש לסדר מחדש את האיברים ב-switch
  2. יש להתחיל להשתמש בטבלת hash שמכילה מצביעים לפונקציות.
  3. יש להוציא את הערכים השכיחים מה-switch, ולעשות if או switch מיוחדים שמתייחס אליהם בהתחלה.
  4. switch הוא תמיד יעיל באופן מרבי, אין פה מה לשפר.
47. יוסי כותב תוכנה שקוראת (באופן blocking) מתוך socket, ומקבל קריאה באורך 0. מה פשר הדבר?
  1. נשלח ACK עם אותו sequence number פעמיים. זאת תופעת Keep-alive תקנית
  2. הצד השני ניתק את החיבור באופן תקני
  3. יש עומס ברשת
  4. לא התקבל מידע במשך פרק זמן מסויים, אך החיבור עדיין קיים
48. "תסמונת החלון הטיפש" היא –
  1. תופעה שגורמת ליצירת תעבורת TCP מיותרת כאשר הצד המקבל אינו מסוגל לקבל את המידע בקצב המתאים
  2. תופעה שגורמת להאטת חיבור TCP כאשר מופעל גם האלגוריתם של Nagle וגם המנגנון DELAYED ACK
  3. תחושת זעזוע אילם בעת מעבר על חדשות תרבות בדפדפן
  4. בעית תקיעה אופיינית לחלונות בסביבת Windows, שמתרחשת כאשר החלון אינו מתייחס להודעות WM_PAINT
49. למה משתמשת קריאת המערכת select במערכות דמויות Unix?
  1. להמתנה של תהליך לקלט.
  2. בחירת שורות מתוך מסד נתונים מובנה (Berkley DB).
  3. להתקנת חבילות תוכנה בפורמט RPM או deb.
  4. כל התשובות נכונות.
50. איזה מהאוגרים הבאים עשוי להצביע על אזור בזיכרון שמופיע בו המידע הבא:


6d 6f 76 20
61 78 2c 20
5b 62 78 5d
3b 0d 0a 69
  1. EIP
  2. MM0
  3. EFLAGS
  4. ESI
51. בקוד הבא:


lea di, [4*ebx+ebx]
shl di, 5
add di, cx
stosw

למה כנראה שווה ES?

  1. 0x0040
  2. 0xA800
  3. 0xB800
  4. 0xF00F
52. בקוד הבא:


lea di, [4*ebx+ebx]
shl di, 6
add di, cx
stosb

למה כנראה שווה ES?

  1. 0x0000
  2. 0xA000
  3. 0xF000
  4. 0xF00F
53. באסמבלי של 8086, האם קטע הקוד הבא תקין? אם כן, למה הקוד שקול? אם לא, למה לא? Foo הינה פרוצדורה רגילה מסוג NEAR, שלא מקבלת פרמטרים.


start:
push offset end
jmp Foo
  1. הקוד אינו תקין, שכן לא ניתן לקרוא לפרוצדורה בעזרת jmp.
  2. הקוד תקין, ושקול לפקודה call Foo.
  3. הקוד תקין, אך ה-push מיותר וניתן להגיע לקוד שקול בלעדיו.
  4. הקוד אינו תקין, שכן לאחר סיום פרוצדורת Foo בעזרת פקודת ret, המעבד לא ידע לאן יש לחזור.
54. *סונט שקספירי הוא שיר בן 14 שורות בנות 10 הברות כל אחת. לסונט יש חריזה מוסכמת – ABAB CDCD EFEF GG. בהנחה שכל הברה מורכבת מתנועה ועיצור, כי יש 5 תנועות ו-15 עיצורים, וכי החריזה מתבטאת בכך שההברה האחרונה בשורות המוחרזות זהה, כמה סונטים קיימים?
  1. 17218
  2. 75266
  3. 412!
  4. 5*819216
55. * מה זה?


0100000100000
1010000000000
0101000000000
0010100000000
0001010000000
0000101000000
0000010100000
1000001000000
0000000000000
0000000000000
0000000000000
0000000000001
0000000000010
  1. דרקון
  2. בית
  3. כוכב
  4. פרצוף
56. ** נניח שערים בישראל מורכבות משטחים רציפים במפה (עיר לא יכולה להיות מחולקת לשני חלקים שאינם משיקים וביניהם עיר אחרת, ועיר לא יכולה להכיל עיר), וכי כל נקודה במפה שייכת לעיר מסויימת. לפי תקנות משרד הפנים, כל עיר צריכה לסגור את החנויות אחרי הצהריים באחד מהימים א"-ד" (כל שבוע באותו היום). הערים מנסות להגיע להסדר בו כל זוג ערים צמודות (בעלות קטע גבול משותף) תסגורנה חנויות בימים שונים (וזאת כדי שתושבי עיר שחנויותיה סגורות יוכלו לקנות בעיר שכנה).

איזו מהטענות הבאות נכונה:

  1. אי אפשר להגיע להסדר.
  2. תמיד אפשר להגיע להסדר.
  3. אפשר היה להגיע להסדר באופן וודאי רק עבור פחות מ-10 ערים.
  4. זה תלוי במפת הערים הספציפית – ייתכן שעבור מפה מסויימת ניתן להגיע להסדר, ועבור מפה אחרת לא.
65. מה הטעות באחת משלושת ההגדרות HASKELL הבאות, ואיך ניתן לתקנה?


sum [] = 0
sum (a:x) = a + sum x

product [] = 0
product (a:x) = a * product x

reverse [] = []
reverse (a:x) = reverse x ++ [a]
    57. נניח שכתבנו תוכנה, ובה שני
    threads שמבצעים את הקוד הבא, כאשר המשתנה c מוקצה על ה-heap ומשותף לשניהם:


    c = 0;
    c = c+1;
    c = c+1;
    c = c+1;

    איזה ערך לא יוכל c לקבל (באף אחד מהם)?

    1. 0
    2. 3
    3. 4
    4. 6
    58. Ethernet 100baseT, המורכבת מ-3 מחשבים שמחוברים ל-switch בודד. A ו-B שולחים פינגים בקצב זהה ל-C. באיזה קצב של pingים נראה חבילות שמתחילות ללכת לאיבוד?
    1. 3 MB/s
    2. 6.25 MB/s
    3. 6.25 MB/s
    4. 100 MB/s
    59. איזו פונקצית רשת עשוייה לגרום לשינוי השדה DPT בחבילות TCP?
    1. PFW
    2. ניתוב IP
    3. LAN switching
    4. NAT
    60. יוסי פותח חיבור telnet לאוניברסיטה שלו. האוניברסיטה אינה יוזמת ניתוק ולא חל timeout. מקבלת איזו הודעת TCP ועד איזו הודעה יש טעם שהאוניברסיטה תחזיר לו תשובות?
    1. SYN, RST
    2. ACK, FIN
    3. SYN, ACK
    4. RST, FIN
    61. איזו פונקציה לא תקרוס עם segmentation fault על פרמטר שהוא מצביע NULL?
    1. scanf
    2. memset
    3. printf
    4. realloc
    62. מה צריכים להיות הערכים במערך כדי ש-r יוכפל פי 14?


    int f(int r) {
    int i = 0, s = 0;
    int array[16] = { ?????, 0, 0, .., 0 };

    for(i = 0; i < 5; i++) {
    if (array[i])
    s += (r << i);
    }
    return s;
    }

    מה אמור להופיע במקום סימני השאלה (שאר האיברים במערך הם 0):

    1. 0, 1, 1, 1
    2. 1, 0, 0, 1, 1
    3. 1, 0, 0, 0
    4. 1, 3, 2
    63. *הקוד הבא מממש את אותה הלוגיקה בשתי דרכים שונות, כתלות במשתנה הקומפילציה
    OPTION.



    int l;
    char output[33];

    while(k) {
    #ifdef OPTION
    output[l++] = (k & 1) + 0x30;
    #else
    if(k & 1)
    output[l] = ''0'';
    else
    output[l] = ''1'';
    l++;
    #endif

    k >>= 1;
    }

    output[l] = ''\\0'';

    מריצים את הקוד ב-4 תצורות – שני מעבדים שונים, וכאשר k מוגרל באופן אקראי בתחומים שונים. מתי ההדלקה של OPTION תעשה הבדל?

    1. מריצים על מעבד Core 2 Duo; בעוד
      k נבחר בתחום
      המספרים 983040..983056
    2. מריצים על מעבד Core 2 Duo; בעוד
      k נבחר בתחום 0..983056
    3. מריצים על מעבד 486;
      בעוד
      k מוגרל בתחום המספרים 983040..983056
    4. מריצים על מעבד 486;
      בעוד
      k מוגרל בתחום 0..983056
    64. לדני יש
    Disk On Key בגודל 4 ג"יגה-בייט, מפורמט במערכת הקבצים FAT32.
    דני החליט לשמור על הקובץ את אוסף המילים לשירים האהובים עליו, כאשר הגודל של כל קובץ עם מילים הוא כ-1000 בתים.
    דני אוסף שירים מכל רחבי העולם, ויש לו מיליון שירים. כמה מקום פנוי יש לדני על הדיסק, בהנחה שמשתמש בהגדרות ברירות המחדל של מערכת הקבצים?
    1. 0 GB
    2. 1 GB
    3. 2 GB
    4. 3 GB