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

רשומה רגילה
1. מי המציא את מערכת ההפעלה לינוקס?

  1. אלן טיורינג
  2. טים ברנרס-לי
  3. לינוס טורבלדס
  4. עדי שמיר
2. מה סדר הגודל של מספר ההשוואות הדרושות למצא למצוא את המספר המירבי מתוך N איברים?

  1. log(n)
  2. n
  3. n*log(n)
  4. n^2
3. מה שם המחשב הראשון בארץ?

  1. קולוסוס
  2. אניאק
  3. יבמ
  4. וויצק
4. בבסיס נתונים מסוג MDB של Access הגדרתי שתי טבלאות: Orders (מכילה רשימת הזמנות) ו-Suppliers (מכילה רשימת ספקים), כאשר לספק אחד יכולות להיות קשורות מספר הזמנות, וזאת באמצעות הגדרת קשר אכיפה בין הטבלאות – אחד לרבים.
בממשק קשר האכיפה ביטלתי את האפשרות של cascade delete. למה הדבר יגרום?

  1. כאשר מוחקים רשומת הזמנה, תימחק רשומת הספק הקשורה אליה
  2. כאשר מוחקים רשומת ספק, יימחקו כל רשומות ההזמנות המשוייכות אליו
  3. תלוי בגרסת ה-Access. לפני Access XP היה bug שגרם לכך שמעל כמות רשומות מסויימת לא הייתה התייחסות לכמות הרשומות המשוייכות ולכן כולן היו נמחקות
  4. לא ניתן למחוק רשומת ספק כאשר ישנן הזמנות משוייכות אליו
5. נתון קוד ה-Java הבא:

int i = 5;
Integer i2 = i;

מה הבעיה בקוד הנ"ל?

  1. השורה השניה תיכשל מפני ש-i הוא טיפוס בסיסי (primitive) ו-i2 הוא אובייקט. לא ניתן לבצע השמה של טיפוס בסיסי לתוך אובייקט ללא המרת ביניים
  2. החל מ-java 1.5 ישנה תמיכה ב-autoboxing ולכן הקוד הנ"ל תקין לחלוטין
  3. יש לתקן את השורה השנייה ע"י קריאה ל-Integer.parseInt
  4. החל מ-java בגרסה 1.4.2 ישנה תמיכה בהשמה כזו ולכן אין כל בעיה
6. מה יותר קשה: למצוא מסלול שעובר דרך כל הערים או מסלול שעובר דרך כל הכבישים?

  1. כל הערים – זו בעית הסוכן הנוסע
  2. כל הכבישים – זו בעית מסלול אוילר
  3. אותו הדבר – שתיהן בלתי אפשריות
  4. אותו הדבר – שתיהן פתירות בזמן לינארי
7. הקטע הבא מעמוד HTML תואם לתקן HTML 4:

<font size=5><b>CodeGuru</b></font>

הקטע הנ"ל אינו תואם את תקן XHTML החדש. מה עלי לשנות כדי להתאים אותו?

  1. <font size=5 style='text-color: red'>CodeGuru</font>
  2. <span style='font-size:medium; font-weight:bold;'>CodeGuru</span>
  3. <b>CodeGuru</b>
  4. <span style='font-size:xx-small;'>CodeGuru</span>
8. ברשותי מחשב כף-יד מצוייד באנטנת GPS ותוכנת ניווט מתאימה. יצאתי מהמשרד, אך חולפות 2 דקות עד לקבלת מיקום מדוייק, מדוע?

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

  1. אם תתכן תקלה – היא תקרה
  2. מחשבים מכפילים כוחם כל שנה וחצי
  3. תוכנית בשפת מכונה – מהירות יותר
  4. מעבדי אינטל איטיים ממעבדי י.ב.מ
10. מהי הדרך הנכונה להריץ Thread ב-Java?

  1. thread.execute()
  2. thread.run()
  3. thread.start()
  4. thread.begin()
11. האם יתכן שמערך ה- String[] args בפונקציית main בJava יהיה ריק?

  1. כן, אם לא ניתנו פרמטרים
  2. לא, תמיד האיבר הראשון הוא הפקודת java
  3. לא, תמיד האיבר הראשון הוא שם הClass
  4. כן, אם מריצים ע"י double-click ולא משורת פקודה
12. נתון קוד ה-C הבא, מה יהיה הקלט שהמשתמש יצטרך לספק כדי שתודפס ההודעה?

