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

רשומה רגילה

אלגוריתמיקה ומחשבה

1) כמה קודקודים יש לקוביה ארבע מימדית?
  1. 6
  2. 16
  3. 8
  4. 12
2) מהו הסימן בעל ערך ASCII גבוה ביותר מבין ארבעת הבאים:
  1. a קטנה
  2. A גדולה
  3. Z גדולה
  4. רווח
3) בטלוויזיה, מסך מחשב, מסך צבעוני של טלפון ועוד יש שלושה מקורות אור בצבעים אדום, ירוק, כחול בכל נקודה (פיקסל). איך אם כך יכולים מקורות אלה ליצור את כל שאר הצבעים?
  1. למעשה יש בכל פיקסל יותר מקורות אור כך שאפשר ליצור בכל נקודה את כל הצבעים.
  2. בכל פיקסל יש 3 מקורות צבע, אך אלו משתנים מפיקסל אחד לאלה שלידו. בפיקסל השכן יש 3 מקורות של 3 צבעים אחרים.
  3. 3 מקורות האור אינם מאירים בצבע קבוע, אלא צבעם ועוצמתם משתנים בהתאם לצבע הנדרש ע"י התוכנה.
  4. גם בעין יש רק 3 סוגי קולטני צבע. לכן כל שאר הצבעים הם תוצאה של קליטה בו-זמנית של עוצמות שונות בשלושתם.
4) לפני דורות רבים חיה אשה שילדה בת, שילדה בת, שילדה בת…שילדה בת, במשך 50 דורות. כלומר שרשרת של בנות שלא פסקה במשך 50 דורות (ייתכן שכל אחת ילדה בנוסף גם בנים ובנות נוספים). האם התרחשות זו:
  1. אפשרית בסבירות גבוהה, אך לא ודאית
  2. אפשרית, אך בסבירות נמוכה מאד.
  3. ודאית
  4. בלתי אפשרית
5) חזאים מסבירים שבחורף אנחנו זוכים לגשם כאשר יש "שקע קפריסין". מה הסיבה לכך?
  1. "שקע קפריסין" הוא שם שנתנו חוקרים לשקעים ברומטריים (אזורים בהם הלחץ האטמוספרי נמוך מהרגיל) בכל העולם שמורידים גשמים (נתגלה לראשונה בקפריסין)
  2. שקע ברומטרי בקפריסין גורם לרמה ברומטרית גבוהה (לחץ אטמוספרי גבוה מהרגיל) בישראל שיוצרת קור וגשם בגלל גובה הרמה.
  3. שקע שמרכזו בקפריסין מביא חזיתות קרות מכיוון מערב (הים התיכון) בגלל שכיוון הסיבוב של מערכות אטמוספריות בחצי הכדור הצפוני. הוא נגד השעון.
  4. שקע שמרכזו בקפריסין מביא לארץ רוחות צפוניות בגלל שסיבוב מערכות מזג אוויר בחצי הכדור הצפוני הוא עם כיוון השעון.
6) מה מהבאים ניתן לעשות כעת, אך לא ניתן היה לעשות לפני שנה?
  1. לקנות מחשב קוונטי לבית, בפחות מ-10000 דולר.
  2. להחליף את הדומיין של אתר התחרות ל- code.guru
  3. לכתוב קבועים מספריים בג'אווה עם קווים תחתונים (למשל 000_000_1 בתור מליון), כדי לשפר את קריאותם.
  4. להטיס חללית מכדור הארץ לירח בפחות מעשרים דקות
*7) כמה אפשרויות יש לבחירת סיסמא בת 10 תווים המורכבת מאותיות קטנות וגדולות באנגליות וממספרים בלבד? (הערה: בשפה האנגלית 26 אותיות)
  1. 10×26
  2. 26 ^ 26
  3. 10* 26 + 2^26
  4. 10^62
8) אלגוריתם BFS טוב כאשר נרצה:
  1. למצוא אחת מהדרכים הקצרות ביותר בגרף ממושקל.
  2. למצוא אחת מהדרכים הקצרות ביותר בגרף לא ממושקל.
  3. למצוא את הדרך הקצרה ביותר בכל מצב.
  4. למצוא דרך אלטרנטיבית לדרך נתונה.