printf("Please enter a number: ");
int num;
scanf("%x", &num);
if (num % 57 == 3) {
printf("CodeGuru");
}
  1. 59
  2. 57
  3. 75
  4. 60
13. מה הבעיה בקוד ה-ASP הבא:

<%
Set con = Server.CreateObject("ADODB.Connection")
con.Provider="Microsoft.Jet.OLEDB.4.0"
con.Open "test.mdb"

Set rst = Server.CreateObject("ADODB.Recordset")
Rst.Open "SELECT * FROM Customers"

While Not rst.EOF
Response.Write rst("Name") & "<br />"
Wend

rst.Close
Set rst = Nothing
%>

  1. בכל כתיבה שמתבצעת ע"י Response.Write לא נקראת הפונקציה Response.Flush, לכן המידע לא יגיע באופן מידי למשתמש
  2. לא מתבצעת בדיקה לפני הדפסת הנתונים האם אנחנו נמצאים בתחילת הרשומות ע"י rst.BOF
  3. בסיום הקוד, לא סוגרים את החיבור לבסיס הנתונים מה שיוביל למחסור של משאבים בשרת האינטרנט בו הדף רץ
  4. קובץ בסיס הנתונים שאותו אנו פותחים לא מתאים לסוג ה-Provider שבו בחרנו
14. רוב התוכנה המדעית במעבדות לוס אלמוס כתובה בשפת:

  1. אסמבלי
  2. סי
  3. פורטרן
  4. קובול
15. מי זכה בפרס טיורינג?

  1. אמיר פנואלי
  2. מיכאל רבין
  3. עדי שמיר
  4. כל התשובות נכונות
16. נתון הקוד הבא בשפת C, מה התוצאה של הקוד הבא כאשר int n = 4:

switch(n)
{
case '4':
cout << "CoDeGuRu \n";
break;
case 4:
cout << "CODEGURU \n";
break;
default:
cout << " codeguru \n";
break;
}
  1. CoDeGuRu
  2. Codeguru
  3. CODEGURU
  4. cOdEgUrU
17. מהי הרשאת ברירת המחדל לגישה לmember ב-struct בשפת C++?

  1. public
  2. protected
  3. private
  4. ב-structים לא מוגדרות הרשאות, זו תכונה של Classים
18. * בתוכנית פייתון ניסיתי לייבא (import) מודול בצורה הבאה: import graphics, אך הפקודה נכשלה עם NameError. מה קרה?

  1. שמות מודולים בפייתון חייבים להתחיל באות גדולה, לכן תהליך הייבוא נכשל
  2. הנתיב למודול לא נמצא במשתנה הסביבה PYTHONPATH, כדי להכניס אותו בזמן ריצה יש להריץ קודם כל sys.path.append עם שם התיקייה שמכילה את המודול
  3. אותה הבעיה הנזכרת בתשובה הקודמת, אך כדי לפתור אותה, קודם לכן יש להריץ את הפקודה os.environ['PYTHONPATH'] += '<folder>'
  4. מדובר בבעיה רגעית, עדיף להפעיל את המחשב מחדש והבעיה תיפתר מעצמה
19. * נתון הביטוי הרגולרי הבא: regexp = "[a-z][^0-9][A-Z][09]*". איזו מבין המחרוזות הבאות תאומת מול הביטוי הזה?

  1. A2A7
  2. aaa0
  3. aBX9
  4. aaX9CodeGuru
20. מהי Cocoa?

  1. פרוייקט קוד-פתוח שנועד להתחבר למכונות אספרסו דרך כבל סריאלי ולשלוט עליהן דרך המחשב, כך שאנשי היי-טק יוכלו להזמין לעצמם משקה מבלי לקום מהמחשב
  2. מערכת ההפעלה שרצה בתוך מכונות אספרסו ומותאמת לסביבה עסקית
  3. פרוייקט קוד-פתוח שעושה שימוש ב-bluetooth כדי להתחבר למכונות אספרסו ומאפשר לשלוט עליהן מרחוק
  4. סביבת פיתוח למערכת ההפעלה מקינטוש של חברת Apple
21. * איך נאתחל שדות שהם transient לאחר יצירה מ-serialization ב-Java?

  1. נממש את המתודה הפרטית writeObject
  2. נממש את המתודה הפרטית readObject
  3. נממש את המתודה הפרטית readResolve
  4. נממש את המתודה המוגנת finalize