9) מניחים טבעת המקיפה את פני כדור הארץ (הטבעת צמודה לפני כדור הארץ), מה תהיה התוספת לאורכה אשר נדרשת בכדי לאפשר לבעל חיים באורך 0.3 מטר לעמור מתחתיה ללא הפרעה ובמקביל לשמור על צורתה?
  1. בערך 30 ס"מ
  2. בערך 900 מטר
  3. בערך 12 ק"מ
  4. בערך 2 מטר
10) מדוע נראה כי הירח והשמש גדולים יותר בשעות הזריחה או השקיעה?
  1. זה סתם נדמה לנו. הם לא באמת נראים גדולים יותר – הכל פסיכולוגיה!
  2. שכבת האטמוספרה העבה יותר קרוב לאופק משמשת כעדשה המגדילה את מראה השמש והירח
  3. בגלל הכבידה השמש והירח גדלים כאשר הם מתקרבים לאדמה
  4. העין שלנו רואה גופים בעלי גוון אדמדם כגדולים יותר
*11) במערכת שמש כלשהי ישנם שלושה כוכבי לכת אשר מסתובבים סביב השמש. לשלושת הכוכבים מחזורי סיבוב של שנה, חמש שנים, ו- פאי שנים בהתאמה. בראש השנה של שנת 0 כל שלושת הכוכבים נמצאו על קו אחד עם השמש. באיזה שנה יפגשו שוב על קו אחד עם השמש?
  1. בשנת התשס"ה
  2. בין שנת 314 לשנת 5000
  3. לעולם לא
  4. בין שנת 0 לשנת 314
12) מה מהבאים יוצא דופן?
  1. מספר הדרכים לענות על השאלון עד כה (כולל השאלה הזו)
  2. מספר המילים בבסיס 4 בעלות 12 ספרות
  3. מספר המשבצות ב- 218 לוחות שחמט.
  4. מספר הדרכים לחלק 12 כדורים זהים לארבע קבוצות (ייתכנו קבוצות ריקות)

מערכות הפעלה ו- Low Level

13) עץ האפמן הוא
  1. שיטת דחיסה ידועה של תמונות.
  2. מבנה נתונים שימושי לבניית קודים.
  3. ציור של אמן מפורסם.
  4. מבנה נתונים המכיל מידע מוצפן.
14) למה יש קבצים שלא יכולים לזוז ב"איחוי דיסק"?
  1. מערכת ההפעלה מניחה שקבצים מסויימים לא זזים על הדיסק במהלך ריצתה
  2. מציאת סדר ההזזות הנכון הוא בעיה קשה חישובית, ותוכנת האיחוי מנסה לא לבזבז זמן
  3. יש יותר מדי קבצים והעתקתם תקח זמן רב מדי
  4. תוכנת האיחוי אמורה להיתקל תוך כדי פעולתה באזורים פגומים (bad sectors) ולחלץ מהם את המידע
15) מי מהבאים חיוני להפעלת מערכת dos?
  1. COMMAND.COM
  2. AUTOEXEC.BAT
  3. CONFIG.SYS
  4. NTLDR.EXE
16) הפעולה "rooting” במכשיר Android היא :
  1. פעולה המסלקת root-kits מהמערכת.
  2. פעולה שבסופה מתאפשר לבעל המכשיר לשנות את מערכת ההפעלה עליו.
  3. פעולה שמאפשרת למשתמש להריץ תוכנות שלא מתוך Google Play Store.
  4. פעולה שדומה ל-factory reset, מלבד זה שהיא שומרת הגדרות משתמש.
17) איזה מהבאות משתמשת ב rpm כמערכת ניהול חבילות?
  1. RHCL
  2. Slackware
  3. Debian
  4. Gentoo
18) איזה דברים נמצאים לרוב במיקום /mnt במערכות לינוקס?
  1. קבצי מתאר (File Descriptor)
  2. יומני מערכת (System Log)
  3. עיגון התקני איחסון
  4. עיגון ramblock
19) במחשב linux מצוי הקובץ contestants.txt המכיל רשימה של כל מתמודדי קודגורו השנה, כך שבכל שורה מופיע שם מתמודד והניקוד שלו. (להבהרה ראה "פורמט" מטה) צוות התחרות מעוניין לחלץ מן הרשימה את עשרת הזוכים בעלי הניקוד הגבוהה ביותר, לתוך קובץ winners.txt אילו מן הפקודות הבאות יבצעו זאת? (ה-shell הינו bash. הניחו כי התיקייה הנוכחית היא זו המכילה את הקובץ.)
  1. echo contestants.txt | sort -r -n | head -n-10 > winners.txt
  2. cat contestants.txt | sort -rnk2 | head -n+10 > winners.txt
  3. grep 2,10 < contestants.txt > winners.txt
  4. cut -d” “ -f2 contestants.txt | tail -(-10) | sort -srn > winners.txt

הפורמט הינו:
Name1 score
Name2 score
20) המושג wear-leveling בהקשר של רכיבי זכרון flash:
  1. מונע הפרעות חשמליות המזיקות לרכיבים.
  2. סולם המאפיין מהירות גישה לרכיבים
  3. מנגנון שמאפשר גילוי של תקלות ברכיבים
  4. מנגנון שמשפר את אורך החיים של הרכיבים
21) Refernce Counter הוא מנגנון:
  1. המונה את כמות המצביעים לאזור זיכרון שהוקצה.
  2. מונה המכיל את מספר הקריאות שבוצעו לפונקציה.
  3. המכיל את רשימת המצביעים לאזור זיכרון שהוקצה.
  4. הדואג לפנות זכרון לאחר שפרק הזמן המוגדר לו עבר.
22) מה משמעות ה-Rank של תהליך ב-MPI?
  1. מספר התהליכים (Process) הכולל שרצים כרגע
  2. מספר התהליכים (Process) הכולל שהיה בהתחלה
  3. מזהה תהליך (Process) גלובלי בריצת ה-MPI
  4. עדיפות (Priority) התהליך (Process) בהשוואה לתהליכים הרצים ברקע
23) מהו קיוביט?
  1. משחק מחשב מפורסם משנות ה-80
  2. אמה, 1/30 מגובה תיבת נח
  3. ביט הסתברותי – לפעמים 0 ולפעמים 1, ערכו משתנה בהתאם לחוקי תורת הקוונטים
  4. תשובות 2 ו-3 נכונות.
24) בעת מתן מתח למעבד עדכני ממשפחת x86 (למשל מחשב ביתי), מאיזו כתובת המעבד בורר את הפקודה הראשונה להרצה?
  1. 0xfffffff0
  2. 0x00
  3. 0x7c00
  4. 0xffffffff
*25) פתחתי את \\.\physicaldrive0 וקראתי את 512 הבתים הראשונים, בהסתברות גבוהה, מה אני אמור למצוא שם?
  1. 0x19a בתים של קוד, 0x64 בתים ממבנה מסויים, ולבסוף קבוע באורך מילה.
  2. 0x19a בתים של קוד, 0x64 בתים ממבנה מסויים, ולבסוף CRC של המידע.
  3. 0x1be בתים של קוד, 0x40 בתים ממבנה מסויים, ולבסוף קבוע באורך מילה.
  4. 0x1be בתים של קוד, 0x40 בתים ממבנה מסויים, ולבסוף CRC של המידע.
26) באג שעלול להתרחש כאשר תוכנה מבצעת עבודה בעזרת MMX:
  1. משחקי מחשב איטיים, ביחוד כאשר המעבד של חברת אינטל וכרטיס המסך של חברה אחרת.
  2. מסך כחול כאשר מערכת ההפעלה המותקנת עובדת במצב 32bit והפעולות שהיא מבצעת הם 64bit.
  3. צריכת החשמל עלולה להגיעה לעד 300% ממצב עבודה רגיל.
  4. דריסת נתונים הנשמרים באוגרים המשותפים עם יחידת עיבוד הנקודה הצפה.