22. במערכת הפעלה Linux, כיצד ניצור Pipe בשם /tmp/route1?

  1. mknod /tmp/route1 p
  2. ls /tmp/route1
  3. mkpipe /tmp/route1
  4. mount /dev/pipes/pipe0 /tmp/route1
23. למה מהבאים סדר הקדימות הגבוה ביותר?

  1. ||
  2. &&
  3. !
  4. <<
24. למה משמש רכיב ה-MMU שבמעבד?

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

  1. ECMA-334
  2. IEEE
  3. לשפה אין תקן
  4. התקן של .NET מכיל את התקן של C#
26. מהי הדרך המומלצת לפתוח קובץ טקסט בפייתון שעובר בין לינוקס ו-Windows?

  1. file('f.txt', 'r'), כך נשמר את התו המסיים של השורה – \n או \r\n
  2. file('f.txt', 'rb'), יש לפתוח את הקובץ במוד בינארי כדי לשמר את כל התוים כפי שהם בתוכו
  3. צריך לפתוח את הקובץ במוד בינארי, להמיר אותו למחרוזת ולהפעיל טרנספורמציה שתמיר את סיומות השורה לפי מערכת ההפעלה עליה אנו עובדים
  4. עוד לא נמצאה דרך פשוטה לבצע את המטלה הזו, בעיקר בשל תמיכה לקויה של פייתון בשפות Unicode שאינן אנגלית או לטיניות
27. נתון קוד ה-Java הבא:

int i = 6;
Integer i2 = new Integer(i);

if (i == i2) {
System.out.println("success");
}

האם התנאי יתקיים?

  1. לא, הקוד לא תקין, לא ניתן להשוות בין טיפוס בסיסי לאובייקט
  2. לא, ה-JVM ימיר את ה-int לאובייקט ויעשה השוואה ע"פ בין אובייקטים ע"פ ה-referenceים שלהם ולכן התנאי לא יתקיים
  3. כן, ה-JVM ימיר את האובייקט לטיפוס int, יבצע השוואה רגילה ולכן התנאי יתקיים
  4. כן, ה-JVM ימיר את ה-int לאובייקט ויבצע השוואה ע"פ hashCode ולכן התנאי יתקיים
28. מה ההבדל בין Thread רגיל לבין Background Thread?

  1. העדיפות שניתנת ל-thread רגיל גבוהה משמעותית
  2. כאשר בתהליך שרץ נשארו רק background threads הוא מת ומסיים את ריצתו
  3. אין הבדל מעשי, ההבדל הסמנטי נעוץ בתפקיד שנותנים לכל thread
  4. כאשר נסתכל על תהליך שרץ לא נראה את ה-background threads משום שמערכת ההפעלה מסתירה אותם מאחורי הקלעים
29. ברצוני ליצור יישות מסוג כלב ולגרום לה לנבוח, ע"פ עקרונות פיתוח מונחה עצמים, מה תהיה הדרך המומלצת לעשות זאת?

  1. ניתן ליצור אובייקט מסוג עצם, כאשר הכלב יבחין בה הוא יתחיל לנבוח
  2. ניצור פונקציה כללית בשם Bark שתקבל אובייקט מסוג כלב ותגרום לו לנבוח
  3. ניצור אובייקט מסוג כלב שיכיל פונקצית נביחה, כאשר נרצה לגרום לו לנבוח פשוט נקרא לה
  4. ניצור אובייקט מסוג חתול, עם פונקציה בשם "מיאו" שיכולה לטפל אך ורק בחתולים. כאשר היא תקבל כלב היא תנבח אותו
30. נתון קטע בשפת C:

int i = 5;
i += 3;
i = ++i * 7;
printf("%d is a wonderful number\n", i);

מה ידפיס קטע הקוד?

  1. 63 is a wonderful number
  2. 9 is a wonderful number
  3. 57 is a wonderful number
  4. 56 is a wonderful number
31. נתונים שני קטעי קוד:
קטע א:

int i;
int n = 0;

for (i =1; i <= 100; ++i)
{ n += 1; }

קטע ב:

int i;
int n = 0;

for (i =1; i <= 100; i++)
{ n += 1; }

מה ההפרש בין ערכו של n המחושב בקטע א לזה המחושב בקטע ב?

  1. 0
  2. 1
  3. 100
  4. 99