שפות תכנות

*27) נביט בפעולה הבאה, באיזו אפשרות מופיעים אך ורק מספרים שאם יינתנו כקלט לפעולה היא תדפיס "Yes!"?
  1. 49, 100, 25
  2. 50, 100, 150
  3. 4 , 16, 32
  4. 10, 100, 1000

קטע קוד:
void codeguru_numbers(int n
{
int accumulator = 0;
for(int i=2; i<n; i++)
{
accumulator += (n%i==0) ;
}
(accumulator%2) ? printf("Yes!") : printf("No!");
}
28) בהמשך לשאלה הקודמת, נביט בפעולה נוספת,אילו מבין המספרים הבאים, אם יינתן כקלט לשתי הפעולות (זאת לעיל וזאת מן השאלה הקודמת), יגרום לשתיהן להדפיס "Yes!" ?
  1. 10
  2. 15
  3. 36
  4. 25

קטע קוד:
void codeguru_numbers2(int n)
{
for(int i=1; n>0; i++)
n -= i;

(n==0) ? printf("Yes!") : printf("No!") ;
}

29) אני מפתח תוכנה בסביבת חלונות על מחשב PC רגיל – האם אני יכול להדר (compile) תוכנה עבור מעבד ARM?
  1. כן – אבל רק אם יש כרטיס PCI/USB מיוחד במחשב עם מעבד ARM.
  2. בפועל לא – יש שוני מאוד גדול בין המעבדים שמונע הידור יעיל ל-ARM על PC.
  3. כן – תהליך ידוע בשם הידור-אופקי.
  4. לא – הדבר אפשרי תיאורטית אבל נאסר על-ידי תנאי הרישוי של חברת Acorn.
30) איך כותבים הערה בשפת C (הערה: C99 ומעלה)?
  1. /* comment */
  2. comment //
  3. cc comment
  4. התשובות א' וב' נכונות
31) מה זה extreme programming?
  1. תחרות מחשבים
  2. שיטת פיתוח תוכנה
  3. ספורט אתגרי
  4. כל התשובות נכונות
32) נניח שערכו של המשתנה i הוא 5, מה יודפס ומה יהיה ערכו של i לאחר ביצוע הפקודה הבאה בשפת C:
printf("%d", i++);
  1. יודפס 5, ערכו של i לאחר הפקודה יהיה 5
  2. יודפס 5, ערכו של i לאחר הפקודה יהיה 6
  3. יודפס 6, ערכו של i לאחר הפקודה יהיה 5
  4. יודפס 6, ערכו של i לאחר הפקודה יהיה 7
*33) מה זה:
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c–){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c–){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('g d(4){6(f(4)||!h(4)||4%1||4<2)5 8;6(4%2==0)5(4==2);7 9=c.b(4);a(7 i=3;i<=9;i+=2){6(4%i==0)5 8}5 e}',19,19,'||||n|return|if|var|false|m|for|sqrt|Math|WhatAmIDoing|true|isNaN|function|isFinite|'.split('|'),0,{}))
  1. פעולה המוצאת את סכום השורשים של עשרת מספרי פיבונאצ'י הראשונים
  2. פעולה למיון מערך בסדר עולה
  3. אלגוריתם הצפנה כלשהו
  4. פעולה הבודקת אם מספר הוא ראשוני
34) בשפת C, למה הכוונה ב preprocessor side-effects?
  1. מדובר במספר באגים מתועדים במנוע אשר גורמים לתקלות לא רצויות, אלו יתקנו בגרסאות עתידיות.
  2. מדובר ביכולות נוספות שהוספו למנוע ה preprocessor במהך השנים ואינם מוגדרות על ידי ansi c.
  3. מדובר בתופעות אשר אינם בהכרח רצויות עקב שימוש בפעולות preprocessor אך נגרמות כפועל-יוצא.
  4. מדובר במספר פקודות הנשתלות על ידי ה preprocessor במהלך תהליך ההידור באופן עצמאי ועלולות לשבש את תהליך ריצת הקוד.
35) צרפתי לפרוייקט שלי קובץ Library המתאר מספר פונקציות שמיוצאות על ידי DLL, במידה לטעון קובץ זה בצורה דינאמית, אשתמש בפוקציה:
  1. LoadLibrary או LoadLibraryEx
  2. LoadResource או LoadResourceEx
  3. LoadModule
  4. CreateProccess
36) מה יהיה הפלט של קוד C הבא:
  1. 3
  2. תהיה שגיאת קומפילציה
  3. ייתכן 3 או 4, תלוי קומפיילר
  4. תהיה שגיאת זמן ריצה

קטע קוד:
int code=5,*guru=&code,**no_15=&guru;
if(no_15== (&&code) )
printf("%d", ((*guru==5) ? 3 : 4) );
37) נביט בפעולה הבאה הכתובה ב-C,מה מהבאים ניתן לומר עליה:
  1. על כל מחשב ביתי ממוצע, עבור קלט guru=200, היא תסתיים תוך פחות משניה.
  2. עבור קלט N היא מחזירה 2N.
  3. עבור קלט N היא מחזירה 2*N.
  4. על כל מחשב ביתי ממוצע, עבור קלט guru=100, הפעולה לא תסתיים גם עד תחרות קודגורו הבאה.

קטע קוד:
int code(int guru)
{
if(guru==1)
return 1;
return 1 + code(code(guru-1));
}
38) נביט בפעולה הבאה, המאוד דומה לפעולה מהשאלה הקודמת, מה מהבאים נכון לומר:
  1. תשובות ב ו-ד נכונות
  2. בהינתן אותו קלט לשתי הפעולות (מספר טבעי כלשהוא), הן תצרכנה אותה כמות זכרון (עד כדי בתים בודדים)
  3. בהינתן אותו קלט לשתי הפעולות (מספר טבעי כלשהוא), לפעולה הראשונה ייקח בערך פי שתיים זמן להסתיים.
  4. הפעולה השניה מיותרת לגמרי (כלומר אינה מבצעת דבר המצריך חישוב) בעוד שהראשונה לא.

קטע קוד:
int code2(int guru2)
{
if(guru2==1)
return 1;
return code2(code2(guru2-1));
}
39) מה ידפיס קוד ה-php הבא?
$number = “01000”; echo $number+001000+01000+1000;
  1. 3024
  2. 2842
  3. 3512
  4. 3049

תקשורת ואבטחת מידע

40) DD_WRT היא
  1. קשוחה אלטרנטיבית למחשבי PC
  2. קושחה אלטרנטיבית לנתבים
  3. קשוחה אלטרנטיבית למחשבי Tablet
  4. קושחה אלטרנטיבית למדפסות.
41) אתם רוצים לאבטח רשת אלחוטית. איזו תצורה מהבאות מומלצת בחום:
  1. עם WEP, עם WPS
  2. עם WEP, בלי WPS
  3. עם WPA, עם WPS
  4. עם WPA, בלי WPS
42) אני מצליח להתחבר לשרת FTP ולהעביר מידע בתצורה סבילה (passive) אבל לא פעילה (active). ידוע שללקוח יש קיר אש פשוט (איננו מבצע packet inspection). איזה סוג תעבורה בטוח נחסם על-ידי קיר האש (firewall)?
  1. יוצאת לשרת לפורט 21
  2. נכנסת ללקוח לפורט 20
  3. נכנסת ללקוח לכל הפורטים
  4. יוצאת מהלקוח מפורט 20
43) ממחשב ביתי בישראל, שלחתי הודעת ICMP לשרת www.google.com ובה שדה TTL (ראשי תיבות של Time To Live) עם הערך 12. מה צפוי?
  1. שדה זה אומר שההודעה תעבור בין 12 נתבים לכל היותר.
  2. שדה זה אומר שההודעה תעבור בין 13 נתבים לכל היותר.
  3. שדה זה אומר שההודעה תעבור בין 11 נתבים לכל היותר.
  4. שדה זה אומר שעל ההודעה לצאת מהמחשב השולח תוך 12 מיקרו-שניות, ואם לא – עליו לזרוק אותה כדי לפנות מקום להודעות אחרות.