32. כתבתי תוכנית גרפית עם שימוש ב-Swing וברצוני לשמור על אינטראקציה מלאה עם המשתמש תוך ביצוע מטלות חישוב כבדות, לשם כך:

  1. אשתמש במחשב חזק כדי שזמן העיבוד של כל פעולה יהיה קצר ככל הניתן
  2. את מטלות החישוב הכבדות אריץ ב-thread הראשי ואת הפעולות הגרפיות ב-threadים אחרים
  3. איפיון נכון יותר יהיה להריץ את החישובים הכבדים ב-process נפרד לחלוטין והתוכנית תתקשר איתו
  4. אעשה שימוש בפונקציה invokeLater של המחלקה SwingUtilities ואת החישובים אריץ ב-threadים אחרים
33. נתון הקוד הבא:

char arr[8];
cin >> arr;

במקרה של הקלט הבא: "Hello World" מה יהיה ערך המחרוזת arr?

  1. Hello Wo
  2. Hello World
  3. Hello W
  4. Hello
34. מה ההבדל בין כבל אופטי מסוג single-mode ו-multi-mode בתקשורת אופטית?

  1. כבל single-mode מסוגל להעביר מידע בקצב של עד 10 מגה-ביט ואילו multi-mode עד 10 ג'יגה-ביט
  2. כבל multi-mode מסוגל להעביר מספר גלים אלקטרומגנטיים באורכים שונים ואילו single-mode מוגבל לאורך גל אחד
  3. כבל multi-mode משמש לתקשורת למרחקים גדולים ולעומתו single-mode מתאים יותר למבנים
  4. כבל multi-mode מגיע עם מספר של חיבורים שבסופו של דבר מתנקזים לסיב אופטי יחיד, single-mode מגיע עם חיבור יחיד לסיב האופטי
35. מה ההבדל בין Set לList ב-Java?

  1. ל-Set אין סדר ול-List יש
  2. List יכול להכיל גם פרימיטיבים, בעוד ש-Set רק אובייקטים
  3. ב-List יכולה להיות חזרה על אותו האובייקט בניגוד ל-Set
  4. תשובות א' ו-ג' נכונות
36. מיהו Duke?

  1. השדון של BSD
  2. הפינגווין של לינוקס
  3. הסמל של .NET
  4. היצור של Java
37. * מה יקרה בקטע קוד הבא (Java) ?

public void removeBiggerThan(Set set, int threshold) {
for (Integer i : set)
if (i > threshold)
set.remove(i);
}
  1. לא יתקמפל כי אי אפשר לעשות לולאת for-each על Set
  2. בזמן ריצה יעוף ConcurrentModificationException
  3. לא יתקמפל כי אי אפשר להשוות בין int ו-Integer
  4. לא יבצע את המטרה שלו בגלל שחסרים סוגריים מסולסלות
38. * איך אפשר לתקן את קטע הקוד בשאלה הקודמת?

  1. להחליף את ה-Set ב-List
  2. להשתמש בIterator ו-Iterator.remove
  3. לשנות את הטיפוס של threshold ל-Integer
  4. להוסיף סוגריים מסולסלות ל-if
39. נתון הקוד הבא:

class A
{
public:
A() { cout << 1; }
~A() { cout << 2; }
};

class B : public A
{
public:
B() { cout << 3; }
~B() { cout << 4; }
};

לאחר יצירת מופע של המחלקה B והריסתו, מה יודפס למסך?

  1. 3412
  2. 3142
  3. 3124
  4. 1342
  5. 1324
  6. 1234
40. נתונות ההצהרות הבאות:

int f(int a) { return ++a; }
int f(unsigned int a) { return –a; }

בעת הרצת הקוד cout << f(5); מה תהיה התוצאה?

  1. שגיאת קומפילציה, הקומפיילר לא יודע באיזו פונקציה להריץ
  2. 6
  3. 5
  4. 4
41. מה תוצאת הרצת הקוד הבא:

for(int i=0;i<3;i++)
{
cout << i << " ";
continue;
cout << 4 << " ";
break;
for(int j=0;j<1;j++)
cout << 8 << " ";
}
  1. 2 1 0
  2. 4 0
  3. 8 4 2 8 4 1 8 4 0
  4. 0 4 1 4 2 4
42. מה הגל האלקטרומגנטי שסביר למצוא בתקשורת סיבים אופטיים?

  1. גלי רדיו
  2. גלי מיקרוגל
  3. גלי אינפרא-אדום
  4. גלי רנטגן