44) חבר סיפר לי היום כי פרוטוקול http הינו "חסר מצב" ("Stateless"), למה הוא התכוון?
  1. הכוונה לכך היא שעל הפרוטוקול עצמו חייבים להרכיב מנוע נוסף.
  2. הכוונה היא אבטחתית – המידע אודות הבקשה מושמד מחשש לגניבה.
  3. הכוונה היא שברמת ה-HTTP אין קישור בין פניות עוקבות של אותו לקוח לאותו שרת.
  4. הכוונה היא ששרת HTTP יודע להגדיר את עצמו לבד.
45) המושג "Twist Rate“ בכבלי תקשורת מציין:
  1. מדד הצביע על סף מקסימלי של הפרעות אלקטרו-מגנטיות שהכבל יכול לספוג.
  2. מדד המצביע בין היתר על עמידות הכבל בפני הפרעות אות.
  3. מדד המציין את אלסטיות הכבל כפונקציה של העתק (Distance).
  4. מדד המציין כמות שינוי לו"ז פתאומיים של חבילות תקשורת כיחידת זמן.
46) בחודשי החורף, כמידי בוקר, נכנסתי לחשבון הבנק שלי באמצעות דפדפן – קיבלתי הודעה המבשרת לי כי פג תוקף האישור הדיגיטלי עבור אתר זה , מה הסבירות הגבוהה ביותר לבעייה?
  1. מישהו באתר הבנק התרשל ושכח לחדש האישור.
  2. ניסיון פריצה לצורך גניבת הפרטים שלי.
  3. קיימת בעייה (באג) בדפדפן – החלפתו או עדכונו יתקנו זאת.
  4. הגדרות השעה המקומית במחשבי השתבשו.
47) פסאדו קוד הבא, מה התיאור נכון ביותר שלה:
TCPPacket.Flags(SET_ALL);
  1. חבילה אסורה (Banned Packet) – חבילה זו מוגדרת כלא חוקית במסמכי התקן.
  2. חבילת DoS (מניעת שירות) – שליחת חבילה כזו לשרת עלולה תגרום לנפילתו.
  3. חבילת חג מולד (xmas packet) – משמשת לצורכי בדיקות.
  4. לא קיימת חבילה כזו.
48) במחשבים, המושג PXE מתאר:
  1. דרך עליה (boot) של מערכת הפעלה מהרשת.
  2. תקן המחליף את Ethernet במחשבי IPv6.
  3. הגדרה המאפשרת אבחון תקלות שונות ברשת מחשבים מקומית.
  4. התקפת סייבר המחדירה סוס טרויאני באמצעות כרטיס הרשת.

שאלות פתוחות

*49) נתון הקוד הבא, בסוף הרצת הקוד המספר ההפוך מודפס, השלימו את גוף הקוד:

קטע קוד:
int num = 942508; 
int result = 0;
..
..
..
System.out.println(result);      //805249 is printed
**50) הסתכלו בגרף הבאתם נמצאים בנקודה a וברצונכם להגיע לנקודה d שם מחכים לכם חיי הנצח. בכל צעד שלכם אתם נעים באקראי מהנקודה בה אתם נמצאים לאחת מהנקודות הסמוכות לה המחוברות אליה בקו (עד שתגיעו לנקודה d). שימו לב שיכול להיות שתחזרו לאותה נקודה כמה פעמים. כמה צעדים בממוצע תעשו עד שתגיעו לנקודה d לראשונה?

גרף:

Captionless Image
**51) חזור על השאלה הקודמת, רק שהפעם אתם מתחילים באופן אקראי מאחת מחמשת הנקודות, לאו דווקא מנקודה a. מהו מספר הצעדים הממוצע הפעם עד שתגיעו לנקודה d? (להבהרה, יש סיכוי של חמישית שתתחילו מנקודה d ואז מספר הצעדים עד הנקודה d לאותו מקרה יהיה 0).

כתיבת תגובה