43. מה תוצאת הרצת הקוד הבא:

int x=65, *p = &x;
cout << p << "__" << *p;
  1. התוכנה תקרוס
  2. <x MemoryAddress>_65
  3. <p MemoryAddress>_65
  4. 65_65
44. איזו משורות הקוד הבאה לא תיתן שגיאת קומפילציה (C++)?

  1. int a; a = new sizeof(int*10);
  2. int *a; a = new int[10];
  3. int a; a = new int[10];
  4. int *a; a = new sizeof(int*10);
  5. int *a; a = new 10;
45. מה יהיה הפלט לאחר הרצת הקוד הבא: cout << (3 << 2);

  1. שגיאת קומפילציה
  2. 32
  3. 12
  4. 23
46. איזו מבין המילים הבאות איננה מילה שמורה (C++)?

  1. volatile
  2. union
  3. typeid
  4. dynamic_cast
  5. mutable
  6. cast
47. מילת הקוד int ב C# ממפה לאיזה טיפוס ב .NET?

  1. int
  2. System.Int
  3. Integer
  4. System.Int32
48. איזו מהתשובות נכונה עבור ערכו של מאפיין target עבור delegate?

  1. מחזיר את שם מחלקת ערך ההחזר של הפונקציה המוצבעת
  2. מחזיר את שם המחלקה של הפונקציה המוצבעת
  3. מחזיר את שם הפונקציה שה-delegate מצביע עליה
  4. יחזיר NULL אם המחלקה של הפונקציה המוצבעת היא סטטית
  5. תשובות א ו-ד נכונות
49. בתקשורת מחשבים, מה זה NACK?

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

  1. RS232, USB-1, fire-wire
  2. USB-1, RS232, fire-wire
  3. fire-wire, RS232, USB-1
  4. RS232, fire-wire, USB-1
51. איזה אות צריך לשנות ב CDITT-7 כדי שיהיה תקן תקשורת?

  1. הראשונה
  2. השנייה
  3. הרביעית
  4. החמישית
52. ** מה מהמחרוזות הבאות איננה טעות של תזוזת אצבעות קבועה על לוח המקשים?

  1. vpfrhiti
  2. oapqsgdg
  3. xiswfyey
  4. d9e3t747
53. אם צלע הריבוע שחוסם את הצורה הבאה היא 2, מה השטח שלה?
polygon

  1. 0.5
  2. 1
  3. שורש 2
  4. 2
54. מה הסיכוי, בערך, שמספר ת"ז (נניח מספר מקרי בן תשע ספרות) יכיל רק שלוש ספרות שונות?

  1. פרומיל
  2. אחת ל- 400
  3. חצי אחוז
  4. אחוז
55. מה יודפס בעקבות הפקודה הבאה בפייטון:
print r"\\"

  1. \\
  2. \
  3. r"\\"
  4. לא יודפס כלום. הפקודה לא חוקית
56. כמה קודקודים יש לקובייה ארבע מימדית?

  1. שישה
  2. שמונה
  3. שנים עשר
  4. שישה עשר
57. מה מבין הצורות הבאות איננה יכולה להתקבל מחיתוך של חרוט ומישור?

  1. עיגול
  2. אליפסה
  3. שני קווים
  4. ישר
58. שני קווים ישרים יכולים להיחתך ב-

  1. אפס נקודות
  2. שתי נקודות
  3. שלוש או חמש נקודות
  4. כל התשובות נכונות
59. const ל-final זה כמו bool ל-?

  1. asdf
  2. boolean
  3. C++
  4. Java
60. מה הסיכוי שבהטלת מטבע הוגן מאה פעמים יצא בדיוק 50 עץ ו-50 פאלי?

  1. פחות מפרומיל
  2. בדיוק אחוז
  3. בערך שמונה אחוז
  4. לפחות חמישים אחוז
61. * כתוב תוכנית המקבלת כקלט קואורדינטות של שלושת קודקודי משולש ומוציאה כפלט את מרכז הכובד שלו.
62. * מה מחשבת השגרה הבאה:

float f(float x1,y1,x2,y2,x3,y3) {

float a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
float b=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
float c=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
float p=(a+b+c)/2;

return(sqrt(p*(p-a)*(p-b)*(p-c)));
}

כתיבת תגובה